uat-temp-wj-shenshanorder
王杰 2 months ago
parent 1afc3574d8
commit 4668055c23

@ -8,6 +8,7 @@ import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn; import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn;
import cn.estsh.i3plus.pojo.mes.bean.MesQueueOrderPush; import cn.estsh.i3plus.pojo.mes.bean.MesQueueOrderPush;
import cn.estsh.i3plus.pojo.mes.bean.MesQueueOrderPushCellCfg; import cn.estsh.i3plus.pojo.mes.bean.MesQueueOrderPushCellCfg;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import java.util.List; import java.util.List;
@ -29,6 +30,9 @@ public interface IMesQueueOrderPushService {
void insertQueueOrderPush(String organizeCode, String userInfo, List<MesQueueOrderPushCellCfg> queueOrderPushCellCfgList, void insertQueueOrderPush(String organizeCode, String userInfo, List<MesQueueOrderPushCellCfg> queueOrderPushCellCfgList,
MesProductionPsOutContext productionPsOutContext, MesProductionPartContext productionPartContext); MesProductionPsOutContext productionPsOutContext, MesProductionPartContext productionPartContext);
// @ApiOperation(value = "写入工位工单推送信息")
// void insertQueueOrderPush(String organizeCode, String userInfo, MesWorkOrder workOrder, String... pushSourceCodeArr);
@ApiOperation(value = "根据配置查询创建状态的生产队列工位推送信息") @ApiOperation(value = "根据配置查询创建状态的生产队列工位推送信息")
List<MesQueueOrderPush> getQueueOrderPushList(String organizeCode, List<MesQueueOrderPushCellCfg> queueOrderPushCellCfgList); List<MesQueueOrderPush> getQueueOrderPushList(String organizeCode, List<MesQueueOrderPushCellCfg> queueOrderPushCellCfgList);

@ -14,6 +14,7 @@ import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesQueueOrderPush; import cn.estsh.i3plus.pojo.mes.bean.MesQueueOrderPush;
import cn.estsh.i3plus.pojo.mes.bean.MesQueueOrderPushCellCfg; import cn.estsh.i3plus.pojo.mes.bean.MesQueueOrderPushCellCfg;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder;
import cn.estsh.i3plus.pojo.mes.repository.MesQueueOrderPushCellCfgRepository; import cn.estsh.i3plus.pojo.mes.repository.MesQueueOrderPushCellCfgRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesQueueOrderPushRepository; import cn.estsh.i3plus.pojo.mes.repository.MesQueueOrderPushRepository;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
@ -94,6 +95,36 @@ public class MesQueueOrderPushService implements IMesQueueOrderPushService {
} }
} }
// //写入工位工单推送信息
// @Override
// public void insertQueueOrderPush(String organizeCode, String userInfo, MesWorkOrder workOrder, String... pushSourceCodeArr) {
// if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(userInfo) || null == productionPsOutContext || CollectionUtils.isEmpty(queueOrderPushCellCfgList)) return;
// Integer processSeq = getQueueOrderPushMaxSeq(organizeCode, productionPsOutContext.getWorkOrderNo());
// for (MesQueueOrderPushCellCfg queueOrderPushCellCfg : queueOrderPushCellCfgList) {
// if (null == queueOrderPushCellCfg) continue;
// MesQueueOrderPush queueOrderPush = new MesQueueOrderPush();
// queueOrderPush.setPushSourceCode(queueOrderPushCellCfg.getPushSourceCode());
// queueOrderPush.setWorkOrderNo(productionPsOutContext.getWorkOrderNo());
// queueOrderPush.setProductSn(productionPsOutContext.getProductSn());
// queueOrderPush.setCustSn(productionPsOutContext.getCustSn());
// queueOrderPush.setPartNo(productionPsOutContext.getPartNo());
// queueOrderPush.setPartName(productionPsOutContext.getPartName());
// queueOrderPush.setProcessSeq(processSeq);
// queueOrderPush.setQueueStatus(MesExtEnumUtil.QUEUE_ORDER_STATUS.CREATE.getValue());
// queueOrderPush.setProductSeq(productionPartContext.getProductSeq());
// queueOrderPush.setWorkOrderSeq(productionPartContext.getWorkOrderSeq());
// queueOrderPush.setCarModelCode(productionPartContext.getCarModelCode());
// queueOrderPush.setCustOrderNo(productionPartContext.getCustOrderNo());
// queueOrderPush.setPartProdGroupCode(productionPartContext.getPartProdGroupCode());
// queueOrderPush.setAreaCode(queueOrderPushCellCfg.getAreaCode());
// queueOrderPush.setWorkCenterCode(queueOrderPushCellCfg.getWorkCenterCode());
// queueOrderPush.setSourceWorkCellCode(queueOrderPushCellCfg.getWorkCellCode());
// queueOrderPush.setOrganizeCode(organizeCode);
// ConvertBean.serviceModelInitialize(queueOrderPush, userInfo);
// queueOrderPushRepository.insert(queueOrderPush);
// }
// }
//根据配置查询创建状态的生产队列工位推送信息 //根据配置查询创建状态的生产队列工位推送信息
@Override @Override
public List<MesQueueOrderPush> getQueueOrderPushList(String organizeCode, List<MesQueueOrderPushCellCfg> queueOrderPushCellCfgList) { public List<MesQueueOrderPush> getQueueOrderPushList(String organizeCode, List<MesQueueOrderPushCellCfg> queueOrderPushCellCfgList) {

@ -154,7 +154,7 @@ public class MesFunctionPackagePartService extends BaseSwsService implements IFs
} }
//返回提示信息 //返回提示信息
private Object packResultMap(StationRequestBean reqBean, StationResultBean resultBean, Map<String, Object> resultMap, String message) { private Map<String, Object> packResultMap(StationRequestBean reqBean, StationResultBean resultBean, Map<String, Object> resultMap, String message) {
this.sendMessage(reqBean, resultBean, message, MesPcnEnumUtil.STATION_BUSI_TYPE.RUNNING_INFO, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT); this.sendMessage(reqBean, resultBean, message, MesPcnEnumUtil.STATION_BUSI_TYPE.RUNNING_INFO, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT);
resultMap.put(MesPcnExtConstWords.MESSAGE, message); resultMap.put(MesPcnExtConstWords.MESSAGE, message);
return resultMap; return resultMap;

@ -207,7 +207,7 @@ public class MesFunctionPackageProgressService extends BaseSwsService implements
} }
//返回提示信息 //返回提示信息
private Object packResultMap(StationRequestBean reqBean, StationResultBean resultBean, Map<String, Object> resultMap, String message) { private Map<String, Object> packResultMap(StationRequestBean reqBean, StationResultBean resultBean, Map<String, Object> resultMap, String message) {
this.sendMessage(reqBean, resultBean, message, MesPcnEnumUtil.STATION_BUSI_TYPE.RUNNING_INFO, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT); this.sendMessage(reqBean, resultBean, message, MesPcnEnumUtil.STATION_BUSI_TYPE.RUNNING_INFO, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT);
resultMap.put(MesPcnExtConstWords.MESSAGE, message); resultMap.put(MesPcnExtConstWords.MESSAGE, message);
return resultMap; return resultMap;

@ -3,6 +3,7 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.station.function;
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesEnumExtService; import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesEnumExtService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesQueueOrderPushService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesQueueOrderPushService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesWorkOrderExtService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseSwsService; import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseSwsService;
import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.function.IFsmModuleFunctionService; import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.function.IFsmModuleFunctionService;
@ -11,6 +12,7 @@ import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper; import cn.estsh.i3plus.pojo.base.common.PagerHelper;
import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesQueueOrderPushCellCfg; import cn.estsh.i3plus.pojo.mes.bean.MesQueueOrderPushCellCfg;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder;
import cn.estsh.i3plus.pojo.mes.model.ButtonDynamicModel; import cn.estsh.i3plus.pojo.mes.model.ButtonDynamicModel;
import cn.estsh.i3plus.pojo.mes.model.StationRequestBean; import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
import cn.estsh.i3plus.pojo.mes.model.StationResultBean; import cn.estsh.i3plus.pojo.mes.model.StationResultBean;
@ -21,10 +23,7 @@ import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import java.util.ArrayList; import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -40,6 +39,9 @@ public class MesFunctionQueueOrderPushService extends BaseSwsService implements
private IMesQueueOrderPushService queueOrderPushService; private IMesQueueOrderPushService queueOrderPushService;
@Autowired @Autowired
private IMesWorkOrderExtService workOrderExtService;
@Autowired
private IMesEnumExtService enumExtService; private IMesEnumExtService enumExtService;
@Override @Override
@ -69,7 +71,8 @@ public class MesFunctionQueueOrderPushService extends BaseSwsService implements
resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.PICK.getValue()); resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.PICK.getValue());
resultMap.put(MesPcnExtConstWords.DATA_TYPE, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT.getValue()); resultMap.put(MesPcnExtConstWords.DATA_TYPE, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT.getValue());
if (BUSI_TYPE.TWO.value.equals(paramMap.get(MesPcnExtConstWords.BUSI_TYPE))) queryQueueOrderPush(reqBean, resultMap, paramMap); //新增
if (BUSI_TYPE.TWO.value.equals(paramMap.get(MesPcnExtConstWords.BUSI_TYPE))) insertQueueOrderPush(reqBean, resultBean, buttonDynamicModel, resultMap, paramMap);
else if (BUSI_TYPE.THREE.value.equals(paramMap.get(MesPcnExtConstWords.BUSI_TYPE))) queryQueueOrderPush(reqBean, resultMap, paramMap); else if (BUSI_TYPE.THREE.value.equals(paramMap.get(MesPcnExtConstWords.BUSI_TYPE))) queryQueueOrderPush(reqBean, resultMap, paramMap);
else queryQueueOrderPush(reqBean, resultMap, paramMap); else queryQueueOrderPush(reqBean, resultMap, paramMap);
@ -82,7 +85,8 @@ public class MesFunctionQueueOrderPushService extends BaseSwsService implements
} }
private Object queryQueueOrderPush(StationRequestBean reqBean, Map<String, Object> resultMap, Map<String, String> paramMap) { //查询
private Map<String, Object> queryQueueOrderPush(StationRequestBean reqBean, Map<String, Object> resultMap, Map<String, String> paramMap) {
Pager pager = new Pager(); Pager pager = new Pager();
pager.setCurrentPage(paramMap.containsKey(MesPcnExtConstWords.CURRENT_PAGE) ? Integer.valueOf(paramMap.get(MesPcnExtConstWords.CURRENT_PAGE)) : MesPcnExtConstWords.ONE); pager.setCurrentPage(paramMap.containsKey(MesPcnExtConstWords.CURRENT_PAGE) ? Integer.valueOf(paramMap.get(MesPcnExtConstWords.CURRENT_PAGE)) : MesPcnExtConstWords.ONE);
@ -90,7 +94,7 @@ public class MesFunctionQueueOrderPushService extends BaseSwsService implements
resultMap.put(MesPcnExtConstWords.QUEUE_STATUS, enumExtService.doGetMesEnumByEnumName(reqBean.getOrganizeCode(), MesExtEnumUtil.QUEUE_ORDER_STATUS.class.getSimpleName())); resultMap.put(MesPcnExtConstWords.QUEUE_STATUS, enumExtService.doGetMesEnumByEnumName(reqBean.getOrganizeCode(), MesExtEnumUtil.QUEUE_ORDER_STATUS.class.getSimpleName()));
//处理排序线推单上下文, 返回推送工位类型对应的配置信息 【来源工位】 //处理排序线推单上下文, 返回推送工位类型对应的配置信息 【目标工位】
List<MesQueueOrderPushCellCfg> queueOrderPushCellCfgList = productionProcessContextStepService.dispatchQueueOrderPushCellCfgContext(reqBean, MesExtEnumUtil.QUEUE_ORDER_CELL_PUSH_TYPE.TARGET.getValue()); List<MesQueueOrderPushCellCfg> queueOrderPushCellCfgList = productionProcessContextStepService.dispatchQueueOrderPushCellCfgContext(reqBean, MesExtEnumUtil.QUEUE_ORDER_CELL_PUSH_TYPE.TARGET.getValue());
List<String> pushSourceCodeList = (queueOrderPushCellCfgList.stream() List<String> pushSourceCodeList = (queueOrderPushCellCfgList.stream()
.filter(o -> (null != o && !StringUtils.isEmpty(o.getPushSourceCode()))).map(MesQueueOrderPushCellCfg::getPushSourceCode).collect(Collectors.toList()) .filter(o -> (null != o && !StringUtils.isEmpty(o.getPushSourceCode()))).map(MesQueueOrderPushCellCfg::getPushSourceCode).collect(Collectors.toList())
@ -110,8 +114,40 @@ public class MesFunctionQueueOrderPushService extends BaseSwsService implements
} }
//新增
private Map<String, Object> insertQueueOrderPush(StationRequestBean reqBean, StationResultBean resultBean,
ButtonDynamicModel buttonDynamicModel, Map<String, Object> resultMap, Map<String, String> paramMap) {
if (!paramMap.containsKey(MesPcnExtConstWords.PUSH_SOURCE_CODE)) {
return packResultMap(reqBean, resultBean, resultMap, String.format("[%s]新增:请选择推送来源代码!", buttonDynamicModel.getButtonName()));
}
if (!paramMap.containsKey(MesPcnExtConstWords.PROCESS_SEQ)) {
return packResultMap(reqBean, resultBean, resultMap, String.format("[%s]新增:请输入工艺顺序号!", buttonDynamicModel.getButtonName()));
}
if (!paramMap.containsKey(MesPcnExtConstWords.WORK_ORDER_NO)) {
return packResultMap(reqBean, resultBean, resultMap, String.format("[%s]新增:请扫描加工单或客户条码!", buttonDynamicModel.getButtonName()));
}
//处理排序线推单上下文, 返回推送工位类型对应的配置信息 【目标工位】
List<MesQueueOrderPushCellCfg> queueOrderPushCellCfg = productionProcessContextStepService.dispatchQueueOrderPushCellCfgContext(reqBean, MesExtEnumUtil.QUEUE_ORDER_CELL_PUSH_TYPE.TARGET.getValue());
Optional<MesQueueOrderPushCellCfg> optional = CollectionUtils.isEmpty(queueOrderPushCellCfg) ? null :
queueOrderPushCellCfg.stream().filter(o -> (null != o && o.getPushSourceCode().equals(paramMap.get(MesPcnExtConstWords.PUSH_SOURCE_CODE)))).findFirst();
if (null == optional || !optional.isPresent()) {
return packResultMap(reqBean, resultBean, resultMap, String.format("[%s]新增:当前工位未配置推送来源代码[%s]推送工位类型[%s]的配置信息!",
buttonDynamicModel.getButtonName(), paramMap.get(MesPcnExtConstWords.PUSH_SOURCE_CODE), MesExtEnumUtil.QUEUE_ORDER_CELL_PUSH_TYPE.TARGET.getDescription()));
}
//根据工单或者客户条码 查询生产工单信息(排序)
MesWorkOrder workOrder = (MesWorkOrder) workOrderExtService.getWorkOrderSort(reqBean.getOrganizeCode(), paramMap.get(MesPcnExtConstWords.WORK_ORDER_NO), true);
if (null == workOrder) {
return packResultMap(reqBean, resultBean, resultMap, String.format("[%s]新增:根据扫描信息[%s]未匹配到有效的加工单!", buttonDynamicModel.getButtonName(), paramMap.get(MesPcnExtConstWords.WORK_ORDER_NO)));
}
return resultMap;
}
//返回提示信息 //返回提示信息
private Object packResultMap(StationRequestBean reqBean, StationResultBean resultBean, Map<String, Object> resultMap, String message) { private Map<String, Object> packResultMap(StationRequestBean reqBean, StationResultBean resultBean, Map<String, Object> resultMap, String message) {
this.sendMessage(reqBean, resultBean, message, MesPcnEnumUtil.STATION_BUSI_TYPE.RUNNING_INFO, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT); this.sendMessage(reqBean, resultBean, message, MesPcnEnumUtil.STATION_BUSI_TYPE.RUNNING_INFO, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT);
resultMap.put(MesPcnExtConstWords.MESSAGE, message); resultMap.put(MesPcnExtConstWords.MESSAGE, message);
return resultMap; return resultMap;

Loading…
Cancel
Save