update 新料号标签,修改模板标签SDK2、胶水增加新旧料号

This commit is contained in:
18110972313 2025-05-27 09:19:37 +08:00
parent d195633ab6
commit 99fff0e048
2 changed files with 222 additions and 83 deletions

View File

@ -2,6 +2,9 @@ package com.cim.idm.model;
import lombok.Data; import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data @Data
public class LabelPrintPET { public class LabelPrintPET {
/******************************PET标签字段**************************/ /******************************PET标签字段**************************/
@ -24,7 +27,7 @@ public class LabelPrintPET {
//宽度 //宽度
private String wide; private String wide;
//平均厚度 //平均厚度
private String thickness; private String thickNess;
//等级 //等级
private String lotGrade; private String lotGrade;
//规格/实际规格 //规格/实际规格
@ -41,4 +44,42 @@ public class LabelPrintPET {
private String corona; private String corona;
//生产日期 //生产日期
private String productDate; private String productDate;
//二维码
private String QRCode;
//检验员
private String createUser;
//型号
private String specifications;
//阶段
private String stageCode;
//单位
private String mainUom;
public List<String> creatLabelPET(){
List<String> labelPETList = new ArrayList<>();
labelPETList.add("lotName");
labelPETList.add("productRequestName");
labelPETList.add("carrierName");
labelPETList.add("productName");
labelPETList.add("lineSpeed");
labelPETList.add("length");
labelPETList.add("startTime");
labelPETList.add("endTime");
labelPETList.add("wide");
labelPETList.add("thickNess");
labelPETList.add("lotGrade");
labelPETList.add("practicalSpec");
labelPETList.add("parentLotName");
labelPETList.add("joint");
labelPETList.add("productSpecName");
labelPETList.add("weight");
labelPETList.add("corona");
labelPETList.add("productDate");
labelPETList.add("QRCode");
labelPETList.add("createUser");
labelPETList.add("specifications");
labelPETList.add("stageCode");
labelPETList.add("mainUom");
return labelPETList;
}
} }

View File

@ -1833,9 +1833,16 @@ public class BSLabelServiceImpl extends CommonServiceDAO<BSLabelKey, BSLabel> im
String requestUrl = getRequestUrlByServer(server); String requestUrl = getRequestUrlByServer(server);
// requestUrl = "0980b551-20a2-49ba-a1e8-950331ff9827"; // requestUrl = "0980b551-20a2-49ba-a1e8-950331ff9827";
List<String> params = getLabelAssignParameter("testLabel002"); List<String> params = getLabelAssignParameter("testLabel002");
String newMaterialSpecSwitch = "N";
String queryNewMaterialSpecSwitchSql = " SELECT ENUMVALUE, DEFAULTFLAG FROM ENUMDEFVALUE WHERE ENUMNAME =:ENUMNAME ";
Map<String, String> queryNewMaterialSpecSwitchMap = new HashMap<String, String>();
queryNewMaterialSpecSwitchMap.put("ENUMNAME", "NewMaterialSpecLabel");
List<Map<String, Object>> newMaterialSpecSwitchResult = IDMFrameServiceProxy.getSqlTemplate().queryForList(queryNewMaterialSpecSwitchSql, queryNewMaterialSpecSwitchMap);
if (null != newMaterialSpecSwitchResult && !newMaterialSpecSwitchResult.isEmpty()){
newMaterialSpecSwitch = newMaterialSpecSwitchResult.get(0).get("DEFAULTFLAG") == null ? "N" : newMaterialSpecSwitchResult.get(0).get("DEFAULTFLAG").toString();
}
String labelUrl = ""; String labelUrl = "";
String labelPath = getLabelAbsolutePath(labelAddress); String labelPath = getLabelAbsolutePath(labelAddress);
labelPath = "C:\\inetpub\\wwwroot\\BarTender\\wwwroot\\Templates\\WMS\\" + labelAddress;
log.info("***************************PrintLabel Path is : " + labelPath); log.info("***************************PrintLabel Path is : " + labelPath);
PrintRequest pr = new PrintRequest(); PrintRequest pr = new PrintRequest();
pr.setLibraryID(UUID.randomUUID().toString()); pr.setLibraryID(UUID.randomUUID().toString());
@ -1847,8 +1854,35 @@ public class BSLabelServiceImpl extends CommonServiceDAO<BSLabelKey, BSLabel> im
pr.setPrintRequestID(UUID.randomUUID().toString()); pr.setPrintRequestID(UUID.randomUUID().toString());
LabelParameterObject obj = new LabelParameterObject(); LabelParameterObject obj = new LabelParameterObject();
List<Map<String, Object>> queryForListProduct = new ArrayList<>(); List<Map<String, Object>> queryForListProduct = new ArrayList<>();
if ("PET_A.btw".equals(labelAddress)) { if ("PET标签-电晕.btw".equals(labelAddress)) {
params = getLabelAssignParameter("labelPET"); params = new LabelPrintPET().creatLabelPET();
labelPath = "C:\\inetpub\\wwwroot\\BarTender\\wwwroot\\Templates\\WMS\\WHRePrint\\" + labelAddress;
pr.setAbsolutePath(labelPath);
if (newMaterialSpecSwitch.equals("Y")){
qeuryLabelDatasql = " SELECT\n" +
" LN.BATCH,\n" +
" LN.SOURCEORDER,\n" +
" LN.MATERIALNAME,\n" +
" LN.DEFINEITEM15,\n" +
" LN.DEFINEITEM17,\n" +
" LN.PRACTICALSPEC,\n" +
" LN.JUMBOROLLBATCH,\n" +
" LN.DEFINEITEM18,\n" +
" MS.OLDMATERIALSPECNAME AS MATERIALCODE,\n" +
" LN.MAINQTY,\n" +
" LN.DEFINEITEM19,\n" +
" LN.PRODUCTDATE,\n" +
" LN.BARCODE,\n" +
" LN.STAGECODE,\n" +
" LN.DEFINEITEM16,\n" +
" LN.MAINUOM,\n" +
" LN.DEFINEITEM9\n" +
" FROM\n" +
" LABELPRINTINFO LN \n" +
" LEFT JOIN MATERIALSPEC MS ON LN.MATERIALCODE = MS.MATERIALSPECNAME\n" +
" WHERE\n" +
" LN.BARCODE =:MATERIALPACKINGNAME ";
}else {
qeuryLabelDatasql = " SELECT\n" + qeuryLabelDatasql = " SELECT\n" +
" LN.BATCH,\n" + " LN.BATCH,\n" +
"LN.SOURCEORDER,\n" + "LN.SOURCEORDER,\n" +
@ -1871,36 +1905,40 @@ public class BSLabelServiceImpl extends CommonServiceDAO<BSLabelKey, BSLabel> im
"\tLABELPRINTINFO LN \n" + "\tLABELPRINTINFO LN \n" +
"WHERE\n" + "WHERE\n" +
"\tLN.BARCODE =:MATERIALPACKINGNAME "; "\tLN.BARCODE =:MATERIALPACKINGNAME ";
}
Map<String, Object> qeuryLabelMap = new HashMap<String, Object>(); Map<String, Object> qeuryLabelMap = new HashMap<String, Object>();
qeuryLabelMap.put("MATERIALPACKINGNAME", MATERIALPACKINGNAME); qeuryLabelMap.put("MATERIALPACKINGNAME", MATERIALPACKINGNAME);
queryForListProduct = IDMFrameServiceProxy.getSqlTemplate().queryForList(qeuryLabelDatasql, qeuryLabelMap); queryForListProduct = IDMFrameServiceProxy.getSqlTemplate().queryForList(qeuryLabelDatasql, qeuryLabelMap);
if (queryForListProduct != null && queryForListProduct.size() > 0) { if (null != queryForListProduct && !queryForListProduct.isEmpty()) {
LabelPrintPET labelPrintPET = new LabelPrintPET(); LabelPrintPET labelPrintPET = new LabelPrintPET();
//二维码
labelPrintPET.setQRCode(queryForListProduct.get(0).get("BARCODE") == null ? "" : queryForListProduct.get(0).get("BARCODE").toString());
//SN序号 //SN序号
labelPrintPET.setLotName(queryForListProduct.get(0).get("BARCODE") == null ? "" : queryForListProduct.get(0).get("BARCODE").toString()); String batch = queryForListProduct.get(0).get("BATCH") == null ? "" : queryForListProduct.get(0).get("BATCH").toString();
labelPrintPET.setLotName(batch);
//订单号 //订单号
labelPrintPET.setProductRequestName(queryForListProduct.get(0).get("SOURCEORDER") == null ? "" : queryForListProduct.get(0).get("SOURCEORDER").toString()); labelPrintPET.setProductRequestName(queryForListProduct.get(0).get("SOURCEORDER") == null ? "" : queryForListProduct.get(0).get("SOURCEORDER").toString());
labelPrintPET.setCarrierName(queryForListProduct.get(0).get("stageCode") == null ? "" : queryForListProduct.get(0).get("stageCode").toString());
//品名 //品名
labelPrintPET.setProductName(queryForListProduct.get(0).get("MATERIALNAME") == null ? "" : queryForListProduct.get(0).get("MATERIALNAME").toString()); labelPrintPET.setProductName(queryForListProduct.get(0).get("MATERIALNAME") == null ? "" : queryForListProduct.get(0).get("MATERIALNAME").toString());
//等级 //等级
labelPrintPET.setLotGrade(queryForListProduct.get(0).get("DEFINEITEM17") == null ? "" : queryForListProduct.get(0).get("DEFINEITEM17").toString()); labelPrintPET.setLotGrade(queryForListProduct.get(0).get("DEFINEITEM17") == null ? "" : queryForListProduct.get(0).get("DEFINEITEM17").toString());
//规格
String practicakSpes = queryForListProduct.get(0).get("PRACTICALSPEC") == null ? "" : queryForListProduct.get(0).get("PRACTICALSPEC").toString();
//厚度 //厚度
String defineItem15 = queryForListProduct.get(0).get("DEFINEITEM15") == null ? "" : queryForListProduct.get(0).get("DEFINEITEM15").toString(); String defineItem15 = queryForListProduct.get(0).get("DEFINEITEM15") == null ? "" : queryForListProduct.get(0).get("DEFINEITEM15").toString();
//规格=厚度+微米+规格 labelPrintPET.setThickNess(defineItem15);
labelPrintPET.setPracticalSpec(defineItem15 + "µm" + practicakSpes); //规格
String practicakSpes = queryForListProduct.get(0).get("PRACTICALSPEC") == null ? "" : queryForListProduct.get(0).get("PRACTICALSPEC").toString();
labelPrintPET.setPracticalSpec(practicakSpes);
//母卷批号 //母卷批号
labelPrintPET.setParentLotName(queryForListProduct.get(0).get("JUMBOROLLBATCH") == null ? "" : queryForListProduct.get(0).get("JUMBOROLLBATCH").toString()); labelPrintPET.setParentLotName(queryForListProduct.get(0).get("JUMBOROLLBATCH") == null ? "" : queryForListProduct.get(0).get("JUMBOROLLBATCH").toString());
//接头 //接头
labelPrintPET.setJoint(queryForListProduct.get(0).get("DEFINEITEM18") == null ? "" : queryForListProduct.get(0).get("DEFINEITEM18").toString()); labelPrintPET.setJoint(queryForListProduct.get(0).get("DEFINEITEM18") == null ? "" : queryForListProduct.get(0).get("DEFINEITEM18").toString());
//料号 //料号
String materialCode = queryForListProduct.get(0).get("MATERIALCODE") == null ? "" : queryForListProduct.get(0).get("MATERIALCODE").toString(); String materialCode = queryForListProduct.get(0).get("MATERIALCODE") == null ? "" : queryForListProduct.get(0).get("MATERIALCODE").toString();
labelPrintPET.setProductSpecName(materialCode);
//阶段 //阶段
String stageCode = queryForListProduct.get(0).get("STAGECODE") == null ? "" : queryForListProduct.get(0).get("STAGECODE").toString(); String stageCode = queryForListProduct.get(0).get("STAGECODE") == null ? "" : queryForListProduct.get(0).get("STAGECODE").toString();
labelPrintPET.setProductSpecName(materialCode + stageCode); labelPrintPET.setStageCode(stageCode);
//净重 //净重
labelPrintPET.setWeight(queryForListProduct.get(0).get("MAINQTY") == null ? "" : queryForListProduct.get(0).get("MAINQTY").toString()); labelPrintPET.setWeight(queryForListProduct.get(0).get("MAINQTY") == null ? "" : queryForListProduct.get(0).get("MAINQTY").toString());
//电晕 //电晕
@ -1909,10 +1947,14 @@ public class BSLabelServiceImpl extends CommonServiceDAO<BSLabelKey, BSLabel> im
labelPrintPET.setProductDate(queryForListProduct.get(0).get("PRODUCTDATE") == null ? "" : queryForListProduct.get(0).get("PRODUCTDATE").toString()); labelPrintPET.setProductDate(queryForListProduct.get(0).get("PRODUCTDATE") == null ? "" : queryForListProduct.get(0).get("PRODUCTDATE").toString());
//型号 //型号
String defineitem16 = queryForListProduct.get(0).get("DEFINEITEM16") == null ? "" : queryForListProduct.get(0).get("DEFINEITEM16").toString(); String defineitem16 = queryForListProduct.get(0).get("DEFINEITEM16") == null ? "" : queryForListProduct.get(0).get("DEFINEITEM16").toString();
labelPrintPET.setSpecifications(defineitem16);
//检验员 //检验员
String defineitem9 = queryForListProduct.get(0).get("DEFINEITEM9") == null ? "" : queryForListProduct.get(0).get("DEFINEITEM9").toString(); String defineitem9 = queryForListProduct.get(0).get("DEFINEITEM9") == null ? "" : queryForListProduct.get(0).get("DEFINEITEM9").toString();
labelPrintPET.setCreateUser(defineitem9);
//单位
String mainUom = queryForListProduct.get(0).get("MAINUOM") == null ? "" : queryForListProduct.get(0).get("MAINUOM").toString();
labelPrintPET.setMainUom(mainUom);
labelPrintPET.setWide(""); labelPrintPET.setWide("");
labelPrintPET.setThickness("");
labelPrintPET.setLength(""); labelPrintPET.setLength("");
labelPrintPET.setLineSpeed(""); labelPrintPET.setLineSpeed("");
labelPrintPET.setStartTime(""); labelPrintPET.setStartTime("");
@ -1922,10 +1964,37 @@ public class BSLabelServiceImpl extends CommonServiceDAO<BSLabelKey, BSLabel> im
labelUrl = labelPrint(labelPrintPET, requestUrl, pr, params); labelUrl = labelPrint(labelPrintPET, requestUrl, pr, params);
log.info("***************************PrintLabel Use URL is : " + requestUrl); log.info("***************************PrintLabel Use URL is : " + requestUrl);
}else { }else {
throw new CustomException(CustomExceptionCode.DATA_NOT_FOUND,"Undefined Execute Type : "); throw new CustomException(CustomExceptionCode.DATA_ERROR, "要打印的PET标签信息不存在");
} }
}else if ("Sdk2.btw".equals(labelAddress)){ }else if ("Sdk2.btw".equals(labelAddress)){
labelPath = "C:\\inetpub\\wwwroot\\BarTender\\wwwroot\\Templates\\WMS\\" + labelAddress;
pr.setAbsolutePath(labelPath);
if (newMaterialSpecSwitch.equals("Y")){
qeuryLabelDatasql = " SELECT\n" +
" m.MATERIALPACKINGNAME barcode,m2.materialtype,\n" +
" m2.OLDMATERIALSPECNAME partNo,\n" +
" m.PHASE state,\n" +
" ss.SPECNAME sdkSpec,\n" +
" m2.DESC_CN partName,m2.description,\n" +
" m.TRUEGG PracticalSpec,\n" +
" DECODE(SUBSTR(m.MATERIALQUANTITY,1,1),'.','0'||m.MATERIALQUANTITY,m.MATERIALQUANTITY) || ' ' || m3.FNAME qty,\n" +
" m.RECEIVEREQUESTNAME orderNo,\n" +
" m.RECEIVEUSER operater,\n" +
" m.CHARGE lotNo,NVL(m.suppliername,'') supplierNo,\n" +
" m.REMARK remark,TO_CHAR(m.RECEIVETIME,'YYYYMMDD') jumboRollBatch,\n" +
" TO_CHAR(MAKEDATE,'YYYYMMDD') makedate, TO_CHAR(EXPIRINGDATE,'YYYYMMDD') expdate ,m.RECEIVEUSER opreater\n" +
" FROM\n" +
" MATERIALPACKING m\n" +
" LEFT JOIN SDK_SPEC ss ON\n" +
" m.SDK_ID = ss.SDK_ID\n" +
" LEFT JOIN MATERIALSPEC m2 ON\n" +
" m.MATERIALSPECNAME = m2.MATERIALSPECNAME\n" +
" LEFT JOIN MATERIALUNIT m3 ON\n" +
" m.UNIT = m3.FNUMBER\n" +
" WHERE\n" +
" m.MATERIALPACKINGNAME = :MATERIALPACKINGNAME ";
}else {
qeuryLabelDatasql = "SELECT\r\n" + qeuryLabelDatasql = "SELECT\r\n" +
" m.MATERIALPACKINGNAME barcode,m2.materialtype,\r\n" + " m.MATERIALPACKINGNAME barcode,m2.materialtype,\r\n" +
" m.MATERIALSPECNAME partNo,\r\n" + " m.MATERIALSPECNAME partNo,\r\n" +
@ -1949,6 +2018,7 @@ public class BSLabelServiceImpl extends CommonServiceDAO<BSLabelKey, BSLabel> im
" m.UNIT = m3.FNUMBER\r\n" + " m.UNIT = m3.FNUMBER\r\n" +
"WHERE\r\n" + "WHERE\r\n" +
" m.MATERIALPACKINGNAME = :MATERIALPACKINGNAME"; " m.MATERIALPACKINGNAME = :MATERIALPACKINGNAME";
}
Map<String, Object> qeuryLabelMap = new HashMap<String, Object>(); Map<String, Object> qeuryLabelMap = new HashMap<String, Object>();
qeuryLabelMap.put("MATERIALPACKINGNAME", MATERIALPACKINGNAME); qeuryLabelMap.put("MATERIALPACKINGNAME", MATERIALPACKINGNAME);
queryForListProduct = IDMFrameServiceProxy.getSqlTemplate().queryForList(qeuryLabelDatasql, qeuryLabelMap); queryForListProduct = IDMFrameServiceProxy.getSqlTemplate().queryForList(qeuryLabelDatasql, qeuryLabelMap);
@ -1999,6 +2069,33 @@ public class BSLabelServiceImpl extends CommonServiceDAO<BSLabelKey, BSLabel> im
labelUrl = labelPrint(obj, requestUrl, pr, params); labelUrl = labelPrint(obj, requestUrl, pr, params);
log.info("***************************PrintLabel Use URL is : " + requestUrl); log.info("***************************PrintLabel Use URL is : " + requestUrl);
}else if ("胶水原材.btw".equals(labelAddress)){ }else if ("胶水原材.btw".equals(labelAddress)){
labelPath = "C:\\inetpub\\wwwroot\\BarTender\\wwwroot\\Templates\\WMS\\" + labelAddress;
pr.setAbsolutePath(labelPath);
if (newMaterialSpecSwitch.equals("Y")){
qeuryLabelDatasql = "SELECT\r\n" +
" m.MATERIALPACKINGNAME barcode,m2.materialtype,\r\n" +
" m2.OLDMATERIALSPECNAME partNo,\r\n" +
" m.PHASE state,\r\n" +
" ss.SPECNAME sdkSpec,\r\n" +
" m2.DESC_CN partName,m2.description,\r\n" +
" m.TRUEGG PracticalSpec,\r\n" +
" DECODE(SUBSTR(m.MATERIALQUANTITY,1,1),'.','0'||m.MATERIALQUANTITY,m.MATERIALQUANTITY) || ' ' || m3.FNAME qty,\r\n" +
" m.RECEIVEREQUESTNAME orderNo,\r\n" +
" m.RECEIVEUSER operater,\r\n" +
" m.CHARGE lotNo,NVL(m.suppliername,'') supplierNo,\r\n" +
" m.REMARK remark,TO_CHAR(m.RECEIVETIME,'YYYYMMDD') jumboRollBatch,"
+ "TO_CHAR(MAKEDATE,'YYYYMMDD') makedate, TO_CHAR(EXPIRINGDATE,'YYYYMMDD') expdate ,m.RECEIVEUSER opreater\r\n" +
"FROM\r\n" +
" MATERIALPACKING m\r\n" +
"LEFT JOIN SDK_SPEC ss ON\r\n" +
" m.SDK_ID = ss.SDK_ID\r\n" +
"LEFT JOIN MATERIALSPEC m2 ON\r\n" +
" m.MATERIALSPECNAME = m2.MATERIALSPECNAME\r\n" +
"LEFT JOIN MATERIALUNIT m3 ON\r\n" +
" m.UNIT = m3.FNUMBER\r\n" +
"WHERE\r\n" +
" m.MATERIALPACKINGNAME = :MATERIALPACKINGNAME";
}else {
qeuryLabelDatasql = "SELECT\r\n" + qeuryLabelDatasql = "SELECT\r\n" +
" m.MATERIALPACKINGNAME barcode,m2.materialtype,\r\n" + " m.MATERIALPACKINGNAME barcode,m2.materialtype,\r\n" +
" m.MATERIALSPECNAME partNo,\r\n" + " m.MATERIALSPECNAME partNo,\r\n" +
@ -2022,6 +2119,7 @@ public class BSLabelServiceImpl extends CommonServiceDAO<BSLabelKey, BSLabel> im
" m.UNIT = m3.FNUMBER\r\n" + " m.UNIT = m3.FNUMBER\r\n" +
"WHERE\r\n" + "WHERE\r\n" +
" m.MATERIALPACKINGNAME = :MATERIALPACKINGNAME"; " m.MATERIALPACKINGNAME = :MATERIALPACKINGNAME";
}
Map<String, Object> qeuryLabelMap = new HashMap<String, Object>(); Map<String, Object> qeuryLabelMap = new HashMap<String, Object>();
qeuryLabelMap.put("MATERIALPACKINGNAME", MATERIALPACKINGNAME); qeuryLabelMap.put("MATERIALPACKINGNAME", MATERIALPACKINGNAME);
queryForListProduct = IDMFrameServiceProxy.getSqlTemplate().queryForList(qeuryLabelDatasql, qeuryLabelMap); queryForListProduct = IDMFrameServiceProxy.getSqlTemplate().queryForList(qeuryLabelDatasql, qeuryLabelMap);
@ -2072,7 +2170,7 @@ public class BSLabelServiceImpl extends CommonServiceDAO<BSLabelKey, BSLabel> im
labelUrl = labelPrint(obj, requestUrl, pr, params); labelUrl = labelPrint(obj, requestUrl, pr, params);
log.info("***************************PrintLabel Use URL is : " + requestUrl); log.info("***************************PrintLabel Use URL is : " + requestUrl);
}else { }else {
throw new CustomException(CustomExceptionCode.DATA_NOT_FOUND, "未找到对应的标签模板"); throw new CustomException(CustomExceptionCode.DATA_ERROR, "未找到对应的标签模板");
} }
return labelUrl; return labelUrl;