diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java index 2678726..c14c3be 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java @@ -79,7 +79,7 @@ @ApiOperation("任务分发-获取初始化检定流程") @PostMapping("/handOut/initList") @ResponseBody - public ReturnDTO> queryInitList(@RequestBody @Valid SampleHandOutInitListRequest handOutInitListRequest, BindingResult bindingResult) { + public ReturnDTO> queryInitList(@RequestBody @Valid SampleHandOutInitListRequest handOutInitListRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -165,12 +165,29 @@ /** * 实验室检测-部门检测/我的检测 退回(待检测/检测中->退回) - * 退回后会将下一个要执行的实验室检测状态更新为待分配 + * 退回后会将下一个要执行的实验室检测状态更新为待分配,将后面的实验室顺序变更为连续(都进行减1,) * 可能出现最后一个检测的实验室退回,这样的情况是否需要把样品状态改为检测完,还是等分发员再增加实验室或增加个分发员点击完成的按钮 */ + + + /** * 分发员编辑实验室检测列表 */ + @ApiOperation("分发员编辑实验室检测列表") + @PostMapping("/handOut/updateExecutiveList") + @ResponseBody + public ReturnDTO updateExecutiveList(@RequestBody @Valid UpdateExecutiveListRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return labExecutiveInfoService.updateExecutiveList(request); + } + + + /** + * 各列表导出 + */ } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java index 2678726..c14c3be 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java @@ -79,7 +79,7 @@ @ApiOperation("任务分发-获取初始化检定流程") @PostMapping("/handOut/initList") @ResponseBody - public ReturnDTO> queryInitList(@RequestBody @Valid SampleHandOutInitListRequest handOutInitListRequest, BindingResult bindingResult) { + public ReturnDTO> queryInitList(@RequestBody @Valid SampleHandOutInitListRequest handOutInitListRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -165,12 +165,29 @@ /** * 实验室检测-部门检测/我的检测 退回(待检测/检测中->退回) - * 退回后会将下一个要执行的实验室检测状态更新为待分配 + * 退回后会将下一个要执行的实验室检测状态更新为待分配,将后面的实验室顺序变更为连续(都进行减1,) * 可能出现最后一个检测的实验室退回,这样的情况是否需要把样品状态改为检测完,还是等分发员再增加实验室或增加个分发员点击完成的按钮 */ + + + /** * 分发员编辑实验室检测列表 */ + @ApiOperation("分发员编辑实验室检测列表") + @PostMapping("/handOut/updateExecutiveList") + @ResponseBody + public ReturnDTO updateExecutiveList(@RequestBody @Valid UpdateExecutiveListRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return labExecutiveInfoService.updateExecutiveList(request); + } + + + /** + * 各列表导出 + */ } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java index 63c2005..36b5d5e 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java @@ -20,4 +20,5 @@ List selectExecutiveList(@Param("request") SampleHandOutInitListRequest request); + Long selectMaxTemplateNo(); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java index 2678726..c14c3be 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java @@ -79,7 +79,7 @@ @ApiOperation("任务分发-获取初始化检定流程") @PostMapping("/handOut/initList") @ResponseBody - public ReturnDTO> queryInitList(@RequestBody @Valid SampleHandOutInitListRequest handOutInitListRequest, BindingResult bindingResult) { + public ReturnDTO> queryInitList(@RequestBody @Valid SampleHandOutInitListRequest handOutInitListRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -165,12 +165,29 @@ /** * 实验室检测-部门检测/我的检测 退回(待检测/检测中->退回) - * 退回后会将下一个要执行的实验室检测状态更新为待分配 + * 退回后会将下一个要执行的实验室检测状态更新为待分配,将后面的实验室顺序变更为连续(都进行减1,) * 可能出现最后一个检测的实验室退回,这样的情况是否需要把样品状态改为检测完,还是等分发员再增加实验室或增加个分发员点击完成的按钮 */ + + + /** * 分发员编辑实验室检测列表 */ + @ApiOperation("分发员编辑实验室检测列表") + @PostMapping("/handOut/updateExecutiveList") + @ResponseBody + public ReturnDTO updateExecutiveList(@RequestBody @Valid UpdateExecutiveListRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return labExecutiveInfoService.updateExecutiveList(request); + } + + + /** + * 各列表导出 + */ } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java index 63c2005..36b5d5e 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java @@ -20,4 +20,5 @@ List selectExecutiveList(@Param("request") SampleHandOutInitListRequest request); + Long selectMaxTemplateNo(); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml index 010260c..c313a73 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml @@ -19,7 +19,6 @@ - @@ -41,8 +40,7 @@ blei.require_certifications FROM business_lab_executive_info blei JOIN sys_dept sd ON blei.measure_dept_id = sd.ID - WHERE blei.is_del = 0 - AND blei.order_id = #{orderId} + WHERE blei.order_id = #{orderId} AND blei.sample_id = #{sampleId} AND (blei.measure_status = 1 OR blei.measure_status = 2 OR blei.measure_status = 3) @@ -51,8 +49,7 @@ SELECT require_certifications FROM (SELECT * FROM business_lab_executive_info blei - WHERE blei.is_del = 0 - AND blei.order_id = #{orderId} + WHERE blei.order_id = #{orderId} AND blei.sample_id = #{sampleId} AND (blei.measure_status = 1 OR blei.measure_status = 2 OR blei.measure_status=3) ) blei @@ -60,13 +57,12 @@ @@ -76,8 +72,7 @@ FROM business_lab_executive_info blei JOIN customer_sample_info csi ON csi.id = blei.sample_id JOIN business_order bo ON bo.id = blei.order_id - WHERE blei.is_del = 0 - AND blei.measure_dept_id = #{deptId} + WHERE blei.measure_dept_id = #{deptId} AND blei.measure_status = #{status} @@ -123,8 +118,7 @@ JOIN customer_sample_info csi ON csi.id = blei.sample_id JOIN business_order bo ON bo.id = blei.order_id LEFT JOIN sys_dept sd ON blei.measure_dept_id = sd.ID - WHERE blei.is_del = 0 - AND blei.measure_person_id = #{userId} + WHERE blei.measure_person_id = #{userId} AND blei.measure_status = #{status} AND csi.sample_no LIKE concat('%',#{request.sampleNo},'%') diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java index 2678726..c14c3be 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java @@ -79,7 +79,7 @@ @ApiOperation("任务分发-获取初始化检定流程") @PostMapping("/handOut/initList") @ResponseBody - public ReturnDTO> queryInitList(@RequestBody @Valid SampleHandOutInitListRequest handOutInitListRequest, BindingResult bindingResult) { + public ReturnDTO> queryInitList(@RequestBody @Valid SampleHandOutInitListRequest handOutInitListRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -165,12 +165,29 @@ /** * 实验室检测-部门检测/我的检测 退回(待检测/检测中->退回) - * 退回后会将下一个要执行的实验室检测状态更新为待分配 + * 退回后会将下一个要执行的实验室检测状态更新为待分配,将后面的实验室顺序变更为连续(都进行减1,) * 可能出现最后一个检测的实验室退回,这样的情况是否需要把样品状态改为检测完,还是等分发员再增加实验室或增加个分发员点击完成的按钮 */ + + + /** * 分发员编辑实验室检测列表 */ + @ApiOperation("分发员编辑实验室检测列表") + @PostMapping("/handOut/updateExecutiveList") + @ResponseBody + public ReturnDTO updateExecutiveList(@RequestBody @Valid UpdateExecutiveListRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return labExecutiveInfoService.updateExecutiveList(request); + } + + + /** + * 各列表导出 + */ } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java index 63c2005..36b5d5e 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java @@ -20,4 +20,5 @@ List selectExecutiveList(@Param("request") SampleHandOutInitListRequest request); + Long selectMaxTemplateNo(); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml index 010260c..c313a73 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml @@ -19,7 +19,6 @@ - @@ -41,8 +40,7 @@ blei.require_certifications FROM business_lab_executive_info blei JOIN sys_dept sd ON blei.measure_dept_id = sd.ID - WHERE blei.is_del = 0 - AND blei.order_id = #{orderId} + WHERE blei.order_id = #{orderId} AND blei.sample_id = #{sampleId} AND (blei.measure_status = 1 OR blei.measure_status = 2 OR blei.measure_status = 3) @@ -51,8 +49,7 @@ SELECT require_certifications FROM (SELECT * FROM business_lab_executive_info blei - WHERE blei.is_del = 0 - AND blei.order_id = #{orderId} + WHERE blei.order_id = #{orderId} AND blei.sample_id = #{sampleId} AND (blei.measure_status = 1 OR blei.measure_status = 2 OR blei.measure_status=3) ) blei @@ -60,13 +57,12 @@ @@ -76,8 +72,7 @@ FROM business_lab_executive_info blei JOIN customer_sample_info csi ON csi.id = blei.sample_id JOIN business_order bo ON bo.id = blei.order_id - WHERE blei.is_del = 0 - AND blei.measure_dept_id = #{deptId} + WHERE blei.measure_dept_id = #{deptId} AND blei.measure_status = #{status} @@ -123,8 +118,7 @@ JOIN customer_sample_info csi ON csi.id = blei.sample_id JOIN business_order bo ON bo.id = blei.order_id LEFT JOIN sys_dept sd ON blei.measure_dept_id = sd.ID - WHERE blei.is_del = 0 - AND blei.measure_person_id = #{userId} + WHERE blei.measure_person_id = #{userId} AND blei.measure_status = #{status} AND csi.sample_no LIKE concat('%',#{request.sampleNo},'%') diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml index 654889d..98e4e5e 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml @@ -13,7 +13,6 @@ - @@ -34,4 +33,8 @@ AND bleti.sample_id = #{request.sampleId} ORDER BY bleti.execute_sequence ASC + + diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java index 2678726..c14c3be 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java @@ -79,7 +79,7 @@ @ApiOperation("任务分发-获取初始化检定流程") @PostMapping("/handOut/initList") @ResponseBody - public ReturnDTO> queryInitList(@RequestBody @Valid SampleHandOutInitListRequest handOutInitListRequest, BindingResult bindingResult) { + public ReturnDTO> queryInitList(@RequestBody @Valid SampleHandOutInitListRequest handOutInitListRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -165,12 +165,29 @@ /** * 实验室检测-部门检测/我的检测 退回(待检测/检测中->退回) - * 退回后会将下一个要执行的实验室检测状态更新为待分配 + * 退回后会将下一个要执行的实验室检测状态更新为待分配,将后面的实验室顺序变更为连续(都进行减1,) * 可能出现最后一个检测的实验室退回,这样的情况是否需要把样品状态改为检测完,还是等分发员再增加实验室或增加个分发员点击完成的按钮 */ + + + /** * 分发员编辑实验室检测列表 */ + @ApiOperation("分发员编辑实验室检测列表") + @PostMapping("/handOut/updateExecutiveList") + @ResponseBody + public ReturnDTO updateExecutiveList(@RequestBody @Valid UpdateExecutiveListRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return labExecutiveInfoService.updateExecutiveList(request); + } + + + /** + * 各列表导出 + */ } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java index 63c2005..36b5d5e 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java @@ -20,4 +20,5 @@ List selectExecutiveList(@Param("request") SampleHandOutInitListRequest request); + Long selectMaxTemplateNo(); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml index 010260c..c313a73 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml @@ -19,7 +19,6 @@ - @@ -41,8 +40,7 @@ blei.require_certifications FROM business_lab_executive_info blei JOIN sys_dept sd ON blei.measure_dept_id = sd.ID - WHERE blei.is_del = 0 - AND blei.order_id = #{orderId} + WHERE blei.order_id = #{orderId} AND blei.sample_id = #{sampleId} AND (blei.measure_status = 1 OR blei.measure_status = 2 OR blei.measure_status = 3) @@ -51,8 +49,7 @@ SELECT require_certifications FROM (SELECT * FROM business_lab_executive_info blei - WHERE blei.is_del = 0 - AND blei.order_id = #{orderId} + WHERE blei.order_id = #{orderId} AND blei.sample_id = #{sampleId} AND (blei.measure_status = 1 OR blei.measure_status = 2 OR blei.measure_status=3) ) blei @@ -60,13 +57,12 @@ @@ -76,8 +72,7 @@ FROM business_lab_executive_info blei JOIN customer_sample_info csi ON csi.id = blei.sample_id JOIN business_order bo ON bo.id = blei.order_id - WHERE blei.is_del = 0 - AND blei.measure_dept_id = #{deptId} + WHERE blei.measure_dept_id = #{deptId} AND blei.measure_status = #{status} @@ -123,8 +118,7 @@ JOIN customer_sample_info csi ON csi.id = blei.sample_id JOIN business_order bo ON bo.id = blei.order_id LEFT JOIN sys_dept sd ON blei.measure_dept_id = sd.ID - WHERE blei.is_del = 0 - AND blei.measure_person_id = #{userId} + WHERE blei.measure_person_id = #{userId} AND blei.measure_status = #{status} AND csi.sample_no LIKE concat('%',#{request.sampleNo},'%') diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml index 654889d..98e4e5e 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml @@ -13,7 +13,6 @@ - @@ -34,4 +33,8 @@ AND bleti.sample_id = #{request.sampleId} ORDER BY bleti.execute_sequence ASC + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java index c80d42e..6c93f61 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java @@ -12,6 +12,8 @@ @Data @ApiModel public class MeasureProcessDTO { + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") private Long measureSegmentId; @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") @@ -29,4 +31,6 @@ //更新时间使用business_lab_executive_info表更新时间,因为只有操作和修改应出具证书个数才会更新 @ApiModelProperty(value = "更新时间", dataType = "String") private String updateTime; + @ApiModelProperty(value = "检测顺序", dataType = "Integer") + private Integer measureSequence; } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java index 2678726..c14c3be 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java @@ -79,7 +79,7 @@ @ApiOperation("任务分发-获取初始化检定流程") @PostMapping("/handOut/initList") @ResponseBody - public ReturnDTO> queryInitList(@RequestBody @Valid SampleHandOutInitListRequest handOutInitListRequest, BindingResult bindingResult) { + public ReturnDTO> queryInitList(@RequestBody @Valid SampleHandOutInitListRequest handOutInitListRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -165,12 +165,29 @@ /** * 实验室检测-部门检测/我的检测 退回(待检测/检测中->退回) - * 退回后会将下一个要执行的实验室检测状态更新为待分配 + * 退回后会将下一个要执行的实验室检测状态更新为待分配,将后面的实验室顺序变更为连续(都进行减1,) * 可能出现最后一个检测的实验室退回,这样的情况是否需要把样品状态改为检测完,还是等分发员再增加实验室或增加个分发员点击完成的按钮 */ + + + /** * 分发员编辑实验室检测列表 */ + @ApiOperation("分发员编辑实验室检测列表") + @PostMapping("/handOut/updateExecutiveList") + @ResponseBody + public ReturnDTO updateExecutiveList(@RequestBody @Valid UpdateExecutiveListRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return labExecutiveInfoService.updateExecutiveList(request); + } + + + /** + * 各列表导出 + */ } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java index 63c2005..36b5d5e 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java @@ -20,4 +20,5 @@ List selectExecutiveList(@Param("request") SampleHandOutInitListRequest request); + Long selectMaxTemplateNo(); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml index 010260c..c313a73 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml @@ -19,7 +19,6 @@ - @@ -41,8 +40,7 @@ blei.require_certifications FROM business_lab_executive_info blei JOIN sys_dept sd ON blei.measure_dept_id = sd.ID - WHERE blei.is_del = 0 - AND blei.order_id = #{orderId} + WHERE blei.order_id = #{orderId} AND blei.sample_id = #{sampleId} AND (blei.measure_status = 1 OR blei.measure_status = 2 OR blei.measure_status = 3) @@ -51,8 +49,7 @@ SELECT require_certifications FROM (SELECT * FROM business_lab_executive_info blei - WHERE blei.is_del = 0 - AND blei.order_id = #{orderId} + WHERE blei.order_id = #{orderId} AND blei.sample_id = #{sampleId} AND (blei.measure_status = 1 OR blei.measure_status = 2 OR blei.measure_status=3) ) blei @@ -60,13 +57,12 @@ @@ -76,8 +72,7 @@ FROM business_lab_executive_info blei JOIN customer_sample_info csi ON csi.id = blei.sample_id JOIN business_order bo ON bo.id = blei.order_id - WHERE blei.is_del = 0 - AND blei.measure_dept_id = #{deptId} + WHERE blei.measure_dept_id = #{deptId} AND blei.measure_status = #{status} @@ -123,8 +118,7 @@ JOIN customer_sample_info csi ON csi.id = blei.sample_id JOIN business_order bo ON bo.id = blei.order_id LEFT JOIN sys_dept sd ON blei.measure_dept_id = sd.ID - WHERE blei.is_del = 0 - AND blei.measure_person_id = #{userId} + WHERE blei.measure_person_id = #{userId} AND blei.measure_status = #{status} AND csi.sample_no LIKE concat('%',#{request.sampleNo},'%') diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml index 654889d..98e4e5e 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml @@ -13,7 +13,6 @@ - @@ -34,4 +33,8 @@ AND bleti.sample_id = #{request.sampleId} ORDER BY bleti.execute_sequence ASC + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java index c80d42e..6c93f61 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java @@ -12,6 +12,8 @@ @Data @ApiModel public class MeasureProcessDTO { + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") private Long measureSegmentId; @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") @@ -29,4 +31,6 @@ //更新时间使用business_lab_executive_info表更新时间,因为只有操作和修改应出具证书个数才会更新 @ApiModelProperty(value = "更新时间", dataType = "String") private String updateTime; + @ApiModelProperty(value = "检测顺序", dataType = "Integer") + private Integer measureSequence; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java index 69857d9..0e34812 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java @@ -7,9 +7,9 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.fastjson.annotation.JSONField; import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; -import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -91,9 +91,9 @@ @ExcelProperty(value = "分发性质", order = 14) private String handOutProperty; - @JsonIgnore + @JSONField(serialize = false) private Long orderId; - @JsonIgnore + @JSONField(serialize = false) private String sampleStatus; } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java index 2678726..c14c3be 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java @@ -79,7 +79,7 @@ @ApiOperation("任务分发-获取初始化检定流程") @PostMapping("/handOut/initList") @ResponseBody - public ReturnDTO> queryInitList(@RequestBody @Valid SampleHandOutInitListRequest handOutInitListRequest, BindingResult bindingResult) { + public ReturnDTO> queryInitList(@RequestBody @Valid SampleHandOutInitListRequest handOutInitListRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -165,12 +165,29 @@ /** * 实验室检测-部门检测/我的检测 退回(待检测/检测中->退回) - * 退回后会将下一个要执行的实验室检测状态更新为待分配 + * 退回后会将下一个要执行的实验室检测状态更新为待分配,将后面的实验室顺序变更为连续(都进行减1,) * 可能出现最后一个检测的实验室退回,这样的情况是否需要把样品状态改为检测完,还是等分发员再增加实验室或增加个分发员点击完成的按钮 */ + + + /** * 分发员编辑实验室检测列表 */ + @ApiOperation("分发员编辑实验室检测列表") + @PostMapping("/handOut/updateExecutiveList") + @ResponseBody + public ReturnDTO updateExecutiveList(@RequestBody @Valid UpdateExecutiveListRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return labExecutiveInfoService.updateExecutiveList(request); + } + + + /** + * 各列表导出 + */ } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java index 63c2005..36b5d5e 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java @@ -20,4 +20,5 @@ List selectExecutiveList(@Param("request") SampleHandOutInitListRequest request); + Long selectMaxTemplateNo(); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml index 010260c..c313a73 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml @@ -19,7 +19,6 @@ - @@ -41,8 +40,7 @@ blei.require_certifications FROM business_lab_executive_info blei JOIN sys_dept sd ON blei.measure_dept_id = sd.ID - WHERE blei.is_del = 0 - AND blei.order_id = #{orderId} + WHERE blei.order_id = #{orderId} AND blei.sample_id = #{sampleId} AND (blei.measure_status = 1 OR blei.measure_status = 2 OR blei.measure_status = 3) @@ -51,8 +49,7 @@ SELECT require_certifications FROM (SELECT * FROM business_lab_executive_info blei - WHERE blei.is_del = 0 - AND blei.order_id = #{orderId} + WHERE blei.order_id = #{orderId} AND blei.sample_id = #{sampleId} AND (blei.measure_status = 1 OR blei.measure_status = 2 OR blei.measure_status=3) ) blei @@ -60,13 +57,12 @@ @@ -76,8 +72,7 @@ FROM business_lab_executive_info blei JOIN customer_sample_info csi ON csi.id = blei.sample_id JOIN business_order bo ON bo.id = blei.order_id - WHERE blei.is_del = 0 - AND blei.measure_dept_id = #{deptId} + WHERE blei.measure_dept_id = #{deptId} AND blei.measure_status = #{status} @@ -123,8 +118,7 @@ JOIN customer_sample_info csi ON csi.id = blei.sample_id JOIN business_order bo ON bo.id = blei.order_id LEFT JOIN sys_dept sd ON blei.measure_dept_id = sd.ID - WHERE blei.is_del = 0 - AND blei.measure_person_id = #{userId} + WHERE blei.measure_person_id = #{userId} AND blei.measure_status = #{status} AND csi.sample_no LIKE concat('%',#{request.sampleNo},'%') diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml index 654889d..98e4e5e 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml @@ -13,7 +13,6 @@ - @@ -34,4 +33,8 @@ AND bleti.sample_id = #{request.sampleId} ORDER BY bleti.execute_sequence ASC + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java index c80d42e..6c93f61 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java @@ -12,6 +12,8 @@ @Data @ApiModel public class MeasureProcessDTO { + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") private Long measureSegmentId; @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") @@ -29,4 +31,6 @@ //更新时间使用business_lab_executive_info表更新时间,因为只有操作和修改应出具证书个数才会更新 @ApiModelProperty(value = "更新时间", dataType = "String") private String updateTime; + @ApiModelProperty(value = "检测顺序", dataType = "Integer") + private Integer measureSequence; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java index 69857d9..0e34812 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java @@ -7,9 +7,9 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.fastjson.annotation.JSONField; import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; -import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -91,9 +91,9 @@ @ExcelProperty(value = "分发性质", order = 14) private String handOutProperty; - @JsonIgnore + @JSONField(serialize = false) private Long orderId; - @JsonIgnore + @JSONField(serialize = false) private String sampleStatus; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveDTO.java new file mode 100644 index 0000000..eb1210a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveDTO.java @@ -0,0 +1,33 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/2/20 11:22 + */ +@Data +@ApiModel +public class UpdateExecutiveDTO { + @ApiModelProperty(value = "主键id(有则必传)", dataType = "Long") + private Long id; + + @NotNull(message = "检定环节不能为空") + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + + @ApiModelProperty(value = "检定人员id", dataType = "Long") + private Long measurePersonId; + + @ApiModelProperty(value = "检测顺序", dataType = "Integer") + @NotNull(message = "检测顺序不能为空") + private Integer measureSequence; + + @ApiModelProperty(value = "检定状态(字典code)(流程中不能编辑的节点必传参数)", dataType = "String") + private String measureStatus; +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java index 2678726..c14c3be 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java @@ -79,7 +79,7 @@ @ApiOperation("任务分发-获取初始化检定流程") @PostMapping("/handOut/initList") @ResponseBody - public ReturnDTO> queryInitList(@RequestBody @Valid SampleHandOutInitListRequest handOutInitListRequest, BindingResult bindingResult) { + public ReturnDTO> queryInitList(@RequestBody @Valid SampleHandOutInitListRequest handOutInitListRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -165,12 +165,29 @@ /** * 实验室检测-部门检测/我的检测 退回(待检测/检测中->退回) - * 退回后会将下一个要执行的实验室检测状态更新为待分配 + * 退回后会将下一个要执行的实验室检测状态更新为待分配,将后面的实验室顺序变更为连续(都进行减1,) * 可能出现最后一个检测的实验室退回,这样的情况是否需要把样品状态改为检测完,还是等分发员再增加实验室或增加个分发员点击完成的按钮 */ + + + /** * 分发员编辑实验室检测列表 */ + @ApiOperation("分发员编辑实验室检测列表") + @PostMapping("/handOut/updateExecutiveList") + @ResponseBody + public ReturnDTO updateExecutiveList(@RequestBody @Valid UpdateExecutiveListRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return labExecutiveInfoService.updateExecutiveList(request); + } + + + /** + * 各列表导出 + */ } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java index 63c2005..36b5d5e 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java @@ -20,4 +20,5 @@ List selectExecutiveList(@Param("request") SampleHandOutInitListRequest request); + Long selectMaxTemplateNo(); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml index 010260c..c313a73 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml @@ -19,7 +19,6 @@ - @@ -41,8 +40,7 @@ blei.require_certifications FROM business_lab_executive_info blei JOIN sys_dept sd ON blei.measure_dept_id = sd.ID - WHERE blei.is_del = 0 - AND blei.order_id = #{orderId} + WHERE blei.order_id = #{orderId} AND blei.sample_id = #{sampleId} AND (blei.measure_status = 1 OR blei.measure_status = 2 OR blei.measure_status = 3) @@ -51,8 +49,7 @@ SELECT require_certifications FROM (SELECT * FROM business_lab_executive_info blei - WHERE blei.is_del = 0 - AND blei.order_id = #{orderId} + WHERE blei.order_id = #{orderId} AND blei.sample_id = #{sampleId} AND (blei.measure_status = 1 OR blei.measure_status = 2 OR blei.measure_status=3) ) blei @@ -60,13 +57,12 @@ @@ -76,8 +72,7 @@ FROM business_lab_executive_info blei JOIN customer_sample_info csi ON csi.id = blei.sample_id JOIN business_order bo ON bo.id = blei.order_id - WHERE blei.is_del = 0 - AND blei.measure_dept_id = #{deptId} + WHERE blei.measure_dept_id = #{deptId} AND blei.measure_status = #{status} @@ -123,8 +118,7 @@ JOIN customer_sample_info csi ON csi.id = blei.sample_id JOIN business_order bo ON bo.id = blei.order_id LEFT JOIN sys_dept sd ON blei.measure_dept_id = sd.ID - WHERE blei.is_del = 0 - AND blei.measure_person_id = #{userId} + WHERE blei.measure_person_id = #{userId} AND blei.measure_status = #{status} AND csi.sample_no LIKE concat('%',#{request.sampleNo},'%') diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml index 654889d..98e4e5e 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml @@ -13,7 +13,6 @@ - @@ -34,4 +33,8 @@ AND bleti.sample_id = #{request.sampleId} ORDER BY bleti.execute_sequence ASC + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java index c80d42e..6c93f61 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java @@ -12,6 +12,8 @@ @Data @ApiModel public class MeasureProcessDTO { + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") private Long measureSegmentId; @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") @@ -29,4 +31,6 @@ //更新时间使用business_lab_executive_info表更新时间,因为只有操作和修改应出具证书个数才会更新 @ApiModelProperty(value = "更新时间", dataType = "String") private String updateTime; + @ApiModelProperty(value = "检测顺序", dataType = "Integer") + private Integer measureSequence; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java index 69857d9..0e34812 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java @@ -7,9 +7,9 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.fastjson.annotation.JSONField; import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; -import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -91,9 +91,9 @@ @ExcelProperty(value = "分发性质", order = 14) private String handOutProperty; - @JsonIgnore + @JSONField(serialize = false) private Long orderId; - @JsonIgnore + @JSONField(serialize = false) private String sampleStatus; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveDTO.java new file mode 100644 index 0000000..eb1210a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveDTO.java @@ -0,0 +1,33 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/2/20 11:22 + */ +@Data +@ApiModel +public class UpdateExecutiveDTO { + @ApiModelProperty(value = "主键id(有则必传)", dataType = "Long") + private Long id; + + @NotNull(message = "检定环节不能为空") + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + + @ApiModelProperty(value = "检定人员id", dataType = "Long") + private Long measurePersonId; + + @ApiModelProperty(value = "检测顺序", dataType = "Integer") + @NotNull(message = "检测顺序不能为空") + private Integer measureSequence; + + @ApiModelProperty(value = "检定状态(字典code)(流程中不能编辑的节点必传参数)", dataType = "String") + private String measureStatus; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveListRequest.java new file mode 100644 index 0000000..6a50280 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveListRequest.java @@ -0,0 +1,30 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/2/9 14:27 + */ +@Data +@ApiModel +public class UpdateExecutiveListRequest { + @NotNull(message = "委托书id不能为空") + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @NotNull(message = "样品id不能为空") + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + @NotEmpty(message = "实验室检测列表不能为空") + @ApiModelProperty(value = "实验室检测列表", dataType = "List") + private List executiveList; +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java index 2678726..c14c3be 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java @@ -79,7 +79,7 @@ @ApiOperation("任务分发-获取初始化检定流程") @PostMapping("/handOut/initList") @ResponseBody - public ReturnDTO> queryInitList(@RequestBody @Valid SampleHandOutInitListRequest handOutInitListRequest, BindingResult bindingResult) { + public ReturnDTO> queryInitList(@RequestBody @Valid SampleHandOutInitListRequest handOutInitListRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -165,12 +165,29 @@ /** * 实验室检测-部门检测/我的检测 退回(待检测/检测中->退回) - * 退回后会将下一个要执行的实验室检测状态更新为待分配 + * 退回后会将下一个要执行的实验室检测状态更新为待分配,将后面的实验室顺序变更为连续(都进行减1,) * 可能出现最后一个检测的实验室退回,这样的情况是否需要把样品状态改为检测完,还是等分发员再增加实验室或增加个分发员点击完成的按钮 */ + + + /** * 分发员编辑实验室检测列表 */ + @ApiOperation("分发员编辑实验室检测列表") + @PostMapping("/handOut/updateExecutiveList") + @ResponseBody + public ReturnDTO updateExecutiveList(@RequestBody @Valid UpdateExecutiveListRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return labExecutiveInfoService.updateExecutiveList(request); + } + + + /** + * 各列表导出 + */ } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java index 63c2005..36b5d5e 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java @@ -20,4 +20,5 @@ List selectExecutiveList(@Param("request") SampleHandOutInitListRequest request); + Long selectMaxTemplateNo(); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml index 010260c..c313a73 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml @@ -19,7 +19,6 @@ - @@ -41,8 +40,7 @@ blei.require_certifications FROM business_lab_executive_info blei JOIN sys_dept sd ON blei.measure_dept_id = sd.ID - WHERE blei.is_del = 0 - AND blei.order_id = #{orderId} + WHERE blei.order_id = #{orderId} AND blei.sample_id = #{sampleId} AND (blei.measure_status = 1 OR blei.measure_status = 2 OR blei.measure_status = 3) @@ -51,8 +49,7 @@ SELECT require_certifications FROM (SELECT * FROM business_lab_executive_info blei - WHERE blei.is_del = 0 - AND blei.order_id = #{orderId} + WHERE blei.order_id = #{orderId} AND blei.sample_id = #{sampleId} AND (blei.measure_status = 1 OR blei.measure_status = 2 OR blei.measure_status=3) ) blei @@ -60,13 +57,12 @@ @@ -76,8 +72,7 @@ FROM business_lab_executive_info blei JOIN customer_sample_info csi ON csi.id = blei.sample_id JOIN business_order bo ON bo.id = blei.order_id - WHERE blei.is_del = 0 - AND blei.measure_dept_id = #{deptId} + WHERE blei.measure_dept_id = #{deptId} AND blei.measure_status = #{status} @@ -123,8 +118,7 @@ JOIN customer_sample_info csi ON csi.id = blei.sample_id JOIN business_order bo ON bo.id = blei.order_id LEFT JOIN sys_dept sd ON blei.measure_dept_id = sd.ID - WHERE blei.is_del = 0 - AND blei.measure_person_id = #{userId} + WHERE blei.measure_person_id = #{userId} AND blei.measure_status = #{status} AND csi.sample_no LIKE concat('%',#{request.sampleNo},'%') diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml index 654889d..98e4e5e 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml @@ -13,7 +13,6 @@ - @@ -34,4 +33,8 @@ AND bleti.sample_id = #{request.sampleId} ORDER BY bleti.execute_sequence ASC + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java index c80d42e..6c93f61 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java @@ -12,6 +12,8 @@ @Data @ApiModel public class MeasureProcessDTO { + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") private Long measureSegmentId; @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") @@ -29,4 +31,6 @@ //更新时间使用business_lab_executive_info表更新时间,因为只有操作和修改应出具证书个数才会更新 @ApiModelProperty(value = "更新时间", dataType = "String") private String updateTime; + @ApiModelProperty(value = "检测顺序", dataType = "Integer") + private Integer measureSequence; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java index 69857d9..0e34812 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java @@ -7,9 +7,9 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.fastjson.annotation.JSONField; import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; -import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -91,9 +91,9 @@ @ExcelProperty(value = "分发性质", order = 14) private String handOutProperty; - @JsonIgnore + @JSONField(serialize = false) private Long orderId; - @JsonIgnore + @JSONField(serialize = false) private String sampleStatus; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveDTO.java new file mode 100644 index 0000000..eb1210a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveDTO.java @@ -0,0 +1,33 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/2/20 11:22 + */ +@Data +@ApiModel +public class UpdateExecutiveDTO { + @ApiModelProperty(value = "主键id(有则必传)", dataType = "Long") + private Long id; + + @NotNull(message = "检定环节不能为空") + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + + @ApiModelProperty(value = "检定人员id", dataType = "Long") + private Long measurePersonId; + + @ApiModelProperty(value = "检测顺序", dataType = "Integer") + @NotNull(message = "检测顺序不能为空") + private Integer measureSequence; + + @ApiModelProperty(value = "检定状态(字典code)(流程中不能编辑的节点必传参数)", dataType = "String") + private String measureStatus; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveListRequest.java new file mode 100644 index 0000000..6a50280 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveListRequest.java @@ -0,0 +1,30 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/2/9 14:27 + */ +@Data +@ApiModel +public class UpdateExecutiveListRequest { + @NotNull(message = "委托书id不能为空") + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @NotNull(message = "样品id不能为空") + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + @NotEmpty(message = "实验室检测列表不能为空") + @ApiModelProperty(value = "实验室检测列表", dataType = "List") + private List executiveList; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index 349b780..90e80a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -7,7 +7,7 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; -import com.fasterxml.jackson.annotation.JsonIgnore; +import com.alibaba.fastjson.annotation.JSONField; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -81,7 +81,7 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; - @JsonIgnore + @JSONField(serialize = false) private Integer measureType; // 终止、回退、收入、归还、催办按钮 diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java index 2678726..c14c3be 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java @@ -79,7 +79,7 @@ @ApiOperation("任务分发-获取初始化检定流程") @PostMapping("/handOut/initList") @ResponseBody - public ReturnDTO> queryInitList(@RequestBody @Valid SampleHandOutInitListRequest handOutInitListRequest, BindingResult bindingResult) { + public ReturnDTO> queryInitList(@RequestBody @Valid SampleHandOutInitListRequest handOutInitListRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -165,12 +165,29 @@ /** * 实验室检测-部门检测/我的检测 退回(待检测/检测中->退回) - * 退回后会将下一个要执行的实验室检测状态更新为待分配 + * 退回后会将下一个要执行的实验室检测状态更新为待分配,将后面的实验室顺序变更为连续(都进行减1,) * 可能出现最后一个检测的实验室退回,这样的情况是否需要把样品状态改为检测完,还是等分发员再增加实验室或增加个分发员点击完成的按钮 */ + + + /** * 分发员编辑实验室检测列表 */ + @ApiOperation("分发员编辑实验室检测列表") + @PostMapping("/handOut/updateExecutiveList") + @ResponseBody + public ReturnDTO updateExecutiveList(@RequestBody @Valid UpdateExecutiveListRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return labExecutiveInfoService.updateExecutiveList(request); + } + + + /** + * 各列表导出 + */ } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java index 63c2005..36b5d5e 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java @@ -20,4 +20,5 @@ List selectExecutiveList(@Param("request") SampleHandOutInitListRequest request); + Long selectMaxTemplateNo(); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml index 010260c..c313a73 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml @@ -19,7 +19,6 @@ - @@ -41,8 +40,7 @@ blei.require_certifications FROM business_lab_executive_info blei JOIN sys_dept sd ON blei.measure_dept_id = sd.ID - WHERE blei.is_del = 0 - AND blei.order_id = #{orderId} + WHERE blei.order_id = #{orderId} AND blei.sample_id = #{sampleId} AND (blei.measure_status = 1 OR blei.measure_status = 2 OR blei.measure_status = 3) @@ -51,8 +49,7 @@ SELECT require_certifications FROM (SELECT * FROM business_lab_executive_info blei - WHERE blei.is_del = 0 - AND blei.order_id = #{orderId} + WHERE blei.order_id = #{orderId} AND blei.sample_id = #{sampleId} AND (blei.measure_status = 1 OR blei.measure_status = 2 OR blei.measure_status=3) ) blei @@ -60,13 +57,12 @@ @@ -76,8 +72,7 @@ FROM business_lab_executive_info blei JOIN customer_sample_info csi ON csi.id = blei.sample_id JOIN business_order bo ON bo.id = blei.order_id - WHERE blei.is_del = 0 - AND blei.measure_dept_id = #{deptId} + WHERE blei.measure_dept_id = #{deptId} AND blei.measure_status = #{status} @@ -123,8 +118,7 @@ JOIN customer_sample_info csi ON csi.id = blei.sample_id JOIN business_order bo ON bo.id = blei.order_id LEFT JOIN sys_dept sd ON blei.measure_dept_id = sd.ID - WHERE blei.is_del = 0 - AND blei.measure_person_id = #{userId} + WHERE blei.measure_person_id = #{userId} AND blei.measure_status = #{status} AND csi.sample_no LIKE concat('%',#{request.sampleNo},'%') diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml index 654889d..98e4e5e 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml @@ -13,7 +13,6 @@ - @@ -34,4 +33,8 @@ AND bleti.sample_id = #{request.sampleId} ORDER BY bleti.execute_sequence ASC + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java index c80d42e..6c93f61 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java @@ -12,6 +12,8 @@ @Data @ApiModel public class MeasureProcessDTO { + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") private Long measureSegmentId; @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") @@ -29,4 +31,6 @@ //更新时间使用business_lab_executive_info表更新时间,因为只有操作和修改应出具证书个数才会更新 @ApiModelProperty(value = "更新时间", dataType = "String") private String updateTime; + @ApiModelProperty(value = "检测顺序", dataType = "Integer") + private Integer measureSequence; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java index 69857d9..0e34812 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java @@ -7,9 +7,9 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.fastjson.annotation.JSONField; import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; -import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -91,9 +91,9 @@ @ExcelProperty(value = "分发性质", order = 14) private String handOutProperty; - @JsonIgnore + @JSONField(serialize = false) private Long orderId; - @JsonIgnore + @JSONField(serialize = false) private String sampleStatus; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveDTO.java new file mode 100644 index 0000000..eb1210a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveDTO.java @@ -0,0 +1,33 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/2/20 11:22 + */ +@Data +@ApiModel +public class UpdateExecutiveDTO { + @ApiModelProperty(value = "主键id(有则必传)", dataType = "Long") + private Long id; + + @NotNull(message = "检定环节不能为空") + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + + @ApiModelProperty(value = "检定人员id", dataType = "Long") + private Long measurePersonId; + + @ApiModelProperty(value = "检测顺序", dataType = "Integer") + @NotNull(message = "检测顺序不能为空") + private Integer measureSequence; + + @ApiModelProperty(value = "检定状态(字典code)(流程中不能编辑的节点必传参数)", dataType = "String") + private String measureStatus; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveListRequest.java new file mode 100644 index 0000000..6a50280 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveListRequest.java @@ -0,0 +1,30 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/2/9 14:27 + */ +@Data +@ApiModel +public class UpdateExecutiveListRequest { + @NotNull(message = "委托书id不能为空") + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @NotNull(message = "样品id不能为空") + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + @NotEmpty(message = "实验室检测列表不能为空") + @ApiModelProperty(value = "实验室检测列表", dataType = "List") + private List executiveList; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index 349b780..90e80a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -7,7 +7,7 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; -import com.fasterxml.jackson.annotation.JsonIgnore; +import com.alibaba.fastjson.annotation.JSONField; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -81,7 +81,7 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; - @JsonIgnore + @JSONField(serialize = false) private Integer measureType; // 终止、回退、收入、归还、催办按钮 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveInfo.java index 3080b28..520b559 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveInfo.java @@ -108,9 +108,6 @@ @TableField("remark") private String remark; - @TableField("is_del") - private Boolean isDel; - @TableField("create_user") private Long createUser; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java index 2678726..c14c3be 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java @@ -79,7 +79,7 @@ @ApiOperation("任务分发-获取初始化检定流程") @PostMapping("/handOut/initList") @ResponseBody - public ReturnDTO> queryInitList(@RequestBody @Valid SampleHandOutInitListRequest handOutInitListRequest, BindingResult bindingResult) { + public ReturnDTO> queryInitList(@RequestBody @Valid SampleHandOutInitListRequest handOutInitListRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -165,12 +165,29 @@ /** * 实验室检测-部门检测/我的检测 退回(待检测/检测中->退回) - * 退回后会将下一个要执行的实验室检测状态更新为待分配 + * 退回后会将下一个要执行的实验室检测状态更新为待分配,将后面的实验室顺序变更为连续(都进行减1,) * 可能出现最后一个检测的实验室退回,这样的情况是否需要把样品状态改为检测完,还是等分发员再增加实验室或增加个分发员点击完成的按钮 */ + + + /** * 分发员编辑实验室检测列表 */ + @ApiOperation("分发员编辑实验室检测列表") + @PostMapping("/handOut/updateExecutiveList") + @ResponseBody + public ReturnDTO updateExecutiveList(@RequestBody @Valid UpdateExecutiveListRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return labExecutiveInfoService.updateExecutiveList(request); + } + + + /** + * 各列表导出 + */ } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java index 63c2005..36b5d5e 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java @@ -20,4 +20,5 @@ List selectExecutiveList(@Param("request") SampleHandOutInitListRequest request); + Long selectMaxTemplateNo(); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml index 010260c..c313a73 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml @@ -19,7 +19,6 @@ - @@ -41,8 +40,7 @@ blei.require_certifications FROM business_lab_executive_info blei JOIN sys_dept sd ON blei.measure_dept_id = sd.ID - WHERE blei.is_del = 0 - AND blei.order_id = #{orderId} + WHERE blei.order_id = #{orderId} AND blei.sample_id = #{sampleId} AND (blei.measure_status = 1 OR blei.measure_status = 2 OR blei.measure_status = 3) @@ -51,8 +49,7 @@ SELECT require_certifications FROM (SELECT * FROM business_lab_executive_info blei - WHERE blei.is_del = 0 - AND blei.order_id = #{orderId} + WHERE blei.order_id = #{orderId} AND blei.sample_id = #{sampleId} AND (blei.measure_status = 1 OR blei.measure_status = 2 OR blei.measure_status=3) ) blei @@ -60,13 +57,12 @@ @@ -76,8 +72,7 @@ FROM business_lab_executive_info blei JOIN customer_sample_info csi ON csi.id = blei.sample_id JOIN business_order bo ON bo.id = blei.order_id - WHERE blei.is_del = 0 - AND blei.measure_dept_id = #{deptId} + WHERE blei.measure_dept_id = #{deptId} AND blei.measure_status = #{status} @@ -123,8 +118,7 @@ JOIN customer_sample_info csi ON csi.id = blei.sample_id JOIN business_order bo ON bo.id = blei.order_id LEFT JOIN sys_dept sd ON blei.measure_dept_id = sd.ID - WHERE blei.is_del = 0 - AND blei.measure_person_id = #{userId} + WHERE blei.measure_person_id = #{userId} AND blei.measure_status = #{status} AND csi.sample_no LIKE concat('%',#{request.sampleNo},'%') diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml index 654889d..98e4e5e 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml @@ -13,7 +13,6 @@ - @@ -34,4 +33,8 @@ AND bleti.sample_id = #{request.sampleId} ORDER BY bleti.execute_sequence ASC + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java index c80d42e..6c93f61 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java @@ -12,6 +12,8 @@ @Data @ApiModel public class MeasureProcessDTO { + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") private Long measureSegmentId; @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") @@ -29,4 +31,6 @@ //更新时间使用business_lab_executive_info表更新时间,因为只有操作和修改应出具证书个数才会更新 @ApiModelProperty(value = "更新时间", dataType = "String") private String updateTime; + @ApiModelProperty(value = "检测顺序", dataType = "Integer") + private Integer measureSequence; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java index 69857d9..0e34812 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java @@ -7,9 +7,9 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.fastjson.annotation.JSONField; import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; -import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -91,9 +91,9 @@ @ExcelProperty(value = "分发性质", order = 14) private String handOutProperty; - @JsonIgnore + @JSONField(serialize = false) private Long orderId; - @JsonIgnore + @JSONField(serialize = false) private String sampleStatus; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveDTO.java new file mode 100644 index 0000000..eb1210a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveDTO.java @@ -0,0 +1,33 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/2/20 11:22 + */ +@Data +@ApiModel +public class UpdateExecutiveDTO { + @ApiModelProperty(value = "主键id(有则必传)", dataType = "Long") + private Long id; + + @NotNull(message = "检定环节不能为空") + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + + @ApiModelProperty(value = "检定人员id", dataType = "Long") + private Long measurePersonId; + + @ApiModelProperty(value = "检测顺序", dataType = "Integer") + @NotNull(message = "检测顺序不能为空") + private Integer measureSequence; + + @ApiModelProperty(value = "检定状态(字典code)(流程中不能编辑的节点必传参数)", dataType = "String") + private String measureStatus; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveListRequest.java new file mode 100644 index 0000000..6a50280 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveListRequest.java @@ -0,0 +1,30 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/2/9 14:27 + */ +@Data +@ApiModel +public class UpdateExecutiveListRequest { + @NotNull(message = "委托书id不能为空") + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @NotNull(message = "样品id不能为空") + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + @NotEmpty(message = "实验室检测列表不能为空") + @ApiModelProperty(value = "实验室检测列表", dataType = "List") + private List executiveList; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index 349b780..90e80a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -7,7 +7,7 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; -import com.fasterxml.jackson.annotation.JsonIgnore; +import com.alibaba.fastjson.annotation.JSONField; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -81,7 +81,7 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; - @JsonIgnore + @JSONField(serialize = false) private Integer measureType; // 终止、回退、收入、归还、催办按钮 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveInfo.java index 3080b28..520b559 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveInfo.java @@ -108,9 +108,6 @@ @TableField("remark") private String remark; - @TableField("is_del") - private Boolean isDel; - @TableField("create_user") private Long createUser; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveTemplateInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveTemplateInfo.java index 576ee08..fb4b8f5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveTemplateInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveTemplateInfo.java @@ -72,9 +72,6 @@ @TableField("remark") private String remark; - @TableField("is_del") - private Boolean isDel; - @TableField("create_user") private Long createUser; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java index 2678726..c14c3be 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java @@ -79,7 +79,7 @@ @ApiOperation("任务分发-获取初始化检定流程") @PostMapping("/handOut/initList") @ResponseBody - public ReturnDTO> queryInitList(@RequestBody @Valid SampleHandOutInitListRequest handOutInitListRequest, BindingResult bindingResult) { + public ReturnDTO> queryInitList(@RequestBody @Valid SampleHandOutInitListRequest handOutInitListRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -165,12 +165,29 @@ /** * 实验室检测-部门检测/我的检测 退回(待检测/检测中->退回) - * 退回后会将下一个要执行的实验室检测状态更新为待分配 + * 退回后会将下一个要执行的实验室检测状态更新为待分配,将后面的实验室顺序变更为连续(都进行减1,) * 可能出现最后一个检测的实验室退回,这样的情况是否需要把样品状态改为检测完,还是等分发员再增加实验室或增加个分发员点击完成的按钮 */ + + + /** * 分发员编辑实验室检测列表 */ + @ApiOperation("分发员编辑实验室检测列表") + @PostMapping("/handOut/updateExecutiveList") + @ResponseBody + public ReturnDTO updateExecutiveList(@RequestBody @Valid UpdateExecutiveListRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return labExecutiveInfoService.updateExecutiveList(request); + } + + + /** + * 各列表导出 + */ } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java index 63c2005..36b5d5e 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java @@ -20,4 +20,5 @@ List selectExecutiveList(@Param("request") SampleHandOutInitListRequest request); + Long selectMaxTemplateNo(); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml index 010260c..c313a73 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml @@ -19,7 +19,6 @@ - @@ -41,8 +40,7 @@ blei.require_certifications FROM business_lab_executive_info blei JOIN sys_dept sd ON blei.measure_dept_id = sd.ID - WHERE blei.is_del = 0 - AND blei.order_id = #{orderId} + WHERE blei.order_id = #{orderId} AND blei.sample_id = #{sampleId} AND (blei.measure_status = 1 OR blei.measure_status = 2 OR blei.measure_status = 3) @@ -51,8 +49,7 @@ SELECT require_certifications FROM (SELECT * FROM business_lab_executive_info blei - WHERE blei.is_del = 0 - AND blei.order_id = #{orderId} + WHERE blei.order_id = #{orderId} AND blei.sample_id = #{sampleId} AND (blei.measure_status = 1 OR blei.measure_status = 2 OR blei.measure_status=3) ) blei @@ -60,13 +57,12 @@ @@ -76,8 +72,7 @@ FROM business_lab_executive_info blei JOIN customer_sample_info csi ON csi.id = blei.sample_id JOIN business_order bo ON bo.id = blei.order_id - WHERE blei.is_del = 0 - AND blei.measure_dept_id = #{deptId} + WHERE blei.measure_dept_id = #{deptId} AND blei.measure_status = #{status} @@ -123,8 +118,7 @@ JOIN customer_sample_info csi ON csi.id = blei.sample_id JOIN business_order bo ON bo.id = blei.order_id LEFT JOIN sys_dept sd ON blei.measure_dept_id = sd.ID - WHERE blei.is_del = 0 - AND blei.measure_person_id = #{userId} + WHERE blei.measure_person_id = #{userId} AND blei.measure_status = #{status} AND csi.sample_no LIKE concat('%',#{request.sampleNo},'%') diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml index 654889d..98e4e5e 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml @@ -13,7 +13,6 @@ - @@ -34,4 +33,8 @@ AND bleti.sample_id = #{request.sampleId} ORDER BY bleti.execute_sequence ASC + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java index c80d42e..6c93f61 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java @@ -12,6 +12,8 @@ @Data @ApiModel public class MeasureProcessDTO { + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") private Long measureSegmentId; @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") @@ -29,4 +31,6 @@ //更新时间使用business_lab_executive_info表更新时间,因为只有操作和修改应出具证书个数才会更新 @ApiModelProperty(value = "更新时间", dataType = "String") private String updateTime; + @ApiModelProperty(value = "检测顺序", dataType = "Integer") + private Integer measureSequence; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java index 69857d9..0e34812 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java @@ -7,9 +7,9 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.fastjson.annotation.JSONField; import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; -import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -91,9 +91,9 @@ @ExcelProperty(value = "分发性质", order = 14) private String handOutProperty; - @JsonIgnore + @JSONField(serialize = false) private Long orderId; - @JsonIgnore + @JSONField(serialize = false) private String sampleStatus; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveDTO.java new file mode 100644 index 0000000..eb1210a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveDTO.java @@ -0,0 +1,33 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/2/20 11:22 + */ +@Data +@ApiModel +public class UpdateExecutiveDTO { + @ApiModelProperty(value = "主键id(有则必传)", dataType = "Long") + private Long id; + + @NotNull(message = "检定环节不能为空") + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + + @ApiModelProperty(value = "检定人员id", dataType = "Long") + private Long measurePersonId; + + @ApiModelProperty(value = "检测顺序", dataType = "Integer") + @NotNull(message = "检测顺序不能为空") + private Integer measureSequence; + + @ApiModelProperty(value = "检定状态(字典code)(流程中不能编辑的节点必传参数)", dataType = "String") + private String measureStatus; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveListRequest.java new file mode 100644 index 0000000..6a50280 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveListRequest.java @@ -0,0 +1,30 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/2/9 14:27 + */ +@Data +@ApiModel +public class UpdateExecutiveListRequest { + @NotNull(message = "委托书id不能为空") + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @NotNull(message = "样品id不能为空") + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + @NotEmpty(message = "实验室检测列表不能为空") + @ApiModelProperty(value = "实验室检测列表", dataType = "List") + private List executiveList; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index 349b780..90e80a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -7,7 +7,7 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; -import com.fasterxml.jackson.annotation.JsonIgnore; +import com.alibaba.fastjson.annotation.JSONField; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -81,7 +81,7 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; - @JsonIgnore + @JSONField(serialize = false) private Integer measureType; // 终止、回退、收入、归还、催办按钮 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveInfo.java index 3080b28..520b559 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveInfo.java @@ -108,9 +108,6 @@ @TableField("remark") private String remark; - @TableField("is_del") - private Boolean isDel; - @TableField("create_user") private Long createUser; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveTemplateInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveTemplateInfo.java index 576ee08..fb4b8f5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveTemplateInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveTemplateInfo.java @@ -72,9 +72,6 @@ @TableField("remark") private String remark; - @TableField("is_del") - private Boolean isDel; - @TableField("create_user") private Long createUser; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterFile.java index 16ba85d..d159fd4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterFile.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterFile.java @@ -7,10 +7,10 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.fastjson.annotation.JSONField; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -189,7 +189,7 @@ private String updateTime; @ApiModelProperty(hidden = true) - @JsonIgnore + @JSONField(serialize = false) @TableField(exist = false) private List ids; } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java index 2678726..c14c3be 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java @@ -79,7 +79,7 @@ @ApiOperation("任务分发-获取初始化检定流程") @PostMapping("/handOut/initList") @ResponseBody - public ReturnDTO> queryInitList(@RequestBody @Valid SampleHandOutInitListRequest handOutInitListRequest, BindingResult bindingResult) { + public ReturnDTO> queryInitList(@RequestBody @Valid SampleHandOutInitListRequest handOutInitListRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -165,12 +165,29 @@ /** * 实验室检测-部门检测/我的检测 退回(待检测/检测中->退回) - * 退回后会将下一个要执行的实验室检测状态更新为待分配 + * 退回后会将下一个要执行的实验室检测状态更新为待分配,将后面的实验室顺序变更为连续(都进行减1,) * 可能出现最后一个检测的实验室退回,这样的情况是否需要把样品状态改为检测完,还是等分发员再增加实验室或增加个分发员点击完成的按钮 */ + + + /** * 分发员编辑实验室检测列表 */ + @ApiOperation("分发员编辑实验室检测列表") + @PostMapping("/handOut/updateExecutiveList") + @ResponseBody + public ReturnDTO updateExecutiveList(@RequestBody @Valid UpdateExecutiveListRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return labExecutiveInfoService.updateExecutiveList(request); + } + + + /** + * 各列表导出 + */ } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java index 63c2005..36b5d5e 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java @@ -20,4 +20,5 @@ List selectExecutiveList(@Param("request") SampleHandOutInitListRequest request); + Long selectMaxTemplateNo(); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml index 010260c..c313a73 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml @@ -19,7 +19,6 @@ - @@ -41,8 +40,7 @@ blei.require_certifications FROM business_lab_executive_info blei JOIN sys_dept sd ON blei.measure_dept_id = sd.ID - WHERE blei.is_del = 0 - AND blei.order_id = #{orderId} + WHERE blei.order_id = #{orderId} AND blei.sample_id = #{sampleId} AND (blei.measure_status = 1 OR blei.measure_status = 2 OR blei.measure_status = 3) @@ -51,8 +49,7 @@ SELECT require_certifications FROM (SELECT * FROM business_lab_executive_info blei - WHERE blei.is_del = 0 - AND blei.order_id = #{orderId} + WHERE blei.order_id = #{orderId} AND blei.sample_id = #{sampleId} AND (blei.measure_status = 1 OR blei.measure_status = 2 OR blei.measure_status=3) ) blei @@ -60,13 +57,12 @@ @@ -76,8 +72,7 @@ FROM business_lab_executive_info blei JOIN customer_sample_info csi ON csi.id = blei.sample_id JOIN business_order bo ON bo.id = blei.order_id - WHERE blei.is_del = 0 - AND blei.measure_dept_id = #{deptId} + WHERE blei.measure_dept_id = #{deptId} AND blei.measure_status = #{status} @@ -123,8 +118,7 @@ JOIN customer_sample_info csi ON csi.id = blei.sample_id JOIN business_order bo ON bo.id = blei.order_id LEFT JOIN sys_dept sd ON blei.measure_dept_id = sd.ID - WHERE blei.is_del = 0 - AND blei.measure_person_id = #{userId} + WHERE blei.measure_person_id = #{userId} AND blei.measure_status = #{status} AND csi.sample_no LIKE concat('%',#{request.sampleNo},'%') diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml index 654889d..98e4e5e 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml @@ -13,7 +13,6 @@ - @@ -34,4 +33,8 @@ AND bleti.sample_id = #{request.sampleId} ORDER BY bleti.execute_sequence ASC + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java index c80d42e..6c93f61 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java @@ -12,6 +12,8 @@ @Data @ApiModel public class MeasureProcessDTO { + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") private Long measureSegmentId; @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") @@ -29,4 +31,6 @@ //更新时间使用business_lab_executive_info表更新时间,因为只有操作和修改应出具证书个数才会更新 @ApiModelProperty(value = "更新时间", dataType = "String") private String updateTime; + @ApiModelProperty(value = "检测顺序", dataType = "Integer") + private Integer measureSequence; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java index 69857d9..0e34812 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java @@ -7,9 +7,9 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.fastjson.annotation.JSONField; import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; -import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -91,9 +91,9 @@ @ExcelProperty(value = "分发性质", order = 14) private String handOutProperty; - @JsonIgnore + @JSONField(serialize = false) private Long orderId; - @JsonIgnore + @JSONField(serialize = false) private String sampleStatus; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveDTO.java new file mode 100644 index 0000000..eb1210a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveDTO.java @@ -0,0 +1,33 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/2/20 11:22 + */ +@Data +@ApiModel +public class UpdateExecutiveDTO { + @ApiModelProperty(value = "主键id(有则必传)", dataType = "Long") + private Long id; + + @NotNull(message = "检定环节不能为空") + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + + @ApiModelProperty(value = "检定人员id", dataType = "Long") + private Long measurePersonId; + + @ApiModelProperty(value = "检测顺序", dataType = "Integer") + @NotNull(message = "检测顺序不能为空") + private Integer measureSequence; + + @ApiModelProperty(value = "检定状态(字典code)(流程中不能编辑的节点必传参数)", dataType = "String") + private String measureStatus; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveListRequest.java new file mode 100644 index 0000000..6a50280 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveListRequest.java @@ -0,0 +1,30 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/2/9 14:27 + */ +@Data +@ApiModel +public class UpdateExecutiveListRequest { + @NotNull(message = "委托书id不能为空") + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @NotNull(message = "样品id不能为空") + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + @NotEmpty(message = "实验室检测列表不能为空") + @ApiModelProperty(value = "实验室检测列表", dataType = "List") + private List executiveList; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index 349b780..90e80a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -7,7 +7,7 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; -import com.fasterxml.jackson.annotation.JsonIgnore; +import com.alibaba.fastjson.annotation.JSONField; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -81,7 +81,7 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; - @JsonIgnore + @JSONField(serialize = false) private Integer measureType; // 终止、回退、收入、归还、催办按钮 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveInfo.java index 3080b28..520b559 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveInfo.java @@ -108,9 +108,6 @@ @TableField("remark") private String remark; - @TableField("is_del") - private Boolean isDel; - @TableField("create_user") private Long createUser; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveTemplateInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveTemplateInfo.java index 576ee08..fb4b8f5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveTemplateInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveTemplateInfo.java @@ -72,9 +72,6 @@ @TableField("remark") private String remark; - @TableField("is_del") - private Boolean isDel; - @TableField("create_user") private Long createUser; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterFile.java index 16ba85d..d159fd4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterFile.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterFile.java @@ -7,10 +7,10 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.fastjson.annotation.JSONField; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -189,7 +189,7 @@ private String updateTime; @ApiModelProperty(hidden = true) - @JsonIgnore + @JSONField(serialize = false) @TableField(exist = false) private List ids; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 0045406..9f91158 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -11,18 +11,21 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; -import com.casic.missiles.enums.*; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.HandOutPropertyEnum; +import com.casic.missiles.enums.MeasureStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; +import com.casic.missiles.model.business.*; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; +import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; import com.casic.missiles.utils.DictCodeUtils; +import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -51,6 +54,8 @@ @Autowired private BusinessLabExecutiveOperateLogMapper labExecutiveOperateLogMapper; @Autowired + private IBusinessLabExecutiveTemplateInfoService labExecutiveTemplateInfoService; + @Autowired private BusinessLabExecutiveTemplateInfoMapper labExecutiveTemplateInfoMapper; @Autowired private MeterOrganizeMapper organizeMapper; @@ -333,24 +338,97 @@ } int updateFlag = labExecutiveInfoMapper.updateForSampleOperate(preList, userId, MeasureStatusEnum.MEASURE_COMPLETE); if(updateFlag > 0){ - //是否全部实验室完成,所有实验室无检测完外的其他状态或空才是样品的检测完(有终止状态会把样品状态更新为待归还,有退回的状态会从表中删除加入到log表) + preList.forEach(pre -> { + //是否全部实验室完成,所有实验室无检测完外的其他状态或空才是样品的检测完(有终止状态会把样品状态直接更新为待归还,有退回的状态会从表中删除加入到log表) QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("orderId", pre.getOrderId()); - wrapper.eq("sampleId", pre.getSampleId()); - wrapper.ne("measure_status", MeasureStatusEnum.MEASURE_COMPLETE); - Long count = labExecutiveInfoMapper.selectCount(wrapper); - if(count == 0){ + wrapper.eq("order_id", pre.getOrderId()); + wrapper.eq("sample_id", pre.getSampleId()); + List labExecutiveInfos = labExecutiveInfoMapper.selectList(wrapper); + List unExecutiveInfos = labExecutiveInfos.stream().filter(lab -> + StringUtils.isEmpty(lab.getMeasureStatus()) || !StringUtils.equals(MeasureStatusEnum.MEASURE_COMPLETE, lab.getMeasureStatus()) + ).collect(Collectors.toList()); + if(0 == (CollectionUtils.isEmpty(unExecutiveInfos) ? 0 : unExecutiveInfos.size())){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 将检测记录加入到实验室检测模板 + // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) + List labList = new ArrayList<>(); + Long maxNo = labExecutiveTemplateInfoMapper.selectMaxTemplateNo(); + for (int i = 0; i < labExecutiveInfos.size(); i++) { + BusinessLabExecutiveInfo lab = labExecutiveInfos.get(i); + BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); + String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + templateInfo.setTemplateCode(templateCode); +// templateInfo.setSampleTypeId(); + templateInfo.setSampleId(lab.getSampleId()); + templateInfo.setMeasureDeptId(lab.getMeasureDeptId()); + templateInfo.setMeasurePersonId(lab.getMeasurePersonId()); +// templateInfo.setMeasureItem(); + templateInfo.setExecuteSequence(lab.getMeasureSequence()); +// templateInfo.setCreateUser(); + labList.add(templateInfo); + } + if(labExecutiveTemplateInfoService.saveBatch(labList)) log.info("实验室检测记录批量保存为实验室检测模板成功"); + }else { + //更新下一个审批的实验室为待分配 + //注:分发员不可以调整待分配/检测中等有状态的节点(只能调整无状态的) + Optional minSeqLab = labExecutiveInfos.stream().filter(dto -> + StringUtils.isEmpty(dto.getMeasureStatus()) && Objects.isNull(dto.getMeasurePersonId()) + ).sorted(Comparator.comparing(BusinessLabExecutiveInfo::getMeasureStatus)).findFirst(); + if(minSeqLab.isPresent()){ + BusinessLabExecutiveInfo labExecutiveInfo = minSeqLab.get(); + labExecutiveInfo.setMeasureStatus(MeasureStatusEnum.TO_ALLOCATE); + labExecutiveInfoMapper.updateById(labExecutiveInfo); + log.info("更新下一个审批的实验室为待分配成功"); + } } }); return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); + } + @Override + public ReturnDTO updateExecutiveList(UpdateExecutiveListRequest request) { + //删除前端已删除的ids + List executiveList = request.getExecutiveList(); + List ids = executiveList.stream().map(UpdateExecutiveDTO::getId).filter(Objects::nonNull).collect(Collectors.toList()); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("order_id", request.getOrderId()); + wrapper.eq("sample_id", request.getSampleId()); + wrapper.notIn("id", ids); + //business_lab_executive_info表无id_del字段,为物理删 + this.remove(wrapper); + + //更新已有id的顺序/实验室/人员信息 + List updateList = new ArrayList<>(); + //新增之前不存在的实验室列表(根据id判断) + List addList = new ArrayList<>(); + for (UpdateExecutiveDTO executiveDTO : executiveList) { + if(StringUtils.isNotEmpty(executiveDTO.getMeasureStatus())) continue; + if(Objects.isNull(executiveDTO.getId())){ + BusinessLabExecutiveInfo labExecutiveInfo = new BusinessLabExecutiveInfo(); + labExecutiveInfo.setId(executiveDTO.getId()); + labExecutiveInfo.setOrderId(request.getOrderId()); + labExecutiveInfo.setSampleId(request.getSampleId()); + labExecutiveInfo.setMeasureDeptId(executiveDTO.getMeasureSegmentId()); + labExecutiveInfo.setMeasurePersonId(executiveDTO.getMeasurePersonId()); + labExecutiveInfo.setMeasureSequence(executiveDTO.getMeasureSequence()); + addList.add(labExecutiveInfo); + }else{ + BusinessLabExecutiveInfo labExecutiveInfo = new BusinessLabExecutiveInfo(); + labExecutiveInfo.setId(executiveDTO.getId()); + labExecutiveInfo.setMeasureDeptId(executiveDTO.getMeasureSegmentId()); + labExecutiveInfo.setMeasurePersonId(executiveDTO.getMeasurePersonId()); + labExecutiveInfo.setMeasureSequence(executiveDTO.getMeasureSequence()); + updateList.add(labExecutiveInfo); + } + } + this.updateBatchById(updateList); + this.saveBatch(addList); + return ReturnUtil.success(); } private QueryWrapper getOperateLogWrapper(SampleHandOutListResponse handOut) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java index 2678726..c14c3be 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java @@ -79,7 +79,7 @@ @ApiOperation("任务分发-获取初始化检定流程") @PostMapping("/handOut/initList") @ResponseBody - public ReturnDTO> queryInitList(@RequestBody @Valid SampleHandOutInitListRequest handOutInitListRequest, BindingResult bindingResult) { + public ReturnDTO> queryInitList(@RequestBody @Valid SampleHandOutInitListRequest handOutInitListRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -165,12 +165,29 @@ /** * 实验室检测-部门检测/我的检测 退回(待检测/检测中->退回) - * 退回后会将下一个要执行的实验室检测状态更新为待分配 + * 退回后会将下一个要执行的实验室检测状态更新为待分配,将后面的实验室顺序变更为连续(都进行减1,) * 可能出现最后一个检测的实验室退回,这样的情况是否需要把样品状态改为检测完,还是等分发员再增加实验室或增加个分发员点击完成的按钮 */ + + + /** * 分发员编辑实验室检测列表 */ + @ApiOperation("分发员编辑实验室检测列表") + @PostMapping("/handOut/updateExecutiveList") + @ResponseBody + public ReturnDTO updateExecutiveList(@RequestBody @Valid UpdateExecutiveListRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return labExecutiveInfoService.updateExecutiveList(request); + } + + + /** + * 各列表导出 + */ } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java index 63c2005..36b5d5e 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java @@ -20,4 +20,5 @@ List selectExecutiveList(@Param("request") SampleHandOutInitListRequest request); + Long selectMaxTemplateNo(); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml index 010260c..c313a73 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml @@ -19,7 +19,6 @@ - @@ -41,8 +40,7 @@ blei.require_certifications FROM business_lab_executive_info blei JOIN sys_dept sd ON blei.measure_dept_id = sd.ID - WHERE blei.is_del = 0 - AND blei.order_id = #{orderId} + WHERE blei.order_id = #{orderId} AND blei.sample_id = #{sampleId} AND (blei.measure_status = 1 OR blei.measure_status = 2 OR blei.measure_status = 3) @@ -51,8 +49,7 @@ SELECT require_certifications FROM (SELECT * FROM business_lab_executive_info blei - WHERE blei.is_del = 0 - AND blei.order_id = #{orderId} + WHERE blei.order_id = #{orderId} AND blei.sample_id = #{sampleId} AND (blei.measure_status = 1 OR blei.measure_status = 2 OR blei.measure_status=3) ) blei @@ -60,13 +57,12 @@ @@ -76,8 +72,7 @@ FROM business_lab_executive_info blei JOIN customer_sample_info csi ON csi.id = blei.sample_id JOIN business_order bo ON bo.id = blei.order_id - WHERE blei.is_del = 0 - AND blei.measure_dept_id = #{deptId} + WHERE blei.measure_dept_id = #{deptId} AND blei.measure_status = #{status} @@ -123,8 +118,7 @@ JOIN customer_sample_info csi ON csi.id = blei.sample_id JOIN business_order bo ON bo.id = blei.order_id LEFT JOIN sys_dept sd ON blei.measure_dept_id = sd.ID - WHERE blei.is_del = 0 - AND blei.measure_person_id = #{userId} + WHERE blei.measure_person_id = #{userId} AND blei.measure_status = #{status} AND csi.sample_no LIKE concat('%',#{request.sampleNo},'%') diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml index 654889d..98e4e5e 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveTemplateInfoMapper.xml @@ -13,7 +13,6 @@ - @@ -34,4 +33,8 @@ AND bleti.sample_id = #{request.sampleId} ORDER BY bleti.execute_sequence ASC + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java index c80d42e..6c93f61 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java @@ -12,6 +12,8 @@ @Data @ApiModel public class MeasureProcessDTO { + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") private Long measureSegmentId; @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") @@ -29,4 +31,6 @@ //更新时间使用business_lab_executive_info表更新时间,因为只有操作和修改应出具证书个数才会更新 @ApiModelProperty(value = "更新时间", dataType = "String") private String updateTime; + @ApiModelProperty(value = "检测顺序", dataType = "Integer") + private Integer measureSequence; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java index 69857d9..0e34812 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutListResponse.java @@ -7,9 +7,9 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.fastjson.annotation.JSONField; import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; -import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -91,9 +91,9 @@ @ExcelProperty(value = "分发性质", order = 14) private String handOutProperty; - @JsonIgnore + @JSONField(serialize = false) private Long orderId; - @JsonIgnore + @JSONField(serialize = false) private String sampleStatus; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveDTO.java new file mode 100644 index 0000000..eb1210a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveDTO.java @@ -0,0 +1,33 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/2/20 11:22 + */ +@Data +@ApiModel +public class UpdateExecutiveDTO { + @ApiModelProperty(value = "主键id(有则必传)", dataType = "Long") + private Long id; + + @NotNull(message = "检定环节不能为空") + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + + @ApiModelProperty(value = "检定人员id", dataType = "Long") + private Long measurePersonId; + + @ApiModelProperty(value = "检测顺序", dataType = "Integer") + @NotNull(message = "检测顺序不能为空") + private Integer measureSequence; + + @ApiModelProperty(value = "检定状态(字典code)(流程中不能编辑的节点必传参数)", dataType = "String") + private String measureStatus; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveListRequest.java new file mode 100644 index 0000000..6a50280 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/UpdateExecutiveListRequest.java @@ -0,0 +1,30 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/2/9 14:27 + */ +@Data +@ApiModel +public class UpdateExecutiveListRequest { + @NotNull(message = "委托书id不能为空") + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @NotNull(message = "样品id不能为空") + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + @NotEmpty(message = "实验室检测列表不能为空") + @ApiModelProperty(value = "实验室检测列表", dataType = "List") + private List executiveList; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index 349b780..90e80a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -7,7 +7,7 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; -import com.fasterxml.jackson.annotation.JsonIgnore; +import com.alibaba.fastjson.annotation.JSONField; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -81,7 +81,7 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; - @JsonIgnore + @JSONField(serialize = false) private Integer measureType; // 终止、回退、收入、归还、催办按钮 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveInfo.java index 3080b28..520b559 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveInfo.java @@ -108,9 +108,6 @@ @TableField("remark") private String remark; - @TableField("is_del") - private Boolean isDel; - @TableField("create_user") private Long createUser; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveTemplateInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveTemplateInfo.java index 576ee08..fb4b8f5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveTemplateInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessLabExecutiveTemplateInfo.java @@ -72,9 +72,6 @@ @TableField("remark") private String remark; - @TableField("is_del") - private Boolean isDel; - @TableField("create_user") private Long createUser; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterFile.java index 16ba85d..d159fd4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterFile.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterFile.java @@ -7,10 +7,10 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.fastjson.annotation.JSONField; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -189,7 +189,7 @@ private String updateTime; @ApiModelProperty(hidden = true) - @JsonIgnore + @JSONField(serialize = false) @TableField(exist = false) private List ids; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 0045406..9f91158 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -11,18 +11,21 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; -import com.casic.missiles.enums.*; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.HandOutPropertyEnum; +import com.casic.missiles.enums.MeasureStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; +import com.casic.missiles.model.business.*; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; +import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; import com.casic.missiles.utils.DictCodeUtils; +import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -51,6 +54,8 @@ @Autowired private BusinessLabExecutiveOperateLogMapper labExecutiveOperateLogMapper; @Autowired + private IBusinessLabExecutiveTemplateInfoService labExecutiveTemplateInfoService; + @Autowired private BusinessLabExecutiveTemplateInfoMapper labExecutiveTemplateInfoMapper; @Autowired private MeterOrganizeMapper organizeMapper; @@ -333,24 +338,97 @@ } int updateFlag = labExecutiveInfoMapper.updateForSampleOperate(preList, userId, MeasureStatusEnum.MEASURE_COMPLETE); if(updateFlag > 0){ - //是否全部实验室完成,所有实验室无检测完外的其他状态或空才是样品的检测完(有终止状态会把样品状态更新为待归还,有退回的状态会从表中删除加入到log表) + preList.forEach(pre -> { + //是否全部实验室完成,所有实验室无检测完外的其他状态或空才是样品的检测完(有终止状态会把样品状态直接更新为待归还,有退回的状态会从表中删除加入到log表) QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("orderId", pre.getOrderId()); - wrapper.eq("sampleId", pre.getSampleId()); - wrapper.ne("measure_status", MeasureStatusEnum.MEASURE_COMPLETE); - Long count = labExecutiveInfoMapper.selectCount(wrapper); - if(count == 0){ + wrapper.eq("order_id", pre.getOrderId()); + wrapper.eq("sample_id", pre.getSampleId()); + List labExecutiveInfos = labExecutiveInfoMapper.selectList(wrapper); + List unExecutiveInfos = labExecutiveInfos.stream().filter(lab -> + StringUtils.isEmpty(lab.getMeasureStatus()) || !StringUtils.equals(MeasureStatusEnum.MEASURE_COMPLETE, lab.getMeasureStatus()) + ).collect(Collectors.toList()); + if(0 == (CollectionUtils.isEmpty(unExecutiveInfos) ? 0 : unExecutiveInfos.size())){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 将检测记录加入到实验室检测模板 + // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) + List labList = new ArrayList<>(); + Long maxNo = labExecutiveTemplateInfoMapper.selectMaxTemplateNo(); + for (int i = 0; i < labExecutiveInfos.size(); i++) { + BusinessLabExecutiveInfo lab = labExecutiveInfos.get(i); + BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); + String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + templateInfo.setTemplateCode(templateCode); +// templateInfo.setSampleTypeId(); + templateInfo.setSampleId(lab.getSampleId()); + templateInfo.setMeasureDeptId(lab.getMeasureDeptId()); + templateInfo.setMeasurePersonId(lab.getMeasurePersonId()); +// templateInfo.setMeasureItem(); + templateInfo.setExecuteSequence(lab.getMeasureSequence()); +// templateInfo.setCreateUser(); + labList.add(templateInfo); + } + if(labExecutiveTemplateInfoService.saveBatch(labList)) log.info("实验室检测记录批量保存为实验室检测模板成功"); + }else { + //更新下一个审批的实验室为待分配 + //注:分发员不可以调整待分配/检测中等有状态的节点(只能调整无状态的) + Optional minSeqLab = labExecutiveInfos.stream().filter(dto -> + StringUtils.isEmpty(dto.getMeasureStatus()) && Objects.isNull(dto.getMeasurePersonId()) + ).sorted(Comparator.comparing(BusinessLabExecutiveInfo::getMeasureStatus)).findFirst(); + if(minSeqLab.isPresent()){ + BusinessLabExecutiveInfo labExecutiveInfo = minSeqLab.get(); + labExecutiveInfo.setMeasureStatus(MeasureStatusEnum.TO_ALLOCATE); + labExecutiveInfoMapper.updateById(labExecutiveInfo); + log.info("更新下一个审批的实验室为待分配成功"); + } } }); return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); + } + @Override + public ReturnDTO updateExecutiveList(UpdateExecutiveListRequest request) { + //删除前端已删除的ids + List executiveList = request.getExecutiveList(); + List ids = executiveList.stream().map(UpdateExecutiveDTO::getId).filter(Objects::nonNull).collect(Collectors.toList()); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("order_id", request.getOrderId()); + wrapper.eq("sample_id", request.getSampleId()); + wrapper.notIn("id", ids); + //business_lab_executive_info表无id_del字段,为物理删 + this.remove(wrapper); + + //更新已有id的顺序/实验室/人员信息 + List updateList = new ArrayList<>(); + //新增之前不存在的实验室列表(根据id判断) + List addList = new ArrayList<>(); + for (UpdateExecutiveDTO executiveDTO : executiveList) { + if(StringUtils.isNotEmpty(executiveDTO.getMeasureStatus())) continue; + if(Objects.isNull(executiveDTO.getId())){ + BusinessLabExecutiveInfo labExecutiveInfo = new BusinessLabExecutiveInfo(); + labExecutiveInfo.setId(executiveDTO.getId()); + labExecutiveInfo.setOrderId(request.getOrderId()); + labExecutiveInfo.setSampleId(request.getSampleId()); + labExecutiveInfo.setMeasureDeptId(executiveDTO.getMeasureSegmentId()); + labExecutiveInfo.setMeasurePersonId(executiveDTO.getMeasurePersonId()); + labExecutiveInfo.setMeasureSequence(executiveDTO.getMeasureSequence()); + addList.add(labExecutiveInfo); + }else{ + BusinessLabExecutiveInfo labExecutiveInfo = new BusinessLabExecutiveInfo(); + labExecutiveInfo.setId(executiveDTO.getId()); + labExecutiveInfo.setMeasureDeptId(executiveDTO.getMeasureSegmentId()); + labExecutiveInfo.setMeasurePersonId(executiveDTO.getMeasurePersonId()); + labExecutiveInfo.setMeasureSequence(executiveDTO.getMeasureSequence()); + updateList.add(labExecutiveInfo); + } + } + this.updateBatchById(updateList); + this.saveBatch(addList); + return ReturnUtil.success(); } private QueryWrapper getOperateLogWrapper(SampleHandOutListResponse handOut) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessLabExecutiveInfoService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessLabExecutiveInfoService.java index f0221e0..29b2949 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessLabExecutiveInfoService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessLabExecutiveInfoService.java @@ -33,4 +33,6 @@ ReturnDTO sampleReceive(List requestList); ReturnDTO sampleExecutiveComplete(List requestList); + + ReturnDTO updateExecutiveList(UpdateExecutiveListRequest requestList); }