Merge branch 'mes-test' into mes-uat-changshu0609

mes-uat-changshu0609
王杰 2 months ago
commit 1f2bf0a276

@ -33,7 +33,7 @@ public class YfaiPackageNumberRuleStrategyService implements INumberRulePackAttr
//| {SPILTRULE} //| {SPILTRULE}
//C901 {ORG} //C901 {ORG}
//| {SPILTRULE} //| {SPILTRULE}
//401007574AAABN {PARTNO} //401007574AAABN {PARTNO} ----- 20250612调整 wms会扫描 packageOneCode, 这个里面没有零件号, 所以变更 此段内容 为 {DYNAMICRULE}
//| {SPILTRULE} //| {SPILTRULE}
//9.0 {DYNAMICRULE} 标包 一位小数 //9.0 {DYNAMICRULE} 标包 一位小数
//| {SPILTRULE} //| {SPILTRULE}
@ -45,6 +45,7 @@ public class YfaiPackageNumberRuleStrategyService implements INumberRulePackAttr
//| {SPILTRULE} //| {SPILTRULE}
private final static String DR_QTY = "DR_QTY"; private final static String DR_QTY = "DR_QTY";
private final static String DR_PARTNO = "DR_PARTNO";
@Override @Override
public GenSerialNoModel execute(GenSerialNoModel genSerialNoModel) { public GenSerialNoModel execute(GenSerialNoModel genSerialNoModel) {
@ -59,6 +60,7 @@ public class YfaiPackageNumberRuleStrategyService implements INumberRulePackAttr
genSerialNoModel.setDynamicRule( genSerialNoModel.setDynamicRule(
new StringJoiner(MesPcnExtConstWords.COMMA) new StringJoiner(MesPcnExtConstWords.COMMA)
.add(((new SimpleDateFormat(MesPcnExtConstWords.DATE_FORMAT_SHORT)).format(new Date()))) .add(((new SimpleDateFormat(MesPcnExtConstWords.DATE_FORMAT_SHORT)).format(new Date())))
.add(DR_PARTNO)
//.add(String.format("%.1f", qty)) //.add(String.format("%.1f", qty))
.add(DR_QTY) .add(DR_QTY)
.add(unit) .add(unit)
@ -87,6 +89,7 @@ public class YfaiPackageNumberRuleStrategyService implements INumberRulePackAttr
Double qty = (!CollectionUtils.isEmpty(dataMap) && dataMap.containsKey(MesPcnExtConstWords.QTY)) ? (Double) dataMap.get(MesPcnExtConstWords.QTY) : null; Double qty = (!CollectionUtils.isEmpty(dataMap) && dataMap.containsKey(MesPcnExtConstWords.QTY)) ? (Double) dataMap.get(MesPcnExtConstWords.QTY) : null;
if (StringUtils.isEmpty(qty)) qty = null != packageRuleContext ? packageRuleContext.getPackSpecQty() : new Double(1); if (StringUtils.isEmpty(qty)) qty = null != packageRuleContext ? packageRuleContext.getPackSpecQty() : new Double(1);
serialNo = serialNo.replace(DR_QTY, String.format("%.1f", qty)); serialNo = serialNo.replace(DR_QTY, String.format("%.1f", qty));
serialNo = serialNo.replace(DR_PARTNO, genSerialNoModel.getPartNo());
genSerialNoModel.putDataMap(serialNo, packageOneCode); genSerialNoModel.putDataMap(serialNo, packageOneCode);
return serialNo; return serialNo;
} }

@ -4,6 +4,7 @@ import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesCustomerPartService;
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesPartService; import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesPartService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesPrintedSnLogService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesPrintedSnLogService;
import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print.IPrintTemplateStrategyService; import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print.IPrintTemplateStrategyService;
import cn.estsh.i3plus.ext.mes.pcn.apiservice.util.BarCodeUtils;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesProduceSnPrintDataModel; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesProduceSnPrintDataModel;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesProduceSnPrintModel; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesProduceSnPrintModel;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
@ -11,23 +12,27 @@ import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService;
import cn.estsh.i3plus.mes.pcn.util.DateUtil; import cn.estsh.i3plus.mes.pcn.util.DateUtil;
import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.tool.TimeTool; import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker; import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesNumberRule; import cn.estsh.i3plus.pojo.mes.bean.MesNumberRule;
import cn.estsh.i3plus.pojo.mes.bean.MesPart; import cn.estsh.i3plus.pojo.mes.bean.MesPart;
import cn.estsh.i3plus.pojo.mes.bean.MesPartSap;
import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn; import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn;
import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel; import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel;
import cn.estsh.i3plus.pojo.mes.model.StationRequestBean; import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
import cn.estsh.i3plus.pojo.mes.model.StepResult; import cn.estsh.i3plus.pojo.mes.model.StepResult;
import cn.estsh.i3plus.pojo.mes.repository.MesPartSapRepository;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
import com.google.zxing.WriterException;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import java.util.ArrayList; import java.io.ByteArrayOutputStream;
import java.util.HashMap; import java.io.IOException;
import java.util.List; import java.util.*;
import java.util.Map;
/** /**
* @Description : * @Description :
@ -54,6 +59,9 @@ public class ChengDuSplitFixCharPrintStrategy implements IPrintTemplateStrategyS
@Autowired @Autowired
private IMesCustomerPartService mesCustomerPartService; private IMesCustomerPartService mesCustomerPartService;
@Autowired
private MesPartSapRepository mesPartSapRDao;
@Override @Override
public MesProduceSnPrintModel execute(GenSerialNoModel genSerialNoModel, MesProduceSnPrintModel mesProduceSnPrintModel, MesNumberRule numberRule, StepResult stepResult, StationRequestBean reqBean, Boolean isStep) { public MesProduceSnPrintModel execute(GenSerialNoModel genSerialNoModel, MesProduceSnPrintModel mesProduceSnPrintModel, MesNumberRule numberRule, StepResult stepResult, StationRequestBean reqBean, Boolean isStep) {
String organizeCode = mesProduceSnPrintModel.getOrganizeCode(); String organizeCode = mesProduceSnPrintModel.getOrganizeCode();
@ -150,6 +158,22 @@ public class ChengDuSplitFixCharPrintStrategy implements IPrintTemplateStrategyS
result.put(MesPcnExtConstWords.PRINT_BAR_CODE, produceSn.getProductSn()); result.put(MesPcnExtConstWords.PRINT_BAR_CODE, produceSn.getProductSn());
result.put(MesPcnExtConstWords.PRINT_DATE, TimeTool.getNowTime(true)); result.put(MesPcnExtConstWords.PRINT_DATE, TimeTool.getNowTime(true));
result.put(MesPcnExtConstWords.USER_NAME, produceSn.getCreateUser()); result.put(MesPcnExtConstWords.USER_NAME, produceSn.getCreateUser());
DdlPackBean partSapPackBean = DdlPackBean.getDdlPackBean(produceSn.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(produceSn.getPartNo(), "partNo", partSapPackBean);
MesPartSap mesPartSap = mesPartSapRDao.getByProperty(partSapPackBean);
if (mesPartSap != null) {
result.put(MesPcnExtConstWords.DESCRIPTION, mesPartSap.getDescription());
}
// 客户条码 dataMatrix
ByteArrayOutputStream dataMatrixCode;
try {
dataMatrixCode = BarCodeUtils.createDataMatrixCode(produceSn.getProductSn());
} catch (WriterException | IOException e) {
log.error("ChengDuSplitFixCharPrintStrategy --- execute --- 报错:{}", e.getMessage());
return result;
}
result.put(MesPcnExtConstWords.CUST_SN_DATA_MATRIX, "data:image/jpeg;base64," + Base64.getEncoder().encodeToString(dataMatrixCode.toByteArray()));
return result; return result;
} }

Loading…
Cancel
Save