diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/AbnormalBillController.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/AbnormalBillController.java index a14d88f1..3c9c7749 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/AbnormalBillController.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/AbnormalBillController.java @@ -323,12 +323,13 @@ public class AbnormalBillController { abnormalBill.setUserIsCon("true"); abnormalBills.add(abnormalBill); } - flag=abnormalBillService.updateBatchById(abnormalBills); + flag=abnormalBillService.deviceRepairComplete(abnormalBills); } catch (Exception e) { return R.failed(e.getMessage()); } if (flag) { message.insert(0, "确认维修成功"); + return R.ok(message.toString()); } else { message.insert(0, "确认维修失败:"); diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/AbnormalPlanController.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/AbnormalPlanController.java index e01e634c..db78fe43 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/AbnormalPlanController.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/AbnormalPlanController.java @@ -141,7 +141,5 @@ public class AbnormalPlanController { }catch (Exception e){ return R.failed(e.getMessage().trim()); } - - } } \ No newline at end of file diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/dto/AbnormalBillDisposeDto.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/dto/AbnormalBillDisposeDto.java index f8417670..c5563dcd 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/dto/AbnormalBillDisposeDto.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/dto/AbnormalBillDisposeDto.java @@ -2,6 +2,8 @@ package com.foreverwin.mesnac.anomaly.dto; import com.foreverwin.mesnac.anomaly.model.AbnormalBillDispose; +import java.time.LocalDateTime; + /** * @Description 作异常响应检索用的 * @Author zhaojiawei @@ -194,6 +196,46 @@ public class AbnormalBillDisposeDto extends AbnormalBillDispose { */ private String dutyType; + /** + * 创建时间 + */ + private LocalDateTime createdDateTime; + +// /** +// * 责任划分时间 +// */ +// +// private LocalDateTime dutyDatetime; +// +// /** +// * 责任划分填报人员 +// */ +// +// private String dutyUser; +// +// /** +// * 解决方案填报时间 +// */ +// +// private LocalDateTime resolveDatetime; +// +// /** +// * 解决方案填报人员 +// */ +// private String resolveUser; +// +// /** +// * 闭环关闭填报时间 +// */ +// private LocalDateTime closedDatetime; +// +// /** +// * 闭环关闭填报人 +// */ +// private String closedUser; + + + /** * * @return @@ -210,6 +252,69 @@ public class AbnormalBillDisposeDto extends AbnormalBillDispose { private String stepId; + public LocalDateTime getCreatedDateTime() { + return createdDateTime; + } + + public void setCreatedDateTime(LocalDateTime createdDateTime) { + this.createdDateTime = createdDateTime; + } + + // +// public LocalDateTime getDutyDatetime() { +// return dutyDatetime; +// } +// +// public void setDutyDatetime(LocalDateTime dutyDatetime) { +// this.dutyDatetime = dutyDatetime; +// } +// +// @Override +// public String getDutyUser() { +// return dutyUser; +// } +// +// @Override +// public void setDutyUser(String dutyUser) { +// this.dutyUser = dutyUser; +// } +// +// public LocalDateTime getResolveDatetime() { +// return resolveDatetime; +// } +// +// public void setResolveDatetime(LocalDateTime resolveDatetime) { +// this.resolveDatetime = resolveDatetime; +// } +// +// @Override +// public String getResolveUser() { +// return resolveUser; +// } +// +// @Override +// public void setResolveUser(String resolveUser) { +// this.resolveUser = resolveUser; +// } +// +// public LocalDateTime getClosedDatetime() { +// return closedDatetime; +// } +// +// public void setClosedDatetime(LocalDateTime closedDatetime) { +// this.closedDatetime = closedDatetime; +// } +// +// @Override +// public String getClosedUser() { +// return closedUser; +// } +// +// @Override +// public void setClosedUser(String closedUser) { +// this.closedUser = closedUser; +// } + public String getAbnormalNo() { return abnormalNo; } 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 75bc445f..0da39ec1 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 @@ -28,6 +28,10 @@ public interface AbnormalBillMapper extends BaseMapper { List backLog(@Param("abnormalBill")AbnormalBillDto abnormalBillDto, @Param("language")String language, @Param("userGroupList")List userGroupList); + List backLogByDeviceUser(@Param("abnormalBill")AbnormalBillDto abnormalBillDto, @Param("language")String language); + + + /** * 设备异常响应检索用 * @param abnormalBill @@ -52,4 +56,5 @@ public interface AbnormalBillMapper extends BaseMapper { 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/AbnormalBillService.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/AbnormalBillService.java index 24f38998..0b049f75 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/AbnormalBillService.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/AbnormalBillService.java @@ -11,6 +11,7 @@ import com.foreverwin.mesnac.common.model.Message; import com.foreverwin.mesnac.meapi.dto.SfcDto; import com.foreverwin.modular.core.util.FrontPage; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -144,6 +145,8 @@ public interface AbnormalBillService extends IService { */ boolean anomalyCreatedAndSendMessage(AbnormalBill abnormalBill, AbnormalBillDispose abnormalBillDispose); + + /** * 格式化消息 */ @@ -178,4 +181,6 @@ public interface AbnormalBillService extends IService { */ void saveDutyMessageAndResolveMessageByNodeIsResponse(Message paramMessage,String userGroup); + + boolean deviceRepairComplete( List abnormalBills); } \ 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 1c86c88f..19d12197 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 @@ -270,17 +270,17 @@ public class AbnormalBillServiceImpl extends ServiceImpl abnormalNcCodes = new ArrayList<>(); for(int i = 0; i < ncGroup.size(); i ++){ @@ -324,7 +324,7 @@ public class AbnormalBillServiceImpl extends ServiceImpl backLogByDeviceUser(AbnormalBillDto abnormalBillDto) { String user = CommonMethods.getUser(); String site = CommonMethods.getSite(); - List userGroupList = userGroupMapper.findUserGroupListByUser(site, user); abnormalBillDto.setCreatedUser(user); String language = LocaleContextHolder.getLocale().getLanguage(); - return abnormalBillMapper.backLog(abnormalBillDto, language,userGroupList); + return abnormalBillMapper.backLogByDeviceUser(abnormalBillDto, language); } @Override @@ -1253,7 +1252,7 @@ public class AbnormalBillServiceImpl extends ServiceImpl nwaUsers_sc = nwaUserService.checkUserGroup(site,"ZHANGHAN"); + List nwaUsers_sc = nwaUserService.checkUserGroup(site,"SBYCSB-SHENGCHAN"); if(nwaUsers_sc != null && nwaUsers_sc.size() <= 0){ throw new BaseException("消息发送失败,生产用户组下面没有用户"); @@ -1264,6 +1263,9 @@ public class AbnormalBillServiceImpl extends ServiceImpl customFieldByUserId = usrMapper.findCustomFieldByUserId(site, nwaUsers); + //添加异常发起人 + customFieldByUserId.add(abnormalBill.getCreatedUser()); + List customFieldByUserId_sc = usrMapper.findCustomFieldByUserId(site, nwaUsers_sc); @@ -1285,7 +1287,7 @@ public class AbnormalBillServiceImpl extends ServiceImpl abnormalBills) { + boolean flag=this.updateBatchById(abnormalBills); + if (flag){ + //发送维修完成的消息给相关人员 + for (AbnormalBill abnormalBill : abnormalBills){ + abnormalBill.setType("S"); + abnormalBill.setReportSendUserGroup("SBYC-REPAIRCOMPLETE"); + this.sendMessageToDeviceRepairComplete(abnormalBill); + } + } + return flag; + } + + @Override public Map jgProductionIsScrap(String abnormalNo, String site, String sfc) { //查询该sfc在质量异常异常方案是否是报废,如果是,则大于1 @@ -1763,4 +1780,56 @@ public class AbnormalBillServiceImpl extends ServiceImpl nwaUsers_sc = nwaUserService.checkUserGroup(site,abnormalBill.getReportSendUserGroup()); + + if(nwaUsers_sc != null && nwaUsers_sc.size() <= 0){ + throw new BaseException("消息发送失败,生产用户组下面没有用户"); + } + List customFieldByUserId_sc = usrMapper.findCustomFieldByUserId(site, nwaUsers_sc); + if(customFieldByUserId_sc != null && customFieldByUserId_sc.size() <= 0){ + throw new BaseException("消息发送失败,生产用户组下面的用户的自定义数据没有维护"); + } + StringBuilder sendUsers_sc = new StringBuilder(); + for (int i = 0; i < Objects.requireNonNull(customFieldByUserId_sc).size(); i++) { + if(i == (customFieldByUserId_sc.size() - 1)){ + sendUsers_sc.append(customFieldByUserId_sc.get(i)); + }else{ + sendUsers_sc.append(customFieldByUserId_sc.get(i)).append("|"); + } + } + activeMQUtil.wechatSendMessage(sendUsers_sc.toString(),DeviceRepairCompleteMessage.getContent()); + return true; + } } \ No newline at end of file diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalPlanServiceImpl.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalPlanServiceImpl.java index 3f3f77dd..661fe19c 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalPlanServiceImpl.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalPlanServiceImpl.java @@ -269,7 +269,7 @@ public class AbnormalPlanServiceImpl extends ServiceImpl + + + @@ -728,7 +731,15 @@ ZABD.ROUTER_BO ROUTER_BO,ZAB.OPERATION OPERATION,I.HANDLE ITEM_BO,ZAB.REPORT_SEND_USER_GROUP REPORT_SEND_USER_GROUP, ZAB.CORRECTION CORRECTION,ZAB.PROGRAM PROGRAM,WCT.DESCRIPTION WORK_CENTER_DESCRIPTION,ZAB.SHUT_DOWN SHUT_DOWN, RS.DESCRIPTION RESRCE_DESCRIPTION,OT.DESCRIPTION OPERATION_DESCRIPTION,R.DESCRIPTION ROUTER_DESCRIPTION, - ZAB.PRODUCT_CATEGORY PRODUCT_CATEGORY,ZAB.STEP_ID STEP_ID + ZAB.PRODUCT_CATEGORY PRODUCT_CATEGORY,ZAB.STEP_ID STEP_ID,ZAB.CREATED_DATE_TIME, + ZABD.DUTY_DATE_TIME, + ZABD.RESOLVE_DATE_TIME, + ZABD.CLOSED_DATE_TIME, + NWA3.FULL_NAME DUTY_USER, + NWA4.FULL_NAME CLOSED_USER, + NWA5.FULL_NAME RESOLVE_USER + + FROM Z_ABNORMAL_BILL ZAB LEFT JOIN Z_ABNORMAL_BILL_DISPOSE ZABD ON ZAB.HANDLE = ZABD.ABNORMAL_BILL_BO LEFT JOIN ITEM I ON I.HANDLE = ZAB.ITEM_BO @@ -745,6 +756,9 @@ LEFT JOIN WORK_CENTER_T WCT ON ('WorkCenterBO:' || ZAB.SITE || ',' || ZAB.WORK_CENTER) = WCT.WORK_CENTER_BO AND WCT.LOCALE = #{locale} LEFT JOIN Z_NWA_USER NWA ON NWA.USER_NAME = ZAB.PB_USER AND NWA.SITE = ZAB.SITE LEFT JOIN Z_NWA_USER NWA2 ON NWA2.USER_NAME = ZAB.INSPECTOR AND NWA2.SITE = ZAB.SITE + LEFT JOIN Z_NWA_USER NWA3 ON NWA3.USER_NAME = ZABD.DUTY_USER AND NWA3.SITE = ZABD.SITE + LEFT JOIN Z_NWA_USER NWA4 ON NWA4.USER_NAME = ZABD.CLOSED_USER AND NWA4.SITE = ZABD.SITE + LEFT JOIN Z_NWA_USER NWA5 ON NWA5.USER_NAME = ZABD.RESOLVE_USER AND NWA5.SITE = ZABD.SITE LEFT JOIN NC_GROUP NG ON NG.NC_GROUP = ZANC.NC_CODE_GROUP AND NG.SITE = ZAB.SITE LEFT JOIN ROUTER R ON SUBSTR(R.HANDLE,1,INSTR(R.HANDLE,',',-1)-1) = SUBSTR(ZABD.ROUTER_BO,1,INSTR(ZABD.ROUTER_BO,',',-1)-1) AND R.CURRENT_REVISION = 'true' @@ -772,7 +786,16 @@ R.ROUTER ,ZABD.RESOLVE_SHOP_ORDER ,ZABD.RESOLVE_REMARK ,ZABD.RESOLVE_SEND_USER_GROUP , ZABD.ABNORMAL_REASON ,ZABD.BEFORE_MEASURE ,"MAP".VALUE,ZABD.ROUTER_BO,ZAB.OPERATION,I.HANDLE, ZAB.REPORT_SEND_USER_GROUP,ZAB.CORRECTION,ZAB.PROGRAM,WCT.DESCRIPTION,ZAB.SHUT_DOWN,RS.DESCRIPTION, - OT.DESCRIPTION,R.DESCRIPTION, ZAB.STEP_ID + OT.DESCRIPTION,R.DESCRIPTION, ZAB.STEP_ID, ZAB.CREATED_DATE_TIME, + ZABD.DUTY_DATE_TIME, + ZABD.DUTY_USER, + ZABD.RESOLVE_DATE_TIME, + ZABD.RESOLVE_USER, + ZABD.CLOSED_DATE_TIME, + NWA3.FULL_NAME, + NWA4.FULL_NAME, + NWA5.FULL_NAME + diff --git a/anomaly/src/main/resources/mapper/AbnormalBillMapper.xml b/anomaly/src/main/resources/mapper/AbnormalBillMapper.xml index 7f80d339..e4313950 100644 --- a/anomaly/src/main/resources/mapper/AbnormalBillMapper.xml +++ b/anomaly/src/main/resources/mapper/AbnormalBillMapper.xml @@ -1343,7 +1343,9 @@ ELSE '' END METHOD, zab.ABNORMAL_NO, - zab.CANCEL_REASON CANCEL_REASON + zab.CANCEL_REASON CANCEL_REASON, + zab.SFC, + zab.PB_DESCRIPTION FROM Z_ABNORMAL_BILL zab INNER JOIN ITEM i ON i.HANDLE = zab.ITEM_BO LEFT JOIN RESRCE r ON r.RESRCE = zab.RESRCE AND r.SITE = zab.SITE @@ -1370,16 +1372,17 @@ GROUP BY wct.DESCRIPTION ,so.SHOP_ORDER ,it.DESCRIPTION,r.DESCRIPTION,r2.DESCRIPTION, zab.WORK_ORDER,zab.ITEM_NUMBER,zabd.ABNORMAL_METHOD,zab.ABNORMAL_NO,item.VALUE,workOrder.VALUE, - zab.CANCEL_REASON + zab.CANCEL_REASON,zab.SFC,zab.PB_DESCRIPTION + + + + + diff --git a/anomaly/src/main/resources/mapper/AbnormalPlanMapper.xml b/anomaly/src/main/resources/mapper/AbnormalPlanMapper.xml index 686904ee..a1d0280d 100644 --- a/anomaly/src/main/resources/mapper/AbnormalPlanMapper.xml +++ b/anomaly/src/main/resources/mapper/AbnormalPlanMapper.xml @@ -595,6 +595,7 @@ AND ZAP.CLOSED_DATE_TIME <= #{abnormalPlanDto.endDateTime} + ORDER BY ZAP.CREATED_DATE_TIME DESC diff --git a/dispatch/src/main/resources/mapper/SfcDispatchMapper.xml b/dispatch/src/main/resources/mapper/SfcDispatchMapper.xml index 82e09872..d788b54b 100644 --- a/dispatch/src/main/resources/mapper/SfcDispatchMapper.xml +++ b/dispatch/src/main/resources/mapper/SfcDispatchMapper.xml @@ -891,6 +891,10 @@ AND SD.PLANNED_COMP_DATE <= TO_DATE(#{completeToDate}|| '15:59:59', 'YYYY-MM-DD HH24:MI:SS') + + AND SD.DISPATCH_SEQ = #{dispatchSeq} + + GROUP BY SD.HANDLE, SD.SITE, SD.SHOP_ORDER, SD.DISPATCH_NO, SD.ROUTER_BO, C2.VALUE, C1.VALUE, IM.HANDLE, IM.ITEM, IT.DESCRIPTION, SD.SFC, SD.DISPATCH_STATUS,SD.DRAWINGS_REVISION, SD.STEP_ID, SD.OPERATION, OT.DESCRIPTION, SD.RESOURCE_TYPE, SD.RESRCE, SD.EMPLOYEE, SD.EMPLOYEE, @@ -970,7 +974,18 @@ SELECT * FROM - ( SELECT STEP_ID FROM Z_SFC_DISPATCH WHERE SFC = '202110200000' AND ACTUAL_COMPLETE_DATE IS NOT NULL ORDER BY ACTUAL_COMPLETE_DATE DESC ) + ( + SELECT + ZIT.STEP_ID + FROM + Z_LOGISTICS_TURNOVER ZLT + LEFT JOIN Z_INSPECTION_TASK ZIT ON ZLT.OTHER3 = ZIT.HANDLE + WHERE + ZLT.STATUS = 'NEW' + AND ZIT.SFC = #{sfc} + ORDER BY + ZIT.CREATED_DATE_TIME DESC + ) WHERE ROWNUM = 1 diff --git a/meapi/meapi.iml b/meapi/meapi.iml new file mode 100644 index 00000000..112876b0 --- /dev/null +++ b/meapi/meapi.iml @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/LogisticsTurnoverController.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/LogisticsTurnoverController.java index 90585df6..075a418d 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/LogisticsTurnoverController.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/LogisticsTurnoverController.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.foreverwin.mesnac.meapi.dto.LogisticsDto; import com.foreverwin.mesnac.meapi.enums.HandleEnum; +import com.foreverwin.mesnac.meapi.model.Location; import com.foreverwin.mesnac.meapi.model.LogisticsBill; import com.foreverwin.mesnac.meapi.model.StoreSfcInfo; import com.foreverwin.mesnac.meapi.model.UserGroup; @@ -87,7 +88,7 @@ public class LogisticsTurnoverController { .like(LogisticsTurnover::getHandle, frontPage.getGlobalQuery()) .or().like(LogisticsTurnover::getSfcDispatchBo, frontPage.getGlobalQuery()) .or().like(LogisticsTurnover::getStatus, frontPage.getGlobalQuery()) - .or().like(LogisticsTurnover::getUser, frontPage.getGlobalQuery()) + .or().like(LogisticsTurnover::getuserId, frontPage.getGlobalQuery()) .or().like(LogisticsTurnover::getUserName, frontPage.getGlobalQuery()) .or().like(LogisticsTurnover::getOther1, frontPage.getGlobalQuery()) .or().like(LogisticsTurnover::getOther2, frontPage.getGlobalQuery()) @@ -224,34 +225,25 @@ public class LogisticsTurnoverController { @RequestMapping(method = RequestMethod.POST, value = "/UPDATE-STATUS") public R updateStatusById(String list,String location,String transportno,String user,String username) { List logisticsDtoList = JSONArray.parseArray(list, LogisticsDto.class); - List logisticsTurnoverList = new ArrayList<>(); - LogisticsTurnover logisticsTurnover = new LogisticsTurnover(); - LogisticsBill logisticsBill = new LogisticsBill(); - List logisticsBillList = new ArrayList<>(); - if (!list.isEmpty() && location != null && transportno != null) { - for (LogisticsDto logisticsDto : logisticsDtoList) { - logisticsTurnover.setHandle(logisticsDto.getHandle()); - logisticsTurnover.setStatus("COM"); - logisticsTurnover.setStorageLocation(location); - logisticsTurnover.setComDateTime(LocalDateTime.now()); - logisticsTurnover.setIsReceive("N"); - logisticsTurnover.setUser(user); - logisticsTurnover.setUserName(username); - logisticsTurnoverList.add(logisticsTurnover); - logisticsBill.setComTime(LocalDateTime.now()); - logisticsBill.setLogisticsBillNo(transportno); - logisticsBill.setLogisticsBo(logisticsDto.getHandle()); - logisticsBillList.add(logisticsBill); - } - if (logisticsBillService.saveBatch(logisticsBillList) && logisticsTurnoverService.updateBatchById(logisticsTurnoverList)) { - return R.ok(); + Location lt=JSONArray.parseObject(location,Location.class); + Boolean flag; + StringBuffer message = new StringBuffer(); + try { + if (!logisticsDtoList.isEmpty()){ + flag=logisticsTurnoverService.updateLogistics(logisticsDtoList,lt,message,transportno,user,username); }else { - return R.failed("转运出错"); + flag=false; } - - } else { + }catch (Exception e){ return R.failed("转运出错"); } + if (flag) { + message.insert(0, "转运成功"); + return R.ok(message.toString()); + } else { + message.insert(0, "转运出错,请检查扫描的库位与转入车间是否匹配,条码:"); + return R.failed(message.toString()); + } } @@ -263,38 +255,66 @@ public class LogisticsTurnoverController { @ResponseBody @PostMapping("/updatelogisticsTurnover") public R updatelogisticsTurnover(@RequestBody List logisticsDtoList) { - List logisticsTurnoverList = new ArrayList<>(); - LogisticsTurnover logisticsTurnover = new LogisticsTurnover(); - if (!logisticsDtoList.isEmpty()) { - for (LogisticsDto logisticsDto : logisticsDtoList) { - logisticsTurnover.setHandle(logisticsDto.getHandle()); - logisticsTurnover.setIsReceive("Y"); - logisticsTurnover.setOther4(LocalDateTime.now()); - logisticsTurnover.setOther5(CommonMethods.getUser()); - logisticsTurnoverList.add(logisticsTurnover); - } - if (logisticsTurnoverService.updateBatchById(logisticsTurnoverList)) { - return R.ok("接收成功"); +// LogisticsTurnover logisticsTurnover = new LogisticsTurnover(); +// StringBuffer message = new StringBuffer(); +// boolean flag=true; +// if (!logisticsDtoList.isEmpty()) { +// try { +// int seq = 0; +// for (LogisticsDto logisticsDto : logisticsDtoList) { +// if (!logisticsDto.getStatus().equals("COM")) { +// flag=false; +// message.append(seq++ % 3 == 0 ? "\n" : "| |"); +// message.append("SFC[" + logisticsDto.getSfc() + "]未转运完成,不允许车间接收!"); +// continue; +// } else { +// logisticsTurnover.setHandle(logisticsDto.getHandle()); +// logisticsTurnover.setIsReceive("Y"); +// logisticsTurnover.setOther4(LocalDateTime.now()); +// logisticsTurnover.setOther5(CommonMethods.getUser()); +// logisticsTurnoverService.updateById(logisticsTurnover); +// } +// +// } +// } catch (Exception e) { +// return R.failed(e.getMessage()); +// } +// } + + Boolean flag; + StringBuffer message = new StringBuffer(); + try { + if (!logisticsDtoList.isEmpty()){ + flag = logisticsTurnoverService.Receivelogistics( message, logisticsDtoList); }else { - return R.failed("接收出错"); + flag=false; } + + } catch (Exception e) { + return R.failed(e.getMessage()); + } + if (flag) { + message.insert(0, "接收物料成功"); + return R.ok(message.toString()); } else { - return R.failed("接收出错"); + message.insert(0, "接收物料失败:"); + return R.failed(message.toString()); } - } - @PostMapping("/selectSFC") - @ResponseBody - public String selectSFC(String sfc){ - StoreSfcInfo storeSfcInfo= logisticsTurnoverService.storeSelectSfc(sfc); - return Optional.ofNullable(storeSfcInfo).map(t->JSONObject.toJSONString(t)).orElse("null"); } - @PostMapping("/submentInStore") - @ResponseBody - public String selectSFC(String sfc,double qty,int inStoreType,String user, - @RequestParam(value = "storeLocation",defaultValue = "") String storeLocation){ - return logisticsTurnoverService.submentInStore(sfc,qty, inStoreType, user,storeLocation); - } +// @PostMapping("/selectSFC") +// @ResponseBody +// public String selectSFC(String sfc){ +// StoreSfcInfo storeSfcInfo= logisticsTurnoverService.storeSelectSfc(sfc); +// return Optional.ofNullable(storeSfcInfo).map(t->JSONObject.toJSONString(t)).orElse("null"); +// } +// @PostMapping("/submentInStore") +// @ResponseBody +// public String selectSFC(String sfc,double qty,int inStoreType,String user, +// @RequestParam(value = "storeLocation",defaultValue = "") String storeLocation){ +// +// return logisticsTurnoverService.submentInStore(sfc,qty, inStoreType, user,storeLocation); +// } } \ No newline at end of file diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/NwaUserController.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/NwaUserController.java index dee50940..ceeaf63e 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/NwaUserController.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/NwaUserController.java @@ -1,5 +1,6 @@ package com.foreverwin.mesnac.meapi.controller; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.foreverwin.mesnac.meapi.model.NwaUser; @@ -12,6 +13,7 @@ import org.springframework.web.bind.annotation.*; import java.time.LocalDateTime; import java.util.List; +import java.util.Optional; /** * @@ -59,17 +61,10 @@ public class NwaUserController { */ @ResponseBody @GetMapping("/login") - public R NwaUserLogin(NwaUser nwaUser){ - List result; - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.setEntity(nwaUser); - result = nwaUserService.list(queryWrapper); - if (!result.isEmpty()){ - return R.ok(result.get(0).toString()); - }else { - return R.failed("登录失败"); - } - + public String NwaUserLogin(NwaUser nwaUser){ + nwaUser = nwaUserService.AndroidLogin(nwaUser.getUserName()); + return Optional.ofNullable(nwaUser) + .map(t -> JSONObject.toJSONString(t)).orElse("null"); } diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/RouterController.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/RouterController.java index 3690d741..6e7d091b 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/RouterController.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/RouterController.java @@ -179,7 +179,7 @@ public class RouterController { // return R.ok(abnormalBillService.findUploadPictureByAbnormalBo(abnormalBill)); // } - @PostMapping("/selectDisRouterInfo") + @GetMapping("/selectDisRouterInfo") public R selectDisRouterInfo(@RequestParam(required = false) Map paramMap) { try { paramMap.put("site", CommonMethods.getSite()); diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/dto/LogisticsDto.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/dto/LogisticsDto.java index 6b06d52b..4e6f8ea2 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/dto/LogisticsDto.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/dto/LogisticsDto.java @@ -1,5 +1,7 @@ package com.foreverwin.mesnac.meapi.dto; +import java.time.LocalDateTime; + public class LogisticsDto { private String handle; @@ -12,6 +14,7 @@ public class LogisticsDto { } private String nextWorkCenter; + private String nextWorkCenterDes; private String sfc; private String workOrder; private String itemDescription; @@ -21,7 +24,6 @@ public class LogisticsDto { private String employeeDescription; private String nextOperation; private String status; - private String shopOrder;; private String texture; private String qtyToBuild; @@ -30,6 +32,86 @@ public class LogisticsDto { private String turnoutItem; private String isReceive; private String storageLocation; + private String confirm; + private String turnoutWorkcenter; + private LocalDateTime comDatetime; + private LocalDateTime other4; + private String startFromDate; + private String startToDate; + private String completeFromDate; + private String completeToDate; + + public String getStartFromDate() { + return startFromDate; + } + + public void setStartFromDate(String startFromDate) { + this.startFromDate = startFromDate; + } + + public String getStartToDate() { + return startToDate; + } + + public void setStartToDate(String startToDate) { + this.startToDate = startToDate; + } + + public String getCompleteFromDate() { + return completeFromDate; + } + + public void setCompleteFromDate(String completeFromDate) { + this.completeFromDate = completeFromDate; + } + + public String getCompleteToDate() { + return completeToDate; + } + + public void setCompleteToDate(String completeToDate) { + this.completeToDate = completeToDate; + } + + public String getNextWorkCenterDes() { + return nextWorkCenterDes; + } + + public void setNextWorkCenterDes(String nextWorkCenterDes) { + this.nextWorkCenterDes = nextWorkCenterDes; + } + + public LocalDateTime getComDatetime() { + return comDatetime; + } + + public void setComDatetime(LocalDateTime comDatetime) { + this.comDatetime = comDatetime; + } + + public LocalDateTime getOther4() { + return other4; + } + + public void setOther4(LocalDateTime other4) { + this.other4 = other4; + } + + public String getTurnoutWorkcenter() { + return turnoutWorkcenter; + } + + public void setTurnoutWorkcenter(String turnoutWorkcenter) { + this.turnoutWorkcenter = turnoutWorkcenter; + } + + public String getConfirm() { + return confirm; + } + + public void setConfirm(String confirm) { + this.confirm = confirm; + } public String getTurnoutItem() { return turnoutItem; diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/model/LogisticsTurnover.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/model/LogisticsTurnover.java index 1834e2a3..3b88f3a5 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/model/LogisticsTurnover.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/model/LogisticsTurnover.java @@ -48,8 +48,8 @@ public class LogisticsTurnover extends Model { /** * 周转人员员工号 */ - @TableField("USER") - private String user; + @TableField("USER_ID") + private String userId; /** * 周转人员名称 */ @@ -106,14 +106,17 @@ public class LogisticsTurnover extends Model { private String other5; @TableField("OTHER6") private String other6; + private String nextWorkCenter; + public String getNextWorkCenter() { + return nextWorkCenter; + } + public void setNextWorkCenter(String nextWorkCenter) { + this.nextWorkCenter = nextWorkCenter; + } - - - - - public String getHandle() { + public String getHandle() { return handle; } @@ -145,12 +148,12 @@ public class LogisticsTurnover extends Model { this.createdDateTime = createdDateTime; } - public String getUser() { - return user; + public String getuserId() { + return userId; } - public void setUser(String user) { - this.user = user; + public void setuserId(String userId) { + this.userId = userId; } public String getUserName() { @@ -306,7 +309,7 @@ public static final String OTHER6 = "OTHER6"; ", sfcDispatchBo = " + sfcDispatchBo + ", status = " + status + ", createdDateTime = " + createdDateTime + - ", user = " + user + + ", userId = " + userId + ", userName = " + userName + ", other1 = " + other1 + ", other2 = " + other2 + diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/LogisticsTurnoverService.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/LogisticsTurnoverService.java index b63bf335..c3bce2d2 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/LogisticsTurnoverService.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/LogisticsTurnoverService.java @@ -2,9 +2,9 @@ package com.foreverwin.mesnac.meapi.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.foreverwin.mesnac.meapi.dto.LogisticsDto; +import com.foreverwin.mesnac.meapi.model.Location; import com.foreverwin.mesnac.meapi.model.LogisticsTurnover; import com.baomidou.mybatisplus.extension.service.IService; -import com.foreverwin.mesnac.meapi.model.StoreSfcInfo; import com.foreverwin.modular.core.util.FrontPage; import java.util.List; @@ -37,7 +37,7 @@ public interface LogisticsTurnoverService extends IService { List selectlogisticsturnoverlist(LogisticsDto logisticsDto); - StoreSfcInfo storeSelectSfc(String sfc); + Boolean Receivelogistics(StringBuffer message, List logisticsDtoList); - String submentInStore(String sfc, double qty, int inStoreType, String user,String storeLocation); + boolean updateLogistics(List logisticsDtoList, Location lt,StringBuffer message, String transportno, String user, String username); } \ No newline at end of file diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/NwaUserService.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/NwaUserService.java index 8d6322f9..9003e29a 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/NwaUserService.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/NwaUserService.java @@ -28,6 +28,8 @@ public interface NwaUserService extends IService { NwaUser findUserByUserName(String id); + NwaUser AndroidLogin(String id); + List findAllUser(String site); diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/LogisticsTurnoverServiceImpl.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/LogisticsTurnoverServiceImpl.java index 30f338c7..3eb1d8fc 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/LogisticsTurnoverServiceImpl.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/LogisticsTurnoverServiceImpl.java @@ -1,7 +1,10 @@ package com.foreverwin.mesnac.meapi.service.impl; import com.foreverwin.mesnac.meapi.dto.LogisticsDto; -import com.foreverwin.mesnac.meapi.model.StoreSfcInfo; +import com.foreverwin.mesnac.meapi.mapper.LogisticsBillMapper; +import com.foreverwin.mesnac.meapi.model.Location; +import com.foreverwin.mesnac.meapi.model.LogisticsBill; +import com.foreverwin.modular.core.util.CommonMethods; import com.foreverwin.modular.core.util.FrontPage; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -13,6 +16,8 @@ import org.springframework.stereotype.Service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; +import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.List; /** *

