Commit 9966afa9 authored by 鲁鑫's avatar 鲁鑫

MES质量评审打印功能

parent e441a8db
...@@ -16,6 +16,11 @@ function loadGrid() { ...@@ -16,6 +16,11 @@ function loadGrid() {
uploadFile(); uploadFile();
} }
}, },
printHandler: {
id: 'print', text: '打印', img:'fa-clipboard', click: function(){
printHandler();
}
},
}); });
gridManager = UICtrl.grid("#maingrid", { gridManager = UICtrl.grid("#maingrid", {
columns: [ columns: [
...@@ -89,3 +94,16 @@ function uploadFile(){ ...@@ -89,3 +94,16 @@ function uploadFile(){
} }
}); });
} }
function printHandler(){
var row = DataUtil.getUpdateRow(gridManager);
if (!row) {
return;
}
// if (row.status != 3){
// Public.tip("请审批完成再打印!");
// return;
// }
var url='/unqualifiedMaterials/print.load';
Public.openPostWindow(web_app.name+url,{id :row.id});
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<head>
<title>质量异常评审表</title>
<#include "/print/commonStyleTemplate.ftl" />
<style type="text/css">
td {
font-size: 13px;
}
</style>
</head>
<body>
<div class="billTitle">质量异常评审表</div>
<table cellspacing="0px" cellpadding="0px" class="tablePrint">
<colgroup>
<col width="34%"/>
</colgroup>
<tr>
<td class="right">单据编号:${billCode?default("")?html}</td>
</tr>
</table>
<table cellspacing="0px" cellpadding="0px" class="tableBorder">
<colgroup>
<col width='17%' />
<col width='17%' />
<col width='17%' />
<col width='16%' />
<col width='17%' />
<col width="16%" />
</colgroup>
<tr>
<td class="center">产品名称:</td>
<td class="center">${productName?default("")?html}</td>
<td class="center">类别:</td>
<td class="center">${type?default("")?html}</td>
<td class="center">生产批次:</td>
<td class="center">${batchNo?default("")?html}</td>
</tr>
<tr>
<td class="center">PD/YL编码:</td>
<td class="center">${pd?default("")?html}</td>
<td class="center">部门/工序:</td>
<td class="center">${process?default("")?html}</td>
<td class="center">异常数量:</td>
<td class="center">${exceptionNum?default("")?html}</td>
</tr>
<tr style="height: 70px">
<td class="center">异常描述</td>
<td class="center" colspan="5">${exceptionDesc?default("")?html}</td>
</tr>
<tr>
<td class="center">责任部门:</td>
<td class="center">${dutyDeptName?default("")?html}</td>
<td class="center">提报人:</td>
<td class="center">${submitterName?default("")?html}</td>
</tr>
</table>
<div class="blank_div"></div>
<div class="title">评审意见:</div>
<table cellspacing="0px" cellpadding="0px" class="tableBorder">
<colgroup>
<col width='8%' />
<col width='8%' />
<col width='74%' />
<col width='10%' />
</colgroup>
<tr>
<td class="left" >部门</td>
<td class="left" >结论</td>
<td class="left" >说明</td>
<td class="left" >部门负责人</td>
</tr>
<#if items?? && items?size gt 0>
<#list items as detail>
<tr>
<td class="left">${detail.dept?default("")?html}</td>
<td class="left">${detail.result?default("")?html}</td>
<td class="left">${detail.opinion?default("")?html}</td>
<td class="left">${detail.handlerName?default("")?html}</td>
</tr>
</#list>
<#else>
<tr>
<td class="center">&nbsp;</td>
<td class="center">&nbsp;</td>
<td class="center">&nbsp;</td>
<td class="center">&nbsp;</td>
</tr>
</#if>
</table>
</body>
</html>
...@@ -3,6 +3,7 @@ package com.huigou.topsun.mes.unqualifiedMaterials.application.impl; ...@@ -3,6 +3,7 @@ package com.huigou.topsun.mes.unqualifiedMaterials.application.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.huigou.cache.DictUtil;
import com.huigou.context.Operator; import com.huigou.context.Operator;
import com.huigou.context.OrgUnit; import com.huigou.context.OrgUnit;
import com.huigou.context.ThreadLocalUtil; import com.huigou.context.ThreadLocalUtil;
...@@ -98,6 +99,7 @@ public class UnqualifiedMaterialsApplicationImpl extends FlowBroker implements U ...@@ -98,6 +99,7 @@ public class UnqualifiedMaterialsApplicationImpl extends FlowBroker implements U
super.onBeforeComplete(delegateTask); super.onBeforeComplete(delegateTask);
String bizId = delegateTask.getExecution().getProcessBusinessKey(); String bizId = delegateTask.getExecution().getProcessBusinessKey();
UnqualifiedMaterials unqualifiedMaterials = this.unqualifiedMaterialsRepository.findOne(bizId); UnqualifiedMaterials unqualifiedMaterials = this.unqualifiedMaterialsRepository.findOne(bizId);
String result = DictUtil.getDictionaryDetailText("result", unqualifiedMaterials.getResult());
if (this.isApplyProcUnit(delegateTask) && this.getApprovalParameter().isAdvanceProcessAction()) { if (this.isApplyProcUnit(delegateTask) && this.getApprovalParameter().isAdvanceProcessAction()) {
updateStatus(bizId, BizBillStatus.APPROVING); updateStatus(bizId, BizBillStatus.APPROVING);
} }
...@@ -114,12 +116,14 @@ public class UnqualifiedMaterialsApplicationImpl extends FlowBroker implements U ...@@ -114,12 +116,14 @@ public class UnqualifiedMaterialsApplicationImpl extends FlowBroker implements U
UnqualifiedMaterialsItem unqualifiedMaterialsItem = new UnqualifiedMaterialsItem(); UnqualifiedMaterialsItem unqualifiedMaterialsItem = new UnqualifiedMaterialsItem();
unqualifiedMaterialsItem.setUnqualifiedMaterialsId(bizId); unqualifiedMaterialsItem.setUnqualifiedMaterialsId(bizId);
unqualifiedMaterialsItem.setDept(subProcUnitName); unqualifiedMaterialsItem.setDept(subProcUnitName);
unqualifiedMaterialsItem.setResult(unqualifiedMaterials.getResult()); unqualifiedMaterialsItem.setResult(result);
unqualifiedMaterialsItem.setOpinion(procUnitHandler.getOpinion()); unqualifiedMaterialsItem.setOpinion(procUnitHandler.getOpinion());
unqualifiedMaterialsItem.setHandlerName(procUnitHandler.getHandlerName());
unqualifiedMaterialsItemRepository.save(unqualifiedMaterialsItem); unqualifiedMaterialsItemRepository.save(unqualifiedMaterialsItem);
}else { }else {
materialsItem.setOpinion(procUnitHandler.getOpinion()); materialsItem.setOpinion(procUnitHandler.getOpinion());
materialsItem.setResult(unqualifiedMaterials.getResult()); materialsItem.setResult(result);
materialsItem.setHandlerName(procUnitHandler.getHandlerName());
unqualifiedMaterialsItemRepository.save(materialsItem); unqualifiedMaterialsItemRepository.save(materialsItem);
} }
...@@ -207,6 +211,10 @@ public class UnqualifiedMaterialsApplicationImpl extends FlowBroker implements U ...@@ -207,6 +211,10 @@ public class UnqualifiedMaterialsApplicationImpl extends FlowBroker implements U
UnqualifiedMaterials unqualifiedMaterials = unqualifiedMaterialsRepository.findOne(bizId); UnqualifiedMaterials unqualifiedMaterials = unqualifiedMaterialsRepository.findOne(bizId);
unqualifiedMaterials.setStatusId(BizBillStatus.APPLYING.getId()); unqualifiedMaterials.setStatusId(BizBillStatus.APPLYING.getId());
unqualifiedMaterialsRepository.save(unqualifiedMaterials); unqualifiedMaterialsRepository.save(unqualifiedMaterials);
//回退后,清空评审结果明细
List<UnqualifiedMaterialsItem> itemList = this.unqualifiedMaterialsItemRepository.findByUnqualifiedMaterialsId(bizId);
unqualifiedMaterialsItemRepository.delete(itemList);
} }
} }
......
...@@ -4,12 +4,16 @@ import com.huigou.context.Operator; ...@@ -4,12 +4,16 @@ import com.huigou.context.Operator;
import com.huigou.context.OrgUnit; import com.huigou.context.OrgUnit;
import com.huigou.topsun.mes.unqualifiedMaterials.application.UnqualifiedMaterialsApplication; import com.huigou.topsun.mes.unqualifiedMaterials.application.UnqualifiedMaterialsApplication;
import com.huigou.topsun.mes.unqualifiedMaterials.domain.UnqualifiedMaterials; import com.huigou.topsun.mes.unqualifiedMaterials.domain.UnqualifiedMaterials;
import com.huigou.topsun.mes.unqualifiedMaterials.domain.UnqualifiedMaterialsItem;
import com.huigou.topsun.mes.unqualifiedMaterials.domain.query.UnqualifiedMaterialsQueryRequest; import com.huigou.topsun.mes.unqualifiedMaterials.domain.query.UnqualifiedMaterialsQueryRequest;
import com.huigou.topsun.mes.unqualifiedMaterials.domain.vo.UnqualifiedMaterialsVo; import com.huigou.topsun.mes.unqualifiedMaterials.domain.vo.UnqualifiedMaterialsVo;
import com.huigou.topsun.mes.unqualifiedMaterials.repository.UnqualifiedMaterialsItemRepository;
import com.huigou.topsun.mes.unqualifiedMaterials.repository.UnqualifiedMaterialsRepository;
import com.huigou.uasp.annotation.ControllerMapping; import com.huigou.uasp.annotation.ControllerMapping;
import com.huigou.uasp.annotation.SkipAuth; import com.huigou.uasp.annotation.SkipAuth;
import com.huigou.uasp.bmp.common.BizBillStatus; import com.huigou.uasp.bmp.common.BizBillStatus;
import com.huigou.uasp.client.CommonController; import com.huigou.uasp.client.CommonController;
import com.huigou.util.ClassHelper;
import com.huigou.util.JSONUtil; import com.huigou.util.JSONUtil;
import com.huigou.util.SDO; import com.huigou.util.SDO;
import org.slf4j.Logger; import org.slf4j.Logger;
...@@ -20,7 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; ...@@ -20,7 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import java.io.File;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
...@@ -34,6 +43,8 @@ public class UnqualifiedMaterialsController extends CommonController { ...@@ -34,6 +43,8 @@ public class UnqualifiedMaterialsController extends CommonController {
private final static Logger LOG = LoggerFactory.getLogger(UnqualifiedMaterialsController.class); private final static Logger LOG = LoggerFactory.getLogger(UnqualifiedMaterialsController.class);
@Autowired @Autowired
private UnqualifiedMaterialsApplication unqualifiedMaterialsApplication; private UnqualifiedMaterialsApplication unqualifiedMaterialsApplication;
@Autowired
private UnqualifiedMaterialsItemRepository unqualifiedMaterialsItemRepository;
@Override @Override
protected String getPagePath() { protected String getPagePath() {
return "/biz/topsun/mes/unqualifiedMaterials/"; return "/biz/topsun/mes/unqualifiedMaterials/";
...@@ -96,4 +107,20 @@ public class UnqualifiedMaterialsController extends CommonController { ...@@ -96,4 +107,20 @@ public class UnqualifiedMaterialsController extends CommonController {
return forward("attachment"); return forward("attachment");
} }
/**
* 打印
* @return
*/
public String print() {
SDO sdo = this.getSDO();
String id = sdo.getId();
UnqualifiedMaterials unqualifiedMaterials = this.unqualifiedMaterialsApplication.findUnqualifiedMaterialsById(id);
Map<String, Object> map = ClassHelper.beanToMap(unqualifiedMaterials);
List<UnqualifiedMaterialsItem> materialsItemList = this.unqualifiedMaterialsItemRepository.findByUnqualifiedMaterialsId(unqualifiedMaterials.getId());
map.put("items",materialsItemList);
map.put("printTime", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm").format(LocalDateTime.now()));
String pintPage = String.format("/print/topsun/unqualifiedMaterials.ftl");
return outputAndProcUnitHandlerPDF(pintPage, id, map);
}
} }
...@@ -27,4 +27,7 @@ public class UnqualifiedMaterialsItem extends AbstractEntity { ...@@ -27,4 +27,7 @@ public class UnqualifiedMaterialsItem extends AbstractEntity {
@Column(name = "opinion") @Column(name = "opinion")
private String opinion; private String opinion;
@Column(name = "handler_name")
private String handlerName;
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment