diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/mapper/AbnormalBillMapper.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/mapper/AbnormalBillMapper.java index 2490aec9..75bc445f 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/mapper/AbnormalBillMapper.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/mapper/AbnormalBillMapper.java @@ -50,4 +50,6 @@ public interface AbnormalBillMapper extends BaseMapper { Map findReplaceMessageByAbnormal(@Param("abnormalBill")AbnormalBill abnormalBill); List findScrapDtoList(String site); + + Map findReplaceMessageResrce(@Param("abnormalBill")AbnormalBill abnormalBill); } \ No newline at end of file diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalBillServiceImpl.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalBillServiceImpl.java index 1960cee8..9e0e3291 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalBillServiceImpl.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalBillServiceImpl.java @@ -365,7 +365,7 @@ public class AbnormalBillServiceImpl extends ServiceImpl nwaUsers = nwaUserService.checkUserGroup(site,abnormalMessage.getSendUserGroup()); + + //给设备处发企业微信消息 + + //给生产组 + List nwaUsers_sc = nwaUserService.checkUserGroup(site,"SBYCSB-SHENGCHAN"); + + if(nwaUsers_sc != null && nwaUsers_sc.size() <= 0){ + throw new BaseException("消息发送失败,生产用户组下面没有用户"); + } + if(nwaUsers != null && nwaUsers.size() <= 0){ throw new BaseException("消息发送失败,发送的用户组下面没有用户"); } List customFieldByUserId = usrMapper.findCustomFieldByUserId(site, nwaUsers); + + List customFieldByUserId_sc = usrMapper.findCustomFieldByUserId(site, nwaUsers_sc); + + if(customFieldByUserId != null && customFieldByUserId.size() <= 0){ throw new BaseException("消息发送失败,发送的用户组下面的用户的自定义数据没有维护"); } + + if(customFieldByUserId_sc != null && customFieldByUserId_sc.size() <= 0){ + throw new BaseException("消息发送失败,生产用户组下面的用户的自定义数据没有维护"); + } StringBuilder sendUsers = new StringBuilder(); for (int i = 0; i < Objects.requireNonNull(customFieldByUserId).size(); i++) { if(i == (customFieldByUserId.size() - 1)){ @@ -1227,6 +1245,17 @@ public class AbnormalBillServiceImpl extends ServiceImpl replaceMessage = abnormalBillMapper.findReplaceMessageByAbnormal(abnormalBill); + + + if (abnormalBill.getType().equals("S")){ + replaceMessage=abnormalBillMapper.findReplaceMessageResrce(abnormalBill); + } + String messageBody = sendMessageType.getBody(); //格式化之后的消息 return StringUtils.format(messageBody, replaceMessage); @@ -1450,6 +1485,7 @@ public class AbnormalBillServiceImpl extends ServiceImpl + diff --git a/anomaly/src/main/resources/mapper/ReportMapper.xml b/anomaly/src/main/resources/mapper/ReportMapper.xml index 757a63e4..1f2c6de1 100644 --- a/anomaly/src/main/resources/mapper/ReportMapper.xml +++ b/anomaly/src/main/resources/mapper/ReportMapper.xml @@ -1220,6 +1220,7 @@ ORDER BY endPlanTime DESC + + SELECT FROM Z_LOGISTICS_TURNOVER WHERE HANDLE=#{handle} + + @@ -82,6 +112,11 @@ AND TURNOVER_WORK_CENTER=#{ew.entity.turnoverWorkCenter} AND COM_DATE_TIME=#{ew.entity.comDateTime} AND IS_RECEIVE=#{ew.entity.isReceive} + AND TURNOUT_WORKCENTER=#{ew.entity.turnoutWorkcenter} + AND TURNOUT_ITEM=#{ew.entity.turnoutItem} + AND OTHER4=#{ew.entity.other4} + AND OTHER5=#{ew.entity.other5} + AND OTHER6=#{ew.entity.other6} ${ew.sqlSegment} @@ -113,6 +148,11 @@ AND TURNOVER_WORK_CENTER=#{ew.entity.turnoverWorkCenter} AND COM_DATE_TIME=#{ew.entity.comDateTime} AND IS_RECEIVE=#{ew.entity.isReceive} + AND TURNOUT_WORKCENTER=#{ew.entity.turnoutWorkcenter} + AND TURNOUT_ITEM=#{ew.entity.turnoutItem} + AND OTHER4=#{ew.entity.other4} + AND OTHER5=#{ew.entity.other5} + AND OTHER6=#{ew.entity.other6} ${ew.sqlSegment} @@ -144,6 +184,11 @@ AND TURNOVER_WORK_CENTER=#{ew.entity.turnoverWorkCenter} AND COM_DATE_TIME=#{ew.entity.comDateTime} AND IS_RECEIVE=#{ew.entity.isReceive} + AND TURNOUT_WORKCENTER=#{ew.entity.turnoutWorkcenter} + AND TURNOUT_ITEM=#{ew.entity.turnoutItem} + AND OTHER4=#{ew.entity.other4} + AND OTHER5=#{ew.entity.other5} + AND OTHER6=#{ew.entity.other6} ${ew.sqlSegment} @@ -175,6 +220,11 @@ AND TURNOVER_WORK_CENTER=#{ew.entity.turnoverWorkCenter} AND COM_DATE_TIME=#{ew.entity.comDateTime} AND IS_RECEIVE=#{ew.entity.isReceive} + AND TURNOUT_WORKCENTER=#{ew.entity.turnoutWorkcenter} + AND TURNOUT_ITEM=#{ew.entity.turnoutItem} + AND OTHER4=#{ew.entity.other4} + AND OTHER5=#{ew.entity.other5} + AND OTHER6=#{ew.entity.other6} ${ew.sqlSegment} @@ -186,8 +236,24 @@ + + ZLT.HANDLE + WCT.DESCRIPTION NEXT_WORK_CENTER, + ZSD.SFC, + C1.VALUE WORK_ORDER, + IT.DESCRIPTION ITEM_DESCRIPTION, + ZSD.BLANKING_SIZE, + ZSD.DISPATCH_QTY, + OT1.DESCRIPTION OVER_OPERATION, + OT.DESCRIPTION NEXT_OPERATION, + ZSD.EMPLOYEE_DESCRIPTION, + ZLT.TURNOVER_WORK_CENTER, + ZLT.CREATED_DATE_TIME + + @@ -421,7 +577,9 @@ ZSD.DISPATCH_QTY, OT1.DESCRIPTION OVER_OPERATION, OT.DESCRIPTION NEXT_OPERATION, - ZSD.EMPLOYEE_DESCRIPTION + ZSD.EMPLOYEE_DESCRIPTION, + ZLT.TURNOVER_WORK_CENTER, + ZLT.CREATED_DATE_TIME FROM Z_LOGISTICS_TURNOVER ZLT LEFT JOIN WORK_CENTER WC ON WC.WORK_CENTER = ZLT.TURNOVER_WORK_CENTER @@ -444,7 +602,133 @@ LEFT JOIN OPERATION_T OT ON OT.OPERATION_BO = O.HANDLE AND OT.LOCALE = 'zh' WHERE ZLT.STATUS = 'NEW' - + AND ZLT.TURNOUT_ITEM like '02%' AND ZLT.TURNOUT_WORKCENTER = 'HJ' + AND ZLT.TURNOUT_ITEM like '03%' AND ZLT.TURNOUT_WORKCENTER = 'HJ' + AND ZLT.TURNOUT_WORKCENTER = 'JJ' + AND ZLT.TURNOUT_WORKCENTER = 'WX' + GROUP BY WCT.DESCRIPTION, + ZSD.SFC, + C1.VALUE, + IT.DESCRIPTION, + ZSD.BLANKING_SIZE, + ZSD.DISPATCH_QTY, + OT1.DESCRIPTION, + OT.DESCRIPTION, + ZSD.EMPLOYEE_DESCRIPTION, + ZLT.TURNOVER_WORK_CENTER, + ZLT.CREATED_DATE_TIME + ORDER BY ZLT.CREATED_DATE_TIME DESC + + + WCT.DESCRIPTION NEXT_WORK_CENTER, + ZSD.SFC, + C1.VALUE WORK_ORDER, + IT.DESCRIPTION ITEM_DESCRIPTION, + ZSD.BLANKING_SIZE, + ZSD.DISPATCH_QTY, + OT1.DESCRIPTION OVER_OPERATION, + OT.DESCRIPTION NEXT_OPERATION, + ZSD.EMPLOYEE_DESCRIPTION, + ZLT.TURNOVER_WORK_CENTER, + ZLT.CREATED_DATE_TIME + + + diff --git a/production/src/main/java/com/foreverwin/mesnac/production/service/impl/PodTemplateServiceImpl.java b/production/src/main/java/com/foreverwin/mesnac/production/service/impl/PodTemplateServiceImpl.java index 53ee8d93..4df02f03 100644 --- a/production/src/main/java/com/foreverwin/mesnac/production/service/impl/PodTemplateServiceImpl.java +++ b/production/src/main/java/com/foreverwin/mesnac/production/service/impl/PodTemplateServiceImpl.java @@ -463,6 +463,30 @@ public class PodTemplateServiceImpl implements PodTemplateService { //更改派工单状态 sfcDispatchCommonService.updateSfcDispatchStatus(site, CommonMethods.getUser(), dispatchNo, DispatchStatusEnum.COMPLETE.getCode(),workHour); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(SfcDispatch.SFC,sfcDispatchById.getSfc()); + queryWrapper.eq(SfcDispatch.SHOP_ORDER,sfcDispatchById.getShopOrder()); + queryWrapper.eq(SfcDispatch.DISPATCH_SEQ,String.valueOf(Integer.parseInt(sfcDispatchById.getDispatchSeq())+1)); + SfcDispatch sfcDispatch=sfcDispatchService.getOne(queryWrapper); + if (sfcDispatch!=null && sfcDispatch.getOperation().equals("HJ_6106JYGX")){ + Operation nextcurrentRevisionRef = operationService.getCurrentRevisionRef(site, sfcDispatch.getOperation()); + BigDecimal workHours=BigDecimal.ZERO; + sfcCrossService.completeAction(site, nextcurrentRevisionRef.getHandle(), resrce, sfcServiceById.getHandle(), qty); + sfcDispatchCommonService.updateSfcDispatchStatus(site, CommonMethods.getUser(), sfcDispatch.getDispatchNo(), DispatchStatusEnum.COMPLETE.getCode(),workHours); + } + + if (sfcDispatch!=null && sfcDispatch.getOperation().equals("HJ_6106JRGX")){ + Operation nextcurrentRevisionRef = operationService.getCurrentRevisionRef(site, sfcDispatch.getOperation()); + BigDecimal workHours=BigDecimal.ZERO; + sfcCrossService.completeAction(site, nextcurrentRevisionRef.getHandle(), resrce, sfcServiceById.getHandle(), qty); + sfcDispatchCommonService.updateSfcDispatchStatus(site, CommonMethods.getUser(), sfcDispatch.getDispatchNo(), DispatchStatusEnum.COMPLETE.getCode(),workHours); + SfcDispatchDto sfcdispatchs = new SfcDispatchDto(); + sfcdispatchs.setHandle(HandleEnum.SFC_DISPATCH.getHandle(site, sfcDispatch.getHandle())); + sfcdispatchs = sfcDispatchCommonService.findSfcDispatchBySfc(sfcdispatchs); + sendErp(sfc, stepId, qty, BigDecimal.ZERO, qty.multiply(sfcdispatchs.getProdHours())); + } + /** * 判断是否为返修工序、返修工序不报工 */ @@ -486,6 +510,8 @@ public class PodTemplateServiceImpl implements PodTemplateService { integrationLogService.saveIntegrationLog(log); } + + //报工 if (enabled&&falg){ SfcDispatchDto sfcdispatch = new SfcDispatchDto(); diff --git a/quality/src/main/java/com/foreverwin/mesnac/quality/service/impl/InspectionTaskManageServiceImpl.java b/quality/src/main/java/com/foreverwin/mesnac/quality/service/impl/InspectionTaskManageServiceImpl.java index 66dcb032..d9fc8c66 100644 --- a/quality/src/main/java/com/foreverwin/mesnac/quality/service/impl/InspectionTaskManageServiceImpl.java +++ b/quality/src/main/java/com/foreverwin/mesnac/quality/service/impl/InspectionTaskManageServiceImpl.java @@ -234,9 +234,30 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ logisticsTurnover.setOther2(inspectionTaskModel.getStepId()); logisticsTurnover.setOther3(inspectionTaskModel.getHandle()); logisticsTurnover.setTurnoverWorkCenter(sfcDispatch.getWorkCenter()); + logisticsTurnover.setTurnoutItem(inspectionTaskManage.getItem()); + logisticsTurnover.setTurnoutWorkcenter(inspectionTaskManage.getWorkCenter()); logisticsTurnoverService.save(logisticsTurnover); } + else { + //判断此工序是否需要转入半成品库位 + if (Constants.RK.equals(sfcDispatchById.getOther2())){ + LogisticsTurnover logisticsTurnover=new LogisticsTurnover(); + logisticsTurnover.setHandle("LogisticsBO:1000"+","+UUID.randomUUID().toString()); + logisticsTurnover.setSfcDispatchBo(inspectionTaskModel.getSfcDispatchBo()); + logisticsTurnover.setStatus(Constants.LOGISTICS_NEW); + logisticsTurnover.setCreatedDateTime(LocalDateTime.now()); + logisticsTurnover.setOther1(sfcDispatchById.getOperation()); + logisticsTurnover.setOther2(inspectionTaskModel.getStepId()); + logisticsTurnover.setOther3(inspectionTaskModel.getHandle()); + logisticsTurnover.setTurnoverWorkCenter(sfcDispatchById.getWorkCenter()); + logisticsTurnover.setTurnoutItem(inspectionTaskManage.getItem()); + logisticsTurnover.setTurnoutWorkcenter(inspectionTaskManage.getWorkCenter()); + logisticsTurnoverService.save(logisticsTurnover); + } + + + } }