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

mes-uat-changshu0609
王杰 1 month ago
commit 1f2bf0a276

@ -33,7 +33,7 @@ public class YfaiPackageNumberRuleStrategyService implements INumberRulePackAttr
//| {SPILTRULE}
//C901 {ORG}
//| {SPILTRULE}
//401007574AAABN {PARTNO}
//401007574AAABN {PARTNO} ----- 20250612调整 wms会扫描 packageOneCode, 这个里面没有零件号, 所以变更 此段内容 为 {DYNAMICRULE}
//| {SPILTRULE}
//9.0 {DYNAMICRULE} 标包 一位小数
//| {SPILTRULE}
@ -45,6 +45,7 @@ public class YfaiPackageNumberRuleStrategyService implements INumberRulePackAttr
//| {SPILTRULE}
private final static String DR_QTY = "DR_QTY";
private final static String DR_PARTNO = "DR_PARTNO";
@Override
public GenSerialNoModel execute(GenSerialNoModel genSerialNoModel) {
@ -59,6 +60,7 @@ public class YfaiPackageNumberRuleStrategyService implements INumberRulePackAttr
genSerialNoModel.setDynamicRule(
new StringJoiner(MesPcnExtConstWords.COMMA)
.add(((new SimpleDateFormat(MesPcnExtConstWords.DATE_FORMAT_SHORT)).format(new Date())))
.add(DR_PARTNO)
//.add(String.format("%.1f", qty))
.add(DR_QTY)
.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;
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_PARTNO, genSerialNoModel.getPartNo());
genSerialNoModel.putDataMap(serialNo, packageOneCode);
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.busi.IMesPrintedSnLogService;
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.MesProduceSnPrintModel;
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.platform.common.convert.ConvertBean;
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.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesNumberRule;
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.model.GenSerialNoModel;
import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
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 com.google.zxing.WriterException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.*;
/**
* @Description :
@ -54,6 +59,9 @@ public class ChengDuSplitFixCharPrintStrategy implements IPrintTemplateStrategyS
@Autowired
private IMesCustomerPartService mesCustomerPartService;
@Autowired
private MesPartSapRepository mesPartSapRDao;
@Override
public MesProduceSnPrintModel execute(GenSerialNoModel genSerialNoModel, MesProduceSnPrintModel mesProduceSnPrintModel, MesNumberRule numberRule, StepResult stepResult, StationRequestBean reqBean, Boolean isStep) {
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_DATE, TimeTool.getNowTime(true));
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;
}

Loading…
Cancel
Save