From fcb84abe060caea677b007ad2b6a3ec5bcbc8177 Mon Sep 17 00:00:00 2001 From: philip <244793088@qq.com> Date: Mon, 16 Aug 2021 15:50:14 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=B4=BE=E5=B7=A5=E5=8D=95=E5=BC=B9?= =?UTF-8?q?=E5=87=BA=E6=A1=86=E6=A3=80=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SfcDispatchController.java | 39 +++---------------- .../resources/mapper/SfcDispatchMapper.xml | 4 +- 2 files changed, 8 insertions(+), 35 deletions(-) diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/SfcDispatchController.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/SfcDispatchController.java index cc086aec..31524af4 100644 --- a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/SfcDispatchController.java +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/SfcDispatchController.java @@ -1,19 +1,17 @@ package com.foreverwin.mesnac.dispatch.controller; import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.foreverwin.mesnac.common.dto.SfcDispatchDto; import com.foreverwin.mesnac.common.enums.DispatchStatusEnum; import com.foreverwin.mesnac.common.util.StringUtil; -import com.foreverwin.mesnac.dispatch.dto.WorkCenterWorkTimeDTO; -import com.foreverwin.mesnac.dispatch.model.ShopOrderRelease; -import com.foreverwin.modular.core.exception.BusinessException; -import com.foreverwin.modular.core.util.R; -import com.foreverwin.modular.core.util.FrontPage; -import com.foreverwin.modular.core.util.CommonMethods; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; import com.foreverwin.mesnac.dispatch.model.SfcDispatch; import com.foreverwin.mesnac.dispatch.service.SfcDispatchService; +import com.foreverwin.modular.core.exception.BusinessException; +import com.foreverwin.modular.core.util.CommonMethods; +import com.foreverwin.modular.core.util.FrontPage; +import com.foreverwin.modular.core.util.R; import org.apache.ibatis.annotations.Param; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -161,35 +159,10 @@ public class SfcDispatchController { if (frontPage.getGlobalQuery() != null && !"".equals(frontPage.getGlobalQuery().trim())) { //TODO modify global query queryWrapper.lambda().and(wrapper -> wrapper - .like(SfcDispatch::getHandle, frontPage.getGlobalQuery()) - .or().like(SfcDispatch::getSite, frontPage.getGlobalQuery()) .or().like(SfcDispatch::getShopOrder, frontPage.getGlobalQuery()) .or().like(SfcDispatch::getSfc, frontPage.getGlobalQuery()) - .or().like(SfcDispatch::getBlankingSize, frontPage.getGlobalQuery()) - .or().like(SfcDispatch::getDispatchSeq, frontPage.getGlobalQuery()) .or().like(SfcDispatch::getDispatchNo, frontPage.getGlobalQuery()) .or().like(SfcDispatch::getDispatchStatus, frontPage.getGlobalQuery()) - .or().like(SfcDispatch::getDrawingsNo, frontPage.getGlobalQuery()) - .or().like(SfcDispatch::getDrawingsRevision, frontPage.getGlobalQuery()) - .or().like(SfcDispatch::getIsLock, frontPage.getGlobalQuery()) - .or().like(SfcDispatch::getRouterBo, frontPage.getGlobalQuery()) - .or().like(SfcDispatch::getStepId, frontPage.getGlobalQuery()) - .or().like(SfcDispatch::getOperation, frontPage.getGlobalQuery()) - .or().like(SfcDispatch::getResourceType, frontPage.getGlobalQuery()) - .or().like(SfcDispatch::getWorkCenter, frontPage.getGlobalQuery()) - .or().like(SfcDispatch::getResrce, frontPage.getGlobalQuery()) - .or().like(SfcDispatch::getEmployee, frontPage.getGlobalQuery()) - .or().like(SfcDispatch::getTurnOperation, frontPage.getGlobalQuery()) - .or().like(SfcDispatch::getIsDispatch, frontPage.getGlobalQuery()) - .or().like(SfcDispatch::getIsImport, frontPage.getGlobalQuery()) - .or().like(SfcDispatch::getRemark, frontPage.getGlobalQuery()) - .or().like(SfcDispatch::getCreateUser, frontPage.getGlobalQuery()) - .or().like(SfcDispatch::getModifyUser, frontPage.getGlobalQuery()) - .or().like(SfcDispatch::getOther1, frontPage.getGlobalQuery()) - .or().like(SfcDispatch::getOther2, frontPage.getGlobalQuery()) - .or().like(SfcDispatch::getOther3, frontPage.getGlobalQuery()) - .or().like(SfcDispatch::getOther4, frontPage.getGlobalQuery()) - .or().like(SfcDispatch::getOther5, frontPage.getGlobalQuery()) ); } result = sfcDispatchService.page(frontPage.getPagePlus(), queryWrapper); diff --git a/dispatch/src/main/resources/mapper/SfcDispatchMapper.xml b/dispatch/src/main/resources/mapper/SfcDispatchMapper.xml index b4cf9612..cace586f 100644 --- a/dispatch/src/main/resources/mapper/SfcDispatchMapper.xml +++ b/dispatch/src/main/resources/mapper/SfcDispatchMapper.xml @@ -1072,10 +1072,10 @@ UPDATE Z_SFC_DISPATCH SET DISPATCH_STATUS = #{dispatchStatus}, MODIFY_USER = #{modifyUser}, MODIFIED_DATE_TIME = #{modifiedDateTime} - + , ACTUAL_COMPLETE_DATE = #{modifiedDateTime} - + , ACTUAL_START_DATE = #{modifiedDateTime} WHERE SITE = #{site} AND DISPATCH_NO = #{dispatchNo} From 6689e3ce1f5f6739112b46ebf5c939f448965ddb Mon Sep 17 00:00:00 2001 From: philip <244793088@qq.com> Date: Mon, 16 Aug 2021 16:36:11 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E8=87=AA=E6=8A=A5=E4=B8=8D=E8=89=AF?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=98=BE=E7=A4=BA=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PodTemplateController.java | 20 +- .../service/PodTemplateService.java | 6 +- .../service/impl/PodTemplateServiceImpl.java | 226 ++++++++---------- .../mesnac/quality/model/SelfReport.java | 203 +++++++++------- .../service/impl/SelfReportServiceImpl.java | 12 +- .../resources/mapper/SelfReportMapper.xml | 99 ++++---- 6 files changed, 300 insertions(+), 266 deletions(-) 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 04bf6a3b..9f7b5e9f 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 @@ -1,14 +1,19 @@ package com.foreverwin.mesnac.production.controller; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.foreverwin.mesnac.common.util.StringUtil; import com.foreverwin.mesnac.meapi.dto.SfcDto; import com.foreverwin.mesnac.meapi.dto.WorkCenterDto; import com.foreverwin.mesnac.meapi.model.Sfc; import com.foreverwin.mesnac.production.service.PodTemplateService; +import com.foreverwin.modular.core.exception.BaseException; import com.foreverwin.modular.core.util.R; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.util.List; import java.util.Map; @Controller @@ -60,7 +65,20 @@ public class PodTemplateController { @ResponseBody @PostMapping("/sfcComplete") public R sfcComplete(@RequestBody Map map) { - podTemplateService.sfcComplete(map); + List sfcDtoList = (List) map.get("sfcDtoList"); + ObjectMapper mapper = new ObjectMapper(); + sfcDtoList = mapper.convertValue(sfcDtoList, new TypeReference>() { + }); + String resrce = (String) map.get("resrce"); + if (sfcDtoList == null || sfcDtoList.size() < 1) { + throw new BaseException("作业列表不能为空"); + } + if (StringUtil.isBlank(resrce)) { + throw new BaseException("资源不能为空"); + } + for (SfcDto sfcDto : sfcDtoList) { + podTemplateService.sfcComplete(sfcDto,resrce); + } return R.ok(); } diff --git a/production/src/main/java/com/foreverwin/mesnac/production/service/PodTemplateService.java b/production/src/main/java/com/foreverwin/mesnac/production/service/PodTemplateService.java index 1a41a4a6..14cd85eb 100644 --- a/production/src/main/java/com/foreverwin/mesnac/production/service/PodTemplateService.java +++ b/production/src/main/java/com/foreverwin/mesnac/production/service/PodTemplateService.java @@ -4,7 +4,7 @@ import com.foreverwin.mesnac.meapi.dto.SfcDto; import com.foreverwin.mesnac.meapi.dto.WorkCenterDto; import com.foreverwin.mesnac.meapi.model.Sfc; -import java.util.List; +import java.math.BigDecimal; import java.util.Map; public interface PodTemplateService { @@ -16,9 +16,9 @@ public interface PodTemplateService { void sfcStart(Map map); - void sfcComplete(Map map); + void sfcComplete(SfcDto sfcDto, String resrce); - void sendErp(List> mapList); + void sendErp(String sfc, String stepId, BigDecimal qty, BigDecimal scrapQty, BigDecimal workHour); SfcDto getInfoBySfc(Sfc sfc); 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 9760fcc7..54df6b0d 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 @@ -220,10 +220,10 @@ public class PodTemplateServiceImpl implements PodTemplateService { } } //是否完成专检 - QueryWrapper queryWrapper=new QueryWrapper<>(); - queryWrapper.eq(InspectionTask.CATEGORY,Constants.INSPECTION_TYPE_P); - queryWrapper.eq(InspectionTask.SFC,sfc); - queryWrapper.ne(InspectionTask.RESULT,Constants.RSESULT_OK); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(InspectionTask.CATEGORY, Constants.INSPECTION_TYPE_P); + queryWrapper.eq(InspectionTask.SFC, sfc); + queryWrapper.ne(InspectionTask.RESULT, Constants.RSESULT_OK); List list = inspectionTaskService.list(queryWrapper); if (!list.isEmpty()) { throw new BaseException("请完成专检检验任务"); @@ -240,99 +240,79 @@ public class PodTemplateServiceImpl implements PodTemplateService { } @Override - public void sfcComplete(Map map) { - List sfcDtoList = (List) map.get("sfcDtoList"); - ObjectMapper mapper = new ObjectMapper(); - sfcDtoList = mapper.convertValue(sfcDtoList, new TypeReference>() {}); - List> postMapList=new ArrayList<>(); - String resrce = (String) map.get("resrce"); - if (sfcDtoList == null || sfcDtoList.size() < 1) { - throw new BaseException("作业列表不能为空"); - } - if (StringUtil.isBlank(resrce)) { - throw new BaseException("资源不能为空"); - } - for (SfcDto sfcDto:sfcDtoList){ - Map postMap=new HashMap<>(); - String site = CommonMethods.getSite(); - String operation = sfcDto.getOperation(); - Operation currentRevisionRef = operationService.getCurrentRevisionRef(site, operation); - String sfc = sfcDto.getSfc(); - String stepId = sfcDto.getStepId(); + public void sfcComplete(SfcDto sfcDto, String resrce) { + String site = CommonMethods.getSite(); + String operation = sfcDto.getOperation(); + Operation currentRevisionRef = operationService.getCurrentRevisionRef(site, operation); + String sfc = sfcDto.getSfc(); + String stepId = sfcDto.getStepId(); - String dispatchNo = sfcDto.getDispatchNo(); - Sfc sfcServiceById = sfcService.getById(HandleEnum.SFC.getHandle(site, sfc)); - BigDecimal qty = new BigDecimal(sfcServiceById.getQty().toString()); - //是否有自检检验项目 - List inspectionItemDetails = inspectionItemService.selectQualityInspection(sfc, operation, stepId, Constants.INSPECTION_TYPE_Z); - if (inspectionItemDetails.size() > 0 && inspectionItemDetails.get(0) != null) { - //是否有自检检验任务 - InspectionTask createTask = inspectionTaskService.isCreateTask(site, Constants.INSPECTION_TYPE_Z, sfc, operation, stepId); - if (createTask == null || !createTask.getStatus().equals(Constants.INSPECTION_TASK_STATUS_COMPLETE)) { - throw new BaseException("请完成自检检验任务"); - } - if (!createTask.getResult().equals(Constants.RSESULT_OK)) { - throw new BaseException("自检任务不合格,不能完成请检查"); - } + String dispatchNo = sfcDto.getDispatchNo(); + Sfc sfcServiceById = sfcService.getById(HandleEnum.SFC.getHandle(site, sfc)); + BigDecimal qty = new BigDecimal(sfcServiceById.getQty().toString()); + //是否有自检检验项目 + List inspectionItemDetails = inspectionItemService.selectQualityInspection(sfc, operation, stepId, Constants.INSPECTION_TYPE_Z); + if (inspectionItemDetails.size() > 0 && inspectionItemDetails.get(0) != null) { + //是否有自检检验任务 + InspectionTask createTask = inspectionTaskService.isCreateTask(site, Constants.INSPECTION_TYPE_Z, sfc, operation, stepId); + if (createTask == null || !createTask.getStatus().equals(Constants.INSPECTION_TASK_STATUS_COMPLETE)) { + throw new BaseException("请完成自检检验任务"); } - //是否装配完成 - List> assembleList = sfcDataAssembleMapper.querySfcAssemble(HandleEnum.SFC_DISPATCH.getHandle(site,dispatchNo)); - if (assembleList!=null&&assembleList.size()>0){ - for (Map objectMap:assembleList){ - String isAssemble= (String) objectMap.get("IS_ASSEMBLE"); - if (!isAssemble.equals("GREEN")){ - throw new BaseException("未装配完成"); - } - } + if (!createTask.getResult().equals(Constants.RSESULT_OK)) { + throw new BaseException("自检任务不合格,不能完成请检查"); } - //物料消耗 - materialConsumption(site, operation, HandleEnum.SFC.getHandle(site, sfc), stepId, resrce); - try { - //专检创建 - Map paramMap=new HashMap<>(); - paramMap.put("SFC",sfc); - paramMap.put("SHOP_ORDER",StringUtil.trimHandle(sfcServiceById.getShopOrderBo())); - paramMap.put("OPERATION",operation); - paramMap.put("STEP_ID",stepId); - String workShopBo = commonService.getWorkShopBo(HandleEnum.RESOURCE.getHandle(site, resrce)); - paramMap.put("WORK_CENTER",StringUtil.trimHandle(workShopBo)); - paramMap.put("RESRCE",resrce); - paramMap.put("SFC_DISPATCH_DETAIL_BO",HandleEnum.SFC_DISPATCH.getHandle(site,dispatchNo)); - - inspectionItemDetails = inspectionItemService.selectQualityInspection(sfc,operation, stepId, Constants.INSPECTION_TYPE_P); - if (inspectionItemDetails.size() > 0 && inspectionItemDetails.get(0) != null) { - paramMap.put("CATEGORY",Constants.INSPECTION_TYPE_P); - inspectionTaskService.createTask(paramMap); - }else { - paramMap.put("CATEGORY",Constants.INSPECTION_TYPE_P); - inspectionTaskService.createCompleteTask(paramMap); - } - //首件创建 - inspectionItemDetails = inspectionItemService.selectQualityInspection(sfc,operation, stepId, Constants.INSPECTION_TYPE_S); - if (inspectionItemDetails.size() > 0 && inspectionItemDetails.get(0) != null) { - paramMap.put("CATEGORY",Constants.INSPECTION_TYPE_S); - inspectionTaskService.createTask(paramMap); + } + //是否装配完成 + List> assembleList = sfcDataAssembleMapper.querySfcAssemble(HandleEnum.SFC_DISPATCH.getHandle(site, dispatchNo)); + if (assembleList != null && assembleList.size() > 0) { + for (Map objectMap : assembleList) { + String isAssemble = (String) objectMap.get("IS_ASSEMBLE"); + if (!isAssemble.equals("GREEN")) { + throw new BaseException("未装配完成"); } - //计算工时 - LocalDateTime startTime = sfcService.getSfcStartTime(HandleEnum.SFC.getHandle(site, sfc)); - long workHourSeconds = Duration.between(startTime, LocalDateTime.now()).getSeconds(); - BigDecimal workHour = new BigDecimal(workHourSeconds).divide(BigDecimal.valueOf(3600), 2, RoundingMode.HALF_UP); - postMap.put("sfc",sfc); - postMap.put("stepId",stepId); - postMap.put("qty",qty); - postMap.put("scrapQty",BigDecimal.ZERO); - postMap.put("workHour",workHour); - postMapList.add(postMap); - sfcCrossService.completeAction(site, currentRevisionRef.getHandle(), resrce, sfcServiceById.getHandle(), qty); - //更改派工单状态 - sfcDispatchCommonService.updateSfcDispatchStatus(site, CommonMethods.getUser(), dispatchNo, DispatchStatusEnum.COMPLETE.getCode()); + } + } + //物料消耗 + materialConsumption(site, operation, HandleEnum.SFC.getHandle(site, sfc), stepId, resrce); + try { + //专检创建 + Map paramMap = new HashMap<>(); + paramMap.put("SFC", sfc); + paramMap.put("SHOP_ORDER", StringUtil.trimHandle(sfcServiceById.getShopOrderBo())); + paramMap.put("OPERATION", operation); + paramMap.put("STEP_ID", stepId); + String workShopBo = commonService.getWorkShopBo(HandleEnum.RESOURCE.getHandle(site, resrce)); + paramMap.put("WORK_CENTER", StringUtil.trimHandle(workShopBo)); + paramMap.put("RESRCE", resrce); + paramMap.put("SFC_DISPATCH_DETAIL_BO", HandleEnum.SFC_DISPATCH.getHandle(site, dispatchNo)); - } catch (Exception e) { - ExceptionUtil.throwException(e); + inspectionItemDetails = inspectionItemService.selectQualityInspection(sfc, operation, stepId, Constants.INSPECTION_TYPE_P); + if (inspectionItemDetails.size() > 0 && inspectionItemDetails.get(0) != null) { + paramMap.put("CATEGORY", Constants.INSPECTION_TYPE_P); + inspectionTaskService.createTask(paramMap); + } else { + paramMap.put("CATEGORY", Constants.INSPECTION_TYPE_P); + inspectionTaskService.createCompleteTask(paramMap); + } + //首件创建 + inspectionItemDetails = inspectionItemService.selectQualityInspection(sfc, operation, stepId, Constants.INSPECTION_TYPE_S); + if (inspectionItemDetails.size() > 0 && inspectionItemDetails.get(0) != null) { + paramMap.put("CATEGORY", Constants.INSPECTION_TYPE_S); + inspectionTaskService.createTask(paramMap); } + //计算工时 + LocalDateTime startTime = sfcService.getSfcStartTime(HandleEnum.SFC.getHandle(site, sfc)); + long workHourSeconds = Duration.between(startTime, LocalDateTime.now()).getSeconds(); + BigDecimal workHour = new BigDecimal(workHourSeconds).divide(BigDecimal.valueOf(3600), 2, RoundingMode.HALF_UP); + sfcCrossService.completeAction(site, currentRevisionRef.getHandle(), resrce, sfcServiceById.getHandle(), qty); + //更改派工单状态 + sfcDispatchCommonService.updateSfcDispatchStatus(site, CommonMethods.getUser(), dispatchNo, DispatchStatusEnum.COMPLETE.getCode()); + //报工 + //sendErp(sfc, stepId, qty, BigDecimal.ZERO, workHour); + } catch (Exception e) { + ExceptionUtil.throwException(e); } - //报工 - sendErp(postMapList); + } public void materialConsumption(String site, String operation, String sfcBo, String stepId, String resource) { @@ -425,40 +405,31 @@ public class PodTemplateServiceImpl implements PodTemplateService { } @Override - public void sendErp(List> postMapList) { + public void sendErp(String sfc, String stepId, BigDecimal qty, BigDecimal scrapQty, BigDecimal workHour) { //请求参数 ZprodordconfStruIn[] ins = new ZprodordconfStruIn[1]; - for (int i=0;i map = postMapList.get(i); - String sfc = (String)map.get("sfc"); - Sfc sfcServiceById = sfcService.getById(HandleEnum.SFC.getHandle(CommonMethods.getSite(),sfc)); - String shopOrderBo = sfcServiceById.getShopOrderBo(); - String shopOrder = StringUtil.trimHandle(shopOrderBo); - String stepId = (String)map.get("stepId"); - BigDecimal qty = (BigDecimal) map.get("qty"); - BigDecimal scrapQty = (BigDecimal)map.get("scrapQty"); - BigDecimal workHour = (BigDecimal)map.get("workHour"); - ZprodordconfStruIn struIn = new ZprodordconfStruIn(); - //生产订单 - struIn.setAufnr(shopOrder); - //步骤标示 - struIn.setVornr(stepId); - struIn.setAueru("1"); - //良品数量 - struIn.setLmnga(qty); - //报废数量 - struIn.setXmnga(scrapQty); - //机器工时 - struIn.setIsm01(workHour); - //人工工时 - struIn.setIsm02(workHour); - struIn.setIsm03(BigDecimal.ZERO); - struIn.setIsm04(BigDecimal.ZERO); - struIn.setIsm05(BigDecimal.ZERO); - struIn.setIsm06(BigDecimal.ZERO); - ins[i] = struIn; - } - + Sfc sfcServiceById = sfcService.getById(HandleEnum.SFC.getHandle(CommonMethods.getSite(), sfc)); + String shopOrderBo = sfcServiceById.getShopOrderBo(); + String shopOrder = StringUtil.trimHandle(shopOrderBo); + ZprodordconfStruIn struIn = new ZprodordconfStruIn(); + //生产订单 + struIn.setAufnr(shopOrder); + //步骤标示 + struIn.setVornr(stepId); + struIn.setAueru("1"); + //良品数量 + struIn.setLmnga(qty); + //报废数量 + struIn.setXmnga(scrapQty); + //机器工时 + struIn.setIsm01(workHour); + //人工工时 + struIn.setIsm02(workHour); + struIn.setIsm03(workHour); + struIn.setIsm04(workHour); + struIn.setIsm05(workHour); + struIn.setIsm06(workHour); + ins[0] = struIn; TableOfZprodordconfStruInHolder inHolder = new TableOfZprodordconfStruInHolder(ins); //返回对象 @@ -477,13 +448,16 @@ public class PodTemplateServiceImpl implements PodTemplateService { //调用WS try { ERPAPI.erpWebService().zmesProdordconf(inHolder, outHolder); + if (outHolder.value.length == 1) { + throw new BaseException("ERP接口返回错误"); + } String status = outHolder.value[1].getRet(); String message = outHolder.value[1].getMsg(); - if (status.equals("E")) { - throw new BaseException("ERP接口返回:状态:" + status + ",消息:" + message); + if (!status.equals("S")) { + throw new BaseException("ERP接口返回错误消息:" + message); } } catch (RemoteException e) { - ExceptionUtil.throwException(e); + throw new BaseException("ERP接口错误: " + e.getMessage()); } finally { //记录接口日志 IntegrationLog log = new IntegrationLog(); @@ -493,7 +467,7 @@ public class PodTemplateServiceImpl implements PodTemplateService { log.setCategory("REQUEST"); log.setIntegrationWay("ERP"); log.setIntegrationMethod("erpWebService.zmesProdordconf"); - log.setParam(inHolder.toString()); + log.setParam(Arrays.toString(ins)); log.setStatus(outHolder.value[1].getRet()); log.setResultMessage(outHolder.value[1].getMsg()); log.setTransactionId(""); diff --git a/quality/src/main/java/com/foreverwin/mesnac/quality/model/SelfReport.java b/quality/src/main/java/com/foreverwin/mesnac/quality/model/SelfReport.java index 98467c1f..1221dc1e 100644 --- a/quality/src/main/java/com/foreverwin/mesnac/quality/model/SelfReport.java +++ b/quality/src/main/java/com/foreverwin/mesnac/quality/model/SelfReport.java @@ -17,105 +17,111 @@ import java.time.LocalDateTime; *

* * @author Philip - * @since 2021-06-21 + * @since 2021-08-16 */ @TableName("Z_SELF_REPORT") public class SelfReport extends Model { - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 1L; - /** - * 主键 - */ + /** + * 主键 + */ @TableId(value = "HANDLE", type = IdType.INPUT) private String handle; - /** - * 站点 - */ + /** + * 站点 + */ @TableField("SITE") private String site; - /** - * 检验任务编号 - */ + /** + * 检验任务编号 + */ @TableField("TASK_NO") private String taskNo; - /** - * 车间 - */ + /** + * 车间 + */ @TableField("WORK_CENTER") private String workCenter; - /** - * 工单 - */ + /** + * 工单 + */ @TableField("SHOP_ORDER") private String shopOrder; - /** - * 物料 - */ + /** + * 物料 + */ @TableField("ITEM") private String item; - /** - * 工序/步骤 - */ + /** + * 工序/步骤 + */ @TableField("OP_STEP") private String opStep; - /** - * 资源 - */ + /** + * 资源 + */ @TableField("RESRCE") private String resrce; - /** - * 产品条码 - */ + /** + * 产品条码 + */ @TableField("SFC") private String sfc; - /** - * 不良代码 - */ + /** + * 不良代码 + */ @TableField("NC_CODE") private String ncCode; - /** - * 不良数量 - */ + /** + * 不良数量 + */ @TableField("NC_QTY") private BigDecimal ncQty; - /** - * 设备位置 - */ + /** + * 设备位置 + */ @TableField("LOCATION") private String location; - /** - * 状态:创建|NEW、确认|CONF、驳回|REJ - */ + /** + * 状态:创建|NEW、确认|CONF、驳回|REJ + */ @TableField("STATE") private String state; - /** - * 不良备注 - */ + /** + * 不良备注 + */ @TableField("REMARK") private String remark; - /** - * 创建人 - */ + /** + * 创建人 + */ @TableField("CREATE_USER") private String createUser; - /** - * 创建时间 - */ + /** + * 创建时间 + */ @TableField("CREATED_DATE_TIME") private LocalDateTime createdDateTime; - /** - * 修改人 - */ + /** + * 修改人 + */ @TableField("MODIFY_USER") private String modifyUser; - /** - * 修改时间 - */ + /** + * 修改时间 + */ @TableField("MODIFIED_DATE_TIME") private LocalDateTime modifiedDateTime; + /** + * 不良描述 + */ + @TableField("NC_CODE_DESC") + private String ncCodeDesc; + /** * 开始时间 */ @@ -302,41 +308,51 @@ public class SelfReport extends Model { this.modifiedDateTime = modifiedDateTime; } - public static final String HANDLE = "HANDLE"; + public String getNcCodeDesc() { + return ncCodeDesc; + } + + public void setNcCodeDesc(String ncCodeDesc) { + this.ncCodeDesc = ncCodeDesc; + } + +public static final String HANDLE = "HANDLE"; + +public static final String SITE = "SITE"; - public static final String SITE = "SITE"; +public static final String TASK_NO = "TASK_NO"; - public static final String TASK_NO = "TASK_NO"; +public static final String WORK_CENTER = "WORK_CENTER"; - public static final String WORK_CENTER = "WORK_CENTER"; +public static final String SHOP_ORDER = "SHOP_ORDER"; - public static final String SHOP_ORDER = "SHOP_ORDER"; +public static final String ITEM = "ITEM"; - public static final String ITEM = "ITEM"; +public static final String OP_STEP = "OP_STEP"; - public static final String OP_STEP = "OP_STEP"; +public static final String RESRCE = "RESRCE"; - public static final String RESRCE = "RESRCE"; +public static final String SFC = "SFC"; - public static final String SFC = "SFC"; +public static final String NC_CODE = "NC_CODE"; - public static final String NC_CODE = "NC_CODE"; +public static final String NC_QTY = "NC_QTY"; - public static final String NC_QTY = "NC_QTY"; +public static final String LOCATION = "LOCATION"; - public static final String LOCATION = "LOCATION"; +public static final String STATE = "STATE"; - public static final String STATE = "STATE"; +public static final String REMARK = "REMARK"; - public static final String REMARK = "REMARK"; +public static final String CREATE_USER = "CREATE_USER"; - public static final String CREATE_USER = "CREATE_USER"; +public static final String CREATED_DATE_TIME = "CREATED_DATE_TIME"; - public static final String CREATED_DATE_TIME = "CREATED_DATE_TIME"; +public static final String MODIFY_USER = "MODIFY_USER"; - public static final String MODIFY_USER = "MODIFY_USER"; +public static final String MODIFIED_DATE_TIME = "MODIFIED_DATE_TIME"; - public static final String MODIFIED_DATE_TIME = "MODIFIED_DATE_TIME"; +public static final String NC_CODE_DESC = "NC_CODE_DESC"; @Override @@ -347,24 +363,25 @@ public class SelfReport extends Model { @Override public String toString() { return "SelfReport{" + - "handle = " + handle + - ", site = " + site + - ", taskNo = " + taskNo + - ", workCenter = " + workCenter + - ", shopOrder = " + shopOrder + - ", item = " + item + - ", opStep = " + opStep + - ", resrce = " + resrce + - ", sfc = " + sfc + - ", ncCode = " + ncCode + - ", ncQty = " + ncQty + - ", location = " + location + - ", state = " + state + - ", remark = " + remark + - ", createUser = " + createUser + - ", createdDateTime = " + createdDateTime + - ", modifyUser = " + modifyUser + - ", modifiedDateTime = " + modifiedDateTime + - "}"; + "handle = " + handle + + ", site = " + site + + ", taskNo = " + taskNo + + ", workCenter = " + workCenter + + ", shopOrder = " + shopOrder + + ", item = " + item + + ", opStep = " + opStep + + ", resrce = " + resrce + + ", sfc = " + sfc + + ", ncCode = " + ncCode + + ", ncQty = " + ncQty + + ", location = " + location + + ", state = " + state + + ", remark = " + remark + + ", createUser = " + createUser + + ", createdDateTime = " + createdDateTime + + ", modifyUser = " + modifyUser + + ", modifiedDateTime = " + modifiedDateTime + + ", ncCodeDesc = " + ncCodeDesc + + "}"; } } \ No newline at end of file diff --git a/quality/src/main/java/com/foreverwin/mesnac/quality/service/impl/SelfReportServiceImpl.java b/quality/src/main/java/com/foreverwin/mesnac/quality/service/impl/SelfReportServiceImpl.java index 3a65bd63..4c266396 100644 --- a/quality/src/main/java/com/foreverwin/mesnac/quality/service/impl/SelfReportServiceImpl.java +++ b/quality/src/main/java/com/foreverwin/mesnac/quality/service/impl/SelfReportServiceImpl.java @@ -11,7 +11,9 @@ import com.foreverwin.mesnac.common.enums.HandleEnum; import com.foreverwin.mesnac.common.service.AnomalyService; import com.foreverwin.mesnac.common.service.CommonService; import com.foreverwin.mesnac.common.util.StringUtil; +import com.foreverwin.mesnac.meapi.dto.NcCodeDto; import com.foreverwin.mesnac.meapi.dto.SfcDto; +import com.foreverwin.mesnac.meapi.service.NcCodeService; import com.foreverwin.mesnac.production.mapper.SfcCrossMapper; import com.foreverwin.mesnac.quality.dto.SelfReportRequest; import com.foreverwin.mesnac.quality.mapper.SelfReportMapper; @@ -55,6 +57,8 @@ public class SelfReportServiceImpl extends ServiceImpl selfReportList = list.stream().filter(selfReportRequest -> selfReportRequest.getType().equals("Z")).collect(Collectors.toList()); if (selfReportList.size()>0){ StringBuilder stringBuilder = new StringBuilder(); + StringBuilder description = new StringBuilder(); for (int i=0;i ncCodeDescriptionByNcCode = ncCodeService.findNcCodeDescriptionByNcCode(ncCode); + description.append(ncCodeDescriptionByNcCode.get(0).getNgDescription()); if (i!=selfReportList.size()-1){ stringBuilder.append(","); + description.append(","); } } Date date = new Date(System.currentTimeMillis()); @@ -157,6 +166,7 @@ public class SelfReportServiceImpl extends ServiceImpl + - HANDLE, SITE, TASK_NO, WORK_CENTER, SHOP_ORDER, ITEM, OP_STEP, RESRCE, SFC, NC_CODE, NC_QTY, LOCATION, STATE, REMARK, CREATE_USER, CREATED_DATE_TIME, MODIFY_USER, MODIFIED_DATE_TIME + HANDLE, SITE, TASK_NO, WORK_CENTER, SHOP_ORDER, ITEM, OP_STEP, RESRCE, SFC, NC_CODE, NC_QTY, LOCATION, STATE, REMARK, CREATE_USER, CREATED_DATE_TIME, MODIFY_USER, MODIFIED_DATE_TIME, NC_CODE_DESC @@ -78,6 +79,7 @@ AND CREATED_DATE_TIME=#{ew.entity.createdDateTime} AND MODIFY_USER=#{ew.entity.modifyUser} AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime} + AND NC_CODE_DESC=#{ew.entity.ncCodeDesc} @@ -106,6 +108,7 @@ AND CREATED_DATE_TIME=#{ew.entity.createdDateTime} AND MODIFY_USER=#{ew.entity.modifyUser} AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime} + AND NC_CODE_DESC=#{ew.entity.ncCodeDesc}
${ew.sqlSegment} @@ -142,6 +145,7 @@ AND CREATED_DATE_TIME=#{ew.entity.createdDateTime} AND MODIFY_USER=#{ew.entity.modifyUser} AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime} + AND NC_CODE_DESC=#{ew.entity.ncCodeDesc} ${ew.sqlSegment} @@ -152,46 +156,6 @@ ${ew.sqlSegment} - + SELECT ZSR.HANDLE, ZSR.SITE, ZSR.TASK_NO, ZSR.WORK_CENTER,ZSR.NC_CODE_DESC, ZSR.SHOP_ORDER, ZSR.ITEM, ZSR.OP_STEP, ZSR.RESRCE, ZSR.SFC, ZSR.NC_CODE, ZSR.NC_QTY, ZSR.LOCATION, ZSR.STATE, ZSR.REMARK, B.FULL_NAME CREATE_USER,ZSR. CREATED_DATE_TIME,IT.DESCRIPTION FROM Z_SELF_REPORT ZSR + JOIN ITEM I ON I.ITEM = ZSR.ITEM AND I.CURRENT_REVISION='true' + LEFT JOIN ITEM_T IT ON I.HANDLE = IT.ITEM_BO AND IT.LOCALE = #{locale} + LEFT JOIN Z_NWA_USER B ON ZSR.SITE = B.SITE AND ZSR.CREATE_USER = B.USER_NAME + + + + + HANDLE=#{ew.entity.handle} + + AND ZSR.SITE=#{ew.entity.site} + AND ZSR.TASK_NO=#{ew.entity.taskNo} + AND ZSR.WORK_CENTER=#{ew.entity.workCenter} + AND ZSR.SHOP_ORDER=#{ew.entity.shopOrder} + AND ZSR.ITEM=#{ew.entity.item} + AND ZSR.OP_STEP=#{ew.entity.opStep} + AND ZSR.RESRCE=#{ew.entity.resrce} + AND ZSR.SFC=#{ew.entity.sfc} + AND ZSR.NC_CODE=#{ew.entity.ncCode} + AND ZSR.NC_QTY=#{ew.entity.ncQty} + AND ZSR.LOCATION=#{ew.entity.location} + AND ZSR.STATE=#{ew.entity.state} + AND ZSR.REMARK=#{ew.entity.remark} + AND ZSR.CREATE_USER=#{ew.entity.createUser} + AND ZSR.CREATED_DATE_TIME=#{ew.entity.createdDateTime} + AND ZSR.MODIFY_USER=#{ew.entity.modifyUser} + AND ZSR.MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime} + + AND ZSR.CREATED_DATE_TIME >=#{startTime} + AND ZSR.CREATED_DATE_TIME <=#{endTime} + + ${ew.sqlSegment} + + + + + ${ew.sqlSegment} + + From 7ff2eebadf2f623012e756c99180ef56dc262ca3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=98=89=E4=BC=9F?= <1724121454@qq.com> Date: Mon, 16 Aug 2021 16:36:21 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E5=BC=82=E5=B8=B8=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AbnormalBillController.java | 5 +- .../anomaly/service/AbnormalBillService.java | 2 +- .../service/impl/AbnormalBillServiceImpl.java | 149 ++++++++++-------- .../meapi/controller/ShopOrderController.java | 7 +- .../mesnac/meapi/mapper/NcCodeMapper.java | 2 +- .../mesnac/meapi/mapper/ShopOrderMapper.java | 2 +- .../meapi/service/ShopOrderService.java | 4 +- .../service/impl/ShopOrderServiceImpl.java | 10 +- .../main/resources/mapper/NcCodeMapper.xml | 14 +- .../main/resources/mapper/ShopOrderMapper.xml | 6 +- 10 files changed, 107 insertions(+), 94 deletions(-) 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 dcb03f33..ccde7db9 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 @@ -185,13 +185,12 @@ public class AbnormalBillController { /** * 初始化 - * @param messageType 暂时不用 * @param type 异常的类型 * @return */ @GetMapping("/init") - public R init(String messageType,String type){ - return R.ok(abnormalBillService.init(messageType,type)); + public R init(String type){ + return R.ok(abnormalBillService.init(type)); } 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 df5ab507..4a72966f 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 @@ -57,7 +57,7 @@ public interface AbnormalBillService extends IService { /** * 初始化 */ - HashMap init(String messageType, String type); + HashMap init( String type); /** * 待办事项 * @param abnormalBillDto 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 bd139b91..3f06a845 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 @@ -12,19 +12,23 @@ import com.foreverwin.mesnac.anomaly.model.*; import com.foreverwin.mesnac.anomaly.service.*; import com.foreverwin.mesnac.common.constant.Constants; import com.foreverwin.mesnac.common.dto.ScrapDto; +import com.foreverwin.mesnac.common.dto.UsrDto; import com.foreverwin.mesnac.common.enums.HandleEnum; import com.foreverwin.mesnac.common.helper.NextNumberHelper; import com.foreverwin.mesnac.common.mapper.MessageMapper; import com.foreverwin.mesnac.common.model.Message; import com.foreverwin.mesnac.common.service.AnomalyService; import com.foreverwin.mesnac.common.service.MessageService; +import com.foreverwin.mesnac.common.service.UserService; import com.foreverwin.mesnac.common.util.ActiveMQUtil; import com.foreverwin.mesnac.common.util.StringUtil; import com.foreverwin.mesnac.meapi.mapper.*; import com.foreverwin.mesnac.meapi.model.*; -import com.foreverwin.mesnac.meapi.service.*; +import com.foreverwin.mesnac.meapi.service.DataFieldListService; +import com.foreverwin.mesnac.meapi.service.NwaUserService; +import com.foreverwin.mesnac.meapi.service.RouterService; +import com.foreverwin.mesnac.meapi.service.WorkCenterService; import com.foreverwin.mesnac.meapi.util.StringUtils; -import com.foreverwin.mesnac.production.mapper.SfcScrapMapper; import com.foreverwin.mesnac.quality.service.SelfReportService; import com.foreverwin.modular.core.exception.BaseException; import com.foreverwin.modular.core.exception.BusinessException; @@ -57,9 +61,6 @@ public class AbnormalBillServiceImpl extends ServiceImpl ncCode = new ArrayList<>(); List ncGroup = new ArrayList<>(); StringBuilder ncCodes = new StringBuilder(); @@ -202,7 +190,7 @@ public class AbnormalBillServiceImpl extends ServiceImpl abnormalNcCodes1 = abnormalNcCodeService.selectList(abnormalNcCode); - if(abnormalNcCodes1.size() != 0){ + if(abnormalNcCodes1.size() > 0){ QueryWrapper abnormalNcCodeQueryWrapper = new QueryWrapper<>(); abnormalNcCodeQueryWrapper.setEntity(abnormalNcCode); abnormalNcCodeService.remove(abnormalNcCodeQueryWrapper); @@ -224,7 +212,9 @@ public class AbnormalBillServiceImpl extends ServiceImpl init(String messageType, String type) { + public HashMap init( String type) { HashMap hashMap = new HashMap<>(); String site = CommonMethods.getSite(); - //消息类型 -// if("Z".equals(type)){ -// List category = ncCodeService.findNcByCategory(messageType,null); -// hashMap.put("ncByNG",category); -// } + //工作中心 WorkCenter workCenter = new WorkCenter(); workCenter.setWcCategory("LEVEL4"); workCenter.setSite(site); List workCenterList = workCenterService.selectList(workCenter); hashMap.put("workCenter",workCenterList); + + //原因分类 DataField ncCode = new DataField(); ncCode.setSite(site); ncCode.setDataField("REASON_CATEGORY"); List ncCodeList = dataFieldListService.findDataFieldListById(ncCode); hashMap.put("causeType",ncCodeList); + + //责任部门 DataField dataField = new DataField(); dataField.setSite(site); dataField.setDataField("RESPONSIBILITY_DEPARTMENT"); List dutyDepartList = dataFieldListService.findDataFieldListById(dataField); hashMap.put("dutyDepart",dutyDepartList); + + //责任分类 dataField.setDataField("RESPONSIBILITY_TYPE"); List dutyTypeList = dataFieldListService.findDataFieldListById(dataField); hashMap.put("dutyType",dutyTypeList); + + //当前登录用户的fullName - NwaUser nwaUser = new NwaUser(); - nwaUser.setSite(site); - nwaUser.setUserName(CommonMethods.getUser()); - List nwaUsers = nwaUserService.selectList(nwaUser); - if(nwaUsers != null && nwaUsers.size() > 0){ - hashMap.put("currentUser",nwaUsers.get(0).getFullName()); + List list = userService.findList(CommonMethods.getUser()); + if(list != null && list.size() > 0){ + hashMap.put("currentUser",list.get(0).getFullName()); + } //初始化异常单号 if(!StringUtil.isBlank(type)){ hashMap.put("abnormalNo",this.getNextNumber(type)); } + return hashMap; } @@ -470,6 +467,15 @@ public class AbnormalBillServiceImpl extends ServiceImpl operationQueryWrapper = new QueryWrapper(); operationQueryWrapper.eq("OPERATION",abnormalBill.getOperation()) @@ -554,7 +560,7 @@ public class AbnormalBillServiceImpl extends ServiceImpl ncCodes = Arrays.asList(abnormalBill.getNcCode().split(",")); - Integer length = ncCodeMapper.checkNcCode(ncCodes,site,"FAILURE"); + Integer length = ncCodeMapper.checkNcCode(ncCodes,site); if(ncCodes.size() != length){ throw BusinessException.build("不良代码传递有误"); } @@ -876,7 +882,6 @@ public class AbnormalBillServiceImpl extends ServiceImpl wrapper = new QueryWrapper<>(); Message abnormalMessage1 = new Message(); abnormalMessage1.setSite(site); @@ -920,39 +933,47 @@ public class AbnormalBillServiceImpl extends ServiceImpl messageTypeUpdateWrapper = new UpdateWrapper<>(); -// messageTypeUpdateWrapper.eq("SITE",site); -// messageTypeUpdateWrapper.eq("ABNORMAL_BILL_BO",abnormalMessage.getAbnormalBillBo()); Message abnormalMessage2 = new Message(); - // abnormalMessage2.setAbnormalBillBo(abnormalMessage.getAbnormalBillBo()); abnormalMessage2.setStatus("Y"); messageTypeUpdateWrapper.eq("STATUS","N"); messageTypeUpdateWrapper.eq("OBJECT_BO",abnormalMessage.getObjectBo()); messageService.update(abnormalMessage2,messageTypeUpdateWrapper); break; + default: abnormalMessage.setSendUser(abnormalBillDispose.getResolveSendUserGroup()); abnormalMessage.setNode(Constants.ABNORMAL_MESSAGE_CANCEL); break; } + //格式化消息 String message = this.formatMessage(abnormalBill, abnormalMessage.getMessageType(), site); + + //得到消息触发的时间 abnormalMessage.setResponseDateTime(now); + + //得到要发送的消息 abnormalMessage.setContent(message); + + //得到升级的用户组 //新建有、响应没有、纠防确认有、方案确认没有、取消没有、关闭没有 if(Constants.NEW.equals(abnormalBill.getStatus()) || Constants.CORRECTION_CONFIRM.equals(abnormalBill.getStatus())){ @@ -972,12 +993,7 @@ public class AbnormalBillServiceImpl extends ServiceImpl nwaUsers = nwaUserService.checkUserGroup(site,abnormalMessage.getSendUserGroup()); StringBuilder sendUsers = new StringBuilder(); for (int i = 0; i < nwaUsers.size(); i++) { diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/ShopOrderController.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/ShopOrderController.java index 6032f4d1..7ee201fa 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/ShopOrderController.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/ShopOrderController.java @@ -71,12 +71,13 @@ public class ShopOrderController { /** * 根据handle找到对应的工单并且该工单是下达的 - * @param handle + * @param shopOrder + * @param plannedItemBo * @return */ @GetMapping("/findById") - public R findById(String handle,String plannedItemBo){ - return R.ok(shopOrderService.findById(handle,plannedItemBo)); + public R findById(String shopOrder,String plannedItemBo){ + return R.ok(shopOrderService.findById(shopOrder,plannedItemBo)); } /** diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/NcCodeMapper.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/NcCodeMapper.java index 75c9502d..19878a13 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/NcCodeMapper.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/NcCodeMapper.java @@ -41,7 +41,7 @@ public interface NcCodeMapper extends BaseMapper { * 判断不良代码是否正确 * @return */ - Integer checkNcCode(@Param("NcCodeList")List ncCodes,@Param("site")String site,@Param("category")String category); + Integer checkNcCode(@Param("NcCodeList")List ncCodes,@Param("site")String site); List findNcCodeByNcGroup(@Param("ncGroup")NcGroup ncGroup); diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/ShopOrderMapper.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/ShopOrderMapper.java index e7d4e1b8..0a4fc192 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/ShopOrderMapper.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/ShopOrderMapper.java @@ -17,7 +17,7 @@ import org.springframework.stereotype.Repository; @Repository public interface ShopOrderMapper extends BaseMapper { - ShopOrder findById(@Param("handle")String handle,@Param("status501")String status501,@Param("plannedItemBo")String plannedItemBo); + ShopOrder findById(@Param("site")String site,@Param("shopOrder")String shopOrder,@Param("status501")String status501,@Param("plannedItemBo")String plannedItemBo); ShopOrderDto findByShopOrderBo(@Param("handle")String handle); } \ No newline at end of file diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/ShopOrderService.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/ShopOrderService.java index 7554f661..ea0ef5d5 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/ShopOrderService.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/ShopOrderService.java @@ -29,10 +29,10 @@ public interface ShopOrderService extends IService { /** * 根据handle找到对应的可下达的工单 - * @param handle + * @param shopOrder * @return */ - ShopOrder findById(String handle,String plannedItemBo); + ShopOrder findById(String shopOrder,String plannedItemBo); ShopOrderDto findByShopOrderBo(String handle); diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/ShopOrderServiceImpl.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/ShopOrderServiceImpl.java index 20d6e2d8..b888036b 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/ShopOrderServiceImpl.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/ShopOrderServiceImpl.java @@ -47,20 +47,20 @@ public class ShopOrderServiceImpl extends ServiceImpl diff --git a/anomaly/src/main/resources/mapper/AbnormalBillMapper.xml b/anomaly/src/main/resources/mapper/AbnormalBillMapper.xml index ed19ce64..7e24585f 100644 --- a/anomaly/src/main/resources/mapper/AbnormalBillMapper.xml +++ b/anomaly/src/main/resources/mapper/AbnormalBillMapper.xml @@ -8,6 +8,8 @@ + + @@ -44,6 +46,8 @@ + + @@ -72,9 +76,10 @@ + - HANDLE, SITE, ABNORMAL_NO, STATUS, TYPE, ITEM_BO, SFC, OPERATION, WORK_CENTER, SHOP_ORDER, MESSAGE_TYPE, RESRCE, NC_CODE, SHUT_DOWN, RESPONSE_USER, RESPONSE_DATE_TIME, PB_DESCRIPTION, NC_QTY, PB_GRADE, PB_USER, PB_QTY, REPAIR_DATE_TIME, DISCOVER, INSPECTOR, ENTITY_LOCATION, REPORT_FROM, OBJECT_BO, PB_PHOTOSHOP, CANCEL_CODE, CANCEL_REASON, CANCEL_DATE_TIME, CANCEL_USER, REPORT_SEND_USER_GROUP, CANCEL_SEND_USER_GROUP, CREATED_USER, CREATED_DATE_TIME, MODIFIED_USER, MODIFIED_DATE_TIME + HANDLE, SITE, ABNORMAL_NO, STATUS, CORRECTION, PROGRAM, TYPE, ITEM_BO, SFC, OPERATION, WORK_CENTER, SHOP_ORDER, MESSAGE_TYPE, RESRCE, NC_CODE, SHUT_DOWN, RESPONSE_USER, RESPONSE_DATE_TIME, PB_DESCRIPTION, NC_QTY, PB_GRADE, PB_USER, PB_QTY, REPAIR_DATE_TIME, DISCOVER, INSPECTOR, ENTITY_LOCATION, REPORT_FROM, OBJECT_BO, PB_PHOTOSHOP, CANCEL_CODE, CANCEL_REASON, CANCEL_DATE_TIME, CANCEL_USER, REPORT_SEND_USER_GROUP, CANCEL_SEND_USER_GROUP, CREATED_USER, CREATED_DATE_TIME, MODIFIED_USER, MODIFIED_DATE_TIME @@ -112,6 +117,8 @@ AND SITE=#{ew.entity.site} AND ABNORMAL_NO=#{ew.entity.abnormalNo} AND STATUS=#{ew.entity.status} + AND CORRECTION=#{ew.entity.correction} + AND PROGRAM=#{ew.entity.program} AND TYPE=#{ew.entity.type} AND ITEM_BO=#{ew.entity.itemBo} AND SFC=#{ew.entity.sfc} @@ -160,6 +167,8 @@ AND SITE=#{ew.entity.site} AND ABNORMAL_NO=#{ew.entity.abnormalNo} AND STATUS=#{ew.entity.status} + AND CORRECTION=#{ew.entity.correction} + AND PROGRAM=#{ew.entity.program} AND TYPE=#{ew.entity.type} AND ITEM_BO=#{ew.entity.itemBo} AND SFC=#{ew.entity.sfc} @@ -216,6 +225,8 @@ AND SITE=#{ew.entity.site} AND ABNORMAL_NO=#{ew.entity.abnormalNo} AND STATUS=#{ew.entity.status} + AND CORRECTION=#{ew.entity.correction} + AND PROGRAM=#{ew.entity.program} AND TYPE=#{ew.entity.type} AND ITEM_BO=#{ew.entity.itemBo} AND SFC=#{ew.entity.sfc} @@ -252,7 +263,7 @@ AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime}
- ${ew.sqlSegment} + ${ew.sqlSegment} @@ -272,6 +283,8 @@ AND SITE=#{ew.entity.site} AND ABNORMAL_NO=#{ew.entity.abnormalNo} AND STATUS=#{ew.entity.status} + AND CORRECTION=#{ew.entity.correction} + AND PROGRAM=#{ew.entity.program} AND TYPE=#{ew.entity.type} AND ITEM_BO=#{ew.entity.itemBo} AND SFC=#{ew.entity.sfc} @@ -328,6 +341,8 @@ AND SITE=#{ew.entity.site} AND ABNORMAL_NO=#{ew.entity.abnormalNo} AND STATUS=#{ew.entity.status} + AND CORRECTION=#{ew.entity.correction} + AND PROGRAM=#{ew.entity.program} AND TYPE=#{ew.entity.type} AND ITEM_BO=#{ew.entity.itemBo} AND SFC=#{ew.entity.sfc} @@ -384,6 +399,8 @@ AND SITE=#{ew.entity.site} AND ABNORMAL_NO=#{ew.entity.abnormalNo} AND STATUS=#{ew.entity.status} + AND CORRECTION=#{ew.entity.correction} + AND PROGRAM=#{ew.entity.program} AND TYPE=#{ew.entity.type} AND ITEM_BO=#{ew.entity.itemBo} AND SFC=#{ew.entity.sfc} @@ -420,12 +437,12 @@ AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime} - AND ${ew.sqlSegment} + ${ew.sqlSegment} - AND ${ew.sqlSegment} + ${ew.sqlSegment} @@ -440,6 +457,8 @@ AND SITE=#{ew.entity.site} AND ABNORMAL_NO=#{ew.entity.abnormalNo} AND STATUS=#{ew.entity.status} + AND CORRECTION=#{ew.entity.correction} + AND PROGRAM=#{ew.entity.program} AND TYPE=#{ew.entity.type} AND ITEM_BO=#{ew.entity.itemBo} AND SFC=#{ew.entity.sfc} @@ -492,6 +511,8 @@ SITE, ABNORMAL_NO, STATUS, + CORRECTION, + PROGRAM, TYPE, ITEM_BO, SFC, @@ -532,6 +553,8 @@ #{site}, #{abnormalNo}, #{status}, + #{correction}, + #{program}, #{type}, #{itemBo}, #{sfc}, @@ -579,6 +602,8 @@ #{site}, #{abnormalNo}, #{status}, + #{correction}, + #{program}, #{type}, #{itemBo}, #{sfc}, @@ -622,6 +647,8 @@ SITE=#{et.site}, ABNORMAL_NO=#{et.abnormalNo}, STATUS=#{et.status}, + CORRECTION=#{et.correction}, + PROGRAM=#{et.program}, TYPE=#{et.type}, ITEM_BO=#{et.itemBo}, SFC=#{et.sfc}, @@ -665,6 +692,8 @@ SITE=#{et.site}, ABNORMAL_NO=#{et.abnormalNo}, STATUS=#{et.status}, + CORRECTION=#{et.correction}, + PROGRAM=#{et.program}, TYPE=#{et.type}, ITEM_BO=#{et.itemBo}, SFC=#{et.sfc}, @@ -708,6 +737,8 @@ SITE=#{et.site}, ABNORMAL_NO=#{et.abnormalNo}, STATUS=#{et.status}, + CORRECTION=#{et.correction}, + PROGRAM=#{et.program}, TYPE=#{et.type}, ITEM_BO=#{et.itemBo}, SFC=#{et.sfc}, @@ -750,6 +781,8 @@ AND SITE=#{ew.entity.site} AND ABNORMAL_NO=#{ew.entity.abnormalNo} AND STATUS=#{ew.entity.status} + AND CORRECTION=#{ew.entity.correction} + AND PROGRAM=#{ew.entity.program} AND TYPE=#{ew.entity.type} AND ITEM_BO=#{ew.entity.itemBo} AND SFC=#{ew.entity.sfc} @@ -823,6 +856,8 @@ AND SITE=#{ew.entity.site} AND ABNORMAL_NO=#{ew.entity.abnormalNo} AND STATUS=#{ew.entity.status} + AND CORRECTION=#{ew.entity.correction} + AND PROGRAM=#{ew.entity.program} AND TYPE=#{ew.entity.type} AND ITEM_BO=#{ew.entity.itemBo} AND SFC=#{ew.entity.sfc} @@ -992,8 +1027,8 @@ CASE WHEN R.ROUTER != 'NULL' THEN R.ROUTER || '/' || R.REVISION END ROUTER , CASE WHEN B.BOM != 'NULL' THEN B.BOM || '/' || B.REVISION END BOM, CASE WHEN ZSS.HANDLE != 'NULL' THEN ZSS.REASON - ELSE ZABV.PB_DESCRIPTION - END REASON, + ELSE ZABV.PB_DESCRIPTION + END REASON, ZSS.TYPE TYPE FROM SFC S INNER JOIN SFC_ROUTING SR ON SR.SFC_BO = S.HANDLE @@ -1002,17 +1037,17 @@ INNER JOIN STATUS S2 ON S2.HANDLE = S.STATUS_BO INNER JOIN Z_SFC_DISPATCH ZSD ON ZSD.DISPATCH_NO = S.SFC || '-' || SS.STEP_ID LEFT JOIN Z_SFC_DISPATCH ZSD2 ON ZSD2.DISPATCH_NO = S.SFC || '-' || SS.STEP_ID - AND ZSD2.DISPATCH_STATUS IN ('START','COMPLETE') + AND ZSD2.DISPATCH_STATUS IN ('START','COMPLETE') LEFT JOIN SHOP_ORDER SO ON SO.SHOP_ORDER = ZSD.SHOP_ORDER AND SO.SITE = S.SITE LEFT JOIN ITEM I ON I.HANDLE = SO.PLANNED_ITEM_BO LEFT JOIN ROUTER R ON R.HANDLE = ZSD.ROUTER_BO LEFT JOIN Z_SFC_SCRAP ZSS ON ZSS.SFC = S.SFC AND ZSS.SITE = S.SITE LEFT JOIN BOM B ON B.HANDLE = SO.PLANNED_BOM_BO INNER JOIN ( SELECT * FROM Z_ABNORMAL_BILL_VIEW ZABV WHERE ZABV.HANDLE = (SELECT MAX(HANDLE) FROM Z_ABNORMAL_BILL_VIEW ZABV2 - - ZABV2.SFC = #{sfc} - - )) ZABV ON ZABV.SFC = S.SFC AND ZABV.SITE= S.SITE + + ZABV2.SFC = #{sfc} + + )) ZABV ON ZABV.SFC = S.SFC AND ZABV.SITE= S.SITE S.SITE = #{site} AND S.SFC = #{sfc} @@ -1020,8 +1055,9 @@ + From b24ad49a0043b0e09da4ee56a441102b3705c694 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=98=89=E4=BC=9F?= <1724121454@qq.com> Date: Tue, 17 Aug 2021 07:40:48 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E5=BC=82=E5=B8=B8=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/AbnormalBillServiceImpl.java | 67 ++++++------------- 1 file changed, 22 insertions(+), 45 deletions(-) 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 439be7a4..ccd6611f 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 @@ -237,17 +237,6 @@ public class AbnormalBillServiceImpl extends ServiceImpl status = new ArrayList<>(); -// status.add(Constants.PROGRAM_CONFIRM); -// status.add(Constants.CANCEL); -// status.add(Constants.SHUT_DOWN); -// List abnormalBillList = abnormalBillMapper.findCountBySfc(abnormalBill.getSite(), abnormalBill.getType(), abnormalBill.getSfc(), status); -// if(abnormalBillList.size() >= 1 ){ -// throw BusinessException.build("设备异常有未处理完成的sfc"); -// } -// } abnormalBillDisposeService.saveOrUpdate(abnormalBillDispose); this.saveOrUpdate(abnormalBill); //发送消息 @@ -398,7 +387,7 @@ public class AbnormalBillServiceImpl extends ServiceImpl nwaUsers = nwaUserService.checkUserGroup(site,abnormalMessage.getSendUserGroup()); -// -// StringBuilder sendUsers = new StringBuilder(); -// -// for (int i = 0; i < nwaUsers.size(); i++) { -// if(i == (nwaUsers.size() - 1)){ -// sendUsers.append(nwaUsers.get(i)); -// }else{ -// sendUsers.append(nwaUsers.get(i)).append("|"); -// } -// } -// activeMQUtil.wechatSendMessage(sendUsers.toString(),abnormalMessage.getContent()); -// } + if(!Constants.ABNORMAL_MESSAGE_RESPONSE.equals(abnormalMessage.getNode())){ + List nwaUsers = nwaUserService.checkUserGroup(site,abnormalMessage.getSendUserGroup()); + + StringBuilder sendUsers = new StringBuilder(); + + for (int i = 0; i < nwaUsers.size(); i++) { + if(i == (nwaUsers.size() - 1)){ + sendUsers.append(nwaUsers.get(i)); + }else{ + sendUsers.append(nwaUsers.get(i)).append("|"); + } + } + activeMQUtil.wechatSendMessage(sendUsers.toString(),abnormalMessage.getContent()); + } messageService.saveOrUpdate(abnormalMessage); return true; } - @Override public String formatMessage(AbnormalBill abnormalBill,String messageType, String site) { //找到消息内容