Merge remote-tracking branch 'origin/dev-wuhan-temp' into dev-wuhan-temp

tags/yfai-pcn-ext-v2.3
臧学普 7 months ago
commit 12ca42f386

@ -13,4 +13,7 @@ public interface IMesTemplateService {
*/
@ApiOperation(value = "按条件查询", notes = "按条件查询")
MesLabelTemplate getMesLabelTemplate(String templateCode,String organizeCode);
@ApiOperation(value = "按条件查询", notes = "按条件查询")
MesLabelTemplate getLabelTemplate(String templateCode, String organizeCode);
}

@ -16,9 +16,6 @@ public interface IMesConfigService {
String getCfgValue(String org, String key);
@ApiOperation(value = "获取配置表模板代码")
MesConfig getCfgValueByCode(String key);
@ApiOperation(value = "获取配置表模板代码")
MesConfig getMesConfig(String org, String key);
@ApiOperation(value = "获取系统配置集合")

@ -108,11 +108,9 @@ public class MesEquipmentExtService implements IMesEquipmentExtService {
public List<MesCavityGroupDetailCfg> getMesCavityGroupDetailCfgList(String organizeCode, String equipmentCode) {
//获取腔组数据信息集合
DdlPackBean packBean = DdlPackBean.getDdlPackBean();
DdlPreparedPack.getStringEqualPack(organizeCode, "organizeCode", packBean);
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(equipmentCode, "equipmentCode", packBean);
List<MesCavityGroupDetailCfg> mesCavityGroupDetailCfgs = mesCavityGroupDetailCfgRepository.findByHqlWhere(packBean);
return mesCavityGroupDetailCfgs;
return mesCavityGroupDetailCfgRepository.findByHqlWhere(packBean);
}
@Override

@ -4,12 +4,13 @@ import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesTemplateService;
import cn.estsh.i3plus.ext.mes.pcn.apiservice.util.MesPcnException;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.platform.common.util.MesPcnConstWords;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplate;
import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplateParam;
import cn.estsh.i3plus.pojo.mes.repository.MesLabelTemplateParamRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesLabelTemplateRepository;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
import org.apache.shiro.util.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -36,7 +37,7 @@ public class MesTemplateServiceImpl implements IMesTemplateService {
public MesLabelTemplate getMesLabelTemplate(String templateCode,String organizeCode) {
// 根据标签模板代码查询【MES_标签模板表】获取对应的方法代码
MesLabelTemplate labelTemplate = mesLabelTemplateRDao.getByProperty(
new String[]{MesPcnConstWords.IS_VALID, MesPcnConstWords.IS_DELETED, "templateCode", MesPcnExtConstWords.ORGANIZE_CODE},
new String[]{MesPcnConstWords.IS_VALID, MesPcnConstWords.IS_DELETED, MesPcnExtConstWords.TEMPLATE_CODE, MesPcnExtConstWords.ORGANIZE_CODE},
new Object[]{CommonEnumUtil.IS_VAILD.VAILD.getValue(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), templateCode,organizeCode});
if (labelTemplate == null) {
@ -44,7 +45,7 @@ public class MesTemplateServiceImpl implements IMesTemplateService {
}
// 根据模板代码查询模板参数信息
List<MesLabelTemplateParam> templateParamList = mesLabelTemplateParamRDao.findByProperty(new String[]{"templateCode", MesPcnConstWords.IS_VALID, MesPcnConstWords.IS_DELETED,MesPcnExtConstWords.ORGANIZE_CODE},
List<MesLabelTemplateParam> templateParamList = mesLabelTemplateParamRDao.findByProperty(new String[]{MesPcnExtConstWords.TEMPLATE_CODE, MesPcnConstWords.IS_VALID, MesPcnConstWords.IS_DELETED,MesPcnExtConstWords.ORGANIZE_CODE},
new Object[]{templateCode, CommonEnumUtil.IS_VAILD.VAILD.getValue(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(),organizeCode});
if (CollectionUtils.isEmpty(templateParamList)) {
@ -54,4 +55,19 @@ public class MesTemplateServiceImpl implements IMesTemplateService {
return labelTemplate;
}
@Override
public MesLabelTemplate getLabelTemplate(String templateCode, String organizeCode) {
DdlPackBean templatePackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(templateCode, MesPcnExtConstWords.TEMPLATE_CODE, templatePackBean);
MesLabelTemplate mesLabelTemplate = mesLabelTemplateRDao.getByProperty(templatePackBean);
if (mesLabelTemplate != null) {
//级联获取labelTemplateParam
DdlPackBean templateParamPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(mesLabelTemplate.getTemplateCode(), MesPcnExtConstWords.TEMPLATE_CODE, templateParamPackBean);
List<MesLabelTemplateParam> params = mesLabelTemplateParamRDao.findByHqlWhere(templateParamPackBean);
mesLabelTemplate.setLabelTemplateParamList(params);
}
return mesLabelTemplate;
}
}

@ -46,12 +46,6 @@ public class MesConfigService implements IMesConfigService {
}
@Override
public MesConfig getCfgValueByCode(String cfgCode) {
return this.configRepository.getByProperty(new String[]{"isDeleted", "isValid", "cfgCode"},
new Object[]{CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), cfgCode});
}
@Override
public MesConfig getMesConfig(String org, String key) {
MesConfig config = configRepository.getByProperty(
new String[]{"cfgKey", "organizeCode", "isValid", "isDeleted"},

@ -13,12 +13,10 @@ import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesProduceSnPrintModel;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesWorkOrderCutPrintModel;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.mes.pcn.api.iservice.base.IConfigService;
import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
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.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
@ -63,9 +61,6 @@ public class MesProduceSnPrintService implements IMesProduceSnPrintService {
private MesProduceSnRepository mesProduceSnRDao;
@Autowired
private SnowflakeIdMaker snowflakeIdMaker;
@Autowired
private IMesPartService mesPartService;
@Autowired
@ -81,30 +76,18 @@ public class MesProduceSnPrintService implements IMesProduceSnPrintService {
private IConfigService configService;
@Autowired
private ISyncFuncService syncFuncService;
@Autowired
private MesNumberRuleRepository mesNumberRuleRDao;
@Autowired
private IMesPrintedSnLogRepository mesPrintedSnRao;
@Autowired
private MesLabelTemplateRepository templateRao;
@Autowired
private MesWorkOrderCutRepository workOrderCutRepository;
@Autowired
private IMesWorkOrderCutService workOrderCutService;
@Autowired
private MesLabelTemplateRepository labelTemplateRepository;
@Autowired
private MesLabelTemplateParamRepository labelTemplateParamRepository;
@Autowired
private MesCutSchemeFgRepository cutSchemeFgRepository;
@Autowired
@ -304,9 +287,9 @@ public class MesProduceSnPrintService implements IMesProduceSnPrintService {
// 根据 裁片方案代码 对 裁片方案信息 分组
Map<String, MesCutScheme> cutSchemeMapByCutCode = mesCutSchemeList.stream().collect(Collectors.toMap(MesCutScheme::getCutCode, Function.identity(), (x, y) -> y));
// 根据 裁片方案代码 对 裁片方案成品信息 分组
Map<String, List<MesCutSchemeFg>> cutSchemeFgMapByCutCode = getCutSchemeFgMapByCutCode(cutCodeList);
Map<String, List<MesCutSchemeFg>> cutSchemeFgMapByCutCode = getCutSchemeFgMapByCutCode(cutCodeList,workOrderCut.getOrganizeCode());
// 根据 裁片方案代码 对 裁片方案原材料信息 分组
Map<String, List<MesCutSchemeMaterial>> cutSchemeMaterialMapByCutCode = getCutSchemeMaterialMapByCutCode(cutCodeList);
Map<String, List<MesCutSchemeMaterial>> cutSchemeMaterialMapByCutCode = getCutSchemeMaterialMapByCutCode(cutCodeList,workOrderCut.getOrganizeCode());
// 根据 裁片方案代码 对 裁片设备信息 分组
Map<String, List<MesCutSchemeEquipment>> cutSchemeEquipmentMapByCutCode = CollectionUtils.isEmpty(cutSchemeEquipmentList) ? new HashMap<>() : cutSchemeEquipmentList.stream().collect(Collectors.groupingBy(MesCutSchemeEquipment::getCutCode));
// 根据pid对 设备参数 分组
@ -318,7 +301,7 @@ public class MesProduceSnPrintService implements IMesProduceSnPrintService {
MesCutScheme cutScheme = cutSchemeMapByCutCode.get(workOrderCutDb.getCutCode());
MesLabelTemplate labelTemplate = getLabelTemplate(cutScheme.getTemplateCode(), workOrderCut.getOrganizeCode());
MesLabelTemplate labelTemplate = mesTemplateService.getLabelTemplate(cutScheme.getTemplateCode(), workOrderCut.getOrganizeCode());
//模板信息丢失抛出异常
if (labelTemplate == null) {
@ -425,57 +408,37 @@ public class MesProduceSnPrintService implements IMesProduceSnPrintService {
private Map<Long, List<MesCutSchemeEquipmentDetail>> getCutSchemeEquipmentDetailMapByPid(String organizeCode, List<MesCutSchemeEquipment> cutSchemeEquipmentList) {
List<MesCutSchemeEquipmentDetail> cutSchemeEquipmentDetailList = getMesCutSchemeEquipmentDetails(organizeCode, cutSchemeEquipmentList);
Map<Long, List<MesCutSchemeEquipmentDetail>> cutSchemeEquipmentDetailMapByPid = CollectionUtils.isEmpty(cutSchemeEquipmentDetailList) ? null : cutSchemeEquipmentDetailList.stream().collect(Collectors.groupingBy(MesCutSchemeEquipmentDetail::getPid));
return cutSchemeEquipmentDetailMapByPid;
return CollectionUtils.isEmpty(cutSchemeEquipmentDetailList) ? null : cutSchemeEquipmentDetailList.stream().collect(Collectors.groupingBy(MesCutSchemeEquipmentDetail::getPid));
}
private List<MesCutSchemeEquipment> getMesCutSchemeEquipments(String organizeCode, List<String> cutCodeList) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getInPackList(cutCodeList, MesPcnExtConstWords.CUT_CODE, packBean);
List<MesCutSchemeEquipment> cutSchemeEquipmentList = cutSchemeEquipmentRepository.findByHqlWhere(packBean);
return cutSchemeEquipmentList;
return cutSchemeEquipmentRepository.findByHqlWhere(packBean);
}
private List<MesCutSchemeMaterial> getMesCutSchemeMaterials(List<String> cutCodeList) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean();
private List<MesCutSchemeMaterial> getMesCutSchemeMaterials(List<String> cutCodeList,String orgnaizeCode) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(orgnaizeCode);
DdlPreparedPack.getInPackList(cutCodeList, MesPcnExtConstWords.CUT_CODE, packBean);
List<MesCutSchemeMaterial> cutSchemeMaterialList = cutSchemeMaterialRepository.findByHqlWhere(packBean);
return cutSchemeMaterialList;
return cutSchemeMaterialRepository.findByHqlWhere(packBean);
}
private Map<String, List<MesCutSchemeMaterial>> getCutSchemeMaterialMapByCutCode(List<String> cutCodeList) {
List<MesCutSchemeMaterial> cutSchemeMaterialList = getMesCutSchemeMaterials(cutCodeList);
private Map<String, List<MesCutSchemeMaterial>> getCutSchemeMaterialMapByCutCode(List<String> cutCodeList,String orgnaizeCode) {
List<MesCutSchemeMaterial> cutSchemeMaterialList = getMesCutSchemeMaterials(cutCodeList,orgnaizeCode);
//根据裁片方案代码对裁片方案原材料分组
Map<String, List<MesCutSchemeMaterial>> cutSchemeMaterialMapByCutCode = cutSchemeMaterialList.stream().collect(Collectors.groupingBy(MesCutSchemeMaterial::getCutCode));
return cutSchemeMaterialMapByCutCode;
return cutSchemeMaterialList.stream().collect(Collectors.groupingBy(MesCutSchemeMaterial::getCutCode));
}
private List<MesCutSchemeFg> getMesCutSchemeFgs(List<String> cutCodeList) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean();
private List<MesCutSchemeFg> getMesCutSchemeFgs(List<String> cutCodeList, String organizeCode) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getInPackList(cutCodeList, MesPcnExtConstWords.CUT_CODE, packBean);
List<MesCutSchemeFg> cutSchemeFgList = cutSchemeFgRepository.findByHqlWhere(packBean);
return cutSchemeFgList;
return cutSchemeFgRepository.findByHqlWhere(packBean);
}
private Map<String, List<MesCutSchemeFg>> getCutSchemeFgMapByCutCode(List<String> cutCodeList) {
List<MesCutSchemeFg> cutSchemeFgList = getMesCutSchemeFgs(cutCodeList);
private Map<String, List<MesCutSchemeFg>> getCutSchemeFgMapByCutCode(List<String> cutCodeList, String organizeCode) {
List<MesCutSchemeFg> cutSchemeFgList = getMesCutSchemeFgs(cutCodeList,organizeCode);
//根据裁片方案代码对裁片方案成品明细分组
Map<String, List<MesCutSchemeFg>> cutSchemeFgMapByCutCode = cutSchemeFgList.stream().collect(Collectors.groupingBy(MesCutSchemeFg::getCutCode));
return cutSchemeFgMapByCutCode;
}
private MesLabelTemplate getLabelTemplate(String templateCode, String organizeCode) {
DdlPackBean templatePackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(templateCode, MesPcnExtConstWords.TEMPLATE_CODE, templatePackBean);
MesLabelTemplate mesLabelTemplate = labelTemplateRepository.getByProperty(templatePackBean);
if (mesLabelTemplate != null) {
//级联获取labelTemplateParam
DdlPackBean templateParamPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getNumEqualPack(mesLabelTemplate.getId(), "templateId", templateParamPackBean);
List<MesLabelTemplateParam> params = labelTemplateParamRepository.findByHqlWhere(templateParamPackBean);
mesLabelTemplate.setLabelTemplateParamList(params);
}
return mesLabelTemplate;
return cutSchemeFgList.stream().collect(Collectors.groupingBy(MesCutSchemeFg::getCutCode));
}
}

@ -1,42 +0,0 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi.printqueue.strategy;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.*;
import cn.estsh.i3plus.pojo.mes.repository.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @PROJECT_NAME: i3plus-mes-yfai
* @DESCRIPTION:
* @USER: xinwang.yi
* @DATE: 2024-09-23 11:08
*/
@Service
public class PrintQueueDispatchService {
@Autowired
private MesLabelTemplateRepository labelTemplateRepository;
@Autowired
private MesLabelTemplateParamRepository labelTemplateParamRepository;
public MesLabelTemplate getLabelTemplate(String templateCode, String organizeCode) {
DdlPackBean templatePackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(templateCode, MesPcnExtConstWords.TEMPLATE_CODE, templatePackBean);
MesLabelTemplate mesLabelTemplate = labelTemplateRepository.getByProperty(templatePackBean);
if (mesLabelTemplate != null) {
//级联获取labelTemplateParam
DdlPackBean templateParamPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getNumEqualPack(mesLabelTemplate.getId(), "templateId", templateParamPackBean);
List<MesLabelTemplateParam> params = labelTemplateParamRepository.findByHqlWhere(templateParamPackBean);
mesLabelTemplate.setLabelTemplateParamList(params);
}
return mesLabelTemplate;
}
}

@ -1,5 +1,6 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi.printqueue.strategy;
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesTemplateService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesWorkCenterService;
import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi.printqueue.IPrintQueueStrategyService;
import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print.IPrintTemplateStrategyService;
@ -46,7 +47,7 @@ public class WorkOrderAssemblyPrintQueueStrategyService implements IPrintQueueSt
private MesPartProdGroupRepository partProdGroupRepository;
@Autowired
private PrintQueueDispatchService printQueueDispatchService;
private IMesTemplateService mesTemplateService;
@Autowired
private MesCustomerCarModelRepository customerCarModelRepository;
@ -123,7 +124,7 @@ public class WorkOrderAssemblyPrintQueueStrategyService implements IPrintQueueSt
continue;
}
MesLabelTemplate labelTemplate = printQueueDispatchService.getLabelTemplate(printTemplate, model.getOrganizeCode());
MesLabelTemplate labelTemplate = mesTemplateService.getLabelTemplate(printTemplate, model.getOrganizeCode());
//根据反射获取策略类--封装打印数据
String methodCode = labelTemplate.getMethodCode();

@ -5,24 +5,16 @@ import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesProduceSnPrintModel;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesWorkOrderCutPrintModel;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.*;
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.MesCutSchemeEquipmentDetailRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesCutSchemeEquipmentRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesCutSchemeFgRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesCutSchemeMaterialRepository;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
/**
* @Description :
@ -35,18 +27,6 @@ import java.util.stream.Collectors;
@Slf4j
public class CutWorkOrderNoPrintStrategy implements IPrintTemplateStrategyService {
@Autowired
private MesCutSchemeFgRepository cutSchemeFgRepository;
@Autowired
private MesCutSchemeMaterialRepository cutSchemeMaterialRepository;
@Autowired
private MesCutSchemeEquipmentRepository cutSchemeEquipmentRepository;
@Autowired
private MesCutSchemeEquipmentDetailRepository cutSchemeEquipmentDetailRepository;
public static final int EQUIP_NUM = 1;
public static final int EQUIP_PARAM_TITLE_NUM = 4;
@ -130,73 +110,16 @@ public class CutWorkOrderNoPrintStrategy implements IPrintTemplateStrategyServic
return model;
}
private boolean checkCutSchemeMaterialIsNull(MesCutSchemeMaterial cutSchemeMaterial) {
return cutSchemeMaterial == null ? true : false;
}
private Map<Long, List<MesCutSchemeEquipmentDetail>> getCutSchemeEquipmentDetailMapByPid(MesProduceSnPrintModel model, List<MesCutSchemeEquipment> cutSchemeEquipmentList) {
List<MesCutSchemeEquipmentDetail> cutSchemeEquipmentDetailList = getMesCutSchemeEquipmentDetails(model, cutSchemeEquipmentList);
Map<Long, List<MesCutSchemeEquipmentDetail>> cutSchemeEquipmentDetailMapByPid = CollectionUtils.isEmpty(cutSchemeEquipmentDetailList) ? null : cutSchemeEquipmentDetailList.stream().collect(Collectors.groupingBy(MesCutSchemeEquipmentDetail::getPid));
return cutSchemeEquipmentDetailMapByPid;
}
private Map<String, List<MesCutSchemeMaterial>> getCutSchemeMaterialMapByCutCode(List<String> cutCodeList) {
List<MesCutSchemeMaterial> cutSchemeMaterialList = getMesCutSchemeMaterials(cutCodeList);
//根据裁片方案代码对裁片方案原材料分组
Map<String, List<MesCutSchemeMaterial>> cutSchemeMaterialMapByCutCode = cutSchemeMaterialList.stream().collect(Collectors.groupingBy(MesCutSchemeMaterial::getCutCode));
return cutSchemeMaterialMapByCutCode;
}
private String getValByDouble(Double val) {
return val == null ? "" : val.toString();
}
private Map<String, List<MesCutSchemeFg>> getCutSchemeFgMapByCutCode(List<String> cutCodeList) {
List<MesCutSchemeFg> cutSchemeFgList = getMesCutSchemeFgs(cutCodeList);
//根据裁片方案代码对裁片方案成品明细分组
Map<String, List<MesCutSchemeFg>> cutSchemeFgMapByCutCode = cutSchemeFgList.stream().collect(Collectors.groupingBy(MesCutSchemeFg::getCutCode));
return cutSchemeFgMapByCutCode;
}
private BigDecimal[] divideAndRemainder(Double qty, Double packageQty) {
BigDecimal dividend = new BigDecimal(qty.toString());
BigDecimal divisor = new BigDecimal(packageQty.toString());
return dividend.divideAndRemainder(divisor);
}
private List<MesCutSchemeEquipmentDetail> getMesCutSchemeEquipmentDetails(MesProduceSnPrintModel model, List<MesCutSchemeEquipment> cutSchemeEquipmentList) {
if (!CollectionUtils.isEmpty(cutSchemeEquipmentList)) {
List<Long> idList = cutSchemeEquipmentList.stream().map(MesCutSchemeEquipment::getId).collect(Collectors.toList());
DdlPackBean packBean = DdlPackBean.getDdlPackBean(model.getOrganizeCode());
DdlPreparedPack.getInPackList(idList, MesPcnExtConstWords.PID, packBean);
return cutSchemeEquipmentDetailRepository.findByHqlWhere(packBean);
}
return null;
}
private List<MesCutSchemeEquipment> getMesCutSchemeEquipments(MesProduceSnPrintModel model, List<String> cutCodeList) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(model.getOrganizeCode());
DdlPreparedPack.getInPackList(cutCodeList, MesPcnExtConstWords.CUT_CODE, packBean);
List<MesCutSchemeEquipment> cutSchemeEquipmentList = cutSchemeEquipmentRepository.findByHqlWhere(packBean);
return cutSchemeEquipmentList;
}
private List<MesCutSchemeMaterial> getMesCutSchemeMaterials(List<String> cutCodeList) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean();
DdlPreparedPack.getInPackList(cutCodeList, MesPcnExtConstWords.CUT_CODE, packBean);
List<MesCutSchemeMaterial> cutSchemeMaterialList = cutSchemeMaterialRepository.findByHqlWhere(packBean);
return cutSchemeMaterialList;
}
private List<MesCutSchemeFg> getMesCutSchemeFgs(List<String> cutCodeList) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean();
DdlPreparedPack.getInPackList(cutCodeList, MesPcnExtConstWords.CUT_CODE, packBean);
List<MesCutSchemeFg> cutSchemeFgList = cutSchemeFgRepository.findByHqlWhere(packBean);
return cutSchemeFgList;
}
private List<Map<String, Object>> packResultMapList(MesProduceSnPrintModel printModel, List<Map<String, Object>> printTemplateDateList) {
List<Map<String, Object>> resultMapList = new ArrayList<>();
Map<String, Object> resultMap = new HashMap<>();

@ -1,5 +1,6 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step;
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesTemplateService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionDispatchContextStepService;
import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print.IPrintTemplateStrategyService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProdRuleContext;
@ -13,13 +14,14 @@ import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.*;
import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplate;
import cn.estsh.i3plus.pojo.mes.bean.MesPrintedSnLog;
import cn.estsh.i3plus.pojo.mes.bean.MesProdRouteOptParam;
import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn;
import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
import cn.estsh.i3plus.pojo.mes.model.StationResultBean;
import cn.estsh.i3plus.pojo.mes.model.StepResult;
import cn.estsh.i3plus.pojo.mes.repository.IMesPrintedSnLogRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesLabelTemplateParamRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesLabelTemplateRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesProduceSnRepository;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
import cn.estsh.impp.framework.boot.util.SpringContextsUtil;
@ -45,11 +47,7 @@ public class MesProductSnPrintNosortStepService extends BaseStepService {
private IMesProductionDispatchContextStepService productionDispatchContextStepService;
@Autowired
private MesLabelTemplateRepository labelTemplateRao;
@Autowired
private MesLabelTemplateParamRepository labelTemplateParamRao;
private IMesTemplateService mesTemplateService;
@Autowired
private IMesPrintedSnLogRepository snLogRao;
@ -112,7 +110,7 @@ public class MesProductSnPrintNosortStepService extends BaseStepService {
MesProduceSnPrintModel mesProduceSnPrintModel = new MesProduceSnPrintModel();
// 查模板代码
MesLabelTemplate labelTemplate = getLabelTemplate(prodLabelTemplate, organizeCode);
MesLabelTemplate labelTemplate = mesTemplateService.getLabelTemplate(prodLabelTemplate, organizeCode);
mesProduceSnPrintModel.setMesLabelTemplate(labelTemplate);
mesProduceSnPrintModel.setProductSn(sn.getProductSn());
mesProduceSnPrintModel.setPartNo(sn.getPartNo());
@ -178,27 +176,4 @@ public class MesProductSnPrintNosortStepService extends BaseStepService {
return true;
}
/**
* templateCode
*
* @param templateCode
* @param organizeCode
* @return
*/
private MesLabelTemplate getLabelTemplate(String templateCode, String organizeCode) {
DdlPackBean templatePackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(templateCode, "templateCode", templatePackBean);
List<MesLabelTemplate> mesLabelTemplateList = labelTemplateRao.findByHqlWhere(templatePackBean);
MesLabelTemplate mesLabelTemplate = null;
if (!mesLabelTemplateList.isEmpty()) {
mesLabelTemplate = mesLabelTemplateList.get(0);
//级联获取labelTemplateParam
DdlPackBean templateParamPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getNumEqualPack(mesLabelTemplate.getId(), "templateId", templateParamPackBean);
List<MesLabelTemplateParam> params = labelTemplateParamRao.findByHqlWhere(templateParamPackBean);
mesLabelTemplate.setLabelTemplateParamList(params);
}
return mesLabelTemplate;
}
}

@ -1,5 +1,6 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step;
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesTemplateService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionDispatchContextStepService;
import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print.IPrintTemplateStrategyService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPartContext;
@ -14,8 +15,9 @@ import cn.estsh.i3plus.pojo.mes.bean.*;
import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
import cn.estsh.i3plus.pojo.mes.model.StationResultBean;
import cn.estsh.i3plus.pojo.mes.model.StepResult;
import cn.estsh.i3plus.pojo.mes.repository.*;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
import cn.estsh.i3plus.pojo.mes.repository.IMesPrintedSnLogRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesNumberRuleRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesWorkOrderRepository;
import cn.estsh.impp.framework.boot.util.SpringContextsUtil;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
@ -27,7 +29,6 @@ import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.function.Function;
import java.util.stream.Collectors;
@ -46,12 +47,6 @@ public class MesProductSnPrintSortStepService extends BaseStepService {
private IMesProductionDispatchContextStepService productionDispatchContextStepService;
@Autowired
private MesLabelTemplateRepository labelTemplateRao;
@Autowired
private MesLabelTemplateParamRepository labelTemplateParamRao;
@Autowired
private IMesPrintedSnLogRepository snLogRao;
@Autowired
@ -60,6 +55,9 @@ public class MesProductSnPrintSortStepService extends BaseStepService {
@Autowired
private MesNumberRuleRepository numberRuleRepository;
@Autowired
private IMesTemplateService mesTemplateService;
@Override
public StepResult execute(StationRequestBean reqBean) {
// /**
@ -138,7 +136,7 @@ public class MesProductSnPrintSortStepService extends BaseStepService {
MesProduceSnPrintModel mesProduceSnPrintModel = new MesProduceSnPrintModel();
// 查模板代码
MesLabelTemplate labelTemplate = getLabelTemplate(labelTemplateCode, organizeCode);
MesLabelTemplate labelTemplate = mesTemplateService.getLabelTemplate(labelTemplateCode, organizeCode);
if (labelTemplate == null) {
stepExpSendMsgAndThrowEx(reqBean, resultBean, String.format("工单号[%s]零件号[%s]的模板代码[%s]无效,请检查并修改!", sn.getWorkOrderNo(), sn.getPartNo(), labelTemplateCode));
@ -197,44 +195,6 @@ public class MesProductSnPrintSortStepService extends BaseStepService {
List<MesWorkOrder> workOrderList = workOrderRepository.findByHqlWhere(packBean);
// 根据工单号分组
Map<String, MesWorkOrder> workOrderMap = workOrderList.stream().collect(Collectors.toMap(MesWorkOrder::getWorkOrderNo, Function.identity(), (x, y) -> y));
return workOrderMap;
}
//验证加工结果是否满足参数条件: 可疑/报废是否打印
private Boolean checkIsMatchProdResult(StationRequestBean reqBean, String prodResult, MesExtEnumUtil.PRODUCT_RESULT_EQUIP_PARAM prodResultEnum) {
if (StringUtils.isEmpty(prodResult)) return false;
if (!prodResult.equals(prodResultEnum.getCode())) return false;
Optional<Map<String, MesProdRouteOptParam>> stepParamMap = getStepParams(reqBean);
String unPrintParam = (null != stepParamMap && stepParamMap.isPresent() && stepParamMap.get().containsKey(prodResultEnum.name())) ? stepParamMap.get().get(prodResultEnum.name()).getParamValue() : null;
if (StringUtils.isEmpty(unPrintParam)) return false;
return true;
}
/**
* templateCode
*
* @param templateCode
* @param organizeCode
* @return
*/
private MesLabelTemplate getLabelTemplate(String templateCode, String organizeCode) {
DdlPackBean templatePackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(templateCode, "templateCode", templatePackBean);
List<MesLabelTemplate> mesLabelTemplateList = labelTemplateRao.findByHqlWhere(templatePackBean);
MesLabelTemplate mesLabelTemplate = null;
if (!mesLabelTemplateList.isEmpty()) {
mesLabelTemplate = mesLabelTemplateList.get(0);
//级联获取labelTemplateParam
DdlPackBean templateParamPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getNumEqualPack(mesLabelTemplate.getId(), "templateId", templateParamPackBean);
List<MesLabelTemplateParam> params = labelTemplateParamRao.findByHqlWhere(templateParamPackBean);
mesLabelTemplate.setLabelTemplateParamList(params);
}
return mesLabelTemplate;
return workOrderList.stream().collect(Collectors.toMap(MesWorkOrder::getWorkOrderNo, Function.identity(), (x, y) -> y));
}
}

@ -2,6 +2,7 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step;
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesCustomerPartService;
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesPackingDefineService;
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesTemplateService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.*;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.*;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesWorkOrderCutDetailModel;
@ -9,16 +10,12 @@ import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseStepService;
import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.IStepService;
import cn.estsh.i3plus.mes.pcn.util.StationKvBeanUtil;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.*;
import cn.estsh.i3plus.pojo.mes.model.StationKvBean;
import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
import cn.estsh.i3plus.pojo.mes.model.StationResultBean;
import cn.estsh.i3plus.pojo.mes.model.StepResult;
import cn.estsh.i3plus.pojo.mes.repository.MesLabelTemplateParamRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesLabelTemplateRepository;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
import cn.estsh.impp.framework.boot.util.SpringContextsUtil;
import lombok.extern.slf4j.Slf4j;
@ -66,10 +63,7 @@ public class MesWorkOrderCutCheckStepService extends BaseStepService {
private IMesCustomerPartService customerPartService;
@Autowired
private MesLabelTemplateRepository labelTemplateRao;
@Autowired
private MesLabelTemplateParamRepository labelTemplateParamRao;
private IMesTemplateService mesTemplateService;
@Override
public StepResult execute(StationRequestBean reqBean) {
@ -299,7 +293,7 @@ public class MesWorkOrderCutCheckStepService extends BaseStepService {
MesCustomerPart customerPart = customerPartService.getMesCustomerPartByPartNo(mesCutSchemeFg.getPartNo(), mesPackingDefine.getCustCode(), reqBean.getOrganizeCode());
MesLabelTemplate labelTemplate = getLabelTemplate(mesPackingDefine.getPakcageTemplate(), reqBean.getOrganizeCode());
MesLabelTemplate labelTemplate = mesTemplateService.getLabelTemplate(mesPackingDefine.getPakcageTemplate(), reqBean.getOrganizeCode());
if (labelTemplate == null)
return stepResult.isCompleted(false).msg(String.format("请检查包装定义信息,零件号[%s]对应模板代码[%s]无效!", mesCutSchemeFg.getPartNo(), cutScheme.getCutCode()));
@ -422,18 +416,4 @@ public class MesWorkOrderCutCheckStepService extends BaseStepService {
return true;
}
private MesLabelTemplate getLabelTemplate(String templateCode, String organizeCode) {
DdlPackBean templatePackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(templateCode, MesPcnExtConstWords.TEMPLATE_CODE, templatePackBean);
MesLabelTemplate mesLabelTemplate = labelTemplateRao.getByProperty(templatePackBean);
if (mesLabelTemplate != null) {
//级联获取labelTemplateParam
DdlPackBean templateParamPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getNumEqualPack(mesLabelTemplate.getId(), "templateId", templateParamPackBean);
List<MesLabelTemplateParam> params = labelTemplateParamRao.findByHqlWhere(templateParamPackBean);
mesLabelTemplate.setLabelTemplateParamList(params);
}
return mesLabelTemplate;
}
}

@ -1,5 +1,6 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step;
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesTemplateService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionDispatchContextStepService;
import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print.IPrintTemplateStrategyService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesProduceSnPrintModel;
@ -8,19 +9,14 @@ import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseStepService;
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.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplate;
import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplateParam;
import cn.estsh.i3plus.pojo.mes.bean.MesPrintedSnLog;
import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
import cn.estsh.i3plus.pojo.mes.model.StationResultBean;
import cn.estsh.i3plus.pojo.mes.model.StepResult;
import cn.estsh.i3plus.pojo.mes.repository.IMesPrintedSnLogRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesLabelTemplateParamRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesLabelTemplateRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesWorkOrderCutRepository;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
import cn.estsh.impp.framework.boot.util.SpringContextsUtil;
@ -49,17 +45,14 @@ public class MesWorkOrderCutPackagePrintStepService extends BaseStepService {
private IMesProductionDispatchContextStepService productionDispatchContextStepService;
@Autowired
private MesLabelTemplateRepository labelTemplateRao;
@Autowired
private MesLabelTemplateParamRepository labelTemplateParamRao;
@Autowired
private MesWorkOrderCutRepository workOrderCutRepository;
@Autowired
private IMesPrintedSnLogRepository snLogRepository;
@Autowired
private IMesTemplateService mesTemplateService;
@Override
public StepResult execute(StationRequestBean reqBean) {
@ -85,7 +78,7 @@ public class MesWorkOrderCutPackagePrintStepService extends BaseStepService {
MesWorkOrderCutDetailModel model = workOrderCutDetailModelList.stream().findFirst().get();
MesLabelTemplate labelTemplate = getLabelTemplate(model.getLabelTemplate(), reqBean.getOrganizeCode());
MesLabelTemplate labelTemplate = mesTemplateService.getLabelTemplate(model.getLabelTemplate(), reqBean.getOrganizeCode());
List<String> partNoList = workOrderCutDetailModelList.stream().map(MesWorkOrderCutDetailModel::getPartNo).distinct().collect(Collectors.toList());
@ -149,25 +142,4 @@ public class MesWorkOrderCutPackagePrintStepService extends BaseStepService {
resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.PROCESS.getValue()),
stepResult, "执行打印成功!");
}
/**
* templateCode
*
* @param templateCode
* @param organizeCode
* @return
*/
private MesLabelTemplate getLabelTemplate(String templateCode, String organizeCode) {
DdlPackBean templatePackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(templateCode, MesPcnExtConstWords.TEMPLATE_CODE, templatePackBean);
MesLabelTemplate mesLabelTemplate = labelTemplateRao.getByProperty(templatePackBean);
if (mesLabelTemplate != null) {
//级联获取labelTemplateParam
DdlPackBean templateParamPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getNumEqualPack(mesLabelTemplate.getId(), "templateId", templateParamPackBean);
List<MesLabelTemplateParam> params = labelTemplateParamRao.findByHqlWhere(templateParamPackBean);
mesLabelTemplate.setLabelTemplateParamList(params);
}
return mesLabelTemplate;
}
}

Loading…
Cancel
Save