diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesCcscRuleService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesCcscRuleService.java new file mode 100644 index 0000000..99fcc2e --- /dev/null +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesCcscRuleService.java @@ -0,0 +1,14 @@ +package cn.estsh.i3plus.ext.mes.api.base; + +import cn.estsh.i3plus.pojo.mes.bean.MesCcscRule; + +/** + * @Description :质量ccsc检查规则 + * @Reference : + * @Author : gsz + * @CreateDate 2024/5/23 13:28 + * @Modify: + **/ +public interface IMesCcscRuleService extends IBaseMesService { + +} diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesCcscTaskService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesCcscTaskService.java new file mode 100644 index 0000000..1909043 --- /dev/null +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesCcscTaskService.java @@ -0,0 +1,19 @@ +package cn.estsh.i3plus.ext.mes.api.base; + +import cn.estsh.i3plus.pojo.mes.bean.MesCcscTask; +import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder; + +import java.util.List; + +/** + * @Description :质量检验任务 + * @Reference : + * @Author : gsz + * @CreateDate 2024/5/23 13:28 + * @Modify: + **/ +public interface IMesCcscTaskService extends IBaseMesService { + MesCcscTask insert(MesWorkOrder mesWorkOrder,String orderNo,Integer frequency,Integer rule); + + void doCcscTaskByMesWorkOrder(String organizeCode,List mesWorkOrderList); +} diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesComunicationLogService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesComunicationLogService.java new file mode 100644 index 0000000..6679fb5 --- /dev/null +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesComunicationLogService.java @@ -0,0 +1,14 @@ +package cn.estsh.i3plus.ext.mes.api.base; + +import cn.estsh.i3plus.pojo.mes.bean.MesComunicationLog; + +/** + * @Description :产线工位配置 + * @Reference : + * @Author : gsz + * @CreateDate 2024/5/23 13:28 + * @Modify: + **/ +public interface IMesComunicationLogService extends IBaseMesService { + +} diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesWorkOrderService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesWorkOrderService.java index 609e13c..2d085d9 100644 --- a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesWorkOrderService.java +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesWorkOrderService.java @@ -14,4 +14,6 @@ public interface IMesWorkOrderService extends IBaseMesService { void doProductReport(MesWorkOrder mesWorkOrder); List sumMesWorkOrderQtyToSap(String organizeCode); + + List queryMesWorkOrderProcessToSap(String organizeCode); } diff --git a/modules/i3plus-ext-mes-apiservice/src/groovy/ccscTask/sapToMesCcscTaskResult.groovy b/modules/i3plus-ext-mes-apiservice/src/groovy/ccscTask/sapToMesCcscTaskResult.groovy new file mode 100644 index 0000000..1695e63 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/groovy/ccscTask/sapToMesCcscTaskResult.groovy @@ -0,0 +1,132 @@ +import cn.estsh.i3plus.platform.common.convert.ConvertBean +import cn.estsh.i3plus.platform.plugin.datasource.DynamicDataSourceProxy +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil +import cn.estsh.i3plus.pojo.mes.bean.MesComunicationLog +import cn.estsh.i3plus.pojo.mes.bean.MesCcscTask +import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn +import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder +import cn.estsh.i3plus.pojo.mes.repository.MesCcscTaskRepository +import cn.estsh.i3plus.pojo.mes.repository.MesComunicationLogRepository +import cn.estsh.i3plus.pojo.mes.repository.MesProduceSnRepository +import cn.estsh.i3plus.pojo.mes.repository.MesWorkOrderRepository +import cn.estsh.i3plus.pojo.wms.dbinterface.WmsInterfaceDataMapper +import lombok.Getter +import lombok.Setter +import org.slf4j.Logger +import org.slf4j.LoggerFactory +import org.springframework.beans.factory.annotation.Autowired +import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate +import org.springframework.util.CollectionUtils + +import javax.annotation.Resource +import java.sql.Connection + +/** + * @Description : QMS同步MES_CCSC任务检测结果 + * @Reference : + * @Author : gsz + * @CreateDate 2024/5/23 9:58 + * @Modify: + * */ +class sapToMesCcscTaskResult { + + public static final Logger LOGGER = LoggerFactory.getLogger(sapToMesCcscTaskResult.class) + + @Autowired + private MesCcscTaskRepository mesCcscTaskRDao; + @Autowired + private MesComunicationLogRepository mesComunicationLogRDao; + @Autowired + private MesProduceSnRepository mesProduceSnRDao; + @Autowired + private MesWorkOrderRepository mesWorkOrderRDao; + @Resource(name = "yfasDataSource") + private DynamicDataSourceProxy yfasDataSource; + + @Resource(name = "mesDataSource") + private DynamicDataSourceProxy mesDataSource; + + @Getter + @Setter + private Connection mesConn; + + def filterData(WmsInterfaceDataMapper mapper, List> srcData) { + if (srcData == null || srcData.size() == 0) { + LOGGER.error("----QMS同步MES_CCSC任务检测结果 no data to filter----"); + return srcData; + } + String organizeCode = mapper.getOrganizeCode(); + + for (Map map : srcData) { + String taskNo = map.get("task_no").toString(); + String taskResult = map.get("task_result").toString(); //1:合格 2:不合格 + //查询 mesCcscTask + MesCcscTask mesCcscTask = mesCcscTaskRDao.getByProperty( + ["taskNo", "organizeCode", "isValid", "isDeleted"] as String[], + [taskNo, organizeCode, CommonEnumUtil.IS_VAILD.VAILD.getValue(), CommonEnumUtil.IS_DEAL.NO.getValue()] as Object[]); + + if (null == mesCcscTask) { + continue; + } + LOGGER.info("QMS同步MES_CCSC任务检测结果 taskNo:{}", taskNo); + + //根据任务工单号和物料查工单表 + MesWorkOrder mesWorkOrder = mesWorkOrderRDao.getByProperty( + ["workOrderNo", "partNo", "organizeCode", "isValid", "isDeleted"] as String[], + [mesCcscTask.getWorkOrderNo(), mesCcscTask.getPartNo(), organizeCode, + CommonEnumUtil.IS_VAILD.VAILD.getValue(), CommonEnumUtil.IS_DEAL.NO.getValue()] as Object[]); + + if (null == mesWorkOrder) { + continue; + } + + MesComunicationLog comunicationLog = mesComunicationLogRDao.getByProperty( + ["workCenterCode", "workOrderNo", "value", "organizeCode", "isValid", "isDeleted"] as String[], + [mesWorkOrder.getWorkCenterCode(), mesWorkOrder.getWorkCellCode(), mesCcscTask.getPartNo(), + organizeCode, CommonEnumUtil.IS_VAILD.VAILD.getValue(), CommonEnumUtil.IS_DEAL.NO.getValue()] as Object[]); + //软删记录 不合格时新增一条 + if (null != comunicationLog) { + mesComunicationLogRDao.deleteWeaklyById(comunicationLog.getId()) + } + if (taskResult.equals("2")) { //1:合格 2:不合格 + MesComunicationLog mesComunicationLog = new MesComunicationLog(); + mesComunicationLog.setOrganizeCode(organizeCode); + mesComunicationLog.setWorkCellCode(mesCcscTask.getWorkOrderNo()); + mesComunicationLog.setWorkCenterCode(mesCcscTask.getWorkOrderNo()); + mesComunicationLog.setStatus(1); + mesComunicationLog.setParameterName(mesCcscTask.getPartNo()); + mesComunicationLog.setParameterDesc(mesCcscTask.getPartNameRdd()); + mesComunicationLog.setValue(mesCcscTask.getPartNo()); + ConvertBean.serviceModelInitialize(mesComunicationLog, "CCSC_SAP"); + mesComunicationLogRDao.save(mesComunicationLog); + //更新所有条码为可疑品 + List mesProduceSnList = mesProduceSnRDao.findByProperty( + ["workCenterCode", "workOrderNo", "partNo", "organizeCode", "isValid", "isDeleted"] as String[], + [mesWorkOrder.getWorkCenterCode(), mesWorkOrder.getWorkCellCode(), mesCcscTask.getPartNo(), + organizeCode, CommonEnumUtil.IS_VAILD.VAILD.getValue(), CommonEnumUtil.IS_DEAL.NO.getValue()] as Object[]); + if (!CollectionUtils.isEmpty(mesProduceSnList)) {//todo 可疑品状态? + mesProduceSnList.forEach( + { + sn -> + sn.setQcStatus(30) + ConvertBean.serviceModelUpdate(sn, "CCSC_SAP") + } + ) + } + } + + } + + // 过滤逻辑处理完后一定要把数据集返回,否则后续的处理逻辑不会执行 + LOGGER.info("[----QMS同步MES_CCSC任务检测结果srcData:{}", srcData); + return srcData; + } + + private List> queryDataTable(String sql, Map params) { + NamedParameterJdbcTemplate namedJdbcTemplate = new NamedParameterJdbcTemplate(yfasDataSource.getDataSource()) + + List> dataMap = namedJdbcTemplate.queryForList(sql, params) + + return dataMap; + } +} \ No newline at end of file diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/schedulejob/MesWorkOrderProcessCcscTaskToSapJob.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/schedulejob/MesWorkOrderProcessCcscTaskToSapJob.java new file mode 100644 index 0000000..34793e7 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/schedulejob/MesWorkOrderProcessCcscTaskToSapJob.java @@ -0,0 +1,76 @@ +package cn.estsh.i3plus.ext.mes.apiservice.schedulejob; + +import cn.estsh.i3plus.ext.mes.api.base.IMesCcscTaskService; +import cn.estsh.i3plus.ext.mes.api.base.IMesWorkOrderService; +import cn.estsh.i3plus.mes.apiservice.schedulejob.BaseMesScheduleJob; +import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder; +import cn.estsh.impp.framework.boot.init.ApplicationProperties; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; +import org.quartz.DisallowConcurrentExecution; +import org.quartz.JobExecutionContext; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.util.CollectionUtils; + +import java.util.List; + +/** + * @Description : MES根据工单生成CCSC检测任务给SAP + * @Reference : + * @Author : gsz + * @CreateDate 2024/5/23 9:58 + * @Modify: + **/ +// 禁止 JOB 并发执行 +@DisallowConcurrentExecution +@ApiOperation("MES根据工单生成CCSC检测任务给SAP") +public class MesWorkOrderProcessCcscTaskToSapJob extends BaseMesScheduleJob { + + public static final Logger LOGGER = LoggerFactory.getLogger(MesWorkOrderProcessCcscTaskToSapJob.class); + + private static final long serialVersionUID = 5397182238074237383L; + + @Autowired + private IMesWorkOrderService mesWorkOrderService; + + @Autowired + private IMesCcscTaskService mesCcscTaskService; + + @Value("${server.port}") + private String serverPort; + @Value("${impp.server.ip}") + private String ip; + + public MesWorkOrderProcessCcscTaskToSapJob() { + super(MesWorkOrderProcessCcscTaskToSapJob.class, "汇总工单给SAP"); + this.setMultiInstance(true); + } + + @Override + public void executeMesJob(JobExecutionContext context, ApplicationProperties applicationProperties) { + try { + String jobParam = this.getJobParam(); + + if (StringUtils.isBlank(jobParam)) { + throw new IllegalArgumentException("job参数为空,请检查参数"); + } + String[] organizeCodeList = jobParam.split(","); + LOGGER.info("汇总工单给SAP开始 -----start"); + + for (String organizeCode : organizeCodeList) { + List mesWorkOrderList = mesWorkOrderService.queryMesWorkOrderProcessToSap(organizeCode); + if (!CollectionUtils.isEmpty(mesWorkOrderList)){ + mesCcscTaskService.doCcscTaskByMesWorkOrder(organizeCode,mesWorkOrderList); + } + } + LOGGER.info("汇总工单给SAP开始结束 ----- end"); + + } catch (Exception e) { + LOGGER.error("汇总工单给SAP任务结束e:{}",e.toString()); + } + } + +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCcscRuleServiceImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCcscRuleServiceImpl.java new file mode 100644 index 0000000..3234e24 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCcscRuleServiceImpl.java @@ -0,0 +1,19 @@ +package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; + +import cn.estsh.i3plus.ext.mes.api.base.IMesCcscRuleService; +import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; +import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; +import cn.estsh.i3plus.pojo.mes.bean.MesCcscRule; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + + +@Service +@Slf4j +public class MesCcscRuleServiceImpl extends BaseMesService implements IMesCcscRuleService { + + @Override + protected void setPackQueryBean(MesCcscRule bean, DdlPackBean packBean) { + DdlPreparedPack.getStringEqualPack(bean.getPartNo(), "partNo", packBean); + } +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCcscTaskServiceImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCcscTaskServiceImpl.java new file mode 100644 index 0000000..7ced9f7 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCcscTaskServiceImpl.java @@ -0,0 +1,133 @@ +package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; + +import cn.estsh.i3plus.ext.mes.api.base.IMesCcscTaskService; +import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; +import cn.estsh.i3plus.ext.mes.pojo.util.CronUtil; +import cn.estsh.i3plus.icloud.core.sdk.ICoreUtilCloud; +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.platform.common.util.WmsConstWords; +import cn.estsh.i3plus.pojo.base.bean.BaseResultBean; +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.base.util.StringUtil; +import cn.estsh.i3plus.pojo.mes.bean.*; +import cn.estsh.i3plus.pojo.mes.repository.MesCcscRuleRepository; +import cn.estsh.i3plus.pojo.mes.repository.MesCcscTaskRepository; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.*; +import java.util.stream.Collectors; + +@Service +@Slf4j +public class MesCcscTaskServiceImpl extends BaseMesService implements IMesCcscTaskService { + + @Autowired + private MesCcscRuleRepository ccscRuleRDao; + @Autowired + private MesCcscTaskRepository ccscTaskRDao; + @Autowired + private ICoreUtilCloud sysOrderNoRuleCloud; + + @Override + protected void setPackQueryBean(MesCcscTask bean, DdlPackBean packBean) { + DdlPreparedPack.getStringEqualPack(bean.getPartNo(), "partNo", packBean); + DdlPreparedPack.getStringEqualPack(bean.getTaskNo(), "taskNo", packBean); + DdlPreparedPack.getStringEqualPack(bean.getWorkOrderNo(), "workOrderNo", packBean); + } + + @Override + public MesCcscTask insert(MesWorkOrder mesWorkOrder, String orderNo, Integer frequency, Integer rule) { + MesCcscTask mesCcscTask = new MesCcscTask(mesWorkOrder); + mesCcscTask.setTaskNo(orderNo); + mesCcscTask.setFrequency(frequency); + mesCcscTask.setRule(rule); + ConvertBean.serviceModelInitialize(mesCcscTask, mesWorkOrder.getModifyUser()); + + return baseRDao.insert(mesCcscTask); + } + + + @Override + public void doCcscTaskByMesWorkOrder(String organizeCode, List mesWorkOrderList) { + //查ccsc规则表 + DdlPackBean ddlPackBeanRule = DdlPackBean.getDdlPackBean(organizeCode); + List ccscRuleList = ccscRuleRDao.findByHqlWhere(ddlPackBeanRule); + Map> ccscRulePartMap = ccscRuleList.stream().collect(Collectors.groupingBy(MesCcscRule::getPartNo)); + Map> workOrderPartMap = mesWorkOrderList.stream().collect(Collectors.groupingBy(MesWorkOrder::getPartNo)); + //根据物料对工单表分组 + for (Map.Entry> stringListEntry : workOrderPartMap.entrySet()) { + String key = stringListEntry.getKey(); + List mesWorkOrders = stringListEntry.getValue(); + MesWorkOrder mesWorkOrder = mesWorkOrders.iterator().next(); + //每一个加工的工单 1.查QMS同步过来的质量ccsc检查规则表 + String nowTime = TimeTool.getNowTime(true); + + if (StringUtil.isEmpty(ccscRulePartMap.get(mesWorkOrder.getPartNo()))) { + continue; + } + MesCcscRule ccscRule = ccscRulePartMap.get(mesWorkOrder.getPartNo()).iterator().next(); + if (nowTime.compareTo(ccscRule.getNextExeTime()) > 0) { + Integer frequency = ccscRule.getFrequency(); + Integer rule = ccscRule.getRule(); + List mesWorkOrderToTask=new ArrayList<>(); + //首件取第一个工单?还是全部工单都同步,取工单明细条码的首件条码? + switch (rule) { + case 1: + MesWorkOrder workOrder = mesWorkOrders.stream().sorted(Comparator.comparing(MesWorkOrder::getStartTime)).collect(Collectors.toList()).iterator().next(); + mesWorkOrderToTask.add(workOrder); + break; + case 2: + mesWorkOrderToTask.add(mesWorkOrders.stream().sorted(Comparator.comparing(MesWorkOrder::getStartTime).reversed()).collect(Collectors.toList()).iterator().next()); + break; + case 3://首尾件 + mesWorkOrderToTask.add(mesWorkOrders.stream().sorted(Comparator.comparing(MesWorkOrder::getStartTime)).collect(Collectors.toList()).iterator().next()); + MesWorkOrder next = mesWorkOrders.stream().sorted(Comparator.comparing(MesWorkOrder::getStartTime).reversed()).collect(Collectors.toList()).iterator().next(); + if (!mesWorkOrderToTask.contains(next)) { + mesWorkOrderToTask.add(next); + } + break; + default: + break; + } + String orderNo; + //新增质量检验任务 MesCcscTask 工单+物料查询发送Sap的数据 + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(mesWorkOrder.getWorkOrderNo(), "workOrderNo", ddlPackBean); + DdlPreparedPack.getStringEqualPack(mesWorkOrder.getPartNo(), "partNo", ddlPackBean); + List mesCcscTaskList = baseRDao.findByHqlWhere(ddlPackBean); + if (CollectionUtils.isEmpty(mesCcscTaskList)) { + //全部新增task表 + for (MesWorkOrder workOrder : mesWorkOrderToTask) { + //调用平台生成拉动单号流水 CCSC_TASK_NO TASKyyyyMMdd00001 + BaseResultBean orderResutlBean = sysOrderNoRuleCloud.getOrderNo(MesCommonConstant.CCSC_TASK_NO); + if (orderResutlBean != null && orderResutlBean.isSuccess()) { + orderNo = orderResutlBean.getResultObject().get(WmsConstWords.CORE_ORDER_NO).toString(); + } else { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.WMS.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) + .setErrorDetail("生成单号失败") + .setErrorSolution("【CCSC_TASK_NO】请重新操作或查看服务!") + .build(); + } + insert(workOrder, orderNo, frequency, rule); + } + } + //按照班次更新下次执行时间 + ccscRule.setNextExeTime(CronUtil.getRecentTriggerTime(ccscRule.getCron())); + //设置末次执行时间 + ccscRule.setLastExeTime(nowTime); + ConvertBean.serviceModelUpdate(ccscRule, mesWorkOrder.getModifyUser()); + ccscRuleRDao.save(ccscRule); + } + } + } +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesComunicationLogServiceImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesComunicationLogServiceImpl.java new file mode 100644 index 0000000..96956ca --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesComunicationLogServiceImpl.java @@ -0,0 +1,13 @@ +package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; + +import cn.estsh.i3plus.ext.mes.api.base.IMesComunicationLogService; +import cn.estsh.i3plus.pojo.mes.bean.MesComunicationLog; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + + +@Service +@Slf4j +public class MesComunicationLogServiceImpl extends BaseMesService implements IMesComunicationLogService { + +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java index 628bf49..315728d 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java @@ -54,6 +54,8 @@ public class MesWorkOrderService extends BaseMesService implements @Autowired private IMesWorkOrderDao mesWorkOrderDao; @Autowired + private MesWorkOrderRepository mesWorkOrderRDao; + @Autowired private MesWorkCenterRepository mesWorkCenterRDao; @Autowired private MesShiftRepository mesShiftRDao; @@ -539,4 +541,14 @@ public class MesWorkOrderService extends BaseMesService implements //查询汇总工单数量 return mesWorkOrderDao.sumMesWorkOrderQtyToSap(organizeCode, statusList); } + @Override + public List queryMesWorkOrderProcessToSap(String organizeCode) { + List statusList = new ArrayList<>(); + statusList.add(MesExtEnumUtil.ORDER_STATUS.process.getValue()); +// statusList.add(MesExtEnumUtil.ORDER_STATUS.CLOSE.getValue()); + DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); + + DdlPreparedPack.getInPackList(statusList, "workOrderStatus", packBean); + return mesWorkOrderRDao.findByHqlWhere(packBean); + } } diff --git a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/constant/MesCommonConstant.java b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/constant/MesCommonConstant.java index 3644f0c..b39ef95 100644 --- a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/constant/MesCommonConstant.java +++ b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/constant/MesCommonConstant.java @@ -30,6 +30,7 @@ public class MesCommonConstant { public static final String ORDER_NO_JIS_SORT = "ORDER_NO_JIS_SORT"; //报工条码规则 public static final String REPORT_SN = "REPORT_SN"; - + //CCSC生成任务号 + public static final String CCSC_TASK_NO = "CCSC_TASK_NO"; }