@@ -29,6 +34,9 @@ public class LogisticsTurnoverServiceImpl extends ServiceImpl selectPage(FrontPage frontPage, LogisticsTurnover logisticsTurnover) { @@ -65,26 +73,59 @@ public class LogisticsTurnoverServiceImpl extends ServiceImpl logisticsDtoList) { + Boolean flag = true; + int seq = 0; + LogisticsTurnover logisticsTurnover = new LogisticsTurnover(); + List logisticsTurnoverList = new ArrayList<>(); + for (LogisticsDto logisticsDto:logisticsDtoList ) { + if (!logisticsDto.getStatus().equals("COM")) { + flag=false; + message.append(seq++ % 3 == 0 ? "\n" : "| |"); + message.append("SFC[" + logisticsDto.getSfc() + "]未转运完成,不允许车间接收!"); + continue; + } else { + logisticsTurnover.setHandle(logisticsDto.getHandle()); + logisticsTurnover.setIsReceive("Y"); + logisticsTurnover.setOther4(LocalDateTime.now()); + logisticsTurnover.setOther5(CommonMethods.getUser()); + logisticsTurnoverList.add(logisticsTurnover); + } + this.updateById(logisticsTurnover); + } + + return flag; } @Override - public String submentInStore(String sfc, double qty, int inStoreType, String user,String storeLocation) { - int i =logisticsTurnoverMapper.insertRecordInStore(sfc,qty, inStoreType, user,storeLocation); - if (i>0){ - if (inStoreType==0){ - int tag=logisticsTurnoverMapper.countLedgerBySfc(sfc); - if (tag==0){ - logisticsTurnoverMapper.insertRecordLedger(sfc,qty,storeLocation); - }else { - logisticsTurnoverMapper.updateRecordLedger(sfc,qty); - } - } - return "suess"; - }else { - return "error"; - } + public boolean updateLogistics(List logisticsDtoList, Location lt,StringBuffer message, String transportno, String user, String username) { + LogisticsTurnover logisticsTurnover = new LogisticsTurnover(); + LogisticsBill logisticsBill = new LogisticsBill(); + Boolean flag = true; + int seq = 0; + for (LogisticsDto logisticsDto:logisticsDtoList) { + logisticsTurnover.setHandle(logisticsDto.getHandle()); + logisticsTurnover.setStatus("COM"); + logisticsTurnover.setStorageLocation(lt.getLocationCode()); + logisticsTurnover.setComDateTime(LocalDateTime.now()); + logisticsTurnover.setIsReceive("N"); + logisticsTurnover.setuserId(user); + logisticsTurnover.setUserName(username); + logisticsBill.setComTime(LocalDateTime.now()); + logisticsBill.setLogisticsBillNo(transportno); + logisticsBill.setLogisticsBo(logisticsDto.getHandle()); + if (!lt.getWorkCenter().equals(logisticsDto.getNextWorkCenterDes())) { + flag = false; + message.append(seq++ % 3 == 0 ? "\n" : "| |"); + message.append(logisticsDto.getSfc()); + continue; + } else { + logisticsTurnoverMapper.updateById(logisticsTurnover); + logisticsBillMapper.insert(logisticsBill); + } + } + return flag; } + } \ No newline at end of file diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/NwaUserServiceImpl.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/NwaUserServiceImpl.java index 31dbfd18..965ff33d 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/NwaUserServiceImpl.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/NwaUserServiceImpl.java @@ -57,6 +57,11 @@ public class NwaUserServiceImpl extends ServiceImpl impl return nwaUserMapper.findUserByUserName(site, user); } + @Override + public NwaUser AndroidLogin(String id) { + return nwaUserMapper.findUserByUserName("1000", id); + } + @Override public List findAllUser(String site) { return nwaUserMapper.findAllUser(site); diff --git a/meapi/src/main/resources/mapper/LogisticsTurnoverMapper.xml b/meapi/src/main/resources/mapper/LogisticsTurnoverMapper.xml index 3d52c683..ddcd295a 100644 --- a/meapi/src/main/resources/mapper/LogisticsTurnoverMapper.xml +++ b/meapi/src/main/resources/mapper/LogisticsTurnoverMapper.xml @@ -4,40 +4,40 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - HANDLE, SFC_DISPATCH_BO, STATUS, CREATED_DATE_TIME, USER, USER_NAME, OTHER1, OTHER2, OTHER3, STORAGE_LOCATION, TURNOVER_WORK_CENTER, COM_DATE_TIME, IS_RECEIVE, TURNOUT_WORKCENTER, TURNOUT_ITEM, OTHER4, OTHER5, OTHER6 + HANDLE, SFC_DISPATCH_BO, STATUS, CREATED_DATE_TIME, USER_ID, USER_NAME, OTHER1, OTHER2, OTHER3, STORAGE_LOCATION, TURNOVER_WORK_CENTER, COM_DATE_TIME, IS_RECEIVE, TURNOUT_WORKCENTER, TURNOUT_ITEM, OTHER4, OTHER5, OTHER6 @@ -46,8 +46,7 @@ @@ -99,29 +97,26 @@ - - HANDLE=#{ew.entity.handle} - - AND SFC_DISPATCH_BO=#{ew.entity.sfcDispatchBo} - AND STATUS=#{ew.entity.status} - AND CREATED_DATE_TIME=#{ew.entity.createdDateTime} - AND USER=#{ew.entity.user} - AND USER_NAME=#{ew.entity.userName} - AND OTHER1=#{ew.entity.other1} - AND OTHER2=#{ew.entity.other2} - AND OTHER3=#{ew.entity.other3} - AND STORAGE_LOCATION=#{ew.entity.storageLocation} - 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} + + HANDLE=#{ew.entity.handle} + + AND SFC_DISPATCH_BO=#{ew.entity.sfcDispatchBo} + AND STATUS=#{ew.entity.status} + AND CREATED_DATE_TIME=#{ew.entity.createdDateTime} + AND USER_ID=#{ew.entity.userId} + AND USER_NAME=#{ew.entity.userName} + AND OTHER1=#{ew.entity.other1} + AND OTHER2=#{ew.entity.other2} + AND OTHER3=#{ew.entity.other3} + AND STORAGE_LOCATION=#{ew.entity.storageLocation} + 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} @@ -134,40 +129,30 @@ - SELECT - - ${ew.sqlSelect} - - - - - FROM Z_LOGISTICS_TURNOVER ZLT + SELECT ${ew.sqlSelect} FROM Z_LOGISTICS_TURNOVER ZLT @@ -302,26 +260,23 @@ HANDLE=#{ew.entity.handle} - AND SFC_DISPATCH_BO=#{ew.entity.sfcDispatchBo} - AND STATUS=#{ew.entity.status} - AND CREATED_DATE_TIME=#{ew.entity.createdDateTime} - AND USER=#{ew.entity.user} - AND USER_NAME=#{ew.entity.userName} - AND OTHER1=#{ew.entity.other1} - AND OTHER2=#{ew.entity.other2} - AND OTHER3=#{ew.entity.other3} - AND STORAGE_LOCATION=#{ew.entity.storageLocation} - 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} + AND SFC_DISPATCH_BO=#{ew.entity.sfcDispatchBo} + AND STATUS=#{ew.entity.status} + AND CREATED_DATE_TIME=#{ew.entity.createdDateTime} + AND USER_ID=#{ew.entity.userId} + AND USER_NAME=#{ew.entity.userName} + AND OTHER1=#{ew.entity.other1} + AND OTHER2=#{ew.entity.other2} + AND OTHER3=#{ew.entity.other3} + AND STORAGE_LOCATION=#{ew.entity.storageLocation} + 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} @@ -334,40 +289,30 @@ SELECT ZLT.HANDLE, + ZLT.TURNOVER_WORK_CENTER NEXT_WORK_CENTER, WCT.DESCRIPTION TURNOVER_WORK_CENTER FROM Z_LOGISTICS_TURNOVER ZLT LEFT JOIN WORK_CENTER WC ON WC.WORK_CENTER = ZLT.TURNOVER_WORK_CENTER LEFT JOIN WORK_CENTER_T WCT ON WC.HANDLE = WCT.WORK_CENTER_BO WHERE - OTHER3=#{InspectionTaskNo} + ZLT.OTHER3=#{InspectionTaskNo} WCT.DESCRIPTION NEXT_WORK_CENTER, @@ -712,7 +625,7 @@ ZLT.CREATED_DATE_TIME - + SELECT distinct + ZLT.HANDLE, + WCT.DESCRIPTION NEXT_WORK_CENTER, + WCT2.DESCRIPTION TURNOUT_WORKCENTER, + 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, + C2.VALUE TEXTURE, + SO.QTY_TO_BUILD, + SO.SHOP_ORDER, + ZL.DESCRIPTION ZL_DESCRIPTION, + ZLT.STATUS, + CASE WHEN ZLT.IS_RECEIVE = 'Y' THEN '已接收' ELSE '未接收' END IS_RECEIVE, + ZNU.FULL_NAME COMFIRM_USER, + ZLT.COM_DATE_TIME, + ZLT.OTHER4 + FROM + Z_LOGISTICS_TURNOVER ZLT + LEFT JOIN Z_NWA_USER ZNU ON ZLT.OTHER5 = ZNU.USER_NAME + LEFT JOIN WORK_CENTER WC ON WC.WORK_CENTER = ZLT.TURNOVER_WORK_CENTER + LEFT JOIN WORK_CENTER_T WCT ON WCT.WORK_CENTER_BO = WC.HANDLE + + LEFT JOIN WORK_CENTER WC1 ON WC1.WORK_CENTER = ZLT.TURNOUT_WORKCENTER + LEFT JOIN WORK_CENTER_T WCT2 ON WCT2.WORK_CENTER_BO = WC1.HANDLE + + LEFT JOIN Z_SFC_DISPATCH ZSD ON ZLT.SFC_DISPATCH_BO = ZSD.HANDLE + LEFT JOIN OPERATION O1 ON O1.OPERATION = ZSD.OPERATION + LEFT JOIN OPERATION_T OT1 ON OT1.OPERATION_BO = O1.HANDLE + LEFT JOIN OPERATION O ON O.OPERATION = ZLT.OTHER1 + LEFT JOIN OPERATION_T OT ON OT.OPERATION_BO = O.HANDLE + LEFT JOIN Z_LOCATION ZL ON ZL.LOCATION_CODE = ZLT.STORAGE_LOCATION + INNER JOIN SHOP_ORDER SO ON SO.SITE = ZSD.SITE + AND SO.SHOP_ORDER = ZSD.SHOP_ORDER + LEFT JOIN CUSTOM_FIELDS C1 ON C1.HANDLE = SO.HANDLE + AND C1."ATTRIBUTE" = 'WORK_ORDER' + INNER JOIN ITEM IM ON IM.HANDLE = SO.ITEM_BO + LEFT JOIN CUSTOM_FIELDS C2 ON C2.HANDLE = IM.HANDLE AND C2.ATTRIBUTE = 'TEXTTURE' + LEFT JOIN ITEM_T IT ON IT.ITEM_BO = IM.HANDLE + AND IT.LOCALE = 'zh' + INNER JOIN OPERATION O ON O.SITE = ZSD.SITE + AND O.OPERATION = ZSD.OPERATION + AND O.CURRENT_REVISION = 'true' + LEFT JOIN OPERATION_T OT ON OT.OPERATION_BO = O.HANDLE + AND OT.LOCALE = 'zh' - AND STATUS=#{status} - AND TURNOVER_WORK_CENTER=#{nextWorkCenter} - AND IS_RECEIVE=#{isReceive} - AND TURNOUT_ITEM=#{turnoutItem} - AND IT.DESCRIPTION LIKE '%'||#{itemDescription}||'%' - AND C1.VALUE LIKE '%'||#{workOrder}||'%' + AND STATUS=#{status} + AND TURNOUT_WORKCENTER=#{turnoutWorkcenter} + AND TURNOVER_WORK_CENTER=#{nextWorkCenter} + AND IS_RECEIVE=#{isReceive} + AND TURNOUT_ITEM=#{turnoutItem} + AND IT.DESCRIPTION LIKE '%'||#{itemDescription}||'%' + AND C1.VALUE LIKE '%'||#{workOrder}||'%' + AND SO.SHOP_ORDER=#{shopOrder} + + AND ZLT.COM_DATE_TIME >= TO_DATE(#{startFromDate}, 'YYYY-MM-DD') + + + AND ZLT.COM_DATE_TIME <= TO_DATE(#{startToDate}|| '15:59:59', 'YYYY-MM-DD HH24:MI:SS') + + + AND ZLT.OTHER4 >= TO_DATE(#{completeFromDate}, 'YYYY-MM-DD') + + + AND ZLT.OTHER4 <= TO_DATE(#{completeToDate}|| '15:59:59', 'YYYY-MM-DD HH24:MI:SS') + - - - - - - - - - - - - - - - INSERT INTO WIP.STORE_RECORD_IN (SFC, IN_QTY, STORE_LOCATION, WORK_USER, IN_TYPE) - VALUES (#{sfc}, #{qty}, #{storeLocation}, #{user}, #{inStoreType}) - - - - - INSERT INTO WIP.STORE_RECORD_LEDGER (SFC, IN_QTY, STORE_LOCATION) VALUES (#{sfc}, #{qty}, #{storeLocation}) - - - update WIP.STORE_RECORD_LEDGER set IN_QTY=IN_QTY+#{qty} where SFC=#{sfc} - diff --git a/production/src/main/java/com/foreverwin/mesnac/production/controller/PodTemplateController.java b/production/src/main/java/com/foreverwin/mesnac/production/controller/PodTemplateController.java index f28c50be..98e96bae 100644 --- a/production/src/main/java/com/foreverwin/mesnac/production/controller/PodTemplateController.java +++ b/production/src/main/java/com/foreverwin/mesnac/production/controller/PodTemplateController.java @@ -66,7 +66,6 @@ public class PodTemplateController { //通过SFC+StepID获取检验信息 - LogisticsDto result; Map paramMap=new HashMap(); paramMap.put("site",site); 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 e1efcac1..d48f6cac 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 @@ -123,6 +123,8 @@ public class PodTemplateServiceImpl implements PodTemplateService { + + @Override public Map resrceEnter(WorkCenterDto workCenterDto) { String site = CommonMethods.getSite(); @@ -318,6 +320,7 @@ public class PodTemplateServiceImpl implements PodTemplateService { } //更改派工单状态 sfcDispatchCommonService.updateSfcDispatchStatus(site, CommonMethods.getUser(), dispatchNo, DispatchStatusEnum.START.getCode(),null); + return; } } try { @@ -333,6 +336,7 @@ public class PodTemplateServiceImpl implements PodTemplateService { @Override public String sfcComplete(SfcDto sfcDto, String resrce,String shoporder) { String site = CommonMethods.getSite(); + String operation = sfcDto.getOperation(); Operation currentRevisionRef = operationService.getCurrentRevisionRef(site, operation); String sfc = sfcDto.getSfc(); @@ -459,16 +463,94 @@ public class PodTemplateServiceImpl implements PodTemplateService { } try { + + sfcCrossService.completeAction(site, currentRevisionRef.getHandle(), resrce, sfcServiceById.getHandle(), qty); //更改派工单状态 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)); + queryWrapper.like(SfcDispatch.ROUTER_BO,sfcDispatchById.getRouterBo()); + + Map mapparam=new HashMap(); + mapparam.put("site",site); + mapparam.put("sfc",sfcDispatchById.getSfc()); + mapparam.put("shopOrder",sfcDispatchById.getShopOrder()); + mapparam.put("dispatchSeq",String.valueOf(Integer.parseInt(sfcDispatchById.getDispatchSeq())+1)); + + + + List sfcDispatchDtoList=sfcDispatchService.findSfcDispatchList(mapparam); SfcDispatch sfcDispatch=sfcDispatchService.getOne(queryWrapper); + /** + * 如果下道工序为检验工序或者检入工序,1、先判断工序派工情况 + */ +// if (sfcDispatch!=null && (sfcDispatch.getOperation().equals("HJ_6106JYGX")||sfcDispatch!=null && sfcDispatch.getOperation().equals("HJ_6106JRGX"))){ +// //如果为发布状态,SFC直接开始 000100426532 +// String user = CommonMethods.getUser(); + +// boolean flag=false; +// List sfcDtoList=new ArrayList<>(); +// Map map = new HashMap<>(); +// if (sfcDispatch.getDispatchStatus().equals(DispatchStatusEnum.RELEASE.getCode())){ +// SfcDto nextSfcDispatch = new SfcDto(); +// nextSfcDispatch.setOperation(sfcDispatch.getOperation()); +// nextSfcDispatch.setSfc(sfcDispatch.getSfc()); +// nextSfcDispatch.setStepId(sfcDispatch.getStepId()); +// nextSfcDispatch.setDispatchNo(sfcDispatch.getDispatchNo()); +// sfcDtoList.add(nextSfcDispatch); +// map.put("resrce",sfcDispatch.getResrce()); +// map.put("sfcDtoList",sfcDtoList); +// flag=true; +// } + //检验工序取消 +// if (sfcDispatch.getOperation().equals("HJ_6106JYGX") && !sfcDispatchDtoList.isEmpty()){ +// sfcDispatchService.cancel(user,sfcDispatchDtoList); +//// sfcDispatchDtoList.get(0).setResrce("JYGX0001"); +//// sfcDispatchDtoList.get(0).setResourceType("HJ_6106JYGX"); +//// sfcDispatchDtoList.get(0).setEmployee("检验"); +//// sfcDispatchDtoList.get(0).setEmployeeDescription("检验"); +//// sfcDispatchDtoList.get(0).setModifiedDateTime(LocalDateTime.now()); +//// sfcDispatchDtoList.get(0).setModifyUser("site_admin"); +//// StringBuffer message = new StringBuffer(); +//// SfcDto nextSfcDispatch = new SfcDto(); +//// nextSfcDispatch.setHandle(sfcDispatch.getHandle()); +//// nextSfcDispatch.setResrce("JYGX0001"); +//// nextSfcDispatch.setOperation(sfcDispatch.getOperation()); +//// nextSfcDispatch.setSfc(sfcDispatch.getSfc()); +//// nextSfcDispatch.setStepId(sfcDispatch.getStepId()); +//// nextSfcDispatch.setDispatchNo(sfcDispatch.getDispatchNo()); +//// sfcDtoList.add(nextSfcDispatch); +//// map.put("resrce","JYGX0001"); +//// map.put("sfcDtoList",sfcDtoList); +//// flag = sfcDispatchService.releaseDispatch(site,"site_admin",message,sfcDispatchDtoList); +// +// } + //检入工序取消且触发报工 +// else if (sfcDispatch.getOperation().equals("HJ_6106JRGX")){ +// sfcDispatchService.cancel(user,sfcDispatchDtoList); +// sendErp(sfcDispatch.getSfc(), sfcDispatch.getStepId(), qty, BigDecimal.ZERO, BigDecimal.ZERO); +//// sfcDispatchDtoList.get(0).setResrce("JRGX0001"); +//// sfcDispatchDtoList.get(0).setResourceType("HJ_6106JYGX"); +//// sfcDispatchDtoList.get(0).setEmployee("检入"); +//// sfcDispatchDtoList.get(0).setEmployeeDescription("检入"); +//// sfcDispatchDtoList.get(0).setModifiedDateTime(LocalDateTime.now()); +//// sfcDispatchDtoList.get(0).setModifyUser("site_admin"); +//// StringBuffer message = new StringBuffer(); +// //flag = sfcDispatchService.releaseDispatch(site,"site_admin",message,sfcDispatchDtoList); +// } +// if (flag){ +// /** +// * 发布成功后 +// */ +// +// sfcStart(map); +// } + +// } // if (sfcDispatch!=null && sfcDispatch.getOperation().equals("HJ_6106JYGX")){ // Operation nextcurrentRevisionRef = operationService.getCurrentRevisionRef(site, sfcDispatch.getOperation()); // BigDecimal workHours=BigDecimal.ZERO; @@ -546,7 +628,7 @@ public class PodTemplateServiceImpl implements PodTemplateService { String accessoryType = BomComponentDto.getAccessoryType(); String componentGbo = BomComponentDto.getComponentGbo(); Item currentReversionItem = itemService.selectCurrent(site, StringUtil.trimHandle(componentGbo)); - //消耗辅料类型为空或null + //消耗辅料类型为空或nullhengji if ((accessoryType == null || accessoryType.equals("0")) && stepId.equals(BomComponentDto.getStepId())) { //查询设备上的料 QueryWrapper wrapper = new QueryWrapper<>(); @@ -709,8 +791,6 @@ public class PodTemplateServiceImpl implements PodTemplateService { String sfc = (String) paramMap.get("sfc"); String site = (String) paramMap.get("site"); - - //校验产品条码是否存在 Sfc sfcById = sfcService.getById(HandleEnum.SFC.getHandle(site, sfc)); if (sfcById == null) { @@ -720,18 +800,18 @@ public class PodTemplateServiceImpl implements PodTemplateService { //当前工序 SfcDispatchDto dispatchDto=sfcDispatchCommonService.findNewtistSfcDispatchBySfc(sfc); - Operation operationBySfcBo = commonService.getOperationBySfcBo(sfcById.getHandle()); - QueryWrapper queryWrapper = new QueryWrapper<>(); + QueryWrapper queryWrapper = new QueryWrapper<>(); InspectionTask inspectionTask=new InspectionTask(); inspectionTask.setSfc(sfc); inspectionTask.setStepId(dispatchDto.getStepId()); + queryWrapper.setEntity(inspectionTask); + InspectionTask inspectionTaskServiceOne=inspectionTaskService.getOne(queryWrapper); paramMap.put("HANDLE",inspectionTaskServiceOne.getSfcDispatchBo()); LogisticsDto logisticsDto=new LogisticsDto(); - List list = sfcDispatchMapper.findSfcDispatchList(paramMap); LogisticsTurnover logisticsTurnover=logisticsTurnoverService.queryNewtistTurnoverTask(inspectionTaskServiceOne.getHandle()); if (!list.isEmpty()){ @@ -739,6 +819,7 @@ public class PodTemplateServiceImpl implements PodTemplateService { logisticsDto.setItemDescription(list.get(0).getItemDescription()); logisticsDto.setSfc(sfc); logisticsDto.setNextWorkCenter(logisticsTurnover.getTurnoverWorkCenter()); + logisticsDto.setNextWorkCenterDes(logisticsTurnover.getNextWorkCenter()); } //转运任务 return logisticsDto; diff --git a/quality/src/main/java/com/foreverwin/mesnac/quality/controller/InspectionTaskManageController.java b/quality/src/main/java/com/foreverwin/mesnac/quality/controller/InspectionTaskManageController.java index 64ff0502..0b02beaf 100644 --- a/quality/src/main/java/com/foreverwin/mesnac/quality/controller/InspectionTaskManageController.java +++ b/quality/src/main/java/com/foreverwin/mesnac/quality/controller/InspectionTaskManageController.java @@ -86,7 +86,7 @@ public class InspectionTaskManageController { @ResponseBody @PostMapping("/saveInspectionTaskDetail") - public R saveInspectionTaskDetail(@RequestBody InspectionTaskManage inspectionTaskManage) { + public R saveInspectionTaskDetail(@RequestBody InspectionTaskManage inspectionTaskManage ) { try { String site = CommonMethods.getSite(); String user = CommonMethods.getUser(); diff --git a/quality/src/main/java/com/foreverwin/mesnac/quality/dto/InspectionTaskManageRequest.java b/quality/src/main/java/com/foreverwin/mesnac/quality/dto/InspectionTaskManageRequest.java index cd02f89b..ec58cd15 100644 --- a/quality/src/main/java/com/foreverwin/mesnac/quality/dto/InspectionTaskManageRequest.java +++ b/quality/src/main/java/com/foreverwin/mesnac/quality/dto/InspectionTaskManageRequest.java @@ -23,6 +23,15 @@ public class InspectionTaskManageRequest implements Serializable { private Date dateFrom; private Date dateTo; private String result; + private String sfcdispatchBo; + + public String getSfcdispatchBo() { + return sfcdispatchBo; + } + + public void setSfcdispatchBo(String sfcdispatchBo) { + this.sfcdispatchBo = sfcdispatchBo; + } public String getResult() { return result; diff --git a/quality/src/main/java/com/foreverwin/mesnac/quality/model/InspectionTaskManage.java b/quality/src/main/java/com/foreverwin/mesnac/quality/model/InspectionTaskManage.java index c5276b6e..5f162390 100644 --- a/quality/src/main/java/com/foreverwin/mesnac/quality/model/InspectionTaskManage.java +++ b/quality/src/main/java/com/foreverwin/mesnac/quality/model/InspectionTaskManage.java @@ -36,6 +36,28 @@ public class InspectionTaskManage implements Serializable { private String dispatchUser; private String sfcdispatchBo; private String ncQty; + private String questionC; + private String itemBo; + + + + + + public String getItemBo() { + return itemBo; + } + + public void setItemBo(String itemBo) { + this.itemBo = itemBo; + } + + public String getQuestionC() { + return questionC; + } + + public void setQuestionC(String questionC) { + this.questionC = questionC; + } public String getNcQty() { return ncQty; @@ -278,4 +300,5 @@ public class InspectionTaskManage implements Serializable { public void setDispatchUser(String dispatchUser) { this.dispatchUser = dispatchUser; } + } 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 4e04e642..57d775f5 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 @@ -3,6 +3,7 @@ package com.foreverwin.mesnac.quality.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.foreverwin.mesnac.common.constant.Constants; import com.foreverwin.mesnac.common.constant.IntegrationTypeConstant; +import com.foreverwin.mesnac.common.dto.SfcDispatchDto; import com.foreverwin.mesnac.common.enums.HandleEnum; import com.foreverwin.mesnac.common.model.InspectionTask; import com.foreverwin.mesnac.common.model.InspectionTaskDetail; @@ -15,13 +16,18 @@ import com.foreverwin.mesnac.common.util.StringUtil; import com.foreverwin.mesnac.dispatch.model.SfcDispatch; import com.foreverwin.mesnac.dispatch.service.SfcDispatchService; import com.foreverwin.mesnac.meapi.model.LogisticsTurnover; +import com.foreverwin.mesnac.meapi.model.Router; import com.foreverwin.mesnac.meapi.service.LogisticsTurnoverService; +import com.foreverwin.mesnac.meapi.service.RouterService; import com.foreverwin.mesnac.quality.dto.InspectionTaskManageRequest; import com.foreverwin.mesnac.quality.mapper.InspectionTaskManageMapper; import com.foreverwin.mesnac.quality.model.InspectionTaskManageDetail; import com.foreverwin.mesnac.quality.model.InspectionTaskManage; import com.foreverwin.mesnac.quality.service.InspectionTaskManageService; import com.foreverwin.modular.core.exception.BusinessException; +import com.foreverwin.modular.core.util.CommonMethods; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -30,9 +36,7 @@ import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; +import java.util.*; @Service @Transactional(rollbackFor = Exception.class) @@ -49,7 +53,9 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ @Autowired private LogisticsTurnoverService logisticsTurnoverService; @Autowired - private IntegrationLogService integrationLogService; + private RouterService routerService; + + private static Logger logger = LoggerFactory.getLogger(InspectionTaskManageServiceImpl.class); @Override @@ -141,7 +147,6 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ throw BusinessException.build("检验任务【"+taskNo+"】有检验项目,不允许执行合格操作"); } - //修改数据 InspectionTask inspectionTask = new InspectionTask(); inspectionTask.setHandle(request.getHandle()); @@ -150,12 +155,74 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ inspectionTask.setModifyUser(user); inspectionTask.setModifiedDateTime(dateTime); inspectionTaskList.add(inspectionTask); - } + + //质检合格后判断下道工序是否需要跨车间转运,如果是则生成转运待办任务 + + /** + * 1、先查询派工表(Z_SFC_DISPATCH)里的派工数据 + * 2、根据派工表里的派工序号查找下道工序 + * 3、如果两个工作中心不一样,就会生成转运待办任务 + */ + + SfcDispatch sfcDispatchById = sfcDispatchService.getById(request.getSfcdispatchBo()); + Router router = routerService.getById(sfcDispatchById.getRouterBo()); + if (!router.getRouterType().equals("C")){ + //找下道工序 (返修工序除外) + 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 nextsfcDispatch=sfcDispatchService.getOne(queryWrapper); + //判断下道工序是否为空 + if (nextsfcDispatch!=null && !nextsfcDispatch.getOperation().equals("HJ_6106JYGX") && !nextsfcDispatch.getOperation().equals("HJ_6106JRGX")){ + logger.info("质检工序合格"+sfcDispatchById.getOperation()+"的下道工序不为空,下道工序为"+nextsfcDispatch.getOperation()); + //如果不等于空,判断下道工序的工作中心和质检完的工作中心是否一致 + if (!sfcDispatchById.getWorkCenter().equals(nextsfcDispatch.getWorkCenter())){ + logger.info("下道工序和质检工序的工作中心不相同"); + //如果不相等的话 插入周转任务表 + LogisticsTurnover logisticsTurnover=new LogisticsTurnover(); + logisticsTurnover.setHandle("LogisticsBO:1000"+","+UUID.randomUUID().toString()); + logisticsTurnover.setSfcDispatchBo(request.getSfcdispatchBo()); + logisticsTurnover.setStatus(Constants.LOGISTICS_NEW); + logisticsTurnover.setCreatedDateTime(LocalDateTime.now()); + logisticsTurnover.setOther1(nextsfcDispatch.getOperation()); + logisticsTurnover.setOther2(sfcDispatchById.getStepId()); + logisticsTurnover.setOther3(request.getHandle()); + logisticsTurnover.setIsReceive("N"); + logisticsTurnover.setTurnoverWorkCenter(nextsfcDispatch.getWorkCenter()); + logisticsTurnover.setTurnoutItem(request.getItem()); + logisticsTurnover.setTurnoutWorkcenter(sfcDispatchById.getWorkCenter()); + try { + logisticsTurnoverService.save(logisticsTurnover); + }catch (Exception e){ + logger.error("周转任务表插入出错"+e.getMessage()); + } + } + }else if (Constants.RK.equals(sfcDispatchById.getOther2())){ + //如果为空值 则判断下道工序的入库标识是否入库 + LogisticsTurnover logisticsTurnover=new LogisticsTurnover(); + logisticsTurnover.setHandle("LogisticsBO:1000"+","+UUID.randomUUID().toString()); + logisticsTurnover.setSfcDispatchBo(request.getSfcdispatchBo()); + logisticsTurnover.setStatus(Constants.LOGISTICS_NEW); + logisticsTurnover.setCreatedDateTime(LocalDateTime.now()); + logisticsTurnover.setOther2(sfcDispatchById.getStepId()); + logisticsTurnover.setOther3(request.getHandle()); + logisticsTurnover.setIsReceive("N"); + logisticsTurnover.setTurnoverWorkCenter("BCP"); + logisticsTurnover.setTurnoutItem(request.getItem()); + logisticsTurnover.setTurnoutWorkcenter(sfcDispatchById.getWorkCenter()); + logisticsTurnoverService.save(logisticsTurnover); + } + } + + } if (inspectionTaskList != null && inspectionTaskList.size() > 0) { inspectionTaskService.updateBatchById(inspectionTaskList); } + + } @Override @@ -205,13 +272,6 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ throw BusinessException.build("检验任务【" +taskNo+ "】不是【新建|检验中】,不允许操作!"); } - inspectionTaskModel.setStatus("SAVE".equals(type) ? Constants.INSPECTION_TASK_STATUS_DOING : Constants.INSPECTION_TASK_STATUS_COMPLETE); - inspectionTaskModel.setResult(result); - inspectionTaskModel.setComments(inspectionTaskManage.getComments()); - inspectionTaskModel.setModifyUser(user); - inspectionTaskModel.setModifiedDateTime(dateTime); - inspectionTaskService.updateById(inspectionTaskModel); - //质检合格后判断下道工序是否需要跨车间转运,如果是则生成转运待办任务 if("OK".equals(result)){ /** @@ -220,66 +280,71 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ * 3、如果两个工作中心不一样,就会生成转运待办任务 */ - SfcDispatch sfcDispatchById = sfcDispatchService.getById(inspectionTaskManage.getSfcdispatchBo()); - - 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&&!sfcDispatchById.getWorkCenter().equals(sfcDispatch.getWorkCenter())){ - - IntegrationLog log = new IntegrationLog(); - log.setHandle(UUID.randomUUID().toString()); - log.setSite(site); - log.setIntegrationType("LOGISTICS"); - log.setCategory("RESPONSE"); - log.setIntegrationWay("LOGISTICS"); - log.setIntegrationMethod("InterfaceService.LOGISTICS"); - log.setParam(sfcDispatch.toString()); - log.setStatus("SUCCESS"); - log.setResultMessage("SUCCESS"); - log.setCreatedDateTime(LocalDateTime.now()); - integrationLogService.saveIntegrationLog(log); - - - //生成周转任务的同时发送消息提示到手持设备 - 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(sfcDispatch.getOperation()); - 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); - } - } + SfcDispatch sfcDispatchById = sfcDispatchService.getById(inspectionTaskManage.getSfcdispatchBo()); + Router router = routerService.getById(sfcDispatchById.getRouterBo()); + if (!router.getRouterType().equals("C")){ + //找下道工序 + 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 nextsfcDispatch=sfcDispatchService.getOne(queryWrapper); + //判断下道工序是否为空 + if (nextsfcDispatch!=null && !nextsfcDispatch.getOperation().equals("HJ_6106JYGX") && !nextsfcDispatch.getOperation().equals("HJ_6106JRGX")){ + logger.info("质检工序合格"+sfcDispatchById.getOperation()+"的下道工序不为空,下道工序为"+nextsfcDispatch.getOperation()); + //如果不等于空,判断下道工序的工作中心和质检完的工作中心是否一致 + if (!sfcDispatchById.getWorkCenter().equals(nextsfcDispatch.getWorkCenter())){ + logger.info("下道工序和质检工序的工作中心不相同"); + //如果不相等的话 插入周转任务表 + 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(nextsfcDispatch.getOperation()); + logisticsTurnover.setOther2(inspectionTaskModel.getStepId()); + logisticsTurnover.setOther3(inspectionTaskModel.getHandle()); + logisticsTurnover.setIsReceive("N"); + logisticsTurnover.setTurnoverWorkCenter(nextsfcDispatch.getWorkCenter()); + logisticsTurnover.setTurnoutItem(inspectionTaskManage.getItem()); + logisticsTurnover.setTurnoutWorkcenter(inspectionTaskManage.getWorkCenter()); + try { + logisticsTurnoverService.save(logisticsTurnover); + }catch (Exception e){ + logger.error("周转任务表插入出错"+e.getMessage()); + } + } + }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.setOther2(inspectionTaskModel.getStepId()); + logisticsTurnover.setOther3(inspectionTaskModel.getHandle()); + logisticsTurnover.setIsReceive("N"); + logisticsTurnover.setTurnoverWorkCenter("BCP"); + logisticsTurnover.setTurnoutItem(inspectionTaskManage.getItem()); + logisticsTurnover.setTurnoutWorkcenter(inspectionTaskManage.getWorkCenter()); + logisticsTurnoverService.save(logisticsTurnover); + } + } } + + + inspectionTaskModel.setStatus("SAVE".equals(type) ? Constants.INSPECTION_TASK_STATUS_DOING : Constants.INSPECTION_TASK_STATUS_COMPLETE); + inspectionTaskModel.setResult(result); + inspectionTaskModel.setComments(inspectionTaskManage.getComments()); + inspectionTaskModel.setModifyUser(user); + inspectionTaskModel.setModifiedDateTime(dateTime); + inspectionTaskService.updateById(inspectionTaskModel); + + + + //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //如果专检不合格,生产新的检验任务 /*if (!Constants.INSPECTION_TYPE_P.equals(category) || !"NG".equals(result) || !"SUBMIT".equals(type)) { @@ -300,4 +365,5 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ newInspectionTask.setModifiedDateTime(dateTime); inspectionTaskService.save(newInspectionTask);*/ } + } diff --git a/quality/src/main/resources/mapper/InspectionTaskManageMapper.xml b/quality/src/main/resources/mapper/InspectionTaskManageMapper.xml index a3efc634..2880e755 100644 --- a/quality/src/main/resources/mapper/InspectionTaskManageMapper.xml +++ b/quality/src/main/resources/mapper/InspectionTaskManageMapper.xml @@ -32,11 +32,13 @@ + +