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 7931782a..f2bd368b 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 @@ -3,13 +3,23 @@ package com.foreverwin.mesnac.anomaly.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.foreverwin.mesnac.anomaly.dto.AbnormalBillDto; +import com.foreverwin.mesnac.anomaly.dto.NcCodesVO; +import com.foreverwin.mesnac.anomaly.dto.RouterBpmVO; import com.foreverwin.mesnac.anomaly.model.AbnormalBill; import com.foreverwin.mesnac.anomaly.model.AbnormalBillDispose; import com.foreverwin.mesnac.anomaly.service.AbnormalBillService; import com.foreverwin.mesnac.anomaly.service.FileUploadedService; +import com.foreverwin.mesnac.anomaly.utils.*; import com.foreverwin.mesnac.common.dto.SfcDispatchDto; +import com.foreverwin.mesnac.common.enums.HandleEnum; import com.foreverwin.mesnac.common.service.SfcDispatchCommonService; +import com.foreverwin.mesnac.common.util.StringUtil; +import com.foreverwin.mesnac.meapi.dto.AbnormalRouterDto; +import com.foreverwin.mesnac.meapi.dto.RouterStepDto; +import com.foreverwin.mesnac.meapi.model.RouterStep; import com.foreverwin.mesnac.meapi.service.NcCodeService; +import com.foreverwin.mesnac.meapi.service.RouterService; +import com.foreverwin.mesnac.meapi.service.RouterStepService; import com.foreverwin.modular.core.util.FrontPage; import com.foreverwin.modular.core.util.R; import com.sap.me.frame.service.CommonMethods; @@ -20,6 +30,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.time.LocalDateTime; import java.util.ArrayList; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -44,6 +55,12 @@ public class AbnormalBillController { @Autowired private NcCodeService ncCodeService; + @Autowired + private RouterService routerService; + + @Autowired + private RouterStepService routerStepService; + /** * 根据id查询 * @@ -320,6 +337,137 @@ public class AbnormalBillController { } + /** + * bpm获取工艺路线 + * @param + * @return + */ + @GetMapping("/getRouting") + public ResultVo getRouting(RouterBpmVO routerBpmVO, String secretKey){ + com.foreverwin.modular.core.util.CommonMethods.setSite("1000"); + com.foreverwin.modular.core.util.CommonMethods.setUser("BPM_USER"); + String site = com.foreverwin.modular.core.util.CommonMethods.getSite(); + if (!yunBpmConfig.secretKey.equals(secretKey)){ + return new ResultVo(ResultCode.FAILED,"秘钥错误"); + } + try{ + AbnormalRouterDto abnormalRouterDto = new AbnormalRouterDto(); + abnormalRouterDto.setSite(site); + abnormalRouterDto.setItem(routerBpmVO.getItem()); + List abnormalRouterDtoList = routerService.selectDisrouter(abnormalRouterDto); + ArrayList routerBpmVOs = new ArrayList<>(); + for (AbnormalRouterDto routerDto : abnormalRouterDtoList) { + RouterBpmVO bpmVO = new RouterBpmVO(); + bpmVO.setAbnormalNo(routerDto.getAbnormalNo()); + bpmVO.setRouter(routerDto.getRouter()); + bpmVO.setRouterType(routerDto.getRouterType()); + bpmVO.setItemDescription(routerDto.getItemDescription()); + bpmVO.setItemRevision(routerDto.getRouterRevision()); + bpmVO.setPbDescription(routerDto.getPbDescription()); + bpmVO.setRouterRevision(routerDto.getRouterRevision()); + bpmVO.setPbDescription(routerDto.getPbDescription()); + bpmVO.setItem(routerDto.getItem()); + bpmVO.setShopOrder(routerBpmVO.getShopOrder()); + bpmVO.setSite(routerDto.getSite()); + RouterStep routerStep = new RouterStep(); + routerStep.setRouterBo(routerDto.getRouterBo()); + List routerOperationByRouterBo = routerStepService.findRouterOperationByRouterBo(site, routerDto.getRouterBo()); + bpmVO.setRouterStep(routerOperationByRouterBo); + routerBpmVOs.add(bpmVO); + } + return new ResultVo(ResultCode.SUCCESS,routerBpmVOs); + }catch(Exception e){ + return new ResultVo(ResultCode.FAILED,R.failed(e.getMessage()).getMsg()); + } + } + + + /** + * bpm售后异常提报 + * @param + * @return + */ + @PostMapping("/bpmAbnormalReport") + public ResultVo bpmAbnormalReport(String secretKey, AbnormalBill abnormalBill, AbnormalBillDispose abnormalBillDispose, + NcCodesVO ncCodesVO){ + com.foreverwin.modular.core.util.CommonMethods.setSite("1000"); + String site = com.foreverwin.modular.core.util.CommonMethods.getSite(); + com.foreverwin.modular.core.util.CommonMethods.setUser("BPM_USER"); + if (!yunBpmConfig.secretKey.equals(secretKey)){ + return new ResultVo(ResultCode.FAILED,"秘钥错误"); + } + try{ + String abnormalNo = abnormalBillService.getNextNumber("Z"); + abnormalBill.setBpmSubmit("true"); + abnormalBill.setAbnormalNo(abnormalNo); + abnormalBill.setStatus("N"); + abnormalBill.setSite(site); + abnormalBill.setType("Z"); + abnormalBill.setReportFrom("J"); + abnormalBill.setItemBo(HandleEnum.ITEM.getHandle(site,abnormalBill.getItemBo(),"A")); + abnormalBill.setReportSendUserGroup("BPM"); + abnormalBillDispose.setSite(site); + com.foreverwin.modular.core.util.CommonMethods.setUser("BPM_USER"); + abnormalBillService.anomalyReport(abnormalBill, abnormalBillDispose, + ncCodesVO.getNcGroupAndNcCodes(), ncCodesVO.getDutyCauseType(), ncCodesVO.getDutyType()); + return new ResultVo(ResultCode.SUCCESS,abnormalBill); + }catch(Exception e){ + return new ResultVo(ResultCode.FAILED,R.failed(e.getMessage()).getMsg()); + } + } + + /** + * bpm方案确认回传mes接口 + * @param + * @return + */ + @PostMapping("/bpmPlanConfirm") + public ResultVo bpmPlanConfirm(String secretKey,AbnormalBill abnormalBill,AbnormalBillDispose abnormalBillDispose){ + com.foreverwin.modular.core.util.CommonMethods.setSite("1000"); + com.foreverwin.modular.core.util.CommonMethods.setUser("BPM_USER"); + String site = com.foreverwin.modular.core.util.CommonMethods.getSite(); + if (!yunBpmConfig.secretKey.equals(secretKey)){ + return new ResultVo(ResultCode.FAILED,"秘钥错误"); + }else if (!StringUtil.isBlank(abnormalBillDispose.getResolveUser())){ + com.foreverwin.modular.core.util.CommonMethods.setUser(abnormalBillDispose.getResolveUser()); + } + + try{ + abnormalBill.setHandle(HandleEnum.ABNORMAL_BILL.getHandle(site,abnormalBill.getAbnormalNo())); + abnormalBill.setBpmSubmit("true"); + abnormalBillService.programConfirm(abnormalBill,abnormalBillDispose); + return new ResultVo(ResultCode.SUCCESS,"BPM方案确认回传成功"); + }catch(Exception e){ + return new ResultVo(ResultCode.FAILED,R.failed(e.getMessage()).getMsg()); + } + } + + /** + * bpm判责提交 + * @param abnormalBill + * @param abnormalBillDispose + * @return + */ + @PostMapping("/bpmDutyConfirm") + public ResultVo bpmDutyConfirm(String secretKey,AbnormalBill abnormalBill, + AbnormalBillDispose abnormalBillDispose,NcCodesVO ncCodesVO){ + com.foreverwin.modular.core.util.CommonMethods.setSite("1000"); + com.foreverwin.modular.core.util.CommonMethods.setUser("BPM_USER"); + String site = com.foreverwin.modular.core.util.CommonMethods.getSite(); + if (!yunBpmConfig.secretKey.equals(secretKey)){ + return new ResultVo(ResultCode.FAILED,"秘钥错误"); + } + try{ + abnormalBill.setHandle(HandleEnum.ABNORMAL_BILL.getHandle(site,abnormalBill.getAbnormalNo())); + abnormalBill.setBpmSubmit("true"); + abnormalBillDispose.setDutyCauseType(String.join(",",ncCodesVO.getDutyCauseType())); + abnormalBillService.dutyConfirm(abnormalBill,abnormalBillDispose,ncCodesVO.getDutyCauseType(),ncCodesVO.getDutyType()); + return new ResultVo(ResultCode.SUCCESS,"BPM判责提交成功"); + }catch(Exception e){ + return new ResultVo(ResultCode.FAILED,R.failed(e.getMessage()).getMsg()); + } + } + /** * 质量异常响应检索 * @param abnormalBill @@ -335,6 +483,7 @@ public class AbnormalBillController { } + } /** * 设备异常响应检索 diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/model/AbnormalBill.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/model/AbnormalBill.java index b956c9da..27b6f193 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/model/AbnormalBill.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/model/AbnormalBill.java @@ -245,6 +245,18 @@ public class AbnormalBill extends Model { @TableField("ITEM_NUMBER") private String itemNumber; + /** + * BPM工作流ID + */ + @TableField(value = "BPM_FLOW_ID") + private String bpmFlowId; + + /** + * BPM提报为true,否则false + */ + @TableField(value = "BPM_SUBMIT") + private String bpmSubmit; + @TableField(exist = false) private String filePath; @@ -254,6 +266,17 @@ public class AbnormalBill extends Model { @TableField(exist = false) private String fileNum; + /** + * 图号 + */ + @TableField(exist = false) + private String mapNo; + + /** + * 物料描述 + */ + @TableField(exist = false) + private String itemDescription; @TableField("USER_CON_TIME") private LocalDateTime userConTime; @TableField("USER_IS_CON") @@ -267,6 +290,38 @@ public class AbnormalBill extends Model { this.userConTime = userConTime; } + + public String getBpmFlowId() { + return bpmFlowId; + } + + public void setBpmFlowId(String bpmFlowId) { + this.bpmFlowId = bpmFlowId; + } + + public String getBpmSubmit() { + return bpmSubmit; + } + + public void setBpmSubmit(String bpmSubmit) { + this.bpmSubmit = bpmSubmit; + } + + public String getItemDescription() { + return itemDescription; + } + + public void setItemDescription(String itemDescription) { + this.itemDescription = itemDescription; + } + + public String getMapNo() { + return mapNo; + } + + public void setMapNo(String mapNo) { + this.mapNo = mapNo; + } public String getUserIsCon() { return userIsCon; } @@ -275,7 +330,7 @@ public class AbnormalBill extends Model { this.userIsCon = userIsCon; } - public String getHandle() { + public String getHandle() { return handle; } 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 58df5ad3..1c86c88f 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 @@ -1,5 +1,6 @@ package com.foreverwin.mesnac.anomaly.service.impl; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -14,6 +15,7 @@ import com.foreverwin.mesnac.anomaly.model.AbnormalBillDispose; import com.foreverwin.mesnac.anomaly.model.AbnormalNcCode; import com.foreverwin.mesnac.anomaly.model.UploadPictures; import com.foreverwin.mesnac.anomaly.service.*; +import com.foreverwin.mesnac.anomaly.utils.YunBpmApiRes; import com.foreverwin.mesnac.common.constant.Constants; import com.foreverwin.mesnac.common.dto.ScrapDto; import com.foreverwin.mesnac.common.dto.SfcDispatchDto; @@ -197,6 +199,9 @@ public class AbnormalBillServiceImpl extends ServiceImpl abnormalNcCodes = new ArrayList<>(); for(int i = 0; i < ncGroup.size(); i ++){ AbnormalNcCode abnormalNcCode = new AbnormalNcCode(); @@ -300,10 +320,11 @@ public class AbnormalBillServiceImpl extends ServiceImplSTEP_ID, WORK_ORDER, ITEM_NUMBER, + BPM_FLOW_ID, + BPM_SUBMIT, VALUES #{handle}, @@ -630,6 +632,8 @@ #{stepId}, #{workOrder}, #{itemNumber}, + #{bpmFlowId}, + #{bpmSubmit}, @@ -732,6 +736,8 @@ STEP_ID=#{et.stepId}, WORK_ORDER=#{et.workOrder}, ITEM_NUMBER=#{et.itemNumber}, + BPM_FLOW_ID=#{et.bpmFlowId}, + BPM_SUBMIT=#{et.bpmSubmit}, USER_CON_TIME=#{et.userConTime}, USER_IS_CON=#{et.userIsCon}, WHERE HANDLE=#{et.handle} and ${et.MP_OPTLOCK_VERSION_COLUMN}=#{et.MP_OPTLOCK_VERSION_ORIGINAL} @@ -979,13 +985,13 @@