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 aa5a6acf..83ccdbc6 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 @@ -217,7 +217,11 @@ public class AbnormalBillController { @RequestParam List ncGroupAndNcCodes, @RequestParam List dutyCauseType, @RequestParam List dutyType){ - return R.ok(abnormalBillService.anomalyReport(abnormalBill, abnormalBillDispose,ncGroupAndNcCodes,dutyCauseType,dutyType)); + try{ + return R.ok(abnormalBillService.anomalyReport(abnormalBill, abnormalBillDispose,ncGroupAndNcCodes,dutyCauseType,dutyType)); + }catch(Exception e){ + return R.failed("质量异常提报失败,"+e.getMessage()); + } } /** @@ -227,7 +231,12 @@ public class AbnormalBillController { */ @GetMapping("/anomalyReportDevice") public R anomalyReportDevice(AbnormalBill abnormalBill, AbnormalBillDispose abnormalBillDispose){ - return R.ok(abnormalBillService.anomalyReportDevice(abnormalBill,abnormalBillDispose)); + try{ + return R.ok(abnormalBillService.anomalyReportDevice(abnormalBill,abnormalBillDispose)); + }catch (Exception e){ + return R.failed("设备异常提报失败,"+e.getMessage()); + } + } @@ -239,12 +248,21 @@ public class AbnormalBillController { */ @GetMapping("/cancelBrowse") public R cancelBrowse(String handle, String cancelBrowse,String code,String cancelSendUserGroup){ - return R.ok( abnormalBillService.cancelBrowse(handle,cancelBrowse,code,cancelSendUserGroup)); + try{ + return R.ok( abnormalBillService.cancelBrowse(handle,cancelBrowse,code,cancelSendUserGroup)); + }catch(Exception e){ + return R.failed("取消失败,"+e.getMessage()); + } } @GetMapping("/backLog") public R backLog(AbnormalBillDto abnormalBillDto){ - return R.ok(abnormalBillService.backLog(abnormalBillDto)); + try{ + return R.ok(abnormalBillService.backLog(abnormalBillDto)); + }catch(Exception e){ + return R.failed("检索失败,"+e.getMessage()); + } + } /** @@ -254,7 +272,12 @@ public class AbnormalBillController { */ @GetMapping("/findAllByAbnormalNo") public R findAllByAbnormalNo(AbnormalBill abnormalBill){ - return R.ok(abnormalBillService.findAllByAbnormalNo(abnormalBill)); + try{ + return R.ok(abnormalBillService.findAllByAbnormalNo(abnormalBill)); + }catch (Exception e){ + return R.failed("检索失败,"+e.getMessage()); + } + } /** @@ -262,7 +285,12 @@ public class AbnormalBillController { */ @GetMapping("/findAllByAbnormalNoDevice") public R findAllByAbnormalNoDevice(AbnormalBill abnormalBill){ - return R.ok(abnormalBillService.findAllByAbnormalNoDevice(abnormalBill)); + try{ + return R.ok(abnormalBillService.findAllByAbnormalNoDevice(abnormalBill)); + }catch (Exception e){ + return R.failed("设备异常响应检索失败,"+e.getMessage()); + } + } /** @@ -272,8 +300,12 @@ public class AbnormalBillController { */ @GetMapping("/resProcessing") public R resProcessing(AbnormalBill abnormalBill){ - abnormalBillService.resProcessing(abnormalBill); - return R.ok(); + try{ + abnormalBillService.resProcessing(abnormalBill); + return R.ok(); + }catch(Exception e){ + return R.failed("响应处理失败,"+e.getMessage()); + } } /** @@ -284,8 +316,12 @@ public class AbnormalBillController { */ @GetMapping("/programConfirm") public R programConfirm(AbnormalBill abnormalBill,AbnormalBillDispose abnormalBillDispose){ - abnormalBillService.programConfirm(abnormalBill,abnormalBillDispose); - return R.ok(); + try{ + abnormalBillService.programConfirm(abnormalBill,abnormalBillDispose); + return R.ok(); + }catch (Exception e){ + return R.failed("方案确认失败,"+e.getMessage()); + } } /** @@ -298,8 +334,12 @@ public class AbnormalBillController { public R dutyConfirm(AbnormalBill abnormalBill,AbnormalBillDispose abnormalBillDispose, @RequestParam List dutyCauseType, @RequestParam List dutyType){ - abnormalBillService.dutyConfirm(abnormalBill,abnormalBillDispose,dutyCauseType,dutyType); - return R.ok(); + try{ + abnormalBillService.dutyConfirm(abnormalBill,abnormalBillDispose,dutyCauseType,dutyType); + return R.ok(); + }catch(Exception e){ + return R.failed("判责提交失败,"+e.getMessage()); + } } /** @@ -310,25 +350,42 @@ public class AbnormalBillController { */ @GetMapping("/anomalyShutDown") public R anomalyShutDown(AbnormalBill abnormalBill,AbnormalBillDispose abnormalBillDispose){ - abnormalBillService.anomalyShutDown(abnormalBill,abnormalBillDispose); - return R.ok(); + try{ + abnormalBillService.anomalyShutDown(abnormalBill,abnormalBillDispose); + return R.ok(); + }catch (Exception e){ + return R.failed("闭环关闭失败,"+e.getMessage()); + } + } @GetMapping("/findResrceBySfc") public R findResrceBySfc(SfcDispatchDto sfcDispatch){ - return R.ok(sfcDispatchCommonService.findResrceBySfc(sfcDispatch)); + try{ + return R.ok(sfcDispatchCommonService.findResrceBySfc(sfcDispatch)); + }catch (Exception e){ + return R.failed("根据sfc查找设备失败,"+e.getMessage()); + } } @GetMapping("/show") public R showFile(HttpServletRequest request, HttpServletResponse response) throws Exception { - return R.ok(fileUploadedService.showFile(request,response)); + try{ + return R.ok(fileUploadedService.showFile(request,response)); + }catch (Exception e){ + return R.failed("显示图片失败,"+e.getMessage()); + } + } @PostMapping("/delete") public R delete(String ftpPath,String fileName){ - fileUploadedService.deleteFile(ftpPath,fileName); -// abnormalBillService.deleteFileInDatabase(ftpPath,fileName); - return R.ok(); + try{ + fileUploadedService.deleteFile(ftpPath,fileName); + return R.ok(); + }catch (Exception e){ + return R.failed("图片删除失败,"+e.getMessage()); + } } @GetMapping("/findUploadPictureByAbnormalBo") diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/ReportController.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/ReportController.java index 66993910..c01e2eba 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/ReportController.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/ReportController.java @@ -9,10 +9,13 @@ package com.foreverwin.mesnac.anomaly.controller; import com.foreverwin.mesnac.anomaly.dto.PartsManufacturing; import com.foreverwin.mesnac.anomaly.service.ReportService; import com.foreverwin.mesnac.integration.model.IntegrationLog; +import com.foreverwin.modular.core.util.CommonMethods; +import com.foreverwin.modular.core.util.FrontPage; import com.foreverwin.modular.core.util.R; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.List; import java.util.Map; @RestController @@ -62,4 +65,21 @@ public class ReportController { return R.failed(e.getMessage()); } } + + /** + * 查询质量检验任务 + * + * @param paramMap + * @return + */ + @GetMapping("/findInspectionTask") + public R findInspectionTask(@RequestParam(required = false) Map paramMap) { + try { + paramMap.put("site", CommonMethods.getSite()); + List> result = reportService.findInspectionTask(paramMap); + return R.ok(result); + } catch (Exception e) { + return R.failed(e.getMessage()); + } + } } diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/mapper/ReportMapper.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/mapper/ReportMapper.java index 67fb7a77..3359b7af 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/mapper/ReportMapper.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/mapper/ReportMapper.java @@ -1,5 +1,6 @@ package com.foreverwin.mesnac.anomaly.mapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.foreverwin.mesnac.anomaly.dto.PartsManufacturing; import com.foreverwin.mesnac.integration.model.IntegrationLog; import org.apache.ibatis.annotations.Param; @@ -26,4 +27,6 @@ public interface ReportMapper { List> resourceRepair(@Param("site")String site, @Param("locale")String locale, @Param("param")Map map); + + List> findInspectionTask(Map paramMap); } diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/ReportService.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/ReportService.java index 021575d1..30c09128 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/ReportService.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/ReportService.java @@ -1,5 +1,6 @@ package com.foreverwin.mesnac.anomaly.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.foreverwin.mesnac.anomaly.dto.PartsManufacturing; import com.foreverwin.mesnac.integration.model.IntegrationLog; @@ -19,4 +20,12 @@ public interface ReportService { List> surplusReturnTable(String item, String itemDescription); List> resourceRepair(Map map); + + /** + * 查询质量检验任务 + * + * @param paramMap + * @return + */ + List> findInspectionTask(Map paramMap); } diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/ReportServiceImpl.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/ReportServiceImpl.java index 1e8800f6..0ca38386 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/ReportServiceImpl.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/ReportServiceImpl.java @@ -1,5 +1,6 @@ package com.foreverwin.mesnac.anomaly.service.impl; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.foreverwin.mesnac.anomaly.dto.PartsManufacturing; import com.foreverwin.mesnac.anomaly.mapper.ReportMapper; import com.foreverwin.mesnac.anomaly.service.ReportService; @@ -130,4 +131,9 @@ public class ReportServiceImpl implements ReportService { return maps; } + + @Override + public List> findInspectionTask(Map paramMap) { + return reportMapper.findInspectionTask(paramMap); + } } diff --git a/anomaly/src/main/resources/mapper/ReportMapper.xml b/anomaly/src/main/resources/mapper/ReportMapper.xml index 056453af..eb1d3a53 100644 --- a/anomaly/src/main/resources/mapper/ReportMapper.xml +++ b/anomaly/src/main/resources/mapper/ReportMapper.xml @@ -138,4 +138,54 @@ + + + + + \ No newline at end of file diff --git a/common/src/main/java/com/foreverwin/mesnac/common/constant/CustomFieldConstant.java b/common/src/main/java/com/foreverwin/mesnac/common/constant/CustomFieldConstant.java index 3023328d..8d1fe3e4 100644 --- a/common/src/main/java/com/foreverwin/mesnac/common/constant/CustomFieldConstant.java +++ b/common/src/main/java/com/foreverwin/mesnac/common/constant/CustomFieldConstant.java @@ -16,6 +16,9 @@ public class CustomFieldConstant { public static final String RESRCE_CUSTOM_FIELD_PRINT_NAME = "PRINT_NAME";//打印机名称 + public static final String RESRCE_CUSTOM_FIELD_IS_SPOT = "IS_SPOT";//打印机名称 + + /** * 工作中心 */ diff --git a/common/src/main/java/com/foreverwin/mesnac/common/service/InspectionTaskService.java b/common/src/main/java/com/foreverwin/mesnac/common/service/InspectionTaskService.java index 2dbcb9cf..bef6dd62 100644 --- a/common/src/main/java/com/foreverwin/mesnac/common/service/InspectionTaskService.java +++ b/common/src/main/java/com/foreverwin/mesnac/common/service/InspectionTaskService.java @@ -35,5 +35,5 @@ public interface InspectionTaskService extends IService { InspectionTask isCreateTask(String site, String category, String sfc, String operation, String stepId); - void createCompleteTask(Map paramMap); + void createNewTask(Map paramMap); } \ No newline at end of file diff --git a/common/src/main/java/com/foreverwin/mesnac/common/service/impl/InspectionTaskServiceImpl.java b/common/src/main/java/com/foreverwin/mesnac/common/service/impl/InspectionTaskServiceImpl.java index 91ecd55f..9e041d9e 100644 --- a/common/src/main/java/com/foreverwin/mesnac/common/service/impl/InspectionTaskServiceImpl.java +++ b/common/src/main/java/com/foreverwin/mesnac/common/service/impl/InspectionTaskServiceImpl.java @@ -264,7 +264,7 @@ public class InspectionTaskServiceImpl extends ServiceImpl paramMap) { + public void createNewTask(Map paramMap) { String site = CommonMethods.getSite(); String category = (String) paramMap.get("CATEGORY"); String sfc = (String) paramMap.get("SFC"); diff --git a/common/src/main/java/com/foreverwin/mesnac/common/util/DateUtil.java b/common/src/main/java/com/foreverwin/mesnac/common/util/DateUtil.java index 344e6632..be51b7da 100644 --- a/common/src/main/java/com/foreverwin/mesnac/common/util/DateUtil.java +++ b/common/src/main/java/com/foreverwin/mesnac/common/util/DateUtil.java @@ -672,4 +672,22 @@ public class DateUtil return null; } } + + /** + * 获得当前时间的字符串序列 + * + * @return 201812511183786 + */ + public final static String getTimeString() { + Calendar calendar = new GregorianCalendar(); + int year = calendar.get(Calendar.YEAR); + int month = calendar.get(Calendar.MONTH) + 1; + int day = calendar.get(Calendar.DAY_OF_MONTH); + int hour = calendar.get(Calendar.HOUR_OF_DAY); + int minute = calendar.get(Calendar.MINUTE); + int second = calendar.get(Calendar.SECOND); + int msec = calendar.get(Calendar.MILLISECOND); + + return String.valueOf(year) + String.valueOf(month) + String.valueOf(day) + String.valueOf(hour) + String.valueOf(minute) + String.valueOf(second); + } } \ No newline at end of file diff --git a/common/src/main/resources/mapper/ProdReadyTaskMapper.xml b/common/src/main/resources/mapper/ProdReadyTaskMapper.xml index 75144076..d1238a0d 100644 --- a/common/src/main/resources/mapper/ProdReadyTaskMapper.xml +++ b/common/src/main/resources/mapper/ProdReadyTaskMapper.xml @@ -637,6 +637,7 @@ ,PREOT.DESCRIPTION LAST_OPERATION,zprt.*,zsd.DISPATCH_NO,zsd.RESOURCE_TYPE,RES.DESCRIPTION RESRCE_DESC,ITT.DESCRIPTION ITEM_DESC,OT.DESCRIPTION OPERATION_DESC FROM Z_PROD_READY_TASK zprt JOIN Z_SFC_DISPATCH zsd ON ZPRT.SFC_DISPATCH_BO=ZSD.HANDLE + LEFT JOIN Z_PRINT_LOG ZPL ON ZPL.SFC=ZSD.SFC AND ZPL.SITE=ZSD.SITE AND ZPL.STEP_ID=ZSD.STEP_ID LEFT JOIN Z_SFC_DISPATCH PREZSD ON zsd.SFC=PREZSD.SFC AND PREZSD.DISPATCH_SEQ=TO_NUMBER(zsd.DISPATCH_SEQ)-1 JOIN OPERATION OP ON OP.OPERATION = zprt.OPERATION AND OP.SITE = zprt.SITE AND OP.CURRENT_REVISION = 'true' LEFT JOIN OPERATION_T OT ON OT.OPERATION_BO = OP.HANDLE AND OT.LOCALE =#{locale} @@ -654,7 +655,8 @@ AND ZPRT.WORK_CENTER=#{entity.workCenter} AND ZPRT.RESRCE=#{entity.resrce} AND ZSD.DISPATCH_NO=#{entity.dispatchNo} - AND ZPRT.STATUS=#{entity.status} + AND ZPRT.STATUS=#{entity.status} + AND ZPL.IS_PRINT='true' AND ZPRT.STATUS='FINISH' AND ZPRT.RESULT=#{entity.result} AND ZSD.DISPATCH_STATUS=#{entity.sfcStepStatus} AND ZSD.DISPATCH_STATUS!='COMPLETE' diff --git a/console/src/main/resources/application-local.yml b/console/src/main/resources/application-local.yml index 1908b688..3e8ab68f 100644 --- a/console/src/main/resources/application-local.yml +++ b/console/src/main/resources/application-local.yml @@ -38,7 +38,7 @@ spring: merge-sql: true slow-sql-millis: 100 activemq: - enabled: false + enabled: true brokerUrl: tcp://localhost:61616?wireFormat.maxInactivityDuration=0 password: admin user: admin diff --git a/console/src/main/resources/application-prd.yml b/console/src/main/resources/application-prd.yml index b635d791..8b77ecb6 100644 --- a/console/src/main/resources/application-prd.yml +++ b/console/src/main/resources/application-prd.yml @@ -8,7 +8,7 @@ spring: driver-class-name: com.sap.db.jdbc.Driver jndi-name: jdbc/jts/wipPool activemq: - enabled: false + enabled: true brokerUrl: tcp://172.16.251.166:61616?wireFormat.maxInactivityDuration=0 password: admin user: admin diff --git a/console/src/main/resources/application-qas.yml b/console/src/main/resources/application-qas.yml index 36883dd6..b5ced4da 100644 --- a/console/src/main/resources/application-qas.yml +++ b/console/src/main/resources/application-qas.yml @@ -8,7 +8,7 @@ spring: driver-class-name: com.sap.db.jdbc.Driver jndi-name: jdbc/jts/wipPool activemq: - enabled: false + enabled: true brokerUrl: tcp://172.16.251.133:61616?wireFormat.maxInactivityDuration=0 password: admin user: admin @@ -34,11 +34,12 @@ ws: pwd: a123456 valid: N +#ftp ftp: - host: + host: 172.16.251.165 port: 21 - username: - password: + username: mesftp + password: mesnac1@3 #打印服务器配置 print: 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 b6b29593..08615a77 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 @@ -43,101 +43,20 @@ public class SfcDispatchController { @Autowired public SfcDispatchService sfcDispatchService; - - /** - * 派工生产批次清单导出 - * - * @param workCenter - * @param dispatchStatus - * @param item - * @param workOrder - * @param shopOrder - * @param resrce - * @param resourceType - * @param operation - * @param sfc - * @param componentDescription - * @param turnOperation - * @param isDispatch - * @param startFromDate_S - * @param startToDate_S - * @param completeFromDate_S - * @param completeToDate_S - * @return - */ - @ResponseBody - @GetMapping("getSfcDispatch") - public R getSfcDispatch(String workCenter, String dispatchStatus, String item, String itemNumber, String workOrder, String shopOrder, String blankingSize, - String resrce, String resourceType, String operation, String operationDescription, String sfc, String component, String componentDescription, String turnOperation, - String isDispatch, String startFromDate_S, String startToDate_S, String completeFromDate_S, String completeToDate_S) { - List list; - try { - SfcDispatchDto sfcDispatchDto = new SfcDispatchDto(); - sfcDispatchDto.setSite(CommonMethods.getSite()); - sfcDispatchDto.setUser(CommonMethods.getUser()); - sfcDispatchDto.setWorkCenter(workCenter); - sfcDispatchDto.setDispatchStatus(dispatchStatus); - sfcDispatchDto.setItem(item); - sfcDispatchDto.setItemNumber(itemNumber); - sfcDispatchDto.setWorkOrder(workOrder); - sfcDispatchDto.setShopOrder(shopOrder); - sfcDispatchDto.setResrce(resrce); - sfcDispatchDto.setResourceType(resourceType); - sfcDispatchDto.setOperation(operation); - sfcDispatchDto.setSfc(sfc); - sfcDispatchDto.setBlankingSize(blankingSize); - sfcDispatchDto.setComponent(component); - sfcDispatchDto.setComponentDescription(componentDescription); - sfcDispatchDto.setTurnOperation(turnOperation); - sfcDispatchDto.setIsDispatch(isDispatch); - if (startFromDate_S != null) { - sfcDispatchDto.setStartFromDate(DateUtil.parse(startFromDate_S)); - } - if (startToDate_S != null) { - sfcDispatchDto.setStartToDate(DateUtil.parse(startToDate_S)); - } - if (completeFromDate_S != null) { - sfcDispatchDto.setCompleteFromDate(DateUtil.parse(completeFromDate_S)); - } - if (completeToDate_S != null) { - sfcDispatchDto.setCompleteToDate(DateUtil.parse(completeToDate_S)); - } - - list = sfcDispatchService.findSfcDispatchList(sfcDispatchDto); - } catch (Exception e) { - return R.failed(e.getMessage()); - } - - return R.ok(list); - } - /** * 查询派工数据 * - * @param sfcDispatchDto + * @param paramMap * @return */ @ResponseBody - @PostMapping("findSfcDispatch") - public R findSfcDispatch(@RequestBody SfcDispatchDto sfcDispatchDto) { + @GetMapping("findSfcDispatch") + public R findSfcDispatch(@RequestParam(required = false) Map paramMap) { List list; try { - sfcDispatchDto.setSite(CommonMethods.getSite()); - sfcDispatchDto.setUser(CommonMethods.getUser()); - if (sfcDispatchDto.getStartFromDate_S() != null) { - sfcDispatchDto.setStartFromDate(DateUtil.parse(sfcDispatchDto.getStartFromDate_S())); - } - if (sfcDispatchDto.getStartToDate_S() != null) { - sfcDispatchDto.setStartToDate(DateUtil.parse(sfcDispatchDto.getStartToDate_S())); - } - if (sfcDispatchDto.getCompleteFromDate_S() != null) { - sfcDispatchDto.setCompleteFromDate(DateUtil.parse(sfcDispatchDto.getCompleteFromDate_S())); - } - if (sfcDispatchDto.getCompleteToDate_S() != null) { - sfcDispatchDto.setCompleteToDate(DateUtil.parse(sfcDispatchDto.getCompleteToDate_S())); - } - - list = sfcDispatchService.findSfcDispatchList(sfcDispatchDto); + paramMap.put("site", CommonMethods.getSite()); + + list = sfcDispatchService.findSfcDispatchList(paramMap); } catch (Exception e) { return R.failed(e.getMessage()); } @@ -297,24 +216,16 @@ public class SfcDispatchController { return R.ok(result); } @PostMapping("/gantt-list") - public R ganttList(@RequestBody SfcDispatchDto sfcDispatchDto) { + public R ganttList(@RequestParam(required = false) Map paramMap) { Map result = new HashMap<>(); try { String site = CommonMethods.getSite(); - if (StringUtil.isBlank(sfcDispatchDto.getStartFromDate_S())) { - throw BusinessException.build("派工开始时间不能为空!"); - } - if (StringUtil.isBlank(sfcDispatchDto.getStartToDate_S())) { - throw BusinessException.build("派工开始时间不能为空!"); - } - sfcDispatchDto.setSite(site); - sfcDispatchDto.setDispatchStatus(DispatchStatusEnum.RELEASE.getCode()); - sfcDispatchDto.setStartFromDate(DateUtil.parseDate(sfcDispatchDto.getStartFromDate_S())); - sfcDispatchDto.setStartToDate(DateUtil.parseDate(sfcDispatchDto.getStartToDate_S())); - - - result = sfcDispatchService.ganttList(site, sfcDispatchDto); + paramMap.put("site", site); + paramMap.put("", DispatchStatusEnum.RELEASE.getCode()); + + + result = sfcDispatchService.ganttList(site, paramMap); } catch (Exception e) { return R.failed(e.getMessage()); } diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/mapper/SfcDispatchMapper.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/mapper/SfcDispatchMapper.java index d755ce71..fe88aa95 100644 --- a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/mapper/SfcDispatchMapper.java +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/mapper/SfcDispatchMapper.java @@ -8,6 +8,7 @@ import org.springframework.stereotype.Repository; import java.time.LocalDateTime; import java.util.List; +import java.util.Map; /** *

@@ -25,10 +26,10 @@ public interface SfcDispatchMapper extends BaseMapper { /** * 查询派工生产批次数据 * - * @param sfcDispatchDto + * @param paramMap * @return */ - List findSfcDispatchList(SfcDispatchDto sfcDispatchDto); + List findSfcDispatchList(Map paramMap); /** * 修改派工单状态 diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/SfcDispatchService.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/SfcDispatchService.java index e6ddae8b..9d8fee61 100644 --- a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/SfcDispatchService.java +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/SfcDispatchService.java @@ -33,10 +33,10 @@ public interface SfcDispatchService extends IService { /** * 查询派工清单 * - * @param sfcDispatchDto + * @param paramMap * @return */ - List findSfcDispatchList(SfcDispatchDto sfcDispatchDto); + List findSfcDispatchList(Map paramMap); /** * 派工保存 @@ -105,10 +105,10 @@ public interface SfcDispatchService extends IService { * 甘特图数据查询 * * @param site - * @param sfcDispatchDto + * @param paramMap * @return */ - Map ganttList(String site, SfcDispatchDto sfcDispatchDto); + Map ganttList(String site, Map paramMap); } \ No newline at end of file diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/SfcDispatchServiceImpl.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/SfcDispatchServiceImpl.java index b786ea0d..c2066bb3 100644 --- a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/SfcDispatchServiceImpl.java +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/SfcDispatchServiceImpl.java @@ -88,8 +88,8 @@ public class SfcDispatchServiceImpl extends ServiceImpl findSfcDispatchList(SfcDispatchDto sfcDispatchDto) { - List list = sfcDispatchMapper.findSfcDispatchList(sfcDispatchDto); + public List findSfcDispatchList(Map paramMap) { + List list = sfcDispatchMapper.findSfcDispatchList(paramMap); if (list == null || list.size() <= 0) { return list; } @@ -282,11 +282,11 @@ public class SfcDispatchServiceImpl extends ServiceImpl ganttList(String site, SfcDispatchDto sfcDispatchDto) { + public Map ganttList(String site, Map paramMap) { Map map = new HashMap<>(); //查询派工数据 - List scheduleList = this.findSfcDispatchList(sfcDispatchDto); + List scheduleList = this.findSfcDispatchList(paramMap); if (scheduleList == null || scheduleList.size() <= 0) { return map; } @@ -299,7 +299,9 @@ public class SfcDispatchServiceImpl extends ServiceImpl>> processedMap = this.processWorkCenterWorkTimes(site, workCenterList, sfcDispatchDto.getStartFromDate(), sfcDispatchDto.getStartToDate()); + Date startFromDate = (Date) paramMap.get("startFromDate"); + Date StartToDate = (Date) paramMap.get("StartToDate"); + Map>> processedMap = this.processWorkCenterWorkTimes(site, workCenterList, startFromDate, StartToDate); map.put("workCenterWorkTimes", processedMap); return map; diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/ShopOrderReleaseServiceImpl.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/ShopOrderReleaseServiceImpl.java index a56be644..0560e1d6 100644 --- a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/ShopOrderReleaseServiceImpl.java +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/ShopOrderReleaseServiceImpl.java @@ -316,7 +316,6 @@ public class ShopOrderReleaseServiceImpl implements ShopOrderReleaseService { //---------------------------------------------------------------------------------------------------------- //查询工单下的生产批次清单 - String workCenter = shopOrderReleaseModel.getWorkCenter(); List sfcList = sfcService.getSfcListByShopOrderBo(shopOrderBo); if (sfcList == null || sfcList.size() <= 0) { continue; @@ -344,7 +343,7 @@ public class ShopOrderReleaseServiceImpl implements ShopOrderReleaseService { if (routerList == null || routerList.size() <= 0) { throw new BaseException("工艺路线[" +StringUtils.trimHandle(routerBo)+ "]不存在"); } - sfcDispatchRefresh(site, user, workCenter, shopOrderModel, sfcModel, routerList); + sfcDispatchRefresh(site, user, shopOrderModel, sfcModel, routerList); }//end for -- sfcList }// end for -- shopOrderList @@ -359,12 +358,11 @@ public class ShopOrderReleaseServiceImpl implements ShopOrderReleaseService { * * @param site * @param user - * @param workCenter * @param shopOrderModel * @param sfcModel * @param routerList */ - public void sfcDispatchRefresh(String site, String user, String workCenter, ShopOrder shopOrderModel, Sfc sfcModel, List routerList) { + public void sfcDispatchRefresh(String site, String user, ShopOrder shopOrderModel, Sfc sfcModel, List routerList) { LocalDateTime nowDate = LocalDateTime.now(); String router = routerList.get(0).getRouter(); @@ -429,6 +427,20 @@ public class ShopOrderReleaseServiceImpl implements ShopOrderReleaseService { //计算完成时间 //plannedCompleteDate = plannedStartDate.plusMinutes(prodHours.longValue()); + //查询工序所属车间 + String workCenter = null; + if (operation.contains("_")) { + workCenter = operation.split("_")[0]; + } else { + workCenter = operation; + } + String workCenterBo = HandleEnum.WORK_CENTER.getHandle(site, workCenter); + WorkCenter workCenterModel = workCenterService.getById(workCenterBo); + if (workCenterModel == null) { + throw BusinessException.build("生产车间【" +workCenter+ "】不存在"); + } + + //SFC+Operation+stepID是否已经存在派工数据 List list = sfcDispatchService.findSfcDispatch(site, sfc, operation, stepId); if (list == null || list.size() <= 0) { diff --git a/dispatch/src/main/resources/mapper/SfcDispatchMapper.xml b/dispatch/src/main/resources/mapper/SfcDispatchMapper.xml index cc2621cc..a3f83381 100644 --- a/dispatch/src/main/resources/mapper/SfcDispatchMapper.xml +++ b/dispatch/src/main/resources/mapper/SfcDispatchMapper.xml @@ -668,96 +668,102 @@ diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/UserGroupController.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/UserGroupController.java index 8383e2b1..43921e13 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/UserGroupController.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/UserGroupController.java @@ -1,18 +1,17 @@ package com.foreverwin.mesnac.meapi.controller; -import com.foreverwin.modular.core.util.CommonMethods; -import com.foreverwin.modular.core.util.R; -import com.foreverwin.modular.core.util.FrontPage; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import org.springframework.web.bind.annotation.RequestMapping; +import com.foreverwin.mesnac.meapi.model.UserGroup; +import com.foreverwin.mesnac.meapi.service.UserGroupService; +import com.foreverwin.modular.core.util.CommonMethods; +import com.foreverwin.modular.core.util.FrontPage; +import com.foreverwin.modular.core.util.R; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import com.foreverwin.mesnac.meapi.service.UserGroupService; -import com.foreverwin.mesnac.meapi.model.UserGroup; - import java.util.List; +import java.util.Map; /** * @@ -122,4 +121,27 @@ public class UserGroupController { public R removeByIds(List ids){ return R.ok(userGroupService.removeByIds(ids)); } -} \ No newline at end of file + + + @ResponseBody + @PostMapping("/findAbnormalUserGroup") + public R findAbnormalUserGroup(@RequestBody Map param){ + try{ + return R.ok(userGroupService.findAbnormalUserGroup(param)); + }catch (Exception e){ + return R.failed("找寻用户组失败"+e.getMessage()); + } + } +} + + + + + + + + + + + + diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/UserGroupMapper.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/UserGroupMapper.java index 7c14cea3..2003170d 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/UserGroupMapper.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/UserGroupMapper.java @@ -6,6 +6,7 @@ import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import java.util.List; +import java.util.Map; /** *

@@ -33,4 +34,6 @@ public interface UserGroupMapper extends BaseMapper { List findUserGroupListByUser(@Param("site")String site,@Param("user")String user); + List findAbnormalUserGroup(@Param("site")String site, @Param("param")Map map); + } \ No newline at end of file diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/UserGroupService.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/UserGroupService.java index ba6f45a5..a8e1cced 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/UserGroupService.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/UserGroupService.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.foreverwin.modular.core.util.FrontPage; import java.util.List; +import java.util.Map; /** *

@@ -29,4 +30,6 @@ public interface UserGroupService extends IService { List getUserGroupListByUserBo(String userBo); Integer getUserGroupByUser(String userBO,String userGroupBO); + + List findAbnormalUserGroup(Map param); } \ No newline at end of file diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/UserGroupServiceImpl.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/UserGroupServiceImpl.java index f315056c..17382a57 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/UserGroupServiceImpl.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/UserGroupServiceImpl.java @@ -1,17 +1,19 @@ package com.foreverwin.mesnac.meapi.service.impl; -import com.foreverwin.modular.core.util.FrontPage; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.foreverwin.mesnac.meapi.model.UserGroup; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.foreverwin.mesnac.meapi.mapper.UserGroupMapper; +import com.foreverwin.mesnac.meapi.model.UserGroup; import com.foreverwin.mesnac.meapi.service.UserGroupService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; +import com.foreverwin.modular.core.util.CommonMethods; +import com.foreverwin.modular.core.util.FrontPage; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; +import java.util.Map; /** *

@@ -52,4 +54,10 @@ public class UserGroupServiceImpl extends ServiceImpl findAbnormalUserGroup(Map param) { + String site = CommonMethods.getSite(); + return userGroupMapper.findAbnormalUserGroup(site,param); + } + } \ No newline at end of file diff --git a/meapi/src/main/resources/mapper/UserGroupMapper.xml b/meapi/src/main/resources/mapper/UserGroupMapper.xml index 7beb8f56..4bd1b9e0 100644 --- a/meapi/src/main/resources/mapper/UserGroupMapper.xml +++ b/meapi/src/main/resources/mapper/UserGroupMapper.xml @@ -390,5 +390,15 @@ WHERE U.USER_ID = #{user} AND U.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 03869e30..b24ba775 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,14 @@ 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.orderByDesc(InspectionTask.CREATED_DATE_TIME); List list = inspectionTaskService.list(queryWrapper); if (!list.isEmpty()) { - throw new BaseException("请完成专检检验任务"); + InspectionTask inspectionTask = list.get(0); + String result = inspectionTask.getResult(); + if (!inspectionTask.getStatus().equals(Constants.INSPECTION_TASK_STATUS_COMPLETE)||StringUtil.isBlank(result)||!result.equals(Constants.RSESULT_OK)){ + throw new BaseException("请完成专检检验任务"); + } } try { sfcCrossService.startAction(site, currentRevisionRef.getHandle(), resrce, sfcServiceById.getHandle(), qty); @@ -246,6 +250,10 @@ public class PodTemplateServiceImpl implements PodTemplateService { String dispatchNo = sfcDto.getDispatchNo(); Sfc sfcServiceById = sfcService.getById(HandleEnum.SFC.getHandle(site, sfc)); + String status = StringUtil.trimHandle(sfcServiceById.getStatusBo()); + if (status.equals("404")) { + throw new BaseException("产品条码" + sfc + "已暂停"); + } BigDecimal qty = new BigDecimal(sfcServiceById.getQty().toString()); //是否有自检检验项目 List inspectionItemDetails = inspectionItemService.selectQualityInspection(sfc, operation, stepId, Constants.INSPECTION_TYPE_Z); @@ -289,7 +297,7 @@ public class PodTemplateServiceImpl implements PodTemplateService { inspectionTaskService.createTask(paramMap); } else { paramMap.put("CATEGORY", Constants.INSPECTION_TYPE_P); - inspectionTaskService.createCompleteTask(paramMap); + inspectionTaskService.createNewTask(paramMap); } //首件创建 inspectionItemDetails = inspectionItemService.selectQualityInspection(sfc, operation, stepId, Constants.INSPECTION_TYPE_S); diff --git a/production/src/main/java/com/foreverwin/mesnac/production/service/impl/SfcCrossServiceImpl.java b/production/src/main/java/com/foreverwin/mesnac/production/service/impl/SfcCrossServiceImpl.java index 97e4c234..fe0699f1 100644 --- a/production/src/main/java/com/foreverwin/mesnac/production/service/impl/SfcCrossServiceImpl.java +++ b/production/src/main/java/com/foreverwin/mesnac/production/service/impl/SfcCrossServiceImpl.java @@ -1,7 +1,11 @@ package com.foreverwin.mesnac.production.service.impl; +import com.foreverwin.mesnac.common.constant.CustomFieldConstant; +import com.foreverwin.mesnac.common.enums.HandleEnum; +import com.foreverwin.mesnac.common.util.StringUtil; import com.foreverwin.mesnac.meapi.dto.SfcDto; +import com.foreverwin.mesnac.meapi.service.CustomFieldsService; import com.foreverwin.mesnac.production.mapper.SfcCrossMapper; import com.foreverwin.mesnac.production.service.SfcCrossService; import com.foreverwin.modular.core.exception.BaseException; @@ -28,6 +32,8 @@ import java.util.List; public class SfcCrossServiceImpl implements SfcCrossService { @Autowired private SfcCrossMapper sfcCrossMapper; + @Autowired + private CustomFieldsService customFieldsService; @Override public void startAction(String site, String operationRef, String resource, String sfcRef, BigDecimal qty) throws Exception { @@ -80,10 +86,15 @@ public class SfcCrossServiceImpl implements SfcCrossService { public void resourceCheck(String resrce) { LocalDateTime now = LocalDateTime.now(); String site = CommonMethods.getSite(); - LocalDateTime dateTime = LocalDateTime.of(now.getYear(), now.getMonth(), now.getDayOfMonth(), 0, 0, 0); - Integer integer = sfcCrossMapper.resourceCheck(site,resrce, dateTime); - if (integer<1){ - throw new BaseException("当前设备点检未完成"); + String handle = HandleEnum.RESOURCE.getHandle(site, resrce); + String isSpot = customFieldsService.getCustomFieldsValue(handle, CustomFieldConstant.RESRCE_CUSTOM_FIELD_IS_SPOT); + if (StringUtil.isBlank(isSpot)||!isSpot.equals("N")){ + LocalDateTime dateTime = LocalDateTime.of(now.getYear(), now.getMonth(), now.getDayOfMonth(), 0, 0, 0); + Integer integer = sfcCrossMapper.resourceCheck(site,resrce, dateTime); + if (integer<1){ + throw new BaseException("当前设备点检未完成"); + } } + } } diff --git a/production/src/main/java/com/foreverwin/mesnac/production/service/impl/SplitSfcServiceImpl.java b/production/src/main/java/com/foreverwin/mesnac/production/service/impl/SplitSfcServiceImpl.java index f9a4ab44..1b26a1fb 100644 --- a/production/src/main/java/com/foreverwin/mesnac/production/service/impl/SplitSfcServiceImpl.java +++ b/production/src/main/java/com/foreverwin/mesnac/production/service/impl/SplitSfcServiceImpl.java @@ -3,6 +3,8 @@ package com.foreverwin.mesnac.production.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.foreverwin.mesnac.common.dto.SfcDispatchDto; +import com.foreverwin.mesnac.common.enums.DispatchStatusEnum; import com.foreverwin.mesnac.common.enums.HandleEnum; import com.foreverwin.mesnac.common.service.SfcDispatchCommonService; import com.foreverwin.mesnac.common.util.ExceptionUtil; @@ -18,7 +20,6 @@ import com.foreverwin.mesnac.production.dto.SplitSfcDto; import com.foreverwin.mesnac.production.mapper.SfcCrossMapper; import com.foreverwin.mesnac.production.mapper.SplitSfcMapper; import com.foreverwin.mesnac.production.model.SplitSfc; -import com.foreverwin.mesnac.production.model.StepOperation; import com.foreverwin.mesnac.production.service.SplitSfcService; import com.foreverwin.modular.core.exception.BaseException; import com.foreverwin.modular.core.meext.MEServices; @@ -182,6 +183,14 @@ public class SplitSfcServiceImpl extends ServiceImpl i if (sfcData==null){ throw new BaseException("未找到产品条码信息"); } + SfcDispatchDto sfcDispatchDto = new SfcDispatchDto(); + sfcDispatchDto.setSite(site); + sfcDispatchDto.setSfc(sfc); + sfcDispatchDto.setStepId(sfcData.getStepId()); + SfcDispatchDto sfcDispatchBySfc = sfcDispatchCommonService.findSfcDispatchBySfc(sfcDispatchDto); + if (sfcDispatchBySfc.equals(DispatchStatusEnum.CANCEL.getCode())){ + throw new BaseException("产品已取消派工"); + } //查询质量异常记录数量 处置工艺路线及不良代码 SplitSfcDto splitSfcDto=splitSfcMapper.getAbnormalQty(site,sfc,operation, abnormalNo); String routerBo = splitSfcDto.getRouterBo(); @@ -224,11 +233,10 @@ public class SplitSfcServiceImpl extends ServiceImpl i stepIdentifier.setStepId(sfcData.getStepId()); stepIdentifier.setOperationId(sfcData.getOperation()); productionContext.setStepIdentifier(stepIdentifier); - List resourceBySfc = sfcCrossMapper.getResourceBySfc(site, sfc); - if (resourceBySfc.isEmpty()){ - throw new BaseException("产品不在工作中"); + if (StringUtil.isBlank(sfcDispatchBySfc.getResrce())){ + throw new BaseException("未派工到设备"); } - productionContext.setResourceRef(resourceBySfc.get(0).getResourceBo()); + productionContext.setResourceRef(HandleEnum.RESOURCE.getHandle(site,sfcDispatchBySfc.getResrce())); createNCRequest.setProdCtx(productionContext); createNCRequest.setNcCodeRef(HandleEnum.NC_CODE.getHandle(site,splitNcCode[0])); ncProductionService.createNC(createNCRequest); 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 bf7588fa..19ebf9ef 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 @@ -6,6 +6,7 @@ import com.foreverwin.mesnac.common.model.InspectionTask; import com.foreverwin.mesnac.common.model.InspectionTaskDetail; import com.foreverwin.mesnac.common.service.InspectionTaskDetailService; import com.foreverwin.mesnac.common.service.InspectionTaskService; +import com.foreverwin.mesnac.common.util.DateUtil; import com.foreverwin.mesnac.common.util.StringUtil; import com.foreverwin.mesnac.quality.dto.InspectionTaskManageRequest; import com.foreverwin.mesnac.quality.mapper.InspectionTaskManageMapper; @@ -53,10 +54,15 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ //查询检验项目 List inspectionItemDetailList = this.getInspectionTaskDetail(taskBo); + if (!Constants.INSPECTION_TASK_STATUS_NEW.equals(inspectionTaskManage.getStatus())) { + inspectionTaskManage.setInspectionTaskDetailList(inspectionItemDetailList); + return inspectionTaskManage; + } + if (inspectionItemDetailList == null || inspectionItemDetailList.size() <= 0) { inspectionItemDetailList = this.getInspectionItemDetail(inspectionItemBo); if (inspectionItemDetailList == null || inspectionItemDetailList.size() <= 0) { - throw BusinessException.build("没有找到检验项目检验参数!"); + return inspectionTaskManage; } List taskDetailList = new ArrayList<>(); @@ -82,11 +88,10 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ if (taskDetailList != null && taskDetailList.size() > 0) { inspectionTaskDetailService.saveBatch(taskDetailList); } - inspectionItemDetailList = this.getInspectionTaskDetail(taskBo); } - inspectionTaskManage.setInspectionTaskDetailList(inspectionItemDetailList); + inspectionTaskManage.setInspectionTaskDetailList(inspectionItemDetailList); return inspectionTaskManage; } @@ -117,7 +122,7 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ List inspectionItemDetailList = this.getInspectionTaskDetail(HandleEnum.INSPECTION_TASK.getHandle(taskNo)); if (inspectionItemDetailList != null && inspectionItemDetailList.size() > 0) { - throw BusinessException.build("检验任务:"+taskNo+"有检验项目,不允许执行合格操作"); + throw BusinessException.build("检验任务【"+taskNo+"】有检验项目,不允许执行合格操作"); } @@ -139,56 +144,74 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ @Override public void saveInspectionTaskDetail(String site, String user, InspectionTaskManage inspectionTaskManage) { - List taskDetailList = inspectionTaskManage.getInspectionTaskDetailList(); - if (taskDetailList == null || taskDetailList.size() <= 0) { - return; - } - LocalDateTime dateTime = LocalDateTime.now(); - String taskNo = inspectionTaskManage.getTaskNo(); String type = inspectionTaskManage.getOperationType(); - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - List inspectionTaskDetailList = new ArrayList<>(); - //修改明细数据 - for (InspectionTaskManageDetail manageDetail : taskDetailList) { - String isRequired = manageDetail.getIsRequired(); - String paramNo = manageDetail.getParamNo(); - String checkValues = manageDetail.getCheckValues(); - if ("Y".equals(isRequired) && StringUtil.isBlank(checkValues) && "SUBMIT".equals(type)) { - throw BusinessException.build("检验项目【" +paramNo+"】值必输!"); - } + List taskDetailList = inspectionTaskManage.getInspectionTaskDetailList(); + if (taskDetailList != null && taskDetailList.size() > 0) { + List inspectionTaskDetailList = new ArrayList<>(); + + //修改明细数据 + for (InspectionTaskManageDetail manageDetail : taskDetailList) { + String isRequired = manageDetail.getIsRequired(); + String paramNo = manageDetail.getParamNo(); + String checkValues = manageDetail.getCheckValues(); + if ("Y".equals(isRequired) && StringUtil.isBlank(checkValues) && "SUBMIT".equals(type)) { + throw BusinessException.build("检验项目【" + paramNo + "】值必输!"); + } - InspectionTaskDetail taskDetail = new InspectionTaskDetail(); - taskDetail.setHandle(manageDetail.getHandle()); - taskDetail.setCheckValues(checkValues); - taskDetail.setResult(manageDetail.getResult()); - taskDetail.setRemark(manageDetail.getRemark()); - taskDetail.setCheckUser(user); - taskDetail.setCheckDate(dateTime); - inspectionTaskDetailList.add(taskDetail); - } + InspectionTaskDetail taskDetail = new InspectionTaskDetail(); + taskDetail.setHandle(manageDetail.getHandle()); + taskDetail.setCheckValues(checkValues); + taskDetail.setResult(manageDetail.getResult()); + taskDetail.setRemark(manageDetail.getRemark()); + taskDetail.setCheckUser(user); + taskDetail.setCheckDate(dateTime); + inspectionTaskDetailList.add(taskDetail); + } - if (inspectionTaskDetailList != null && inspectionTaskDetailList.size() > 0) { - inspectionTaskDetailService.updateBatchById(inspectionTaskDetailList); + if (inspectionTaskDetailList != null && inspectionTaskDetailList.size() > 0) { + inspectionTaskDetailService.updateBatchById(inspectionTaskDetailList); + } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + String result = inspectionTaskManage.getResult(); + String taskNo = inspectionTaskManage.getTaskNo(); //修改主表数据 InspectionTask inspectionTaskModel = inspectionTaskService.getInspectionTaskByTaskNo(site, taskNo); if (inspectionTaskModel == null) { throw BusinessException.build("检验任务【" +taskNo+ "】不存在!"); } String status = inspectionTaskModel.getStatus(); + String category = inspectionTaskModel.getCategory(); if (!Constants.INSPECTION_TASK_STATUS_NEW.equals(status) && !Constants.INSPECTION_TASK_STATUS_DOING.equals(status)) { throw BusinessException.build("检验任务【" +taskNo+ "】不是【新建|检验中】,不允许操作!"); } inspectionTaskModel.setStatus("SAVE".equals(type) ? Constants.INSPECTION_TASK_STATUS_DOING : Constants.INSPECTION_TASK_STATUS_COMPLETE); - inspectionTaskModel.setResult(inspectionTaskManage.getResult()); + 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)) { + return; + } + + //任务主表 + InspectionTask newInspectionTask = new InspectionTask(); + BeanUtils.copyProperties(inspectionTaskModel, newInspectionTask); + String newTaskNo = "H_" + DateUtil.getTimeString(); + String handle = HandleEnum.INSPECTION_TASK.getHandle(site, newTaskNo); + newInspectionTask.setHandle(handle); + newInspectionTask.setTaskNo(newTaskNo); + newInspectionTask.setStatus(Constants.INSPECTION_TASK_STATUS_NEW); + newInspectionTask.setResult(null); + newInspectionTask.setComments(null); + inspectionTaskService.save(newInspectionTask); } } diff --git a/quality/src/main/resources/mapper/InspectionTaskManageMapper.xml b/quality/src/main/resources/mapper/InspectionTaskManageMapper.xml index f0559043..68b442df 100644 --- a/quality/src/main/resources/mapper/InspectionTaskManageMapper.xml +++ b/quality/src/main/resources/mapper/InspectionTaskManageMapper.xml @@ -39,14 +39,17 @@ AND B.WORK_CENTER = #{workCenter} - - - AND B.CATEGORY = #{category} - - - AND (B.CATEGORY = 'S' OR B.CATEGORY = 'P') - - + + + AND B.CATEGORY = #{category} + + + AND (B.CATEGORY = 'S' OR B.CATEGORY = 'P') + + + + AND B.TASK_NO =#{taskNo} + AND B.STATUS = #{status}