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 2a56792..f5cf538 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 @@ -1,14 +1,19 @@ package com.casic.missiles.controller.business; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; +import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -34,7 +39,7 @@ @Slf4j @RestController @RequestMapping("/business/labExecutive") -public class BusinessLabExecutiveInfoController { +public class BusinessLabExecutiveInfoController extends ExportController { @Autowired private IBusinessLabExecutiveInfoService labExecutiveInfoService; @@ -44,22 +49,23 @@ @ApiOperation("任务分发-查询各状态列表") @PostMapping("/handOutList") @ResponseBody - public ReturnDTO queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) { + public ReturnDTO> queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } + DictCodeUtils.validDictCode(handOutListRequest); Page page = PageFactory.defaultPage(); - return labExecutiveInfoService.handOutListPage(page, handOutListRequest); + return ReturnUtil.success(super.packForBT(labExecutiveInfoService.handOutListPage(page, handOutListRequest))); } /** * 任务分发-详情 */ - @ApiOperation("任务分发-查询各状态列表") + @ApiOperation("任务分发-详情") @PostMapping("/handOutDetail") @ResponseBody - public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { - return labExecutiveInfoService.handOutListDetail(idDTO); + public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { + return ReturnUtil.success(labExecutiveInfoService.handOutListDetail(idDTO)); } /** 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 2a56792..f5cf538 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 @@ -1,14 +1,19 @@ package com.casic.missiles.controller.business; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; +import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -34,7 +39,7 @@ @Slf4j @RestController @RequestMapping("/business/labExecutive") -public class BusinessLabExecutiveInfoController { +public class BusinessLabExecutiveInfoController extends ExportController { @Autowired private IBusinessLabExecutiveInfoService labExecutiveInfoService; @@ -44,22 +49,23 @@ @ApiOperation("任务分发-查询各状态列表") @PostMapping("/handOutList") @ResponseBody - public ReturnDTO queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) { + public ReturnDTO> queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } + DictCodeUtils.validDictCode(handOutListRequest); Page page = PageFactory.defaultPage(); - return labExecutiveInfoService.handOutListPage(page, handOutListRequest); + return ReturnUtil.success(super.packForBT(labExecutiveInfoService.handOutListPage(page, handOutListRequest))); } /** * 任务分发-详情 */ - @ApiOperation("任务分发-查询各状态列表") + @ApiOperation("任务分发-详情") @PostMapping("/handOutDetail") @ResponseBody - public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { - return labExecutiveInfoService.handOutListDetail(idDTO); + public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { + return ReturnUtil.success(labExecutiveInfoService.handOutListDetail(idDTO)); } /** diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index fe2776c..953e661 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -2,13 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; -import java.util.List; - /** *

* 委托书-样品库关联表 Mapper 接口 @@ -19,5 +18,7 @@ */ public interface BusinessOrderSampleRelationMapper extends BaseMapper { - List selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + Page selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + + SampleHandOutDetailResponse selectSampleDetailById(@Param("id") Long id); } 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 2a56792..f5cf538 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 @@ -1,14 +1,19 @@ package com.casic.missiles.controller.business; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; +import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -34,7 +39,7 @@ @Slf4j @RestController @RequestMapping("/business/labExecutive") -public class BusinessLabExecutiveInfoController { +public class BusinessLabExecutiveInfoController extends ExportController { @Autowired private IBusinessLabExecutiveInfoService labExecutiveInfoService; @@ -44,22 +49,23 @@ @ApiOperation("任务分发-查询各状态列表") @PostMapping("/handOutList") @ResponseBody - public ReturnDTO queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) { + public ReturnDTO> queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } + DictCodeUtils.validDictCode(handOutListRequest); Page page = PageFactory.defaultPage(); - return labExecutiveInfoService.handOutListPage(page, handOutListRequest); + return ReturnUtil.success(super.packForBT(labExecutiveInfoService.handOutListPage(page, handOutListRequest))); } /** * 任务分发-详情 */ - @ApiOperation("任务分发-查询各状态列表") + @ApiOperation("任务分发-详情") @PostMapping("/handOutDetail") @ResponseBody - public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { - return labExecutiveInfoService.handOutListDetail(idDTO); + public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { + return ReturnUtil.success(labExecutiveInfoService.handOutListDetail(idDTO)); } /** diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index fe2776c..953e661 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -2,13 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; -import java.util.List; - /** *

* 委托书-样品库关联表 Mapper 接口 @@ -19,5 +18,7 @@ */ public interface BusinessOrderSampleRelationMapper extends BaseMapper { - List selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + Page selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + + SampleHandOutDetailResponse selectSampleDetailById(@Param("id") Long id); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 03e90d8..0be05a5 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -17,7 +17,13 @@ - csi.id AS sample_id,csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, + bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status + + + + + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status @@ -26,10 +32,10 @@ FROM business_order bo JOIN business_order_sample_relation bosr ON bo.id = bosr.order_id JOIN customer_sample_info csi ON csi.id = bosr.sample_id - WHERE is_del = 0 + WHERE bo.is_del = 0 AND (bosr.sample_status = 2 OR bosr.sample_status = 3) - AND require_over_time < NOW() + AND bo.require_over_time < NOW() AND bosr.sample_status = #{request.sampleStatus} @@ -62,4 +68,13 @@ AND csi.sample_belong = #{request.sampleBelong} + + 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 2a56792..f5cf538 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 @@ -1,14 +1,19 @@ package com.casic.missiles.controller.business; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; +import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -34,7 +39,7 @@ @Slf4j @RestController @RequestMapping("/business/labExecutive") -public class BusinessLabExecutiveInfoController { +public class BusinessLabExecutiveInfoController extends ExportController { @Autowired private IBusinessLabExecutiveInfoService labExecutiveInfoService; @@ -44,22 +49,23 @@ @ApiOperation("任务分发-查询各状态列表") @PostMapping("/handOutList") @ResponseBody - public ReturnDTO queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) { + public ReturnDTO> queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } + DictCodeUtils.validDictCode(handOutListRequest); Page page = PageFactory.defaultPage(); - return labExecutiveInfoService.handOutListPage(page, handOutListRequest); + return ReturnUtil.success(super.packForBT(labExecutiveInfoService.handOutListPage(page, handOutListRequest))); } /** * 任务分发-详情 */ - @ApiOperation("任务分发-查询各状态列表") + @ApiOperation("任务分发-详情") @PostMapping("/handOutDetail") @ResponseBody - public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { - return labExecutiveInfoService.handOutListDetail(idDTO); + public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { + return ReturnUtil.success(labExecutiveInfoService.handOutListDetail(idDTO)); } /** diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index fe2776c..953e661 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -2,13 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; -import java.util.List; - /** *

* 委托书-样品库关联表 Mapper 接口 @@ -19,5 +18,7 @@ */ public interface BusinessOrderSampleRelationMapper extends BaseMapper { - List selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + Page selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + + SampleHandOutDetailResponse selectSampleDetailById(@Param("id") Long id); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 03e90d8..0be05a5 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -17,7 +17,13 @@ - csi.id AS sample_id,csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, + bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status + + + + + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status @@ -26,10 +32,10 @@ FROM business_order bo JOIN business_order_sample_relation bosr ON bo.id = bosr.order_id JOIN customer_sample_info csi ON csi.id = bosr.sample_id - WHERE is_del = 0 + WHERE bo.is_del = 0 AND (bosr.sample_status = 2 OR bosr.sample_status = 3) - AND require_over_time < NOW() + AND bo.require_over_time < NOW() AND bosr.sample_status = #{request.sampleStatus} @@ -62,4 +68,13 @@ AND csi.sample_belong = #{request.sampleBelong} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index ea7c1cf..0a27789 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone + mtsp.job, mtsp.phone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 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 2a56792..f5cf538 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 @@ -1,14 +1,19 @@ package com.casic.missiles.controller.business; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; +import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -34,7 +39,7 @@ @Slf4j @RestController @RequestMapping("/business/labExecutive") -public class BusinessLabExecutiveInfoController { +public class BusinessLabExecutiveInfoController extends ExportController { @Autowired private IBusinessLabExecutiveInfoService labExecutiveInfoService; @@ -44,22 +49,23 @@ @ApiOperation("任务分发-查询各状态列表") @PostMapping("/handOutList") @ResponseBody - public ReturnDTO queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) { + public ReturnDTO> queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } + DictCodeUtils.validDictCode(handOutListRequest); Page page = PageFactory.defaultPage(); - return labExecutiveInfoService.handOutListPage(page, handOutListRequest); + return ReturnUtil.success(super.packForBT(labExecutiveInfoService.handOutListPage(page, handOutListRequest))); } /** * 任务分发-详情 */ - @ApiOperation("任务分发-查询各状态列表") + @ApiOperation("任务分发-详情") @PostMapping("/handOutDetail") @ResponseBody - public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { - return labExecutiveInfoService.handOutListDetail(idDTO); + public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { + return ReturnUtil.success(labExecutiveInfoService.handOutListDetail(idDTO)); } /** diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index fe2776c..953e661 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -2,13 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; -import java.util.List; - /** *

* 委托书-样品库关联表 Mapper 接口 @@ -19,5 +18,7 @@ */ public interface BusinessOrderSampleRelationMapper extends BaseMapper { - List selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + Page selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + + SampleHandOutDetailResponse selectSampleDetailById(@Param("id") Long id); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 03e90d8..0be05a5 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -17,7 +17,13 @@ - csi.id AS sample_id,csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, + bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status + + + + + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status @@ -26,10 +32,10 @@ FROM business_order bo JOIN business_order_sample_relation bosr ON bo.id = bosr.order_id JOIN customer_sample_info csi ON csi.id = bosr.sample_id - WHERE is_del = 0 + WHERE bo.is_del = 0 AND (bosr.sample_status = 2 OR bosr.sample_status = 3) - AND require_over_time < NOW() + AND bo.require_over_time < NOW() AND bosr.sample_status = #{request.sampleStatus} @@ -62,4 +68,13 @@ AND csi.sample_belong = #{request.sampleBelong} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index ea7c1cf..0a27789 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone + mtsp.job, mtsp.phone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 1bc285f..09eee0f 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -34,7 +34,7 @@ SELECT mtp.plan_no, mtp.plan_name, mtp.train_person, mtp.train_number, mtp.train_time, mtp.train_hour, mtp.dept_id, sd.SIMPLE_NAME AS dept_name, mtp.effective_company, mtp.director, mtp.train_address, mtp.train_content, mtp.remark AS train_remark, mts.id, mts.staff_id, mts.plan_id, mts.name, mts.company, - mts.technology_job, mts.exam_result, mts.sign_time, mts.remark + mts.technology_job, mts.exam_result, mts.sign_time, mts.remark, mtp.process_id FROM meter_train_plan mtp LEFT JOIN sys_dept sd ON mtp.dept_id = sd.id LEFT JOIN meter_train_staff mts ON mtp.id = mts.plan_id 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 2a56792..f5cf538 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 @@ -1,14 +1,19 @@ package com.casic.missiles.controller.business; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; +import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -34,7 +39,7 @@ @Slf4j @RestController @RequestMapping("/business/labExecutive") -public class BusinessLabExecutiveInfoController { +public class BusinessLabExecutiveInfoController extends ExportController { @Autowired private IBusinessLabExecutiveInfoService labExecutiveInfoService; @@ -44,22 +49,23 @@ @ApiOperation("任务分发-查询各状态列表") @PostMapping("/handOutList") @ResponseBody - public ReturnDTO queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) { + public ReturnDTO> queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } + DictCodeUtils.validDictCode(handOutListRequest); Page page = PageFactory.defaultPage(); - return labExecutiveInfoService.handOutListPage(page, handOutListRequest); + return ReturnUtil.success(super.packForBT(labExecutiveInfoService.handOutListPage(page, handOutListRequest))); } /** * 任务分发-详情 */ - @ApiOperation("任务分发-查询各状态列表") + @ApiOperation("任务分发-详情") @PostMapping("/handOutDetail") @ResponseBody - public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { - return labExecutiveInfoService.handOutListDetail(idDTO); + public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { + return ReturnUtil.success(labExecutiveInfoService.handOutListDetail(idDTO)); } /** diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index fe2776c..953e661 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -2,13 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; -import java.util.List; - /** *

* 委托书-样品库关联表 Mapper 接口 @@ -19,5 +18,7 @@ */ public interface BusinessOrderSampleRelationMapper extends BaseMapper { - List selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + Page selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + + SampleHandOutDetailResponse selectSampleDetailById(@Param("id") Long id); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 03e90d8..0be05a5 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -17,7 +17,13 @@ - csi.id AS sample_id,csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, + bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status + + + + + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status @@ -26,10 +32,10 @@ FROM business_order bo JOIN business_order_sample_relation bosr ON bo.id = bosr.order_id JOIN customer_sample_info csi ON csi.id = bosr.sample_id - WHERE is_del = 0 + WHERE bo.is_del = 0 AND (bosr.sample_status = 2 OR bosr.sample_status = 3) - AND require_over_time < NOW() + AND bo.require_over_time < NOW() AND bosr.sample_status = #{request.sampleStatus} @@ -62,4 +68,13 @@ AND csi.sample_belong = #{request.sampleBelong} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index ea7c1cf..0a27789 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone + mtsp.job, mtsp.phone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 1bc285f..09eee0f 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -34,7 +34,7 @@ SELECT mtp.plan_no, mtp.plan_name, mtp.train_person, mtp.train_number, mtp.train_time, mtp.train_hour, mtp.dept_id, sd.SIMPLE_NAME AS dept_name, mtp.effective_company, mtp.director, mtp.train_address, mtp.train_content, mtp.remark AS train_remark, mts.id, mts.staff_id, mts.plan_id, mts.name, mts.company, - mts.technology_job, mts.exam_result, mts.sign_time, mts.remark + mts.technology_job, mts.exam_result, mts.sign_time, mts.remark, mtp.process_id FROM meter_train_plan mtp LEFT JOIN sys_dept sd ON mtp.dept_id = sd.id LEFT JOIN meter_train_staff mts ON mtp.id = mts.plan_id 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 new file mode 100644 index 0000000..a1b096b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java @@ -0,0 +1,31 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/2/9 14:27 + */ +@Data +@ApiModel +public class MeasureProcessDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "检定人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "检定人员", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "检定状态(字典code)", dataType = "String") + private String measureStatus; + @ApiModelProperty(value = "检定状态(字典value)", dataType = "String") + private String measureStatusName; + @ApiModelProperty(value = "应出具证书总数", dataType = "Integer") + private Integer requireCertifications; + @ApiModelProperty(value = "更新时间", dataType = "String") + private String updateTime; +} 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 2a56792..f5cf538 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 @@ -1,14 +1,19 @@ package com.casic.missiles.controller.business; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; +import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -34,7 +39,7 @@ @Slf4j @RestController @RequestMapping("/business/labExecutive") -public class BusinessLabExecutiveInfoController { +public class BusinessLabExecutiveInfoController extends ExportController { @Autowired private IBusinessLabExecutiveInfoService labExecutiveInfoService; @@ -44,22 +49,23 @@ @ApiOperation("任务分发-查询各状态列表") @PostMapping("/handOutList") @ResponseBody - public ReturnDTO queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) { + public ReturnDTO> queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } + DictCodeUtils.validDictCode(handOutListRequest); Page page = PageFactory.defaultPage(); - return labExecutiveInfoService.handOutListPage(page, handOutListRequest); + return ReturnUtil.success(super.packForBT(labExecutiveInfoService.handOutListPage(page, handOutListRequest))); } /** * 任务分发-详情 */ - @ApiOperation("任务分发-查询各状态列表") + @ApiOperation("任务分发-详情") @PostMapping("/handOutDetail") @ResponseBody - public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { - return labExecutiveInfoService.handOutListDetail(idDTO); + public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { + return ReturnUtil.success(labExecutiveInfoService.handOutListDetail(idDTO)); } /** diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index fe2776c..953e661 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -2,13 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; -import java.util.List; - /** *

* 委托书-样品库关联表 Mapper 接口 @@ -19,5 +18,7 @@ */ public interface BusinessOrderSampleRelationMapper extends BaseMapper { - List selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + Page selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + + SampleHandOutDetailResponse selectSampleDetailById(@Param("id") Long id); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 03e90d8..0be05a5 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -17,7 +17,13 @@ - csi.id AS sample_id,csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, + bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status + + + + + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status @@ -26,10 +32,10 @@ FROM business_order bo JOIN business_order_sample_relation bosr ON bo.id = bosr.order_id JOIN customer_sample_info csi ON csi.id = bosr.sample_id - WHERE is_del = 0 + WHERE bo.is_del = 0 AND (bosr.sample_status = 2 OR bosr.sample_status = 3) - AND require_over_time < NOW() + AND bo.require_over_time < NOW() AND bosr.sample_status = #{request.sampleStatus} @@ -62,4 +68,13 @@ AND csi.sample_belong = #{request.sampleBelong} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index ea7c1cf..0a27789 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone + mtsp.job, mtsp.phone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 1bc285f..09eee0f 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -34,7 +34,7 @@ SELECT mtp.plan_no, mtp.plan_name, mtp.train_person, mtp.train_number, mtp.train_time, mtp.train_hour, mtp.dept_id, sd.SIMPLE_NAME AS dept_name, mtp.effective_company, mtp.director, mtp.train_address, mtp.train_content, mtp.remark AS train_remark, mts.id, mts.staff_id, mts.plan_id, mts.name, mts.company, - mts.technology_job, mts.exam_result, mts.sign_time, mts.remark + mts.technology_job, mts.exam_result, mts.sign_time, mts.remark, mtp.process_id FROM meter_train_plan mtp LEFT JOIN sys_dept sd ON mtp.dept_id = sd.id LEFT JOIN meter_train_staff mts ON mtp.id = mts.plan_id 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 new file mode 100644 index 0000000..a1b096b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java @@ -0,0 +1,31 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/2/9 14:27 + */ +@Data +@ApiModel +public class MeasureProcessDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "检定人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "检定人员", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "检定状态(字典code)", dataType = "String") + private String measureStatus; + @ApiModelProperty(value = "检定状态(字典value)", dataType = "String") + private String measureStatusName; + @ApiModelProperty(value = "应出具证书总数", dataType = "Integer") + private Integer requireCertifications; + @ApiModelProperty(value = "更新时间", dataType = "String") + private String updateTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java new file mode 100644 index 0000000..3c5aa32 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java @@ -0,0 +1,28 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 检定过程的退回信息 + * @Author: wangpeng + * @Date: 2023/2/9 14:43 + */ +@Data +@ApiModel +public class MeasureSendBackDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "退回人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "退回人员名字", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "退回原因", dataType = "String") + private String sendBackReason; + @ApiModelProperty(value = "退回时间", dataType = "String") + private String updateTime; + +} 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 2a56792..f5cf538 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 @@ -1,14 +1,19 @@ package com.casic.missiles.controller.business; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; +import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -34,7 +39,7 @@ @Slf4j @RestController @RequestMapping("/business/labExecutive") -public class BusinessLabExecutiveInfoController { +public class BusinessLabExecutiveInfoController extends ExportController { @Autowired private IBusinessLabExecutiveInfoService labExecutiveInfoService; @@ -44,22 +49,23 @@ @ApiOperation("任务分发-查询各状态列表") @PostMapping("/handOutList") @ResponseBody - public ReturnDTO queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) { + public ReturnDTO> queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } + DictCodeUtils.validDictCode(handOutListRequest); Page page = PageFactory.defaultPage(); - return labExecutiveInfoService.handOutListPage(page, handOutListRequest); + return ReturnUtil.success(super.packForBT(labExecutiveInfoService.handOutListPage(page, handOutListRequest))); } /** * 任务分发-详情 */ - @ApiOperation("任务分发-查询各状态列表") + @ApiOperation("任务分发-详情") @PostMapping("/handOutDetail") @ResponseBody - public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { - return labExecutiveInfoService.handOutListDetail(idDTO); + public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { + return ReturnUtil.success(labExecutiveInfoService.handOutListDetail(idDTO)); } /** diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index fe2776c..953e661 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -2,13 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; -import java.util.List; - /** *

* 委托书-样品库关联表 Mapper 接口 @@ -19,5 +18,7 @@ */ public interface BusinessOrderSampleRelationMapper extends BaseMapper { - List selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + Page selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + + SampleHandOutDetailResponse selectSampleDetailById(@Param("id") Long id); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 03e90d8..0be05a5 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -17,7 +17,13 @@ - csi.id AS sample_id,csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, + bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status + + + + + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status @@ -26,10 +32,10 @@ FROM business_order bo JOIN business_order_sample_relation bosr ON bo.id = bosr.order_id JOIN customer_sample_info csi ON csi.id = bosr.sample_id - WHERE is_del = 0 + WHERE bo.is_del = 0 AND (bosr.sample_status = 2 OR bosr.sample_status = 3) - AND require_over_time < NOW() + AND bo.require_over_time < NOW() AND bosr.sample_status = #{request.sampleStatus} @@ -62,4 +68,13 @@ AND csi.sample_belong = #{request.sampleBelong} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index ea7c1cf..0a27789 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone + mtsp.job, mtsp.phone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 1bc285f..09eee0f 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -34,7 +34,7 @@ SELECT mtp.plan_no, mtp.plan_name, mtp.train_person, mtp.train_number, mtp.train_time, mtp.train_hour, mtp.dept_id, sd.SIMPLE_NAME AS dept_name, mtp.effective_company, mtp.director, mtp.train_address, mtp.train_content, mtp.remark AS train_remark, mts.id, mts.staff_id, mts.plan_id, mts.name, mts.company, - mts.technology_job, mts.exam_result, mts.sign_time, mts.remark + mts.technology_job, mts.exam_result, mts.sign_time, mts.remark, mtp.process_id FROM meter_train_plan mtp LEFT JOIN sys_dept sd ON mtp.dept_id = sd.id LEFT JOIN meter_train_staff mts ON mtp.id = mts.plan_id 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 new file mode 100644 index 0000000..a1b096b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java @@ -0,0 +1,31 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/2/9 14:27 + */ +@Data +@ApiModel +public class MeasureProcessDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "检定人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "检定人员", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "检定状态(字典code)", dataType = "String") + private String measureStatus; + @ApiModelProperty(value = "检定状态(字典value)", dataType = "String") + private String measureStatusName; + @ApiModelProperty(value = "应出具证书总数", dataType = "Integer") + private Integer requireCertifications; + @ApiModelProperty(value = "更新时间", dataType = "String") + private String updateTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java new file mode 100644 index 0000000..3c5aa32 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java @@ -0,0 +1,28 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 检定过程的退回信息 + * @Author: wangpeng + * @Date: 2023/2/9 14:43 + */ +@Data +@ApiModel +public class MeasureSendBackDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "退回人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "退回人员名字", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "退回原因", dataType = "String") + private String sendBackReason; + @ApiModelProperty(value = "退回时间", dataType = "String") + private String updateTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java new file mode 100644 index 0000000..38b80e3 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java @@ -0,0 +1,138 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Description: 任务分发-详情 + * @Author: wangpeng + * @Date: 2023/2/9 11:41 + */ +@Data +@ApiModel +public class SampleHandOutDetailResponse { + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "生产厂家", dataType = "String") + private String manufacturer; + + @ApiModelProperty(value = "厂家国别", dataType = "String") + private String manufacturerCountry; + + @ApiModelProperty(value = "出厂年月", dataType = "String") + private String manufacturingDate; + + @ApiModelProperty(value = "ABC", dataType = "String") + private String abc; + + @ApiModelProperty(value = "委托方id", dataType = "Long") + private Long customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托方电话", dataType = "String") + private String phone; + + @ApiModelProperty(value = "委托方邮编", dataType = "String") + private String postalCode; + + @ApiModelProperty(value = "委托方公司地址-国家", dataType = "String") + private String addressCountry; + + @ApiModelProperty(value = "委托方公司地址-省", dataType = "String") + private String addressProvince; + + @ApiModelProperty(value = "委托方公司地址-市", dataType = "String") + private String addressCity; + + @ApiModelProperty(value = "委托方公司地址-区", dataType = "String") + private String addressArea; + + @ApiModelProperty(value = "委托方公司地址-详细地址", dataType = "String") + private String fullAddress; + + @ApiModelProperty(value = "委托方公司地址-国家名字", dataType = "String") + private String addressCountryName; + + @ApiModelProperty(value = "委托方公司地址-省名字", dataType = "String") + private String addressProvinceName; + + @ApiModelProperty(value = "委托方公司地址-市名字", dataType = "String") + private String addressCityName; + + @ApiModelProperty(value = "委托方公司地址-区名字", dataType = "String") + private String addressAreaName; + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private String orderId; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "送样人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送样人联系方式", dataType = "String") + private String delivererTel; + + @ApiModelProperty(value = "预约送达时间", dataType = "String") + private String planDeliverTime; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "检定项目", dataType = "String") + private String measureContent; + + @ApiModelProperty(value = "检定周期(月)", dataType = "String") + private String measurePeriod; + + @ApiModelProperty(value = "检定日期", dataType = "String") + private String measureLastDate; + + @ApiModelProperty(value = "有效日期", dataType = "String") + private String effectiveDate; + + //需求中已删除该字段展示,不展示整个样品的检定结果,只在证书里展示各证书的检定结果 +// @ApiModelProperty(value = "检定结果", dataType = "String") +// private String measureResult; + + @ApiModelProperty(value = "备注", dataType = "String") + private String remark; + + @ApiModelProperty(value = "说明书", dataType = "String") + private String minioFileName; + + @ApiModelProperty(value = "检定方式(字典code)", dataType = "String") + private String measureType; + + @ApiModelProperty(value = "检定方式(字典value)", dataType = "String") + private String measureTypeName; + + @ApiModelProperty(value = "标签绑定", dataType = "String") + private String labelBind; + + @ApiModelProperty(value = "检定流程", dataType = "List") + private List measureProcessList; + + @ApiModelProperty(value = "退回信息", dataType = "List") + private List measureSendBackList; + +} 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 2a56792..f5cf538 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 @@ -1,14 +1,19 @@ package com.casic.missiles.controller.business; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; +import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -34,7 +39,7 @@ @Slf4j @RestController @RequestMapping("/business/labExecutive") -public class BusinessLabExecutiveInfoController { +public class BusinessLabExecutiveInfoController extends ExportController { @Autowired private IBusinessLabExecutiveInfoService labExecutiveInfoService; @@ -44,22 +49,23 @@ @ApiOperation("任务分发-查询各状态列表") @PostMapping("/handOutList") @ResponseBody - public ReturnDTO queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) { + public ReturnDTO> queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } + DictCodeUtils.validDictCode(handOutListRequest); Page page = PageFactory.defaultPage(); - return labExecutiveInfoService.handOutListPage(page, handOutListRequest); + return ReturnUtil.success(super.packForBT(labExecutiveInfoService.handOutListPage(page, handOutListRequest))); } /** * 任务分发-详情 */ - @ApiOperation("任务分发-查询各状态列表") + @ApiOperation("任务分发-详情") @PostMapping("/handOutDetail") @ResponseBody - public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { - return labExecutiveInfoService.handOutListDetail(idDTO); + public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { + return ReturnUtil.success(labExecutiveInfoService.handOutListDetail(idDTO)); } /** diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index fe2776c..953e661 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -2,13 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; -import java.util.List; - /** *

* 委托书-样品库关联表 Mapper 接口 @@ -19,5 +18,7 @@ */ public interface BusinessOrderSampleRelationMapper extends BaseMapper { - List selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + Page selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + + SampleHandOutDetailResponse selectSampleDetailById(@Param("id") Long id); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 03e90d8..0be05a5 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -17,7 +17,13 @@ - csi.id AS sample_id,csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, + bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status + + + + + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status @@ -26,10 +32,10 @@ FROM business_order bo JOIN business_order_sample_relation bosr ON bo.id = bosr.order_id JOIN customer_sample_info csi ON csi.id = bosr.sample_id - WHERE is_del = 0 + WHERE bo.is_del = 0 AND (bosr.sample_status = 2 OR bosr.sample_status = 3) - AND require_over_time < NOW() + AND bo.require_over_time < NOW() AND bosr.sample_status = #{request.sampleStatus} @@ -62,4 +68,13 @@ AND csi.sample_belong = #{request.sampleBelong} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index ea7c1cf..0a27789 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone + mtsp.job, mtsp.phone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 1bc285f..09eee0f 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -34,7 +34,7 @@ SELECT mtp.plan_no, mtp.plan_name, mtp.train_person, mtp.train_number, mtp.train_time, mtp.train_hour, mtp.dept_id, sd.SIMPLE_NAME AS dept_name, mtp.effective_company, mtp.director, mtp.train_address, mtp.train_content, mtp.remark AS train_remark, mts.id, mts.staff_id, mts.plan_id, mts.name, mts.company, - mts.technology_job, mts.exam_result, mts.sign_time, mts.remark + mts.technology_job, mts.exam_result, mts.sign_time, mts.remark, mtp.process_id FROM meter_train_plan mtp LEFT JOIN sys_dept sd ON mtp.dept_id = sd.id LEFT JOIN meter_train_staff mts ON mtp.id = mts.plan_id 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 new file mode 100644 index 0000000..a1b096b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java @@ -0,0 +1,31 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/2/9 14:27 + */ +@Data +@ApiModel +public class MeasureProcessDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "检定人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "检定人员", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "检定状态(字典code)", dataType = "String") + private String measureStatus; + @ApiModelProperty(value = "检定状态(字典value)", dataType = "String") + private String measureStatusName; + @ApiModelProperty(value = "应出具证书总数", dataType = "Integer") + private Integer requireCertifications; + @ApiModelProperty(value = "更新时间", dataType = "String") + private String updateTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java new file mode 100644 index 0000000..3c5aa32 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java @@ -0,0 +1,28 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 检定过程的退回信息 + * @Author: wangpeng + * @Date: 2023/2/9 14:43 + */ +@Data +@ApiModel +public class MeasureSendBackDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "退回人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "退回人员名字", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "退回原因", dataType = "String") + private String sendBackReason; + @ApiModelProperty(value = "退回时间", dataType = "String") + private String updateTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java new file mode 100644 index 0000000..38b80e3 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java @@ -0,0 +1,138 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Description: 任务分发-详情 + * @Author: wangpeng + * @Date: 2023/2/9 11:41 + */ +@Data +@ApiModel +public class SampleHandOutDetailResponse { + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "生产厂家", dataType = "String") + private String manufacturer; + + @ApiModelProperty(value = "厂家国别", dataType = "String") + private String manufacturerCountry; + + @ApiModelProperty(value = "出厂年月", dataType = "String") + private String manufacturingDate; + + @ApiModelProperty(value = "ABC", dataType = "String") + private String abc; + + @ApiModelProperty(value = "委托方id", dataType = "Long") + private Long customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托方电话", dataType = "String") + private String phone; + + @ApiModelProperty(value = "委托方邮编", dataType = "String") + private String postalCode; + + @ApiModelProperty(value = "委托方公司地址-国家", dataType = "String") + private String addressCountry; + + @ApiModelProperty(value = "委托方公司地址-省", dataType = "String") + private String addressProvince; + + @ApiModelProperty(value = "委托方公司地址-市", dataType = "String") + private String addressCity; + + @ApiModelProperty(value = "委托方公司地址-区", dataType = "String") + private String addressArea; + + @ApiModelProperty(value = "委托方公司地址-详细地址", dataType = "String") + private String fullAddress; + + @ApiModelProperty(value = "委托方公司地址-国家名字", dataType = "String") + private String addressCountryName; + + @ApiModelProperty(value = "委托方公司地址-省名字", dataType = "String") + private String addressProvinceName; + + @ApiModelProperty(value = "委托方公司地址-市名字", dataType = "String") + private String addressCityName; + + @ApiModelProperty(value = "委托方公司地址-区名字", dataType = "String") + private String addressAreaName; + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private String orderId; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "送样人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送样人联系方式", dataType = "String") + private String delivererTel; + + @ApiModelProperty(value = "预约送达时间", dataType = "String") + private String planDeliverTime; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "检定项目", dataType = "String") + private String measureContent; + + @ApiModelProperty(value = "检定周期(月)", dataType = "String") + private String measurePeriod; + + @ApiModelProperty(value = "检定日期", dataType = "String") + private String measureLastDate; + + @ApiModelProperty(value = "有效日期", dataType = "String") + private String effectiveDate; + + //需求中已删除该字段展示,不展示整个样品的检定结果,只在证书里展示各证书的检定结果 +// @ApiModelProperty(value = "检定结果", dataType = "String") +// private String measureResult; + + @ApiModelProperty(value = "备注", dataType = "String") + private String remark; + + @ApiModelProperty(value = "说明书", dataType = "String") + private String minioFileName; + + @ApiModelProperty(value = "检定方式(字典code)", dataType = "String") + private String measureType; + + @ApiModelProperty(value = "检定方式(字典value)", dataType = "String") + private String measureTypeName; + + @ApiModelProperty(value = "标签绑定", dataType = "String") + private String labelBind; + + @ApiModelProperty(value = "检定流程", dataType = "List") + private List measureProcessList; + + @ApiModelProperty(value = "退回信息", dataType = "List") + private List measureSendBackList; + +} 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 e927df4..6cf5efc 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 @@ -22,6 +22,8 @@ @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class SampleHandOutListResponse { + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; @ApiModelProperty(value = "样品编号", dataType = "String") @ExcelProperty(value = "样品编号", order = 0) @@ -91,7 +93,5 @@ @JsonIgnore private Long orderId; @JsonIgnore - private Long sampleId; - @JsonIgnore private Integer 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 2a56792..f5cf538 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 @@ -1,14 +1,19 @@ package com.casic.missiles.controller.business; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; +import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -34,7 +39,7 @@ @Slf4j @RestController @RequestMapping("/business/labExecutive") -public class BusinessLabExecutiveInfoController { +public class BusinessLabExecutiveInfoController extends ExportController { @Autowired private IBusinessLabExecutiveInfoService labExecutiveInfoService; @@ -44,22 +49,23 @@ @ApiOperation("任务分发-查询各状态列表") @PostMapping("/handOutList") @ResponseBody - public ReturnDTO queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) { + public ReturnDTO> queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } + DictCodeUtils.validDictCode(handOutListRequest); Page page = PageFactory.defaultPage(); - return labExecutiveInfoService.handOutListPage(page, handOutListRequest); + return ReturnUtil.success(super.packForBT(labExecutiveInfoService.handOutListPage(page, handOutListRequest))); } /** * 任务分发-详情 */ - @ApiOperation("任务分发-查询各状态列表") + @ApiOperation("任务分发-详情") @PostMapping("/handOutDetail") @ResponseBody - public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { - return labExecutiveInfoService.handOutListDetail(idDTO); + public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { + return ReturnUtil.success(labExecutiveInfoService.handOutListDetail(idDTO)); } /** diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index fe2776c..953e661 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -2,13 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; -import java.util.List; - /** *

* 委托书-样品库关联表 Mapper 接口 @@ -19,5 +18,7 @@ */ public interface BusinessOrderSampleRelationMapper extends BaseMapper { - List selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + Page selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + + SampleHandOutDetailResponse selectSampleDetailById(@Param("id") Long id); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 03e90d8..0be05a5 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -17,7 +17,13 @@ - csi.id AS sample_id,csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, + bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status + + + + + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status @@ -26,10 +32,10 @@ FROM business_order bo JOIN business_order_sample_relation bosr ON bo.id = bosr.order_id JOIN customer_sample_info csi ON csi.id = bosr.sample_id - WHERE is_del = 0 + WHERE bo.is_del = 0 AND (bosr.sample_status = 2 OR bosr.sample_status = 3) - AND require_over_time < NOW() + AND bo.require_over_time < NOW() AND bosr.sample_status = #{request.sampleStatus} @@ -62,4 +68,13 @@ AND csi.sample_belong = #{request.sampleBelong} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index ea7c1cf..0a27789 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone + mtsp.job, mtsp.phone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 1bc285f..09eee0f 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -34,7 +34,7 @@ SELECT mtp.plan_no, mtp.plan_name, mtp.train_person, mtp.train_number, mtp.train_time, mtp.train_hour, mtp.dept_id, sd.SIMPLE_NAME AS dept_name, mtp.effective_company, mtp.director, mtp.train_address, mtp.train_content, mtp.remark AS train_remark, mts.id, mts.staff_id, mts.plan_id, mts.name, mts.company, - mts.technology_job, mts.exam_result, mts.sign_time, mts.remark + mts.technology_job, mts.exam_result, mts.sign_time, mts.remark, mtp.process_id FROM meter_train_plan mtp LEFT JOIN sys_dept sd ON mtp.dept_id = sd.id LEFT JOIN meter_train_staff mts ON mtp.id = mts.plan_id 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 new file mode 100644 index 0000000..a1b096b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java @@ -0,0 +1,31 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/2/9 14:27 + */ +@Data +@ApiModel +public class MeasureProcessDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "检定人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "检定人员", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "检定状态(字典code)", dataType = "String") + private String measureStatus; + @ApiModelProperty(value = "检定状态(字典value)", dataType = "String") + private String measureStatusName; + @ApiModelProperty(value = "应出具证书总数", dataType = "Integer") + private Integer requireCertifications; + @ApiModelProperty(value = "更新时间", dataType = "String") + private String updateTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java new file mode 100644 index 0000000..3c5aa32 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java @@ -0,0 +1,28 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 检定过程的退回信息 + * @Author: wangpeng + * @Date: 2023/2/9 14:43 + */ +@Data +@ApiModel +public class MeasureSendBackDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "退回人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "退回人员名字", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "退回原因", dataType = "String") + private String sendBackReason; + @ApiModelProperty(value = "退回时间", dataType = "String") + private String updateTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java new file mode 100644 index 0000000..38b80e3 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java @@ -0,0 +1,138 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Description: 任务分发-详情 + * @Author: wangpeng + * @Date: 2023/2/9 11:41 + */ +@Data +@ApiModel +public class SampleHandOutDetailResponse { + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "生产厂家", dataType = "String") + private String manufacturer; + + @ApiModelProperty(value = "厂家国别", dataType = "String") + private String manufacturerCountry; + + @ApiModelProperty(value = "出厂年月", dataType = "String") + private String manufacturingDate; + + @ApiModelProperty(value = "ABC", dataType = "String") + private String abc; + + @ApiModelProperty(value = "委托方id", dataType = "Long") + private Long customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托方电话", dataType = "String") + private String phone; + + @ApiModelProperty(value = "委托方邮编", dataType = "String") + private String postalCode; + + @ApiModelProperty(value = "委托方公司地址-国家", dataType = "String") + private String addressCountry; + + @ApiModelProperty(value = "委托方公司地址-省", dataType = "String") + private String addressProvince; + + @ApiModelProperty(value = "委托方公司地址-市", dataType = "String") + private String addressCity; + + @ApiModelProperty(value = "委托方公司地址-区", dataType = "String") + private String addressArea; + + @ApiModelProperty(value = "委托方公司地址-详细地址", dataType = "String") + private String fullAddress; + + @ApiModelProperty(value = "委托方公司地址-国家名字", dataType = "String") + private String addressCountryName; + + @ApiModelProperty(value = "委托方公司地址-省名字", dataType = "String") + private String addressProvinceName; + + @ApiModelProperty(value = "委托方公司地址-市名字", dataType = "String") + private String addressCityName; + + @ApiModelProperty(value = "委托方公司地址-区名字", dataType = "String") + private String addressAreaName; + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private String orderId; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "送样人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送样人联系方式", dataType = "String") + private String delivererTel; + + @ApiModelProperty(value = "预约送达时间", dataType = "String") + private String planDeliverTime; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "检定项目", dataType = "String") + private String measureContent; + + @ApiModelProperty(value = "检定周期(月)", dataType = "String") + private String measurePeriod; + + @ApiModelProperty(value = "检定日期", dataType = "String") + private String measureLastDate; + + @ApiModelProperty(value = "有效日期", dataType = "String") + private String effectiveDate; + + //需求中已删除该字段展示,不展示整个样品的检定结果,只在证书里展示各证书的检定结果 +// @ApiModelProperty(value = "检定结果", dataType = "String") +// private String measureResult; + + @ApiModelProperty(value = "备注", dataType = "String") + private String remark; + + @ApiModelProperty(value = "说明书", dataType = "String") + private String minioFileName; + + @ApiModelProperty(value = "检定方式(字典code)", dataType = "String") + private String measureType; + + @ApiModelProperty(value = "检定方式(字典value)", dataType = "String") + private String measureTypeName; + + @ApiModelProperty(value = "标签绑定", dataType = "String") + private String labelBind; + + @ApiModelProperty(value = "检定流程", dataType = "List") + private List measureProcessList; + + @ApiModelProperty(value = "退回信息", dataType = "List") + private List measureSendBackList; + +} 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 e927df4..6cf5efc 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 @@ -22,6 +22,8 @@ @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class SampleHandOutListResponse { + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; @ApiModelProperty(value = "样品编号", dataType = "String") @ExcelProperty(value = "样品编号", order = 0) @@ -91,7 +93,5 @@ @JsonIgnore private Long orderId; @JsonIgnore - private Long sampleId; - @JsonIgnore private Integer sampleStatus; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java index 2ae1f1d..11420e5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java @@ -12,9 +12,9 @@ */ @Data public class ApprovalRevokeRequest { - @ApiModelProperty("任务id") - @NotBlank(message = "任务id不能为空") - private String taskId; + @ApiModelProperty("流程实例id") + @NotBlank(message = "流程实例id不能为空") + private String processInstanceId; @ApiModelProperty("审批结论/意见") @NotBlank(message = "审批结论/意见不能为空") 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 2a56792..f5cf538 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 @@ -1,14 +1,19 @@ package com.casic.missiles.controller.business; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; +import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -34,7 +39,7 @@ @Slf4j @RestController @RequestMapping("/business/labExecutive") -public class BusinessLabExecutiveInfoController { +public class BusinessLabExecutiveInfoController extends ExportController { @Autowired private IBusinessLabExecutiveInfoService labExecutiveInfoService; @@ -44,22 +49,23 @@ @ApiOperation("任务分发-查询各状态列表") @PostMapping("/handOutList") @ResponseBody - public ReturnDTO queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) { + public ReturnDTO> queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } + DictCodeUtils.validDictCode(handOutListRequest); Page page = PageFactory.defaultPage(); - return labExecutiveInfoService.handOutListPage(page, handOutListRequest); + return ReturnUtil.success(super.packForBT(labExecutiveInfoService.handOutListPage(page, handOutListRequest))); } /** * 任务分发-详情 */ - @ApiOperation("任务分发-查询各状态列表") + @ApiOperation("任务分发-详情") @PostMapping("/handOutDetail") @ResponseBody - public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { - return labExecutiveInfoService.handOutListDetail(idDTO); + public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { + return ReturnUtil.success(labExecutiveInfoService.handOutListDetail(idDTO)); } /** diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index fe2776c..953e661 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -2,13 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; -import java.util.List; - /** *

* 委托书-样品库关联表 Mapper 接口 @@ -19,5 +18,7 @@ */ public interface BusinessOrderSampleRelationMapper extends BaseMapper { - List selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + Page selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + + SampleHandOutDetailResponse selectSampleDetailById(@Param("id") Long id); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 03e90d8..0be05a5 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -17,7 +17,13 @@ - csi.id AS sample_id,csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, + bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status + + + + + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status @@ -26,10 +32,10 @@ FROM business_order bo JOIN business_order_sample_relation bosr ON bo.id = bosr.order_id JOIN customer_sample_info csi ON csi.id = bosr.sample_id - WHERE is_del = 0 + WHERE bo.is_del = 0 AND (bosr.sample_status = 2 OR bosr.sample_status = 3) - AND require_over_time < NOW() + AND bo.require_over_time < NOW() AND bosr.sample_status = #{request.sampleStatus} @@ -62,4 +68,13 @@ AND csi.sample_belong = #{request.sampleBelong} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index ea7c1cf..0a27789 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone + mtsp.job, mtsp.phone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 1bc285f..09eee0f 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -34,7 +34,7 @@ SELECT mtp.plan_no, mtp.plan_name, mtp.train_person, mtp.train_number, mtp.train_time, mtp.train_hour, mtp.dept_id, sd.SIMPLE_NAME AS dept_name, mtp.effective_company, mtp.director, mtp.train_address, mtp.train_content, mtp.remark AS train_remark, mts.id, mts.staff_id, mts.plan_id, mts.name, mts.company, - mts.technology_job, mts.exam_result, mts.sign_time, mts.remark + mts.technology_job, mts.exam_result, mts.sign_time, mts.remark, mtp.process_id FROM meter_train_plan mtp LEFT JOIN sys_dept sd ON mtp.dept_id = sd.id LEFT JOIN meter_train_staff mts ON mtp.id = mts.plan_id 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 new file mode 100644 index 0000000..a1b096b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java @@ -0,0 +1,31 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/2/9 14:27 + */ +@Data +@ApiModel +public class MeasureProcessDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "检定人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "检定人员", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "检定状态(字典code)", dataType = "String") + private String measureStatus; + @ApiModelProperty(value = "检定状态(字典value)", dataType = "String") + private String measureStatusName; + @ApiModelProperty(value = "应出具证书总数", dataType = "Integer") + private Integer requireCertifications; + @ApiModelProperty(value = "更新时间", dataType = "String") + private String updateTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java new file mode 100644 index 0000000..3c5aa32 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java @@ -0,0 +1,28 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 检定过程的退回信息 + * @Author: wangpeng + * @Date: 2023/2/9 14:43 + */ +@Data +@ApiModel +public class MeasureSendBackDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "退回人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "退回人员名字", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "退回原因", dataType = "String") + private String sendBackReason; + @ApiModelProperty(value = "退回时间", dataType = "String") + private String updateTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java new file mode 100644 index 0000000..38b80e3 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java @@ -0,0 +1,138 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Description: 任务分发-详情 + * @Author: wangpeng + * @Date: 2023/2/9 11:41 + */ +@Data +@ApiModel +public class SampleHandOutDetailResponse { + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "生产厂家", dataType = "String") + private String manufacturer; + + @ApiModelProperty(value = "厂家国别", dataType = "String") + private String manufacturerCountry; + + @ApiModelProperty(value = "出厂年月", dataType = "String") + private String manufacturingDate; + + @ApiModelProperty(value = "ABC", dataType = "String") + private String abc; + + @ApiModelProperty(value = "委托方id", dataType = "Long") + private Long customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托方电话", dataType = "String") + private String phone; + + @ApiModelProperty(value = "委托方邮编", dataType = "String") + private String postalCode; + + @ApiModelProperty(value = "委托方公司地址-国家", dataType = "String") + private String addressCountry; + + @ApiModelProperty(value = "委托方公司地址-省", dataType = "String") + private String addressProvince; + + @ApiModelProperty(value = "委托方公司地址-市", dataType = "String") + private String addressCity; + + @ApiModelProperty(value = "委托方公司地址-区", dataType = "String") + private String addressArea; + + @ApiModelProperty(value = "委托方公司地址-详细地址", dataType = "String") + private String fullAddress; + + @ApiModelProperty(value = "委托方公司地址-国家名字", dataType = "String") + private String addressCountryName; + + @ApiModelProperty(value = "委托方公司地址-省名字", dataType = "String") + private String addressProvinceName; + + @ApiModelProperty(value = "委托方公司地址-市名字", dataType = "String") + private String addressCityName; + + @ApiModelProperty(value = "委托方公司地址-区名字", dataType = "String") + private String addressAreaName; + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private String orderId; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "送样人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送样人联系方式", dataType = "String") + private String delivererTel; + + @ApiModelProperty(value = "预约送达时间", dataType = "String") + private String planDeliverTime; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "检定项目", dataType = "String") + private String measureContent; + + @ApiModelProperty(value = "检定周期(月)", dataType = "String") + private String measurePeriod; + + @ApiModelProperty(value = "检定日期", dataType = "String") + private String measureLastDate; + + @ApiModelProperty(value = "有效日期", dataType = "String") + private String effectiveDate; + + //需求中已删除该字段展示,不展示整个样品的检定结果,只在证书里展示各证书的检定结果 +// @ApiModelProperty(value = "检定结果", dataType = "String") +// private String measureResult; + + @ApiModelProperty(value = "备注", dataType = "String") + private String remark; + + @ApiModelProperty(value = "说明书", dataType = "String") + private String minioFileName; + + @ApiModelProperty(value = "检定方式(字典code)", dataType = "String") + private String measureType; + + @ApiModelProperty(value = "检定方式(字典value)", dataType = "String") + private String measureTypeName; + + @ApiModelProperty(value = "标签绑定", dataType = "String") + private String labelBind; + + @ApiModelProperty(value = "检定流程", dataType = "List") + private List measureProcessList; + + @ApiModelProperty(value = "退回信息", dataType = "List") + private List measureSendBackList; + +} 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 e927df4..6cf5efc 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 @@ -22,6 +22,8 @@ @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class SampleHandOutListResponse { + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; @ApiModelProperty(value = "样品编号", dataType = "String") @ExcelProperty(value = "样品编号", order = 0) @@ -91,7 +93,5 @@ @JsonIgnore private Long orderId; @JsonIgnore - private Long sampleId; - @JsonIgnore private Integer sampleStatus; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java index 2ae1f1d..11420e5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java @@ -12,9 +12,9 @@ */ @Data public class ApprovalRevokeRequest { - @ApiModelProperty("任务id") - @NotBlank(message = "任务id不能为空") - private String taskId; + @ApiModelProperty("流程实例id") + @NotBlank(message = "流程实例id不能为空") + private String processInstanceId; @ApiModelProperty("审批结论/意见") @NotBlank(message = "审批结论/意见不能为空") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java new file mode 100644 index 0000000..f4fa1e8 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java @@ -0,0 +1,14 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Data; + +/** + * @Description: 审批中任务DTO + * @Author: wangpeng + * @Date: 2023/02/09 17:31 + */ +@Data +public class InApprovedDTO { + private String businessKey; + private String processInstanceId; +} 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 2a56792..f5cf538 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 @@ -1,14 +1,19 @@ package com.casic.missiles.controller.business; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; +import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -34,7 +39,7 @@ @Slf4j @RestController @RequestMapping("/business/labExecutive") -public class BusinessLabExecutiveInfoController { +public class BusinessLabExecutiveInfoController extends ExportController { @Autowired private IBusinessLabExecutiveInfoService labExecutiveInfoService; @@ -44,22 +49,23 @@ @ApiOperation("任务分发-查询各状态列表") @PostMapping("/handOutList") @ResponseBody - public ReturnDTO queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) { + public ReturnDTO> queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } + DictCodeUtils.validDictCode(handOutListRequest); Page page = PageFactory.defaultPage(); - return labExecutiveInfoService.handOutListPage(page, handOutListRequest); + return ReturnUtil.success(super.packForBT(labExecutiveInfoService.handOutListPage(page, handOutListRequest))); } /** * 任务分发-详情 */ - @ApiOperation("任务分发-查询各状态列表") + @ApiOperation("任务分发-详情") @PostMapping("/handOutDetail") @ResponseBody - public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { - return labExecutiveInfoService.handOutListDetail(idDTO); + public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { + return ReturnUtil.success(labExecutiveInfoService.handOutListDetail(idDTO)); } /** diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index fe2776c..953e661 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -2,13 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; -import java.util.List; - /** *

* 委托书-样品库关联表 Mapper 接口 @@ -19,5 +18,7 @@ */ public interface BusinessOrderSampleRelationMapper extends BaseMapper { - List selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + Page selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + + SampleHandOutDetailResponse selectSampleDetailById(@Param("id") Long id); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 03e90d8..0be05a5 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -17,7 +17,13 @@ - csi.id AS sample_id,csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, + bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status + + + + + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status @@ -26,10 +32,10 @@ FROM business_order bo JOIN business_order_sample_relation bosr ON bo.id = bosr.order_id JOIN customer_sample_info csi ON csi.id = bosr.sample_id - WHERE is_del = 0 + WHERE bo.is_del = 0 AND (bosr.sample_status = 2 OR bosr.sample_status = 3) - AND require_over_time < NOW() + AND bo.require_over_time < NOW() AND bosr.sample_status = #{request.sampleStatus} @@ -62,4 +68,13 @@ AND csi.sample_belong = #{request.sampleBelong} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index ea7c1cf..0a27789 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone + mtsp.job, mtsp.phone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 1bc285f..09eee0f 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -34,7 +34,7 @@ SELECT mtp.plan_no, mtp.plan_name, mtp.train_person, mtp.train_number, mtp.train_time, mtp.train_hour, mtp.dept_id, sd.SIMPLE_NAME AS dept_name, mtp.effective_company, mtp.director, mtp.train_address, mtp.train_content, mtp.remark AS train_remark, mts.id, mts.staff_id, mts.plan_id, mts.name, mts.company, - mts.technology_job, mts.exam_result, mts.sign_time, mts.remark + mts.technology_job, mts.exam_result, mts.sign_time, mts.remark, mtp.process_id FROM meter_train_plan mtp LEFT JOIN sys_dept sd ON mtp.dept_id = sd.id LEFT JOIN meter_train_staff mts ON mtp.id = mts.plan_id 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 new file mode 100644 index 0000000..a1b096b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java @@ -0,0 +1,31 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/2/9 14:27 + */ +@Data +@ApiModel +public class MeasureProcessDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "检定人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "检定人员", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "检定状态(字典code)", dataType = "String") + private String measureStatus; + @ApiModelProperty(value = "检定状态(字典value)", dataType = "String") + private String measureStatusName; + @ApiModelProperty(value = "应出具证书总数", dataType = "Integer") + private Integer requireCertifications; + @ApiModelProperty(value = "更新时间", dataType = "String") + private String updateTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java new file mode 100644 index 0000000..3c5aa32 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java @@ -0,0 +1,28 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 检定过程的退回信息 + * @Author: wangpeng + * @Date: 2023/2/9 14:43 + */ +@Data +@ApiModel +public class MeasureSendBackDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "退回人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "退回人员名字", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "退回原因", dataType = "String") + private String sendBackReason; + @ApiModelProperty(value = "退回时间", dataType = "String") + private String updateTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java new file mode 100644 index 0000000..38b80e3 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java @@ -0,0 +1,138 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Description: 任务分发-详情 + * @Author: wangpeng + * @Date: 2023/2/9 11:41 + */ +@Data +@ApiModel +public class SampleHandOutDetailResponse { + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "生产厂家", dataType = "String") + private String manufacturer; + + @ApiModelProperty(value = "厂家国别", dataType = "String") + private String manufacturerCountry; + + @ApiModelProperty(value = "出厂年月", dataType = "String") + private String manufacturingDate; + + @ApiModelProperty(value = "ABC", dataType = "String") + private String abc; + + @ApiModelProperty(value = "委托方id", dataType = "Long") + private Long customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托方电话", dataType = "String") + private String phone; + + @ApiModelProperty(value = "委托方邮编", dataType = "String") + private String postalCode; + + @ApiModelProperty(value = "委托方公司地址-国家", dataType = "String") + private String addressCountry; + + @ApiModelProperty(value = "委托方公司地址-省", dataType = "String") + private String addressProvince; + + @ApiModelProperty(value = "委托方公司地址-市", dataType = "String") + private String addressCity; + + @ApiModelProperty(value = "委托方公司地址-区", dataType = "String") + private String addressArea; + + @ApiModelProperty(value = "委托方公司地址-详细地址", dataType = "String") + private String fullAddress; + + @ApiModelProperty(value = "委托方公司地址-国家名字", dataType = "String") + private String addressCountryName; + + @ApiModelProperty(value = "委托方公司地址-省名字", dataType = "String") + private String addressProvinceName; + + @ApiModelProperty(value = "委托方公司地址-市名字", dataType = "String") + private String addressCityName; + + @ApiModelProperty(value = "委托方公司地址-区名字", dataType = "String") + private String addressAreaName; + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private String orderId; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "送样人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送样人联系方式", dataType = "String") + private String delivererTel; + + @ApiModelProperty(value = "预约送达时间", dataType = "String") + private String planDeliverTime; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "检定项目", dataType = "String") + private String measureContent; + + @ApiModelProperty(value = "检定周期(月)", dataType = "String") + private String measurePeriod; + + @ApiModelProperty(value = "检定日期", dataType = "String") + private String measureLastDate; + + @ApiModelProperty(value = "有效日期", dataType = "String") + private String effectiveDate; + + //需求中已删除该字段展示,不展示整个样品的检定结果,只在证书里展示各证书的检定结果 +// @ApiModelProperty(value = "检定结果", dataType = "String") +// private String measureResult; + + @ApiModelProperty(value = "备注", dataType = "String") + private String remark; + + @ApiModelProperty(value = "说明书", dataType = "String") + private String minioFileName; + + @ApiModelProperty(value = "检定方式(字典code)", dataType = "String") + private String measureType; + + @ApiModelProperty(value = "检定方式(字典value)", dataType = "String") + private String measureTypeName; + + @ApiModelProperty(value = "标签绑定", dataType = "String") + private String labelBind; + + @ApiModelProperty(value = "检定流程", dataType = "List") + private List measureProcessList; + + @ApiModelProperty(value = "退回信息", dataType = "List") + private List measureSendBackList; + +} 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 e927df4..6cf5efc 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 @@ -22,6 +22,8 @@ @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class SampleHandOutListResponse { + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; @ApiModelProperty(value = "样品编号", dataType = "String") @ExcelProperty(value = "样品编号", order = 0) @@ -91,7 +93,5 @@ @JsonIgnore private Long orderId; @JsonIgnore - private Long sampleId; - @JsonIgnore private Integer sampleStatus; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java index 2ae1f1d..11420e5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java @@ -12,9 +12,9 @@ */ @Data public class ApprovalRevokeRequest { - @ApiModelProperty("任务id") - @NotBlank(message = "任务id不能为空") - private String taskId; + @ApiModelProperty("流程实例id") + @NotBlank(message = "流程实例id不能为空") + private String processInstanceId; @ApiModelProperty("审批结论/意见") @NotBlank(message = "审批结论/意见不能为空") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java new file mode 100644 index 0000000..f4fa1e8 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java @@ -0,0 +1,14 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Data; + +/** + * @Description: 审批中任务DTO + * @Author: wangpeng + * @Date: 2023/02/09 17:31 + */ +@Data +public class InApprovedDTO { + private String businessKey; + private String processInstanceId; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index d45fdc1..9528373 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,4 +114,7 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") + private String processInstanceId; + } 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 2a56792..f5cf538 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 @@ -1,14 +1,19 @@ package com.casic.missiles.controller.business; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; +import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -34,7 +39,7 @@ @Slf4j @RestController @RequestMapping("/business/labExecutive") -public class BusinessLabExecutiveInfoController { +public class BusinessLabExecutiveInfoController extends ExportController { @Autowired private IBusinessLabExecutiveInfoService labExecutiveInfoService; @@ -44,22 +49,23 @@ @ApiOperation("任务分发-查询各状态列表") @PostMapping("/handOutList") @ResponseBody - public ReturnDTO queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) { + public ReturnDTO> queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } + DictCodeUtils.validDictCode(handOutListRequest); Page page = PageFactory.defaultPage(); - return labExecutiveInfoService.handOutListPage(page, handOutListRequest); + return ReturnUtil.success(super.packForBT(labExecutiveInfoService.handOutListPage(page, handOutListRequest))); } /** * 任务分发-详情 */ - @ApiOperation("任务分发-查询各状态列表") + @ApiOperation("任务分发-详情") @PostMapping("/handOutDetail") @ResponseBody - public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { - return labExecutiveInfoService.handOutListDetail(idDTO); + public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { + return ReturnUtil.success(labExecutiveInfoService.handOutListDetail(idDTO)); } /** diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index fe2776c..953e661 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -2,13 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; -import java.util.List; - /** *

* 委托书-样品库关联表 Mapper 接口 @@ -19,5 +18,7 @@ */ public interface BusinessOrderSampleRelationMapper extends BaseMapper { - List selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + Page selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + + SampleHandOutDetailResponse selectSampleDetailById(@Param("id") Long id); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 03e90d8..0be05a5 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -17,7 +17,13 @@ - csi.id AS sample_id,csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, + bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status + + + + + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status @@ -26,10 +32,10 @@ FROM business_order bo JOIN business_order_sample_relation bosr ON bo.id = bosr.order_id JOIN customer_sample_info csi ON csi.id = bosr.sample_id - WHERE is_del = 0 + WHERE bo.is_del = 0 AND (bosr.sample_status = 2 OR bosr.sample_status = 3) - AND require_over_time < NOW() + AND bo.require_over_time < NOW() AND bosr.sample_status = #{request.sampleStatus} @@ -62,4 +68,13 @@ AND csi.sample_belong = #{request.sampleBelong} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index ea7c1cf..0a27789 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone + mtsp.job, mtsp.phone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 1bc285f..09eee0f 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -34,7 +34,7 @@ SELECT mtp.plan_no, mtp.plan_name, mtp.train_person, mtp.train_number, mtp.train_time, mtp.train_hour, mtp.dept_id, sd.SIMPLE_NAME AS dept_name, mtp.effective_company, mtp.director, mtp.train_address, mtp.train_content, mtp.remark AS train_remark, mts.id, mts.staff_id, mts.plan_id, mts.name, mts.company, - mts.technology_job, mts.exam_result, mts.sign_time, mts.remark + mts.technology_job, mts.exam_result, mts.sign_time, mts.remark, mtp.process_id FROM meter_train_plan mtp LEFT JOIN sys_dept sd ON mtp.dept_id = sd.id LEFT JOIN meter_train_staff mts ON mtp.id = mts.plan_id 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 new file mode 100644 index 0000000..a1b096b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java @@ -0,0 +1,31 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/2/9 14:27 + */ +@Data +@ApiModel +public class MeasureProcessDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "检定人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "检定人员", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "检定状态(字典code)", dataType = "String") + private String measureStatus; + @ApiModelProperty(value = "检定状态(字典value)", dataType = "String") + private String measureStatusName; + @ApiModelProperty(value = "应出具证书总数", dataType = "Integer") + private Integer requireCertifications; + @ApiModelProperty(value = "更新时间", dataType = "String") + private String updateTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java new file mode 100644 index 0000000..3c5aa32 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java @@ -0,0 +1,28 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 检定过程的退回信息 + * @Author: wangpeng + * @Date: 2023/2/9 14:43 + */ +@Data +@ApiModel +public class MeasureSendBackDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "退回人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "退回人员名字", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "退回原因", dataType = "String") + private String sendBackReason; + @ApiModelProperty(value = "退回时间", dataType = "String") + private String updateTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java new file mode 100644 index 0000000..38b80e3 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java @@ -0,0 +1,138 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Description: 任务分发-详情 + * @Author: wangpeng + * @Date: 2023/2/9 11:41 + */ +@Data +@ApiModel +public class SampleHandOutDetailResponse { + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "生产厂家", dataType = "String") + private String manufacturer; + + @ApiModelProperty(value = "厂家国别", dataType = "String") + private String manufacturerCountry; + + @ApiModelProperty(value = "出厂年月", dataType = "String") + private String manufacturingDate; + + @ApiModelProperty(value = "ABC", dataType = "String") + private String abc; + + @ApiModelProperty(value = "委托方id", dataType = "Long") + private Long customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托方电话", dataType = "String") + private String phone; + + @ApiModelProperty(value = "委托方邮编", dataType = "String") + private String postalCode; + + @ApiModelProperty(value = "委托方公司地址-国家", dataType = "String") + private String addressCountry; + + @ApiModelProperty(value = "委托方公司地址-省", dataType = "String") + private String addressProvince; + + @ApiModelProperty(value = "委托方公司地址-市", dataType = "String") + private String addressCity; + + @ApiModelProperty(value = "委托方公司地址-区", dataType = "String") + private String addressArea; + + @ApiModelProperty(value = "委托方公司地址-详细地址", dataType = "String") + private String fullAddress; + + @ApiModelProperty(value = "委托方公司地址-国家名字", dataType = "String") + private String addressCountryName; + + @ApiModelProperty(value = "委托方公司地址-省名字", dataType = "String") + private String addressProvinceName; + + @ApiModelProperty(value = "委托方公司地址-市名字", dataType = "String") + private String addressCityName; + + @ApiModelProperty(value = "委托方公司地址-区名字", dataType = "String") + private String addressAreaName; + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private String orderId; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "送样人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送样人联系方式", dataType = "String") + private String delivererTel; + + @ApiModelProperty(value = "预约送达时间", dataType = "String") + private String planDeliverTime; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "检定项目", dataType = "String") + private String measureContent; + + @ApiModelProperty(value = "检定周期(月)", dataType = "String") + private String measurePeriod; + + @ApiModelProperty(value = "检定日期", dataType = "String") + private String measureLastDate; + + @ApiModelProperty(value = "有效日期", dataType = "String") + private String effectiveDate; + + //需求中已删除该字段展示,不展示整个样品的检定结果,只在证书里展示各证书的检定结果 +// @ApiModelProperty(value = "检定结果", dataType = "String") +// private String measureResult; + + @ApiModelProperty(value = "备注", dataType = "String") + private String remark; + + @ApiModelProperty(value = "说明书", dataType = "String") + private String minioFileName; + + @ApiModelProperty(value = "检定方式(字典code)", dataType = "String") + private String measureType; + + @ApiModelProperty(value = "检定方式(字典value)", dataType = "String") + private String measureTypeName; + + @ApiModelProperty(value = "标签绑定", dataType = "String") + private String labelBind; + + @ApiModelProperty(value = "检定流程", dataType = "List") + private List measureProcessList; + + @ApiModelProperty(value = "退回信息", dataType = "List") + private List measureSendBackList; + +} 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 e927df4..6cf5efc 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 @@ -22,6 +22,8 @@ @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class SampleHandOutListResponse { + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; @ApiModelProperty(value = "样品编号", dataType = "String") @ExcelProperty(value = "样品编号", order = 0) @@ -91,7 +93,5 @@ @JsonIgnore private Long orderId; @JsonIgnore - private Long sampleId; - @JsonIgnore private Integer sampleStatus; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java index 2ae1f1d..11420e5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java @@ -12,9 +12,9 @@ */ @Data public class ApprovalRevokeRequest { - @ApiModelProperty("任务id") - @NotBlank(message = "任务id不能为空") - private String taskId; + @ApiModelProperty("流程实例id") + @NotBlank(message = "流程实例id不能为空") + private String processInstanceId; @ApiModelProperty("审批结论/意见") @NotBlank(message = "审批结论/意见不能为空") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java new file mode 100644 index 0000000..f4fa1e8 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java @@ -0,0 +1,14 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Data; + +/** + * @Description: 审批中任务DTO + * @Author: wangpeng + * @Date: 2023/02/09 17:31 + */ +@Data +public class InApprovedDTO { + private String businessKey; + private String processInstanceId; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index d45fdc1..9528373 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,4 +114,7 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") + private String processInstanceId; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index 7b21122..b1048c1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,6 +111,9 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") + private String processInstanceId; + /** * 可选决策项 */ 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 2a56792..f5cf538 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 @@ -1,14 +1,19 @@ package com.casic.missiles.controller.business; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; +import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -34,7 +39,7 @@ @Slf4j @RestController @RequestMapping("/business/labExecutive") -public class BusinessLabExecutiveInfoController { +public class BusinessLabExecutiveInfoController extends ExportController { @Autowired private IBusinessLabExecutiveInfoService labExecutiveInfoService; @@ -44,22 +49,23 @@ @ApiOperation("任务分发-查询各状态列表") @PostMapping("/handOutList") @ResponseBody - public ReturnDTO queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) { + public ReturnDTO> queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } + DictCodeUtils.validDictCode(handOutListRequest); Page page = PageFactory.defaultPage(); - return labExecutiveInfoService.handOutListPage(page, handOutListRequest); + return ReturnUtil.success(super.packForBT(labExecutiveInfoService.handOutListPage(page, handOutListRequest))); } /** * 任务分发-详情 */ - @ApiOperation("任务分发-查询各状态列表") + @ApiOperation("任务分发-详情") @PostMapping("/handOutDetail") @ResponseBody - public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { - return labExecutiveInfoService.handOutListDetail(idDTO); + public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { + return ReturnUtil.success(labExecutiveInfoService.handOutListDetail(idDTO)); } /** diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index fe2776c..953e661 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -2,13 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; -import java.util.List; - /** *

* 委托书-样品库关联表 Mapper 接口 @@ -19,5 +18,7 @@ */ public interface BusinessOrderSampleRelationMapper extends BaseMapper { - List selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + Page selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + + SampleHandOutDetailResponse selectSampleDetailById(@Param("id") Long id); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 03e90d8..0be05a5 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -17,7 +17,13 @@ - csi.id AS sample_id,csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, + bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status + + + + + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status @@ -26,10 +32,10 @@ FROM business_order bo JOIN business_order_sample_relation bosr ON bo.id = bosr.order_id JOIN customer_sample_info csi ON csi.id = bosr.sample_id - WHERE is_del = 0 + WHERE bo.is_del = 0 AND (bosr.sample_status = 2 OR bosr.sample_status = 3) - AND require_over_time < NOW() + AND bo.require_over_time < NOW() AND bosr.sample_status = #{request.sampleStatus} @@ -62,4 +68,13 @@ AND csi.sample_belong = #{request.sampleBelong} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index ea7c1cf..0a27789 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone + mtsp.job, mtsp.phone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 1bc285f..09eee0f 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -34,7 +34,7 @@ SELECT mtp.plan_no, mtp.plan_name, mtp.train_person, mtp.train_number, mtp.train_time, mtp.train_hour, mtp.dept_id, sd.SIMPLE_NAME AS dept_name, mtp.effective_company, mtp.director, mtp.train_address, mtp.train_content, mtp.remark AS train_remark, mts.id, mts.staff_id, mts.plan_id, mts.name, mts.company, - mts.technology_job, mts.exam_result, mts.sign_time, mts.remark + mts.technology_job, mts.exam_result, mts.sign_time, mts.remark, mtp.process_id FROM meter_train_plan mtp LEFT JOIN sys_dept sd ON mtp.dept_id = sd.id LEFT JOIN meter_train_staff mts ON mtp.id = mts.plan_id 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 new file mode 100644 index 0000000..a1b096b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java @@ -0,0 +1,31 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/2/9 14:27 + */ +@Data +@ApiModel +public class MeasureProcessDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "检定人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "检定人员", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "检定状态(字典code)", dataType = "String") + private String measureStatus; + @ApiModelProperty(value = "检定状态(字典value)", dataType = "String") + private String measureStatusName; + @ApiModelProperty(value = "应出具证书总数", dataType = "Integer") + private Integer requireCertifications; + @ApiModelProperty(value = "更新时间", dataType = "String") + private String updateTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java new file mode 100644 index 0000000..3c5aa32 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java @@ -0,0 +1,28 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 检定过程的退回信息 + * @Author: wangpeng + * @Date: 2023/2/9 14:43 + */ +@Data +@ApiModel +public class MeasureSendBackDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "退回人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "退回人员名字", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "退回原因", dataType = "String") + private String sendBackReason; + @ApiModelProperty(value = "退回时间", dataType = "String") + private String updateTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java new file mode 100644 index 0000000..38b80e3 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java @@ -0,0 +1,138 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Description: 任务分发-详情 + * @Author: wangpeng + * @Date: 2023/2/9 11:41 + */ +@Data +@ApiModel +public class SampleHandOutDetailResponse { + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "生产厂家", dataType = "String") + private String manufacturer; + + @ApiModelProperty(value = "厂家国别", dataType = "String") + private String manufacturerCountry; + + @ApiModelProperty(value = "出厂年月", dataType = "String") + private String manufacturingDate; + + @ApiModelProperty(value = "ABC", dataType = "String") + private String abc; + + @ApiModelProperty(value = "委托方id", dataType = "Long") + private Long customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托方电话", dataType = "String") + private String phone; + + @ApiModelProperty(value = "委托方邮编", dataType = "String") + private String postalCode; + + @ApiModelProperty(value = "委托方公司地址-国家", dataType = "String") + private String addressCountry; + + @ApiModelProperty(value = "委托方公司地址-省", dataType = "String") + private String addressProvince; + + @ApiModelProperty(value = "委托方公司地址-市", dataType = "String") + private String addressCity; + + @ApiModelProperty(value = "委托方公司地址-区", dataType = "String") + private String addressArea; + + @ApiModelProperty(value = "委托方公司地址-详细地址", dataType = "String") + private String fullAddress; + + @ApiModelProperty(value = "委托方公司地址-国家名字", dataType = "String") + private String addressCountryName; + + @ApiModelProperty(value = "委托方公司地址-省名字", dataType = "String") + private String addressProvinceName; + + @ApiModelProperty(value = "委托方公司地址-市名字", dataType = "String") + private String addressCityName; + + @ApiModelProperty(value = "委托方公司地址-区名字", dataType = "String") + private String addressAreaName; + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private String orderId; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "送样人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送样人联系方式", dataType = "String") + private String delivererTel; + + @ApiModelProperty(value = "预约送达时间", dataType = "String") + private String planDeliverTime; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "检定项目", dataType = "String") + private String measureContent; + + @ApiModelProperty(value = "检定周期(月)", dataType = "String") + private String measurePeriod; + + @ApiModelProperty(value = "检定日期", dataType = "String") + private String measureLastDate; + + @ApiModelProperty(value = "有效日期", dataType = "String") + private String effectiveDate; + + //需求中已删除该字段展示,不展示整个样品的检定结果,只在证书里展示各证书的检定结果 +// @ApiModelProperty(value = "检定结果", dataType = "String") +// private String measureResult; + + @ApiModelProperty(value = "备注", dataType = "String") + private String remark; + + @ApiModelProperty(value = "说明书", dataType = "String") + private String minioFileName; + + @ApiModelProperty(value = "检定方式(字典code)", dataType = "String") + private String measureType; + + @ApiModelProperty(value = "检定方式(字典value)", dataType = "String") + private String measureTypeName; + + @ApiModelProperty(value = "标签绑定", dataType = "String") + private String labelBind; + + @ApiModelProperty(value = "检定流程", dataType = "List") + private List measureProcessList; + + @ApiModelProperty(value = "退回信息", dataType = "List") + private List measureSendBackList; + +} 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 e927df4..6cf5efc 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 @@ -22,6 +22,8 @@ @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class SampleHandOutListResponse { + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; @ApiModelProperty(value = "样品编号", dataType = "String") @ExcelProperty(value = "样品编号", order = 0) @@ -91,7 +93,5 @@ @JsonIgnore private Long orderId; @JsonIgnore - private Long sampleId; - @JsonIgnore private Integer sampleStatus; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java index 2ae1f1d..11420e5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java @@ -12,9 +12,9 @@ */ @Data public class ApprovalRevokeRequest { - @ApiModelProperty("任务id") - @NotBlank(message = "任务id不能为空") - private String taskId; + @ApiModelProperty("流程实例id") + @NotBlank(message = "流程实例id不能为空") + private String processInstanceId; @ApiModelProperty("审批结论/意见") @NotBlank(message = "审批结论/意见不能为空") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java new file mode 100644 index 0000000..f4fa1e8 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java @@ -0,0 +1,14 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Data; + +/** + * @Description: 审批中任务DTO + * @Author: wangpeng + * @Date: 2023/02/09 17:31 + */ +@Data +public class InApprovedDTO { + private String businessKey; + private String processInstanceId; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index d45fdc1..9528373 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,4 +114,7 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") + private String processInstanceId; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index 7b21122..b1048c1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,6 +111,9 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") + private String processInstanceId; + /** * 可选决策项 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java index 776bd46..8893256 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java @@ -116,4 +116,7 @@ */ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + + @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") + private String processInstanceId; } 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 2a56792..f5cf538 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 @@ -1,14 +1,19 @@ package com.casic.missiles.controller.business; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; +import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -34,7 +39,7 @@ @Slf4j @RestController @RequestMapping("/business/labExecutive") -public class BusinessLabExecutiveInfoController { +public class BusinessLabExecutiveInfoController extends ExportController { @Autowired private IBusinessLabExecutiveInfoService labExecutiveInfoService; @@ -44,22 +49,23 @@ @ApiOperation("任务分发-查询各状态列表") @PostMapping("/handOutList") @ResponseBody - public ReturnDTO queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) { + public ReturnDTO> queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } + DictCodeUtils.validDictCode(handOutListRequest); Page page = PageFactory.defaultPage(); - return labExecutiveInfoService.handOutListPage(page, handOutListRequest); + return ReturnUtil.success(super.packForBT(labExecutiveInfoService.handOutListPage(page, handOutListRequest))); } /** * 任务分发-详情 */ - @ApiOperation("任务分发-查询各状态列表") + @ApiOperation("任务分发-详情") @PostMapping("/handOutDetail") @ResponseBody - public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { - return labExecutiveInfoService.handOutListDetail(idDTO); + public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { + return ReturnUtil.success(labExecutiveInfoService.handOutListDetail(idDTO)); } /** diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index fe2776c..953e661 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -2,13 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; -import java.util.List; - /** *

* 委托书-样品库关联表 Mapper 接口 @@ -19,5 +18,7 @@ */ public interface BusinessOrderSampleRelationMapper extends BaseMapper { - List selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + Page selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + + SampleHandOutDetailResponse selectSampleDetailById(@Param("id") Long id); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 03e90d8..0be05a5 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -17,7 +17,13 @@ - csi.id AS sample_id,csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, + bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status + + + + + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status @@ -26,10 +32,10 @@ FROM business_order bo JOIN business_order_sample_relation bosr ON bo.id = bosr.order_id JOIN customer_sample_info csi ON csi.id = bosr.sample_id - WHERE is_del = 0 + WHERE bo.is_del = 0 AND (bosr.sample_status = 2 OR bosr.sample_status = 3) - AND require_over_time < NOW() + AND bo.require_over_time < NOW() AND bosr.sample_status = #{request.sampleStatus} @@ -62,4 +68,13 @@ AND csi.sample_belong = #{request.sampleBelong} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index ea7c1cf..0a27789 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone + mtsp.job, mtsp.phone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 1bc285f..09eee0f 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -34,7 +34,7 @@ SELECT mtp.plan_no, mtp.plan_name, mtp.train_person, mtp.train_number, mtp.train_time, mtp.train_hour, mtp.dept_id, sd.SIMPLE_NAME AS dept_name, mtp.effective_company, mtp.director, mtp.train_address, mtp.train_content, mtp.remark AS train_remark, mts.id, mts.staff_id, mts.plan_id, mts.name, mts.company, - mts.technology_job, mts.exam_result, mts.sign_time, mts.remark + mts.technology_job, mts.exam_result, mts.sign_time, mts.remark, mtp.process_id FROM meter_train_plan mtp LEFT JOIN sys_dept sd ON mtp.dept_id = sd.id LEFT JOIN meter_train_staff mts ON mtp.id = mts.plan_id 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 new file mode 100644 index 0000000..a1b096b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java @@ -0,0 +1,31 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/2/9 14:27 + */ +@Data +@ApiModel +public class MeasureProcessDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "检定人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "检定人员", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "检定状态(字典code)", dataType = "String") + private String measureStatus; + @ApiModelProperty(value = "检定状态(字典value)", dataType = "String") + private String measureStatusName; + @ApiModelProperty(value = "应出具证书总数", dataType = "Integer") + private Integer requireCertifications; + @ApiModelProperty(value = "更新时间", dataType = "String") + private String updateTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java new file mode 100644 index 0000000..3c5aa32 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java @@ -0,0 +1,28 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 检定过程的退回信息 + * @Author: wangpeng + * @Date: 2023/2/9 14:43 + */ +@Data +@ApiModel +public class MeasureSendBackDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "退回人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "退回人员名字", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "退回原因", dataType = "String") + private String sendBackReason; + @ApiModelProperty(value = "退回时间", dataType = "String") + private String updateTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java new file mode 100644 index 0000000..38b80e3 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java @@ -0,0 +1,138 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Description: 任务分发-详情 + * @Author: wangpeng + * @Date: 2023/2/9 11:41 + */ +@Data +@ApiModel +public class SampleHandOutDetailResponse { + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "生产厂家", dataType = "String") + private String manufacturer; + + @ApiModelProperty(value = "厂家国别", dataType = "String") + private String manufacturerCountry; + + @ApiModelProperty(value = "出厂年月", dataType = "String") + private String manufacturingDate; + + @ApiModelProperty(value = "ABC", dataType = "String") + private String abc; + + @ApiModelProperty(value = "委托方id", dataType = "Long") + private Long customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托方电话", dataType = "String") + private String phone; + + @ApiModelProperty(value = "委托方邮编", dataType = "String") + private String postalCode; + + @ApiModelProperty(value = "委托方公司地址-国家", dataType = "String") + private String addressCountry; + + @ApiModelProperty(value = "委托方公司地址-省", dataType = "String") + private String addressProvince; + + @ApiModelProperty(value = "委托方公司地址-市", dataType = "String") + private String addressCity; + + @ApiModelProperty(value = "委托方公司地址-区", dataType = "String") + private String addressArea; + + @ApiModelProperty(value = "委托方公司地址-详细地址", dataType = "String") + private String fullAddress; + + @ApiModelProperty(value = "委托方公司地址-国家名字", dataType = "String") + private String addressCountryName; + + @ApiModelProperty(value = "委托方公司地址-省名字", dataType = "String") + private String addressProvinceName; + + @ApiModelProperty(value = "委托方公司地址-市名字", dataType = "String") + private String addressCityName; + + @ApiModelProperty(value = "委托方公司地址-区名字", dataType = "String") + private String addressAreaName; + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private String orderId; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "送样人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送样人联系方式", dataType = "String") + private String delivererTel; + + @ApiModelProperty(value = "预约送达时间", dataType = "String") + private String planDeliverTime; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "检定项目", dataType = "String") + private String measureContent; + + @ApiModelProperty(value = "检定周期(月)", dataType = "String") + private String measurePeriod; + + @ApiModelProperty(value = "检定日期", dataType = "String") + private String measureLastDate; + + @ApiModelProperty(value = "有效日期", dataType = "String") + private String effectiveDate; + + //需求中已删除该字段展示,不展示整个样品的检定结果,只在证书里展示各证书的检定结果 +// @ApiModelProperty(value = "检定结果", dataType = "String") +// private String measureResult; + + @ApiModelProperty(value = "备注", dataType = "String") + private String remark; + + @ApiModelProperty(value = "说明书", dataType = "String") + private String minioFileName; + + @ApiModelProperty(value = "检定方式(字典code)", dataType = "String") + private String measureType; + + @ApiModelProperty(value = "检定方式(字典value)", dataType = "String") + private String measureTypeName; + + @ApiModelProperty(value = "标签绑定", dataType = "String") + private String labelBind; + + @ApiModelProperty(value = "检定流程", dataType = "List") + private List measureProcessList; + + @ApiModelProperty(value = "退回信息", dataType = "List") + private List measureSendBackList; + +} 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 e927df4..6cf5efc 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 @@ -22,6 +22,8 @@ @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class SampleHandOutListResponse { + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; @ApiModelProperty(value = "样品编号", dataType = "String") @ExcelProperty(value = "样品编号", order = 0) @@ -91,7 +93,5 @@ @JsonIgnore private Long orderId; @JsonIgnore - private Long sampleId; - @JsonIgnore private Integer sampleStatus; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java index 2ae1f1d..11420e5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java @@ -12,9 +12,9 @@ */ @Data public class ApprovalRevokeRequest { - @ApiModelProperty("任务id") - @NotBlank(message = "任务id不能为空") - private String taskId; + @ApiModelProperty("流程实例id") + @NotBlank(message = "流程实例id不能为空") + private String processInstanceId; @ApiModelProperty("审批结论/意见") @NotBlank(message = "审批结论/意见不能为空") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java new file mode 100644 index 0000000..f4fa1e8 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java @@ -0,0 +1,14 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Data; + +/** + * @Description: 审批中任务DTO + * @Author: wangpeng + * @Date: 2023/02/09 17:31 + */ +@Data +public class InApprovedDTO { + private String businessKey; + private String processInstanceId; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index d45fdc1..9528373 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,4 +114,7 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") + private String processInstanceId; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index 7b21122..b1048c1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,6 +111,9 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") + private String processInstanceId; + /** * 可选决策项 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java index 776bd46..8893256 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java @@ -116,4 +116,7 @@ */ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + + @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") + private String processInstanceId; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java index 8347cd5..9ecdc32 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java @@ -79,6 +79,12 @@ private String expirationDate; /** + * 检定结果(字典code) + */ + @TableField("measure_result") + private String measureResult; + + /** * 证书报告模板id */ @TableField("template_id") 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 2a56792..f5cf538 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 @@ -1,14 +1,19 @@ package com.casic.missiles.controller.business; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; +import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -34,7 +39,7 @@ @Slf4j @RestController @RequestMapping("/business/labExecutive") -public class BusinessLabExecutiveInfoController { +public class BusinessLabExecutiveInfoController extends ExportController { @Autowired private IBusinessLabExecutiveInfoService labExecutiveInfoService; @@ -44,22 +49,23 @@ @ApiOperation("任务分发-查询各状态列表") @PostMapping("/handOutList") @ResponseBody - public ReturnDTO queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) { + public ReturnDTO> queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } + DictCodeUtils.validDictCode(handOutListRequest); Page page = PageFactory.defaultPage(); - return labExecutiveInfoService.handOutListPage(page, handOutListRequest); + return ReturnUtil.success(super.packForBT(labExecutiveInfoService.handOutListPage(page, handOutListRequest))); } /** * 任务分发-详情 */ - @ApiOperation("任务分发-查询各状态列表") + @ApiOperation("任务分发-详情") @PostMapping("/handOutDetail") @ResponseBody - public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { - return labExecutiveInfoService.handOutListDetail(idDTO); + public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { + return ReturnUtil.success(labExecutiveInfoService.handOutListDetail(idDTO)); } /** diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index fe2776c..953e661 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -2,13 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; -import java.util.List; - /** *

* 委托书-样品库关联表 Mapper 接口 @@ -19,5 +18,7 @@ */ public interface BusinessOrderSampleRelationMapper extends BaseMapper { - List selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + Page selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + + SampleHandOutDetailResponse selectSampleDetailById(@Param("id") Long id); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 03e90d8..0be05a5 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -17,7 +17,13 @@ - csi.id AS sample_id,csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, + bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status + + + + + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status @@ -26,10 +32,10 @@ FROM business_order bo JOIN business_order_sample_relation bosr ON bo.id = bosr.order_id JOIN customer_sample_info csi ON csi.id = bosr.sample_id - WHERE is_del = 0 + WHERE bo.is_del = 0 AND (bosr.sample_status = 2 OR bosr.sample_status = 3) - AND require_over_time < NOW() + AND bo.require_over_time < NOW() AND bosr.sample_status = #{request.sampleStatus} @@ -62,4 +68,13 @@ AND csi.sample_belong = #{request.sampleBelong} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index ea7c1cf..0a27789 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone + mtsp.job, mtsp.phone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 1bc285f..09eee0f 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -34,7 +34,7 @@ SELECT mtp.plan_no, mtp.plan_name, mtp.train_person, mtp.train_number, mtp.train_time, mtp.train_hour, mtp.dept_id, sd.SIMPLE_NAME AS dept_name, mtp.effective_company, mtp.director, mtp.train_address, mtp.train_content, mtp.remark AS train_remark, mts.id, mts.staff_id, mts.plan_id, mts.name, mts.company, - mts.technology_job, mts.exam_result, mts.sign_time, mts.remark + mts.technology_job, mts.exam_result, mts.sign_time, mts.remark, mtp.process_id FROM meter_train_plan mtp LEFT JOIN sys_dept sd ON mtp.dept_id = sd.id LEFT JOIN meter_train_staff mts ON mtp.id = mts.plan_id 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 new file mode 100644 index 0000000..a1b096b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java @@ -0,0 +1,31 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/2/9 14:27 + */ +@Data +@ApiModel +public class MeasureProcessDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "检定人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "检定人员", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "检定状态(字典code)", dataType = "String") + private String measureStatus; + @ApiModelProperty(value = "检定状态(字典value)", dataType = "String") + private String measureStatusName; + @ApiModelProperty(value = "应出具证书总数", dataType = "Integer") + private Integer requireCertifications; + @ApiModelProperty(value = "更新时间", dataType = "String") + private String updateTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java new file mode 100644 index 0000000..3c5aa32 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java @@ -0,0 +1,28 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 检定过程的退回信息 + * @Author: wangpeng + * @Date: 2023/2/9 14:43 + */ +@Data +@ApiModel +public class MeasureSendBackDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "退回人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "退回人员名字", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "退回原因", dataType = "String") + private String sendBackReason; + @ApiModelProperty(value = "退回时间", dataType = "String") + private String updateTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java new file mode 100644 index 0000000..38b80e3 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java @@ -0,0 +1,138 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Description: 任务分发-详情 + * @Author: wangpeng + * @Date: 2023/2/9 11:41 + */ +@Data +@ApiModel +public class SampleHandOutDetailResponse { + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "生产厂家", dataType = "String") + private String manufacturer; + + @ApiModelProperty(value = "厂家国别", dataType = "String") + private String manufacturerCountry; + + @ApiModelProperty(value = "出厂年月", dataType = "String") + private String manufacturingDate; + + @ApiModelProperty(value = "ABC", dataType = "String") + private String abc; + + @ApiModelProperty(value = "委托方id", dataType = "Long") + private Long customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托方电话", dataType = "String") + private String phone; + + @ApiModelProperty(value = "委托方邮编", dataType = "String") + private String postalCode; + + @ApiModelProperty(value = "委托方公司地址-国家", dataType = "String") + private String addressCountry; + + @ApiModelProperty(value = "委托方公司地址-省", dataType = "String") + private String addressProvince; + + @ApiModelProperty(value = "委托方公司地址-市", dataType = "String") + private String addressCity; + + @ApiModelProperty(value = "委托方公司地址-区", dataType = "String") + private String addressArea; + + @ApiModelProperty(value = "委托方公司地址-详细地址", dataType = "String") + private String fullAddress; + + @ApiModelProperty(value = "委托方公司地址-国家名字", dataType = "String") + private String addressCountryName; + + @ApiModelProperty(value = "委托方公司地址-省名字", dataType = "String") + private String addressProvinceName; + + @ApiModelProperty(value = "委托方公司地址-市名字", dataType = "String") + private String addressCityName; + + @ApiModelProperty(value = "委托方公司地址-区名字", dataType = "String") + private String addressAreaName; + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private String orderId; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "送样人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送样人联系方式", dataType = "String") + private String delivererTel; + + @ApiModelProperty(value = "预约送达时间", dataType = "String") + private String planDeliverTime; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "检定项目", dataType = "String") + private String measureContent; + + @ApiModelProperty(value = "检定周期(月)", dataType = "String") + private String measurePeriod; + + @ApiModelProperty(value = "检定日期", dataType = "String") + private String measureLastDate; + + @ApiModelProperty(value = "有效日期", dataType = "String") + private String effectiveDate; + + //需求中已删除该字段展示,不展示整个样品的检定结果,只在证书里展示各证书的检定结果 +// @ApiModelProperty(value = "检定结果", dataType = "String") +// private String measureResult; + + @ApiModelProperty(value = "备注", dataType = "String") + private String remark; + + @ApiModelProperty(value = "说明书", dataType = "String") + private String minioFileName; + + @ApiModelProperty(value = "检定方式(字典code)", dataType = "String") + private String measureType; + + @ApiModelProperty(value = "检定方式(字典value)", dataType = "String") + private String measureTypeName; + + @ApiModelProperty(value = "标签绑定", dataType = "String") + private String labelBind; + + @ApiModelProperty(value = "检定流程", dataType = "List") + private List measureProcessList; + + @ApiModelProperty(value = "退回信息", dataType = "List") + private List measureSendBackList; + +} 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 e927df4..6cf5efc 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 @@ -22,6 +22,8 @@ @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class SampleHandOutListResponse { + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; @ApiModelProperty(value = "样品编号", dataType = "String") @ExcelProperty(value = "样品编号", order = 0) @@ -91,7 +93,5 @@ @JsonIgnore private Long orderId; @JsonIgnore - private Long sampleId; - @JsonIgnore private Integer sampleStatus; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java index 2ae1f1d..11420e5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java @@ -12,9 +12,9 @@ */ @Data public class ApprovalRevokeRequest { - @ApiModelProperty("任务id") - @NotBlank(message = "任务id不能为空") - private String taskId; + @ApiModelProperty("流程实例id") + @NotBlank(message = "流程实例id不能为空") + private String processInstanceId; @ApiModelProperty("审批结论/意见") @NotBlank(message = "审批结论/意见不能为空") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java new file mode 100644 index 0000000..f4fa1e8 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java @@ -0,0 +1,14 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Data; + +/** + * @Description: 审批中任务DTO + * @Author: wangpeng + * @Date: 2023/02/09 17:31 + */ +@Data +public class InApprovedDTO { + private String businessKey; + private String processInstanceId; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index d45fdc1..9528373 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,4 +114,7 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") + private String processInstanceId; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index 7b21122..b1048c1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,6 +111,9 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") + private String processInstanceId; + /** * 可选决策项 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java index 776bd46..8893256 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java @@ -116,4 +116,7 @@ */ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + + @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") + private String processInstanceId; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java index 8347cd5..9ecdc32 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java @@ -79,6 +79,12 @@ private String expirationDate; /** + * 检定结果(字典code) + */ + @TableField("measure_result") + private String measureResult; + + /** * 证书报告模板id */ @TableField("template_id") 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 296c6b2..0452c0c 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 @@ -67,7 +67,7 @@ private Integer executeSequence; /** - * 检测状态(备用,维护在flowable) + * 检测状态 */ @TableField("measure_status") private String measureStatus; @@ -85,7 +85,7 @@ private Integer requireCertifications; /** - * 操作时间(分配、检测、拒绝、退回等操作) + * 操作时间(冗余,已在操作记录表中维护操作信息) */ @TableField("operate_time") private String operateTime; 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 2a56792..f5cf538 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 @@ -1,14 +1,19 @@ package com.casic.missiles.controller.business; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; +import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -34,7 +39,7 @@ @Slf4j @RestController @RequestMapping("/business/labExecutive") -public class BusinessLabExecutiveInfoController { +public class BusinessLabExecutiveInfoController extends ExportController { @Autowired private IBusinessLabExecutiveInfoService labExecutiveInfoService; @@ -44,22 +49,23 @@ @ApiOperation("任务分发-查询各状态列表") @PostMapping("/handOutList") @ResponseBody - public ReturnDTO queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) { + public ReturnDTO> queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } + DictCodeUtils.validDictCode(handOutListRequest); Page page = PageFactory.defaultPage(); - return labExecutiveInfoService.handOutListPage(page, handOutListRequest); + return ReturnUtil.success(super.packForBT(labExecutiveInfoService.handOutListPage(page, handOutListRequest))); } /** * 任务分发-详情 */ - @ApiOperation("任务分发-查询各状态列表") + @ApiOperation("任务分发-详情") @PostMapping("/handOutDetail") @ResponseBody - public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { - return labExecutiveInfoService.handOutListDetail(idDTO); + public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { + return ReturnUtil.success(labExecutiveInfoService.handOutListDetail(idDTO)); } /** diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index fe2776c..953e661 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -2,13 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; -import java.util.List; - /** *

* 委托书-样品库关联表 Mapper 接口 @@ -19,5 +18,7 @@ */ public interface BusinessOrderSampleRelationMapper extends BaseMapper { - List selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + Page selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + + SampleHandOutDetailResponse selectSampleDetailById(@Param("id") Long id); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 03e90d8..0be05a5 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -17,7 +17,13 @@ - csi.id AS sample_id,csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, + bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status + + + + + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status @@ -26,10 +32,10 @@ FROM business_order bo JOIN business_order_sample_relation bosr ON bo.id = bosr.order_id JOIN customer_sample_info csi ON csi.id = bosr.sample_id - WHERE is_del = 0 + WHERE bo.is_del = 0 AND (bosr.sample_status = 2 OR bosr.sample_status = 3) - AND require_over_time < NOW() + AND bo.require_over_time < NOW() AND bosr.sample_status = #{request.sampleStatus} @@ -62,4 +68,13 @@ AND csi.sample_belong = #{request.sampleBelong} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index ea7c1cf..0a27789 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone + mtsp.job, mtsp.phone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 1bc285f..09eee0f 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -34,7 +34,7 @@ SELECT mtp.plan_no, mtp.plan_name, mtp.train_person, mtp.train_number, mtp.train_time, mtp.train_hour, mtp.dept_id, sd.SIMPLE_NAME AS dept_name, mtp.effective_company, mtp.director, mtp.train_address, mtp.train_content, mtp.remark AS train_remark, mts.id, mts.staff_id, mts.plan_id, mts.name, mts.company, - mts.technology_job, mts.exam_result, mts.sign_time, mts.remark + mts.technology_job, mts.exam_result, mts.sign_time, mts.remark, mtp.process_id FROM meter_train_plan mtp LEFT JOIN sys_dept sd ON mtp.dept_id = sd.id LEFT JOIN meter_train_staff mts ON mtp.id = mts.plan_id 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 new file mode 100644 index 0000000..a1b096b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java @@ -0,0 +1,31 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/2/9 14:27 + */ +@Data +@ApiModel +public class MeasureProcessDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "检定人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "检定人员", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "检定状态(字典code)", dataType = "String") + private String measureStatus; + @ApiModelProperty(value = "检定状态(字典value)", dataType = "String") + private String measureStatusName; + @ApiModelProperty(value = "应出具证书总数", dataType = "Integer") + private Integer requireCertifications; + @ApiModelProperty(value = "更新时间", dataType = "String") + private String updateTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java new file mode 100644 index 0000000..3c5aa32 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java @@ -0,0 +1,28 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 检定过程的退回信息 + * @Author: wangpeng + * @Date: 2023/2/9 14:43 + */ +@Data +@ApiModel +public class MeasureSendBackDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "退回人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "退回人员名字", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "退回原因", dataType = "String") + private String sendBackReason; + @ApiModelProperty(value = "退回时间", dataType = "String") + private String updateTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java new file mode 100644 index 0000000..38b80e3 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java @@ -0,0 +1,138 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Description: 任务分发-详情 + * @Author: wangpeng + * @Date: 2023/2/9 11:41 + */ +@Data +@ApiModel +public class SampleHandOutDetailResponse { + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "生产厂家", dataType = "String") + private String manufacturer; + + @ApiModelProperty(value = "厂家国别", dataType = "String") + private String manufacturerCountry; + + @ApiModelProperty(value = "出厂年月", dataType = "String") + private String manufacturingDate; + + @ApiModelProperty(value = "ABC", dataType = "String") + private String abc; + + @ApiModelProperty(value = "委托方id", dataType = "Long") + private Long customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托方电话", dataType = "String") + private String phone; + + @ApiModelProperty(value = "委托方邮编", dataType = "String") + private String postalCode; + + @ApiModelProperty(value = "委托方公司地址-国家", dataType = "String") + private String addressCountry; + + @ApiModelProperty(value = "委托方公司地址-省", dataType = "String") + private String addressProvince; + + @ApiModelProperty(value = "委托方公司地址-市", dataType = "String") + private String addressCity; + + @ApiModelProperty(value = "委托方公司地址-区", dataType = "String") + private String addressArea; + + @ApiModelProperty(value = "委托方公司地址-详细地址", dataType = "String") + private String fullAddress; + + @ApiModelProperty(value = "委托方公司地址-国家名字", dataType = "String") + private String addressCountryName; + + @ApiModelProperty(value = "委托方公司地址-省名字", dataType = "String") + private String addressProvinceName; + + @ApiModelProperty(value = "委托方公司地址-市名字", dataType = "String") + private String addressCityName; + + @ApiModelProperty(value = "委托方公司地址-区名字", dataType = "String") + private String addressAreaName; + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private String orderId; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "送样人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送样人联系方式", dataType = "String") + private String delivererTel; + + @ApiModelProperty(value = "预约送达时间", dataType = "String") + private String planDeliverTime; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "检定项目", dataType = "String") + private String measureContent; + + @ApiModelProperty(value = "检定周期(月)", dataType = "String") + private String measurePeriod; + + @ApiModelProperty(value = "检定日期", dataType = "String") + private String measureLastDate; + + @ApiModelProperty(value = "有效日期", dataType = "String") + private String effectiveDate; + + //需求中已删除该字段展示,不展示整个样品的检定结果,只在证书里展示各证书的检定结果 +// @ApiModelProperty(value = "检定结果", dataType = "String") +// private String measureResult; + + @ApiModelProperty(value = "备注", dataType = "String") + private String remark; + + @ApiModelProperty(value = "说明书", dataType = "String") + private String minioFileName; + + @ApiModelProperty(value = "检定方式(字典code)", dataType = "String") + private String measureType; + + @ApiModelProperty(value = "检定方式(字典value)", dataType = "String") + private String measureTypeName; + + @ApiModelProperty(value = "标签绑定", dataType = "String") + private String labelBind; + + @ApiModelProperty(value = "检定流程", dataType = "List") + private List measureProcessList; + + @ApiModelProperty(value = "退回信息", dataType = "List") + private List measureSendBackList; + +} 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 e927df4..6cf5efc 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 @@ -22,6 +22,8 @@ @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class SampleHandOutListResponse { + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; @ApiModelProperty(value = "样品编号", dataType = "String") @ExcelProperty(value = "样品编号", order = 0) @@ -91,7 +93,5 @@ @JsonIgnore private Long orderId; @JsonIgnore - private Long sampleId; - @JsonIgnore private Integer sampleStatus; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java index 2ae1f1d..11420e5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java @@ -12,9 +12,9 @@ */ @Data public class ApprovalRevokeRequest { - @ApiModelProperty("任务id") - @NotBlank(message = "任务id不能为空") - private String taskId; + @ApiModelProperty("流程实例id") + @NotBlank(message = "流程实例id不能为空") + private String processInstanceId; @ApiModelProperty("审批结论/意见") @NotBlank(message = "审批结论/意见不能为空") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java new file mode 100644 index 0000000..f4fa1e8 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java @@ -0,0 +1,14 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Data; + +/** + * @Description: 审批中任务DTO + * @Author: wangpeng + * @Date: 2023/02/09 17:31 + */ +@Data +public class InApprovedDTO { + private String businessKey; + private String processInstanceId; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index d45fdc1..9528373 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,4 +114,7 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") + private String processInstanceId; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index 7b21122..b1048c1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,6 +111,9 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") + private String processInstanceId; + /** * 可选决策项 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java index 776bd46..8893256 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java @@ -116,4 +116,7 @@ */ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + + @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") + private String processInstanceId; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java index 8347cd5..9ecdc32 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java @@ -79,6 +79,12 @@ private String expirationDate; /** + * 检定结果(字典code) + */ + @TableField("measure_result") + private String measureResult; + + /** * 证书报告模板id */ @TableField("template_id") 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 296c6b2..0452c0c 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 @@ -67,7 +67,7 @@ private Integer executeSequence; /** - * 检测状态(备用,维护在flowable) + * 检测状态 */ @TableField("measure_status") private String measureStatus; @@ -85,7 +85,7 @@ private Integer requireCertifications; /** - * 操作时间(分配、检测、拒绝、退回等操作) + * 操作时间(冗余,已在操作记录表中维护操作信息) */ @TableField("operate_time") private String operateTime; 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 ed25a1d..9add926 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 @@ -4,9 +4,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.dto.IdDTO; -import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.HandOutLabExecutiveDTO; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.enums.CurrentSegmentEnum; @@ -21,6 +20,7 @@ import com.casic.missiles.model.business.BusinessLabExecutiveInfo; import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; +import com.casic.missiles.utils.DictCodeUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -50,11 +50,15 @@ private BusinessLabExecutiveOperateLogMapper labExecutiveOperateLogMapper; @Override - public ReturnDTO handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) { + public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ //查询委托书和样品关联表中的各状态的样品 - List handOutList = orderSampleRelationMapper.selectSampleListByStatus(page, handOutListRequest); + Page handOutList = orderSampleRelationMapper.selectSampleListByStatus(page, handOutListRequest); log.info("任务分发-当前查询样品状态为:{}", handOutListRequest.getSampleStatus()); - handOutList.parallelStream().forEach(handOut -> { + List records = handOutList.getRecords(); + if(CollectionUtils.isEmpty(records)){ + return new Page<>(); + } + records.parallelStream().forEach(handOut -> { Long orderId = handOut.getOrderId(); Long sampleId = handOut.getSampleId(); String sampleStatus = handOutListRequest.getSampleStatus(); @@ -97,11 +101,18 @@ break; } }); - return ReturnUtil.success(handOutList); + for (SampleHandOutListResponse record : records) { + DictCodeUtils.convertDictCodeToName(record); + } + return handOutList; } @Override - public ReturnDTO handOutListDetail(IdDTO idDTO) { + public SampleHandOutDetailResponse handOutListDetail(IdDTO idDTO) { + //根据样品id和委托书id查询样品、委托书、委托方 + SampleHandOutDetailResponse sampleDetail = orderSampleRelationMapper.selectSampleDetailById(idDTO.getId()); + + //查询检定流程、退回信息 return null; } 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 2a56792..f5cf538 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 @@ -1,14 +1,19 @@ package com.casic.missiles.controller.business; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; +import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -34,7 +39,7 @@ @Slf4j @RestController @RequestMapping("/business/labExecutive") -public class BusinessLabExecutiveInfoController { +public class BusinessLabExecutiveInfoController extends ExportController { @Autowired private IBusinessLabExecutiveInfoService labExecutiveInfoService; @@ -44,22 +49,23 @@ @ApiOperation("任务分发-查询各状态列表") @PostMapping("/handOutList") @ResponseBody - public ReturnDTO queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) { + public ReturnDTO> queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } + DictCodeUtils.validDictCode(handOutListRequest); Page page = PageFactory.defaultPage(); - return labExecutiveInfoService.handOutListPage(page, handOutListRequest); + return ReturnUtil.success(super.packForBT(labExecutiveInfoService.handOutListPage(page, handOutListRequest))); } /** * 任务分发-详情 */ - @ApiOperation("任务分发-查询各状态列表") + @ApiOperation("任务分发-详情") @PostMapping("/handOutDetail") @ResponseBody - public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { - return labExecutiveInfoService.handOutListDetail(idDTO); + public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { + return ReturnUtil.success(labExecutiveInfoService.handOutListDetail(idDTO)); } /** diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index fe2776c..953e661 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -2,13 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; -import java.util.List; - /** *

* 委托书-样品库关联表 Mapper 接口 @@ -19,5 +18,7 @@ */ public interface BusinessOrderSampleRelationMapper extends BaseMapper { - List selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + Page selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + + SampleHandOutDetailResponse selectSampleDetailById(@Param("id") Long id); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 03e90d8..0be05a5 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -17,7 +17,13 @@ - csi.id AS sample_id,csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, + bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status + + + + + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status @@ -26,10 +32,10 @@ FROM business_order bo JOIN business_order_sample_relation bosr ON bo.id = bosr.order_id JOIN customer_sample_info csi ON csi.id = bosr.sample_id - WHERE is_del = 0 + WHERE bo.is_del = 0 AND (bosr.sample_status = 2 OR bosr.sample_status = 3) - AND require_over_time < NOW() + AND bo.require_over_time < NOW() AND bosr.sample_status = #{request.sampleStatus} @@ -62,4 +68,13 @@ AND csi.sample_belong = #{request.sampleBelong} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index ea7c1cf..0a27789 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone + mtsp.job, mtsp.phone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 1bc285f..09eee0f 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -34,7 +34,7 @@ SELECT mtp.plan_no, mtp.plan_name, mtp.train_person, mtp.train_number, mtp.train_time, mtp.train_hour, mtp.dept_id, sd.SIMPLE_NAME AS dept_name, mtp.effective_company, mtp.director, mtp.train_address, mtp.train_content, mtp.remark AS train_remark, mts.id, mts.staff_id, mts.plan_id, mts.name, mts.company, - mts.technology_job, mts.exam_result, mts.sign_time, mts.remark + mts.technology_job, mts.exam_result, mts.sign_time, mts.remark, mtp.process_id FROM meter_train_plan mtp LEFT JOIN sys_dept sd ON mtp.dept_id = sd.id LEFT JOIN meter_train_staff mts ON mtp.id = mts.plan_id 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 new file mode 100644 index 0000000..a1b096b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java @@ -0,0 +1,31 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/2/9 14:27 + */ +@Data +@ApiModel +public class MeasureProcessDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "检定人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "检定人员", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "检定状态(字典code)", dataType = "String") + private String measureStatus; + @ApiModelProperty(value = "检定状态(字典value)", dataType = "String") + private String measureStatusName; + @ApiModelProperty(value = "应出具证书总数", dataType = "Integer") + private Integer requireCertifications; + @ApiModelProperty(value = "更新时间", dataType = "String") + private String updateTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java new file mode 100644 index 0000000..3c5aa32 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java @@ -0,0 +1,28 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 检定过程的退回信息 + * @Author: wangpeng + * @Date: 2023/2/9 14:43 + */ +@Data +@ApiModel +public class MeasureSendBackDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "退回人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "退回人员名字", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "退回原因", dataType = "String") + private String sendBackReason; + @ApiModelProperty(value = "退回时间", dataType = "String") + private String updateTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java new file mode 100644 index 0000000..38b80e3 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java @@ -0,0 +1,138 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Description: 任务分发-详情 + * @Author: wangpeng + * @Date: 2023/2/9 11:41 + */ +@Data +@ApiModel +public class SampleHandOutDetailResponse { + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "生产厂家", dataType = "String") + private String manufacturer; + + @ApiModelProperty(value = "厂家国别", dataType = "String") + private String manufacturerCountry; + + @ApiModelProperty(value = "出厂年月", dataType = "String") + private String manufacturingDate; + + @ApiModelProperty(value = "ABC", dataType = "String") + private String abc; + + @ApiModelProperty(value = "委托方id", dataType = "Long") + private Long customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托方电话", dataType = "String") + private String phone; + + @ApiModelProperty(value = "委托方邮编", dataType = "String") + private String postalCode; + + @ApiModelProperty(value = "委托方公司地址-国家", dataType = "String") + private String addressCountry; + + @ApiModelProperty(value = "委托方公司地址-省", dataType = "String") + private String addressProvince; + + @ApiModelProperty(value = "委托方公司地址-市", dataType = "String") + private String addressCity; + + @ApiModelProperty(value = "委托方公司地址-区", dataType = "String") + private String addressArea; + + @ApiModelProperty(value = "委托方公司地址-详细地址", dataType = "String") + private String fullAddress; + + @ApiModelProperty(value = "委托方公司地址-国家名字", dataType = "String") + private String addressCountryName; + + @ApiModelProperty(value = "委托方公司地址-省名字", dataType = "String") + private String addressProvinceName; + + @ApiModelProperty(value = "委托方公司地址-市名字", dataType = "String") + private String addressCityName; + + @ApiModelProperty(value = "委托方公司地址-区名字", dataType = "String") + private String addressAreaName; + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private String orderId; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "送样人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送样人联系方式", dataType = "String") + private String delivererTel; + + @ApiModelProperty(value = "预约送达时间", dataType = "String") + private String planDeliverTime; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "检定项目", dataType = "String") + private String measureContent; + + @ApiModelProperty(value = "检定周期(月)", dataType = "String") + private String measurePeriod; + + @ApiModelProperty(value = "检定日期", dataType = "String") + private String measureLastDate; + + @ApiModelProperty(value = "有效日期", dataType = "String") + private String effectiveDate; + + //需求中已删除该字段展示,不展示整个样品的检定结果,只在证书里展示各证书的检定结果 +// @ApiModelProperty(value = "检定结果", dataType = "String") +// private String measureResult; + + @ApiModelProperty(value = "备注", dataType = "String") + private String remark; + + @ApiModelProperty(value = "说明书", dataType = "String") + private String minioFileName; + + @ApiModelProperty(value = "检定方式(字典code)", dataType = "String") + private String measureType; + + @ApiModelProperty(value = "检定方式(字典value)", dataType = "String") + private String measureTypeName; + + @ApiModelProperty(value = "标签绑定", dataType = "String") + private String labelBind; + + @ApiModelProperty(value = "检定流程", dataType = "List") + private List measureProcessList; + + @ApiModelProperty(value = "退回信息", dataType = "List") + private List measureSendBackList; + +} 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 e927df4..6cf5efc 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 @@ -22,6 +22,8 @@ @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class SampleHandOutListResponse { + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; @ApiModelProperty(value = "样品编号", dataType = "String") @ExcelProperty(value = "样品编号", order = 0) @@ -91,7 +93,5 @@ @JsonIgnore private Long orderId; @JsonIgnore - private Long sampleId; - @JsonIgnore private Integer sampleStatus; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java index 2ae1f1d..11420e5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java @@ -12,9 +12,9 @@ */ @Data public class ApprovalRevokeRequest { - @ApiModelProperty("任务id") - @NotBlank(message = "任务id不能为空") - private String taskId; + @ApiModelProperty("流程实例id") + @NotBlank(message = "流程实例id不能为空") + private String processInstanceId; @ApiModelProperty("审批结论/意见") @NotBlank(message = "审批结论/意见不能为空") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java new file mode 100644 index 0000000..f4fa1e8 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java @@ -0,0 +1,14 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Data; + +/** + * @Description: 审批中任务DTO + * @Author: wangpeng + * @Date: 2023/02/09 17:31 + */ +@Data +public class InApprovedDTO { + private String businessKey; + private String processInstanceId; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index d45fdc1..9528373 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,4 +114,7 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") + private String processInstanceId; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index 7b21122..b1048c1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,6 +111,9 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") + private String processInstanceId; + /** * 可选决策项 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java index 776bd46..8893256 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java @@ -116,4 +116,7 @@ */ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + + @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") + private String processInstanceId; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java index 8347cd5..9ecdc32 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java @@ -79,6 +79,12 @@ private String expirationDate; /** + * 检定结果(字典code) + */ + @TableField("measure_result") + private String measureResult; + + /** * 证书报告模板id */ @TableField("template_id") 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 296c6b2..0452c0c 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 @@ -67,7 +67,7 @@ private Integer executeSequence; /** - * 检测状态(备用,维护在flowable) + * 检测状态 */ @TableField("measure_status") private String measureStatus; @@ -85,7 +85,7 @@ private Integer requireCertifications; /** - * 操作时间(分配、检测、拒绝、退回等操作) + * 操作时间(冗余,已在操作记录表中维护操作信息) */ @TableField("operate_time") private String operateTime; 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 ed25a1d..9add926 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 @@ -4,9 +4,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.dto.IdDTO; -import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.HandOutLabExecutiveDTO; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.enums.CurrentSegmentEnum; @@ -21,6 +20,7 @@ import com.casic.missiles.model.business.BusinessLabExecutiveInfo; import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; +import com.casic.missiles.utils.DictCodeUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -50,11 +50,15 @@ private BusinessLabExecutiveOperateLogMapper labExecutiveOperateLogMapper; @Override - public ReturnDTO handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) { + public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ //查询委托书和样品关联表中的各状态的样品 - List handOutList = orderSampleRelationMapper.selectSampleListByStatus(page, handOutListRequest); + Page handOutList = orderSampleRelationMapper.selectSampleListByStatus(page, handOutListRequest); log.info("任务分发-当前查询样品状态为:{}", handOutListRequest.getSampleStatus()); - handOutList.parallelStream().forEach(handOut -> { + List records = handOutList.getRecords(); + if(CollectionUtils.isEmpty(records)){ + return new Page<>(); + } + records.parallelStream().forEach(handOut -> { Long orderId = handOut.getOrderId(); Long sampleId = handOut.getSampleId(); String sampleStatus = handOutListRequest.getSampleStatus(); @@ -97,11 +101,18 @@ break; } }); - return ReturnUtil.success(handOutList); + for (SampleHandOutListResponse record : records) { + DictCodeUtils.convertDictCodeToName(record); + } + return handOutList; } @Override - public ReturnDTO handOutListDetail(IdDTO idDTO) { + public SampleHandOutDetailResponse handOutListDetail(IdDTO idDTO) { + //根据样品id和委托书id查询样品、委托书、委托方 + SampleHandOutDetailResponse sampleDetail = orderSampleRelationMapper.selectSampleDetailById(idDTO.getId()); + + //查询检定流程、退回信息 return null; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java index 8763c42..025f6eb 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java @@ -185,24 +185,23 @@ //设置发起人 Authentication.setAuthenticatedUserId(String.valueOf(user.getId())); - HistoricTaskInstance task = historyService.createHistoricTaskInstanceQuery().taskId(request.getTaskId()).singleResult(); +// HistoricTaskInstance task = historyService.createHistoricTaskInstanceQuery().taskId(request.getTaskId()).singleResult(); // Task task = taskService.createTaskQuery().taskId(request.getTaskId()).singleResult(); //只有发起者才能撤回 HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery() - .processInstanceId(task.getProcessInstanceId()) + .processInstanceId(request.getProcessInstanceId()) .startedBy(String.valueOf(user.getId())) .unfinished() //审批中的流程才能撤回 .singleResult(); if(Objects.isNull(historicProcessInstance)){ - log.error("该用户无审批中的流程,userId:{},processInstanceId:{}, taskId:{}", user.getId(), task.getProcessInstanceId(), request.getTaskId()); + log.error("该用户无审批中的流程,userId:{},processInstanceId:{}", user.getId(), request.getProcessInstanceId()); return ReturnUtil.failed("该用户无审批中的流程"); } //设置取消状态 - runtimeService.updateBusinessStatus(task.getProcessInstanceId(), ApprovalStatusEnum.CANCELED); - - runtimeService.deleteProcessInstance(task.getProcessInstanceId(),"取消"); + runtimeService.updateBusinessStatus(request.getProcessInstanceId(), ApprovalStatusEnum.CANCELED); + runtimeService.deleteProcessInstance(request.getProcessInstanceId(),"取消"); return ReturnUtil.success(); } 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 2a56792..f5cf538 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 @@ -1,14 +1,19 @@ package com.casic.missiles.controller.business; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; +import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -34,7 +39,7 @@ @Slf4j @RestController @RequestMapping("/business/labExecutive") -public class BusinessLabExecutiveInfoController { +public class BusinessLabExecutiveInfoController extends ExportController { @Autowired private IBusinessLabExecutiveInfoService labExecutiveInfoService; @@ -44,22 +49,23 @@ @ApiOperation("任务分发-查询各状态列表") @PostMapping("/handOutList") @ResponseBody - public ReturnDTO queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) { + public ReturnDTO> queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } + DictCodeUtils.validDictCode(handOutListRequest); Page page = PageFactory.defaultPage(); - return labExecutiveInfoService.handOutListPage(page, handOutListRequest); + return ReturnUtil.success(super.packForBT(labExecutiveInfoService.handOutListPage(page, handOutListRequest))); } /** * 任务分发-详情 */ - @ApiOperation("任务分发-查询各状态列表") + @ApiOperation("任务分发-详情") @PostMapping("/handOutDetail") @ResponseBody - public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { - return labExecutiveInfoService.handOutListDetail(idDTO); + public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { + return ReturnUtil.success(labExecutiveInfoService.handOutListDetail(idDTO)); } /** diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index fe2776c..953e661 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -2,13 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; -import java.util.List; - /** *

* 委托书-样品库关联表 Mapper 接口 @@ -19,5 +18,7 @@ */ public interface BusinessOrderSampleRelationMapper extends BaseMapper { - List selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + Page selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + + SampleHandOutDetailResponse selectSampleDetailById(@Param("id") Long id); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 03e90d8..0be05a5 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -17,7 +17,13 @@ - csi.id AS sample_id,csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, + bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status + + + + + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status @@ -26,10 +32,10 @@ FROM business_order bo JOIN business_order_sample_relation bosr ON bo.id = bosr.order_id JOIN customer_sample_info csi ON csi.id = bosr.sample_id - WHERE is_del = 0 + WHERE bo.is_del = 0 AND (bosr.sample_status = 2 OR bosr.sample_status = 3) - AND require_over_time < NOW() + AND bo.require_over_time < NOW() AND bosr.sample_status = #{request.sampleStatus} @@ -62,4 +68,13 @@ AND csi.sample_belong = #{request.sampleBelong} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index ea7c1cf..0a27789 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone + mtsp.job, mtsp.phone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 1bc285f..09eee0f 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -34,7 +34,7 @@ SELECT mtp.plan_no, mtp.plan_name, mtp.train_person, mtp.train_number, mtp.train_time, mtp.train_hour, mtp.dept_id, sd.SIMPLE_NAME AS dept_name, mtp.effective_company, mtp.director, mtp.train_address, mtp.train_content, mtp.remark AS train_remark, mts.id, mts.staff_id, mts.plan_id, mts.name, mts.company, - mts.technology_job, mts.exam_result, mts.sign_time, mts.remark + mts.technology_job, mts.exam_result, mts.sign_time, mts.remark, mtp.process_id FROM meter_train_plan mtp LEFT JOIN sys_dept sd ON mtp.dept_id = sd.id LEFT JOIN meter_train_staff mts ON mtp.id = mts.plan_id 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 new file mode 100644 index 0000000..a1b096b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java @@ -0,0 +1,31 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/2/9 14:27 + */ +@Data +@ApiModel +public class MeasureProcessDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "检定人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "检定人员", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "检定状态(字典code)", dataType = "String") + private String measureStatus; + @ApiModelProperty(value = "检定状态(字典value)", dataType = "String") + private String measureStatusName; + @ApiModelProperty(value = "应出具证书总数", dataType = "Integer") + private Integer requireCertifications; + @ApiModelProperty(value = "更新时间", dataType = "String") + private String updateTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java new file mode 100644 index 0000000..3c5aa32 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java @@ -0,0 +1,28 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 检定过程的退回信息 + * @Author: wangpeng + * @Date: 2023/2/9 14:43 + */ +@Data +@ApiModel +public class MeasureSendBackDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "退回人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "退回人员名字", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "退回原因", dataType = "String") + private String sendBackReason; + @ApiModelProperty(value = "退回时间", dataType = "String") + private String updateTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java new file mode 100644 index 0000000..38b80e3 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java @@ -0,0 +1,138 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Description: 任务分发-详情 + * @Author: wangpeng + * @Date: 2023/2/9 11:41 + */ +@Data +@ApiModel +public class SampleHandOutDetailResponse { + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "生产厂家", dataType = "String") + private String manufacturer; + + @ApiModelProperty(value = "厂家国别", dataType = "String") + private String manufacturerCountry; + + @ApiModelProperty(value = "出厂年月", dataType = "String") + private String manufacturingDate; + + @ApiModelProperty(value = "ABC", dataType = "String") + private String abc; + + @ApiModelProperty(value = "委托方id", dataType = "Long") + private Long customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托方电话", dataType = "String") + private String phone; + + @ApiModelProperty(value = "委托方邮编", dataType = "String") + private String postalCode; + + @ApiModelProperty(value = "委托方公司地址-国家", dataType = "String") + private String addressCountry; + + @ApiModelProperty(value = "委托方公司地址-省", dataType = "String") + private String addressProvince; + + @ApiModelProperty(value = "委托方公司地址-市", dataType = "String") + private String addressCity; + + @ApiModelProperty(value = "委托方公司地址-区", dataType = "String") + private String addressArea; + + @ApiModelProperty(value = "委托方公司地址-详细地址", dataType = "String") + private String fullAddress; + + @ApiModelProperty(value = "委托方公司地址-国家名字", dataType = "String") + private String addressCountryName; + + @ApiModelProperty(value = "委托方公司地址-省名字", dataType = "String") + private String addressProvinceName; + + @ApiModelProperty(value = "委托方公司地址-市名字", dataType = "String") + private String addressCityName; + + @ApiModelProperty(value = "委托方公司地址-区名字", dataType = "String") + private String addressAreaName; + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private String orderId; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "送样人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送样人联系方式", dataType = "String") + private String delivererTel; + + @ApiModelProperty(value = "预约送达时间", dataType = "String") + private String planDeliverTime; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "检定项目", dataType = "String") + private String measureContent; + + @ApiModelProperty(value = "检定周期(月)", dataType = "String") + private String measurePeriod; + + @ApiModelProperty(value = "检定日期", dataType = "String") + private String measureLastDate; + + @ApiModelProperty(value = "有效日期", dataType = "String") + private String effectiveDate; + + //需求中已删除该字段展示,不展示整个样品的检定结果,只在证书里展示各证书的检定结果 +// @ApiModelProperty(value = "检定结果", dataType = "String") +// private String measureResult; + + @ApiModelProperty(value = "备注", dataType = "String") + private String remark; + + @ApiModelProperty(value = "说明书", dataType = "String") + private String minioFileName; + + @ApiModelProperty(value = "检定方式(字典code)", dataType = "String") + private String measureType; + + @ApiModelProperty(value = "检定方式(字典value)", dataType = "String") + private String measureTypeName; + + @ApiModelProperty(value = "标签绑定", dataType = "String") + private String labelBind; + + @ApiModelProperty(value = "检定流程", dataType = "List") + private List measureProcessList; + + @ApiModelProperty(value = "退回信息", dataType = "List") + private List measureSendBackList; + +} 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 e927df4..6cf5efc 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 @@ -22,6 +22,8 @@ @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class SampleHandOutListResponse { + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; @ApiModelProperty(value = "样品编号", dataType = "String") @ExcelProperty(value = "样品编号", order = 0) @@ -91,7 +93,5 @@ @JsonIgnore private Long orderId; @JsonIgnore - private Long sampleId; - @JsonIgnore private Integer sampleStatus; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java index 2ae1f1d..11420e5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java @@ -12,9 +12,9 @@ */ @Data public class ApprovalRevokeRequest { - @ApiModelProperty("任务id") - @NotBlank(message = "任务id不能为空") - private String taskId; + @ApiModelProperty("流程实例id") + @NotBlank(message = "流程实例id不能为空") + private String processInstanceId; @ApiModelProperty("审批结论/意见") @NotBlank(message = "审批结论/意见不能为空") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java new file mode 100644 index 0000000..f4fa1e8 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java @@ -0,0 +1,14 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Data; + +/** + * @Description: 审批中任务DTO + * @Author: wangpeng + * @Date: 2023/02/09 17:31 + */ +@Data +public class InApprovedDTO { + private String businessKey; + private String processInstanceId; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index d45fdc1..9528373 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,4 +114,7 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") + private String processInstanceId; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index 7b21122..b1048c1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,6 +111,9 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") + private String processInstanceId; + /** * 可选决策项 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java index 776bd46..8893256 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java @@ -116,4 +116,7 @@ */ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + + @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") + private String processInstanceId; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java index 8347cd5..9ecdc32 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java @@ -79,6 +79,12 @@ private String expirationDate; /** + * 检定结果(字典code) + */ + @TableField("measure_result") + private String measureResult; + + /** * 证书报告模板id */ @TableField("template_id") 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 296c6b2..0452c0c 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 @@ -67,7 +67,7 @@ private Integer executeSequence; /** - * 检测状态(备用,维护在flowable) + * 检测状态 */ @TableField("measure_status") private String measureStatus; @@ -85,7 +85,7 @@ private Integer requireCertifications; /** - * 操作时间(分配、检测、拒绝、退回等操作) + * 操作时间(冗余,已在操作记录表中维护操作信息) */ @TableField("operate_time") private String operateTime; 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 ed25a1d..9add926 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 @@ -4,9 +4,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.dto.IdDTO; -import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.HandOutLabExecutiveDTO; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.enums.CurrentSegmentEnum; @@ -21,6 +20,7 @@ import com.casic.missiles.model.business.BusinessLabExecutiveInfo; import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; +import com.casic.missiles.utils.DictCodeUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -50,11 +50,15 @@ private BusinessLabExecutiveOperateLogMapper labExecutiveOperateLogMapper; @Override - public ReturnDTO handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) { + public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ //查询委托书和样品关联表中的各状态的样品 - List handOutList = orderSampleRelationMapper.selectSampleListByStatus(page, handOutListRequest); + Page handOutList = orderSampleRelationMapper.selectSampleListByStatus(page, handOutListRequest); log.info("任务分发-当前查询样品状态为:{}", handOutListRequest.getSampleStatus()); - handOutList.parallelStream().forEach(handOut -> { + List records = handOutList.getRecords(); + if(CollectionUtils.isEmpty(records)){ + return new Page<>(); + } + records.parallelStream().forEach(handOut -> { Long orderId = handOut.getOrderId(); Long sampleId = handOut.getSampleId(); String sampleStatus = handOutListRequest.getSampleStatus(); @@ -97,11 +101,18 @@ break; } }); - return ReturnUtil.success(handOutList); + for (SampleHandOutListResponse record : records) { + DictCodeUtils.convertDictCodeToName(record); + } + return handOutList; } @Override - public ReturnDTO handOutListDetail(IdDTO idDTO) { + public SampleHandOutDetailResponse handOutListDetail(IdDTO idDTO) { + //根据样品id和委托书id查询样品、委托书、委托方 + SampleHandOutDetailResponse sampleDetail = orderSampleRelationMapper.selectSampleDetailById(idDTO.getId()); + + //查询检定流程、退回信息 return null; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java index 8763c42..025f6eb 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java @@ -185,24 +185,23 @@ //设置发起人 Authentication.setAuthenticatedUserId(String.valueOf(user.getId())); - HistoricTaskInstance task = historyService.createHistoricTaskInstanceQuery().taskId(request.getTaskId()).singleResult(); +// HistoricTaskInstance task = historyService.createHistoricTaskInstanceQuery().taskId(request.getTaskId()).singleResult(); // Task task = taskService.createTaskQuery().taskId(request.getTaskId()).singleResult(); //只有发起者才能撤回 HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery() - .processInstanceId(task.getProcessInstanceId()) + .processInstanceId(request.getProcessInstanceId()) .startedBy(String.valueOf(user.getId())) .unfinished() //审批中的流程才能撤回 .singleResult(); if(Objects.isNull(historicProcessInstance)){ - log.error("该用户无审批中的流程,userId:{},processInstanceId:{}, taskId:{}", user.getId(), task.getProcessInstanceId(), request.getTaskId()); + log.error("该用户无审批中的流程,userId:{},processInstanceId:{}", user.getId(), request.getProcessInstanceId()); return ReturnUtil.failed("该用户无审批中的流程"); } //设置取消状态 - runtimeService.updateBusinessStatus(task.getProcessInstanceId(), ApprovalStatusEnum.CANCELED); - - runtimeService.deleteProcessInstance(task.getProcessInstanceId(),"取消"); + runtimeService.updateBusinessStatus(request.getProcessInstanceId(), ApprovalStatusEnum.CANCELED); + runtimeService.deleteProcessInstance(request.getProcessInstanceId(),"取消"); return ReturnUtil.success(); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index fc18af3..7d94027 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -224,7 +224,7 @@ private List handleApprovalStatus(FileApprovalListRequest request) { List approvalList = new ArrayList<>(); - List businessKey = new ArrayList<>(); + List businessKeys = new ArrayList<>(); List list; //先查需要从flowable中查出的 //状态维护放在flowable中比较好,保证flowable和业务中状态的一致性,否则更新业务状态有事务问题 @@ -238,10 +238,10 @@ case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); if(!CollectionUtils.isEmpty(toBeApprovedList)){ - businessKey = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).collect(Collectors.toList()); + businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKey)){ - list = meterFileMapper.selectBatchForApproval(request, businessKey); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = meterFileMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { @@ -255,26 +255,26 @@ break; //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: - businessKey = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKey)){ - list = meterFileMapper.selectBatchForApproval(request, businessKey); + businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = meterFileMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: - businessKey = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKey)){ - list = meterFileMapper.selectBatchForApproval(request, businessKey); + businessKeys = baseApprovalService.getPassedList(request.getFormId()); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = meterFileMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: - businessKey = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 + businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKey)){ - list = meterFileMapper.selectBatchForApproval(request, businessKey); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = meterFileMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); @@ -287,9 +287,9 @@ break; //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: - businessKey = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKey)){ - list = meterFileMapper.selectBatchForApproval(request, businessKey); + businessKeys = baseApprovalService.getCanceledList(request.getFormId()); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = meterFileMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); } break; 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 2a56792..f5cf538 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 @@ -1,14 +1,19 @@ package com.casic.missiles.controller.business; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; +import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -34,7 +39,7 @@ @Slf4j @RestController @RequestMapping("/business/labExecutive") -public class BusinessLabExecutiveInfoController { +public class BusinessLabExecutiveInfoController extends ExportController { @Autowired private IBusinessLabExecutiveInfoService labExecutiveInfoService; @@ -44,22 +49,23 @@ @ApiOperation("任务分发-查询各状态列表") @PostMapping("/handOutList") @ResponseBody - public ReturnDTO queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) { + public ReturnDTO> queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } + DictCodeUtils.validDictCode(handOutListRequest); Page page = PageFactory.defaultPage(); - return labExecutiveInfoService.handOutListPage(page, handOutListRequest); + return ReturnUtil.success(super.packForBT(labExecutiveInfoService.handOutListPage(page, handOutListRequest))); } /** * 任务分发-详情 */ - @ApiOperation("任务分发-查询各状态列表") + @ApiOperation("任务分发-详情") @PostMapping("/handOutDetail") @ResponseBody - public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { - return labExecutiveInfoService.handOutListDetail(idDTO); + public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { + return ReturnUtil.success(labExecutiveInfoService.handOutListDetail(idDTO)); } /** diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index fe2776c..953e661 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -2,13 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; -import java.util.List; - /** *

* 委托书-样品库关联表 Mapper 接口 @@ -19,5 +18,7 @@ */ public interface BusinessOrderSampleRelationMapper extends BaseMapper { - List selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + Page selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + + SampleHandOutDetailResponse selectSampleDetailById(@Param("id") Long id); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 03e90d8..0be05a5 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -17,7 +17,13 @@ - csi.id AS sample_id,csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, + bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status + + + + + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status @@ -26,10 +32,10 @@ FROM business_order bo JOIN business_order_sample_relation bosr ON bo.id = bosr.order_id JOIN customer_sample_info csi ON csi.id = bosr.sample_id - WHERE is_del = 0 + WHERE bo.is_del = 0 AND (bosr.sample_status = 2 OR bosr.sample_status = 3) - AND require_over_time < NOW() + AND bo.require_over_time < NOW() AND bosr.sample_status = #{request.sampleStatus} @@ -62,4 +68,13 @@ AND csi.sample_belong = #{request.sampleBelong} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index ea7c1cf..0a27789 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone + mtsp.job, mtsp.phone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 1bc285f..09eee0f 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -34,7 +34,7 @@ SELECT mtp.plan_no, mtp.plan_name, mtp.train_person, mtp.train_number, mtp.train_time, mtp.train_hour, mtp.dept_id, sd.SIMPLE_NAME AS dept_name, mtp.effective_company, mtp.director, mtp.train_address, mtp.train_content, mtp.remark AS train_remark, mts.id, mts.staff_id, mts.plan_id, mts.name, mts.company, - mts.technology_job, mts.exam_result, mts.sign_time, mts.remark + mts.technology_job, mts.exam_result, mts.sign_time, mts.remark, mtp.process_id FROM meter_train_plan mtp LEFT JOIN sys_dept sd ON mtp.dept_id = sd.id LEFT JOIN meter_train_staff mts ON mtp.id = mts.plan_id 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 new file mode 100644 index 0000000..a1b096b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java @@ -0,0 +1,31 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/2/9 14:27 + */ +@Data +@ApiModel +public class MeasureProcessDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "检定人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "检定人员", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "检定状态(字典code)", dataType = "String") + private String measureStatus; + @ApiModelProperty(value = "检定状态(字典value)", dataType = "String") + private String measureStatusName; + @ApiModelProperty(value = "应出具证书总数", dataType = "Integer") + private Integer requireCertifications; + @ApiModelProperty(value = "更新时间", dataType = "String") + private String updateTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java new file mode 100644 index 0000000..3c5aa32 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java @@ -0,0 +1,28 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 检定过程的退回信息 + * @Author: wangpeng + * @Date: 2023/2/9 14:43 + */ +@Data +@ApiModel +public class MeasureSendBackDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "退回人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "退回人员名字", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "退回原因", dataType = "String") + private String sendBackReason; + @ApiModelProperty(value = "退回时间", dataType = "String") + private String updateTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java new file mode 100644 index 0000000..38b80e3 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java @@ -0,0 +1,138 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Description: 任务分发-详情 + * @Author: wangpeng + * @Date: 2023/2/9 11:41 + */ +@Data +@ApiModel +public class SampleHandOutDetailResponse { + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "生产厂家", dataType = "String") + private String manufacturer; + + @ApiModelProperty(value = "厂家国别", dataType = "String") + private String manufacturerCountry; + + @ApiModelProperty(value = "出厂年月", dataType = "String") + private String manufacturingDate; + + @ApiModelProperty(value = "ABC", dataType = "String") + private String abc; + + @ApiModelProperty(value = "委托方id", dataType = "Long") + private Long customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托方电话", dataType = "String") + private String phone; + + @ApiModelProperty(value = "委托方邮编", dataType = "String") + private String postalCode; + + @ApiModelProperty(value = "委托方公司地址-国家", dataType = "String") + private String addressCountry; + + @ApiModelProperty(value = "委托方公司地址-省", dataType = "String") + private String addressProvince; + + @ApiModelProperty(value = "委托方公司地址-市", dataType = "String") + private String addressCity; + + @ApiModelProperty(value = "委托方公司地址-区", dataType = "String") + private String addressArea; + + @ApiModelProperty(value = "委托方公司地址-详细地址", dataType = "String") + private String fullAddress; + + @ApiModelProperty(value = "委托方公司地址-国家名字", dataType = "String") + private String addressCountryName; + + @ApiModelProperty(value = "委托方公司地址-省名字", dataType = "String") + private String addressProvinceName; + + @ApiModelProperty(value = "委托方公司地址-市名字", dataType = "String") + private String addressCityName; + + @ApiModelProperty(value = "委托方公司地址-区名字", dataType = "String") + private String addressAreaName; + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private String orderId; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "送样人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送样人联系方式", dataType = "String") + private String delivererTel; + + @ApiModelProperty(value = "预约送达时间", dataType = "String") + private String planDeliverTime; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "检定项目", dataType = "String") + private String measureContent; + + @ApiModelProperty(value = "检定周期(月)", dataType = "String") + private String measurePeriod; + + @ApiModelProperty(value = "检定日期", dataType = "String") + private String measureLastDate; + + @ApiModelProperty(value = "有效日期", dataType = "String") + private String effectiveDate; + + //需求中已删除该字段展示,不展示整个样品的检定结果,只在证书里展示各证书的检定结果 +// @ApiModelProperty(value = "检定结果", dataType = "String") +// private String measureResult; + + @ApiModelProperty(value = "备注", dataType = "String") + private String remark; + + @ApiModelProperty(value = "说明书", dataType = "String") + private String minioFileName; + + @ApiModelProperty(value = "检定方式(字典code)", dataType = "String") + private String measureType; + + @ApiModelProperty(value = "检定方式(字典value)", dataType = "String") + private String measureTypeName; + + @ApiModelProperty(value = "标签绑定", dataType = "String") + private String labelBind; + + @ApiModelProperty(value = "检定流程", dataType = "List") + private List measureProcessList; + + @ApiModelProperty(value = "退回信息", dataType = "List") + private List measureSendBackList; + +} 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 e927df4..6cf5efc 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 @@ -22,6 +22,8 @@ @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class SampleHandOutListResponse { + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; @ApiModelProperty(value = "样品编号", dataType = "String") @ExcelProperty(value = "样品编号", order = 0) @@ -91,7 +93,5 @@ @JsonIgnore private Long orderId; @JsonIgnore - private Long sampleId; - @JsonIgnore private Integer sampleStatus; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java index 2ae1f1d..11420e5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java @@ -12,9 +12,9 @@ */ @Data public class ApprovalRevokeRequest { - @ApiModelProperty("任务id") - @NotBlank(message = "任务id不能为空") - private String taskId; + @ApiModelProperty("流程实例id") + @NotBlank(message = "流程实例id不能为空") + private String processInstanceId; @ApiModelProperty("审批结论/意见") @NotBlank(message = "审批结论/意见不能为空") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java new file mode 100644 index 0000000..f4fa1e8 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java @@ -0,0 +1,14 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Data; + +/** + * @Description: 审批中任务DTO + * @Author: wangpeng + * @Date: 2023/02/09 17:31 + */ +@Data +public class InApprovedDTO { + private String businessKey; + private String processInstanceId; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index d45fdc1..9528373 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,4 +114,7 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") + private String processInstanceId; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index 7b21122..b1048c1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,6 +111,9 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") + private String processInstanceId; + /** * 可选决策项 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java index 776bd46..8893256 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java @@ -116,4 +116,7 @@ */ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + + @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") + private String processInstanceId; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java index 8347cd5..9ecdc32 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java @@ -79,6 +79,12 @@ private String expirationDate; /** + * 检定结果(字典code) + */ + @TableField("measure_result") + private String measureResult; + + /** * 证书报告模板id */ @TableField("template_id") 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 296c6b2..0452c0c 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 @@ -67,7 +67,7 @@ private Integer executeSequence; /** - * 检测状态(备用,维护在flowable) + * 检测状态 */ @TableField("measure_status") private String measureStatus; @@ -85,7 +85,7 @@ private Integer requireCertifications; /** - * 操作时间(分配、检测、拒绝、退回等操作) + * 操作时间(冗余,已在操作记录表中维护操作信息) */ @TableField("operate_time") private String operateTime; 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 ed25a1d..9add926 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 @@ -4,9 +4,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.dto.IdDTO; -import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.HandOutLabExecutiveDTO; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.enums.CurrentSegmentEnum; @@ -21,6 +20,7 @@ import com.casic.missiles.model.business.BusinessLabExecutiveInfo; import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; +import com.casic.missiles.utils.DictCodeUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -50,11 +50,15 @@ private BusinessLabExecutiveOperateLogMapper labExecutiveOperateLogMapper; @Override - public ReturnDTO handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) { + public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ //查询委托书和样品关联表中的各状态的样品 - List handOutList = orderSampleRelationMapper.selectSampleListByStatus(page, handOutListRequest); + Page handOutList = orderSampleRelationMapper.selectSampleListByStatus(page, handOutListRequest); log.info("任务分发-当前查询样品状态为:{}", handOutListRequest.getSampleStatus()); - handOutList.parallelStream().forEach(handOut -> { + List records = handOutList.getRecords(); + if(CollectionUtils.isEmpty(records)){ + return new Page<>(); + } + records.parallelStream().forEach(handOut -> { Long orderId = handOut.getOrderId(); Long sampleId = handOut.getSampleId(); String sampleStatus = handOutListRequest.getSampleStatus(); @@ -97,11 +101,18 @@ break; } }); - return ReturnUtil.success(handOutList); + for (SampleHandOutListResponse record : records) { + DictCodeUtils.convertDictCodeToName(record); + } + return handOutList; } @Override - public ReturnDTO handOutListDetail(IdDTO idDTO) { + public SampleHandOutDetailResponse handOutListDetail(IdDTO idDTO) { + //根据样品id和委托书id查询样品、委托书、委托方 + SampleHandOutDetailResponse sampleDetail = orderSampleRelationMapper.selectSampleDetailById(idDTO.getId()); + + //查询检定流程、退回信息 return null; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java index 8763c42..025f6eb 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java @@ -185,24 +185,23 @@ //设置发起人 Authentication.setAuthenticatedUserId(String.valueOf(user.getId())); - HistoricTaskInstance task = historyService.createHistoricTaskInstanceQuery().taskId(request.getTaskId()).singleResult(); +// HistoricTaskInstance task = historyService.createHistoricTaskInstanceQuery().taskId(request.getTaskId()).singleResult(); // Task task = taskService.createTaskQuery().taskId(request.getTaskId()).singleResult(); //只有发起者才能撤回 HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery() - .processInstanceId(task.getProcessInstanceId()) + .processInstanceId(request.getProcessInstanceId()) .startedBy(String.valueOf(user.getId())) .unfinished() //审批中的流程才能撤回 .singleResult(); if(Objects.isNull(historicProcessInstance)){ - log.error("该用户无审批中的流程,userId:{},processInstanceId:{}, taskId:{}", user.getId(), task.getProcessInstanceId(), request.getTaskId()); + log.error("该用户无审批中的流程,userId:{},processInstanceId:{}", user.getId(), request.getProcessInstanceId()); return ReturnUtil.failed("该用户无审批中的流程"); } //设置取消状态 - runtimeService.updateBusinessStatus(task.getProcessInstanceId(), ApprovalStatusEnum.CANCELED); - - runtimeService.deleteProcessInstance(task.getProcessInstanceId(),"取消"); + runtimeService.updateBusinessStatus(request.getProcessInstanceId(), ApprovalStatusEnum.CANCELED); + runtimeService.deleteProcessInstance(request.getProcessInstanceId(),"取消"); return ReturnUtil.success(); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index fc18af3..7d94027 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -224,7 +224,7 @@ private List handleApprovalStatus(FileApprovalListRequest request) { List approvalList = new ArrayList<>(); - List businessKey = new ArrayList<>(); + List businessKeys = new ArrayList<>(); List list; //先查需要从flowable中查出的 //状态维护放在flowable中比较好,保证flowable和业务中状态的一致性,否则更新业务状态有事务问题 @@ -238,10 +238,10 @@ case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); if(!CollectionUtils.isEmpty(toBeApprovedList)){ - businessKey = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).collect(Collectors.toList()); + businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKey)){ - list = meterFileMapper.selectBatchForApproval(request, businessKey); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = meterFileMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { @@ -255,26 +255,26 @@ break; //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: - businessKey = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKey)){ - list = meterFileMapper.selectBatchForApproval(request, businessKey); + businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = meterFileMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: - businessKey = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKey)){ - list = meterFileMapper.selectBatchForApproval(request, businessKey); + businessKeys = baseApprovalService.getPassedList(request.getFormId()); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = meterFileMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: - businessKey = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 + businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKey)){ - list = meterFileMapper.selectBatchForApproval(request, businessKey); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = meterFileMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); @@ -287,9 +287,9 @@ break; //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: - businessKey = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKey)){ - list = meterFileMapper.selectBatchForApproval(request, businessKey); + businessKeys = baseApprovalService.getCanceledList(request.getFormId()); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = meterFileMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); } break; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java index c450b4c..4f6b6db 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java @@ -206,7 +206,7 @@ private List handleApprovalStatus(TraceSupplierApprovalListRequest request) { List approvalList = new ArrayList<>(); - List businessKey = new ArrayList<>(); + List businessKeys = new ArrayList<>(); List list; switch (request.getApprovalStatus()) { //草稿 @@ -218,10 +218,10 @@ case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); if(!CollectionUtils.isEmpty(toBeApprovedList)){ - businessKey = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).collect(Collectors.toList()); + businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKey)){ - list = traceSupplierMapper.selectBatchForApproval(request, businessKey); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = traceSupplierMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { @@ -237,26 +237,26 @@ break; //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: - businessKey = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKey)){ - list = traceSupplierMapper.selectBatchForApproval(request, businessKey); + businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = traceSupplierMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: - businessKey = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKey)){ - list = traceSupplierMapper.selectBatchForApproval(request, businessKey); + businessKeys = baseApprovalService.getPassedList(request.getFormId()); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = traceSupplierMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: - businessKey = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 + businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKey)){ - list = traceSupplierMapper.selectBatchForApproval(request, businessKey); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = traceSupplierMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); @@ -269,9 +269,9 @@ break; //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: - businessKey = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKey)){ - list = traceSupplierMapper.selectBatchForApproval(request, businessKey); + businessKeys = baseApprovalService.getCanceledList(request.getFormId()); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = traceSupplierMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); } break; 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 2a56792..f5cf538 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 @@ -1,14 +1,19 @@ package com.casic.missiles.controller.business; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; +import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -34,7 +39,7 @@ @Slf4j @RestController @RequestMapping("/business/labExecutive") -public class BusinessLabExecutiveInfoController { +public class BusinessLabExecutiveInfoController extends ExportController { @Autowired private IBusinessLabExecutiveInfoService labExecutiveInfoService; @@ -44,22 +49,23 @@ @ApiOperation("任务分发-查询各状态列表") @PostMapping("/handOutList") @ResponseBody - public ReturnDTO queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) { + public ReturnDTO> queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } + DictCodeUtils.validDictCode(handOutListRequest); Page page = PageFactory.defaultPage(); - return labExecutiveInfoService.handOutListPage(page, handOutListRequest); + return ReturnUtil.success(super.packForBT(labExecutiveInfoService.handOutListPage(page, handOutListRequest))); } /** * 任务分发-详情 */ - @ApiOperation("任务分发-查询各状态列表") + @ApiOperation("任务分发-详情") @PostMapping("/handOutDetail") @ResponseBody - public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { - return labExecutiveInfoService.handOutListDetail(idDTO); + public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { + return ReturnUtil.success(labExecutiveInfoService.handOutListDetail(idDTO)); } /** diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index fe2776c..953e661 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -2,13 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; -import java.util.List; - /** *

* 委托书-样品库关联表 Mapper 接口 @@ -19,5 +18,7 @@ */ public interface BusinessOrderSampleRelationMapper extends BaseMapper { - List selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + Page selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + + SampleHandOutDetailResponse selectSampleDetailById(@Param("id") Long id); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 03e90d8..0be05a5 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -17,7 +17,13 @@ - csi.id AS sample_id,csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, + bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status + + + + + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status @@ -26,10 +32,10 @@ FROM business_order bo JOIN business_order_sample_relation bosr ON bo.id = bosr.order_id JOIN customer_sample_info csi ON csi.id = bosr.sample_id - WHERE is_del = 0 + WHERE bo.is_del = 0 AND (bosr.sample_status = 2 OR bosr.sample_status = 3) - AND require_over_time < NOW() + AND bo.require_over_time < NOW() AND bosr.sample_status = #{request.sampleStatus} @@ -62,4 +68,13 @@ AND csi.sample_belong = #{request.sampleBelong} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index ea7c1cf..0a27789 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone + mtsp.job, mtsp.phone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 1bc285f..09eee0f 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -34,7 +34,7 @@ SELECT mtp.plan_no, mtp.plan_name, mtp.train_person, mtp.train_number, mtp.train_time, mtp.train_hour, mtp.dept_id, sd.SIMPLE_NAME AS dept_name, mtp.effective_company, mtp.director, mtp.train_address, mtp.train_content, mtp.remark AS train_remark, mts.id, mts.staff_id, mts.plan_id, mts.name, mts.company, - mts.technology_job, mts.exam_result, mts.sign_time, mts.remark + mts.technology_job, mts.exam_result, mts.sign_time, mts.remark, mtp.process_id FROM meter_train_plan mtp LEFT JOIN sys_dept sd ON mtp.dept_id = sd.id LEFT JOIN meter_train_staff mts ON mtp.id = mts.plan_id 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 new file mode 100644 index 0000000..a1b096b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java @@ -0,0 +1,31 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/2/9 14:27 + */ +@Data +@ApiModel +public class MeasureProcessDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "检定人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "检定人员", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "检定状态(字典code)", dataType = "String") + private String measureStatus; + @ApiModelProperty(value = "检定状态(字典value)", dataType = "String") + private String measureStatusName; + @ApiModelProperty(value = "应出具证书总数", dataType = "Integer") + private Integer requireCertifications; + @ApiModelProperty(value = "更新时间", dataType = "String") + private String updateTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java new file mode 100644 index 0000000..3c5aa32 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java @@ -0,0 +1,28 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 检定过程的退回信息 + * @Author: wangpeng + * @Date: 2023/2/9 14:43 + */ +@Data +@ApiModel +public class MeasureSendBackDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "退回人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "退回人员名字", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "退回原因", dataType = "String") + private String sendBackReason; + @ApiModelProperty(value = "退回时间", dataType = "String") + private String updateTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java new file mode 100644 index 0000000..38b80e3 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java @@ -0,0 +1,138 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Description: 任务分发-详情 + * @Author: wangpeng + * @Date: 2023/2/9 11:41 + */ +@Data +@ApiModel +public class SampleHandOutDetailResponse { + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "生产厂家", dataType = "String") + private String manufacturer; + + @ApiModelProperty(value = "厂家国别", dataType = "String") + private String manufacturerCountry; + + @ApiModelProperty(value = "出厂年月", dataType = "String") + private String manufacturingDate; + + @ApiModelProperty(value = "ABC", dataType = "String") + private String abc; + + @ApiModelProperty(value = "委托方id", dataType = "Long") + private Long customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托方电话", dataType = "String") + private String phone; + + @ApiModelProperty(value = "委托方邮编", dataType = "String") + private String postalCode; + + @ApiModelProperty(value = "委托方公司地址-国家", dataType = "String") + private String addressCountry; + + @ApiModelProperty(value = "委托方公司地址-省", dataType = "String") + private String addressProvince; + + @ApiModelProperty(value = "委托方公司地址-市", dataType = "String") + private String addressCity; + + @ApiModelProperty(value = "委托方公司地址-区", dataType = "String") + private String addressArea; + + @ApiModelProperty(value = "委托方公司地址-详细地址", dataType = "String") + private String fullAddress; + + @ApiModelProperty(value = "委托方公司地址-国家名字", dataType = "String") + private String addressCountryName; + + @ApiModelProperty(value = "委托方公司地址-省名字", dataType = "String") + private String addressProvinceName; + + @ApiModelProperty(value = "委托方公司地址-市名字", dataType = "String") + private String addressCityName; + + @ApiModelProperty(value = "委托方公司地址-区名字", dataType = "String") + private String addressAreaName; + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private String orderId; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "送样人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送样人联系方式", dataType = "String") + private String delivererTel; + + @ApiModelProperty(value = "预约送达时间", dataType = "String") + private String planDeliverTime; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "检定项目", dataType = "String") + private String measureContent; + + @ApiModelProperty(value = "检定周期(月)", dataType = "String") + private String measurePeriod; + + @ApiModelProperty(value = "检定日期", dataType = "String") + private String measureLastDate; + + @ApiModelProperty(value = "有效日期", dataType = "String") + private String effectiveDate; + + //需求中已删除该字段展示,不展示整个样品的检定结果,只在证书里展示各证书的检定结果 +// @ApiModelProperty(value = "检定结果", dataType = "String") +// private String measureResult; + + @ApiModelProperty(value = "备注", dataType = "String") + private String remark; + + @ApiModelProperty(value = "说明书", dataType = "String") + private String minioFileName; + + @ApiModelProperty(value = "检定方式(字典code)", dataType = "String") + private String measureType; + + @ApiModelProperty(value = "检定方式(字典value)", dataType = "String") + private String measureTypeName; + + @ApiModelProperty(value = "标签绑定", dataType = "String") + private String labelBind; + + @ApiModelProperty(value = "检定流程", dataType = "List") + private List measureProcessList; + + @ApiModelProperty(value = "退回信息", dataType = "List") + private List measureSendBackList; + +} 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 e927df4..6cf5efc 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 @@ -22,6 +22,8 @@ @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class SampleHandOutListResponse { + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; @ApiModelProperty(value = "样品编号", dataType = "String") @ExcelProperty(value = "样品编号", order = 0) @@ -91,7 +93,5 @@ @JsonIgnore private Long orderId; @JsonIgnore - private Long sampleId; - @JsonIgnore private Integer sampleStatus; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java index 2ae1f1d..11420e5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java @@ -12,9 +12,9 @@ */ @Data public class ApprovalRevokeRequest { - @ApiModelProperty("任务id") - @NotBlank(message = "任务id不能为空") - private String taskId; + @ApiModelProperty("流程实例id") + @NotBlank(message = "流程实例id不能为空") + private String processInstanceId; @ApiModelProperty("审批结论/意见") @NotBlank(message = "审批结论/意见不能为空") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java new file mode 100644 index 0000000..f4fa1e8 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java @@ -0,0 +1,14 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Data; + +/** + * @Description: 审批中任务DTO + * @Author: wangpeng + * @Date: 2023/02/09 17:31 + */ +@Data +public class InApprovedDTO { + private String businessKey; + private String processInstanceId; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index d45fdc1..9528373 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,4 +114,7 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") + private String processInstanceId; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index 7b21122..b1048c1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,6 +111,9 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") + private String processInstanceId; + /** * 可选决策项 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java index 776bd46..8893256 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java @@ -116,4 +116,7 @@ */ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + + @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") + private String processInstanceId; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java index 8347cd5..9ecdc32 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java @@ -79,6 +79,12 @@ private String expirationDate; /** + * 检定结果(字典code) + */ + @TableField("measure_result") + private String measureResult; + + /** * 证书报告模板id */ @TableField("template_id") 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 296c6b2..0452c0c 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 @@ -67,7 +67,7 @@ private Integer executeSequence; /** - * 检测状态(备用,维护在flowable) + * 检测状态 */ @TableField("measure_status") private String measureStatus; @@ -85,7 +85,7 @@ private Integer requireCertifications; /** - * 操作时间(分配、检测、拒绝、退回等操作) + * 操作时间(冗余,已在操作记录表中维护操作信息) */ @TableField("operate_time") private String operateTime; 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 ed25a1d..9add926 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 @@ -4,9 +4,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.dto.IdDTO; -import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.HandOutLabExecutiveDTO; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.enums.CurrentSegmentEnum; @@ -21,6 +20,7 @@ import com.casic.missiles.model.business.BusinessLabExecutiveInfo; import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; +import com.casic.missiles.utils.DictCodeUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -50,11 +50,15 @@ private BusinessLabExecutiveOperateLogMapper labExecutiveOperateLogMapper; @Override - public ReturnDTO handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) { + public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ //查询委托书和样品关联表中的各状态的样品 - List handOutList = orderSampleRelationMapper.selectSampleListByStatus(page, handOutListRequest); + Page handOutList = orderSampleRelationMapper.selectSampleListByStatus(page, handOutListRequest); log.info("任务分发-当前查询样品状态为:{}", handOutListRequest.getSampleStatus()); - handOutList.parallelStream().forEach(handOut -> { + List records = handOutList.getRecords(); + if(CollectionUtils.isEmpty(records)){ + return new Page<>(); + } + records.parallelStream().forEach(handOut -> { Long orderId = handOut.getOrderId(); Long sampleId = handOut.getSampleId(); String sampleStatus = handOutListRequest.getSampleStatus(); @@ -97,11 +101,18 @@ break; } }); - return ReturnUtil.success(handOutList); + for (SampleHandOutListResponse record : records) { + DictCodeUtils.convertDictCodeToName(record); + } + return handOutList; } @Override - public ReturnDTO handOutListDetail(IdDTO idDTO) { + public SampleHandOutDetailResponse handOutListDetail(IdDTO idDTO) { + //根据样品id和委托书id查询样品、委托书、委托方 + SampleHandOutDetailResponse sampleDetail = orderSampleRelationMapper.selectSampleDetailById(idDTO.getId()); + + //查询检定流程、退回信息 return null; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java index 8763c42..025f6eb 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java @@ -185,24 +185,23 @@ //设置发起人 Authentication.setAuthenticatedUserId(String.valueOf(user.getId())); - HistoricTaskInstance task = historyService.createHistoricTaskInstanceQuery().taskId(request.getTaskId()).singleResult(); +// HistoricTaskInstance task = historyService.createHistoricTaskInstanceQuery().taskId(request.getTaskId()).singleResult(); // Task task = taskService.createTaskQuery().taskId(request.getTaskId()).singleResult(); //只有发起者才能撤回 HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery() - .processInstanceId(task.getProcessInstanceId()) + .processInstanceId(request.getProcessInstanceId()) .startedBy(String.valueOf(user.getId())) .unfinished() //审批中的流程才能撤回 .singleResult(); if(Objects.isNull(historicProcessInstance)){ - log.error("该用户无审批中的流程,userId:{},processInstanceId:{}, taskId:{}", user.getId(), task.getProcessInstanceId(), request.getTaskId()); + log.error("该用户无审批中的流程,userId:{},processInstanceId:{}", user.getId(), request.getProcessInstanceId()); return ReturnUtil.failed("该用户无审批中的流程"); } //设置取消状态 - runtimeService.updateBusinessStatus(task.getProcessInstanceId(), ApprovalStatusEnum.CANCELED); - - runtimeService.deleteProcessInstance(task.getProcessInstanceId(),"取消"); + runtimeService.updateBusinessStatus(request.getProcessInstanceId(), ApprovalStatusEnum.CANCELED); + runtimeService.deleteProcessInstance(request.getProcessInstanceId(),"取消"); return ReturnUtil.success(); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index fc18af3..7d94027 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -224,7 +224,7 @@ private List handleApprovalStatus(FileApprovalListRequest request) { List approvalList = new ArrayList<>(); - List businessKey = new ArrayList<>(); + List businessKeys = new ArrayList<>(); List list; //先查需要从flowable中查出的 //状态维护放在flowable中比较好,保证flowable和业务中状态的一致性,否则更新业务状态有事务问题 @@ -238,10 +238,10 @@ case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); if(!CollectionUtils.isEmpty(toBeApprovedList)){ - businessKey = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).collect(Collectors.toList()); + businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKey)){ - list = meterFileMapper.selectBatchForApproval(request, businessKey); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = meterFileMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { @@ -255,26 +255,26 @@ break; //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: - businessKey = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKey)){ - list = meterFileMapper.selectBatchForApproval(request, businessKey); + businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = meterFileMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: - businessKey = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKey)){ - list = meterFileMapper.selectBatchForApproval(request, businessKey); + businessKeys = baseApprovalService.getPassedList(request.getFormId()); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = meterFileMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: - businessKey = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 + businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKey)){ - list = meterFileMapper.selectBatchForApproval(request, businessKey); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = meterFileMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); @@ -287,9 +287,9 @@ break; //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: - businessKey = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKey)){ - list = meterFileMapper.selectBatchForApproval(request, businessKey); + businessKeys = baseApprovalService.getCanceledList(request.getFormId()); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = meterFileMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); } break; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java index c450b4c..4f6b6db 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java @@ -206,7 +206,7 @@ private List handleApprovalStatus(TraceSupplierApprovalListRequest request) { List approvalList = new ArrayList<>(); - List businessKey = new ArrayList<>(); + List businessKeys = new ArrayList<>(); List list; switch (request.getApprovalStatus()) { //草稿 @@ -218,10 +218,10 @@ case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); if(!CollectionUtils.isEmpty(toBeApprovedList)){ - businessKey = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).collect(Collectors.toList()); + businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKey)){ - list = traceSupplierMapper.selectBatchForApproval(request, businessKey); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = traceSupplierMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { @@ -237,26 +237,26 @@ break; //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: - businessKey = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKey)){ - list = traceSupplierMapper.selectBatchForApproval(request, businessKey); + businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = traceSupplierMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: - businessKey = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKey)){ - list = traceSupplierMapper.selectBatchForApproval(request, businessKey); + businessKeys = baseApprovalService.getPassedList(request.getFormId()); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = traceSupplierMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: - businessKey = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 + businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKey)){ - list = traceSupplierMapper.selectBatchForApproval(request, businessKey); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = traceSupplierMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); @@ -269,9 +269,9 @@ break; //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: - businessKey = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKey)){ - list = traceSupplierMapper.selectBatchForApproval(request, businessKey); + businessKeys = baseApprovalService.getCanceledList(request.getFormId()); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = traceSupplierMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); } break; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java index 0ca57db..6e8f296 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java @@ -247,7 +247,7 @@ private List handleApprovalStatus(TrainPlanApprovalListRequest request) { List approvalList = new ArrayList<>(); - List businessKey = new ArrayList<>(); + List businessKeys = new ArrayList<>(); List list; //先查需要从flowable中查出的 //状态维护放在flowable中比较好,保证flowable和业务中状态的一致性,否则更新业务状态有事务问题 @@ -261,10 +261,10 @@ case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); if(!CollectionUtils.isEmpty(toBeApprovedList)){ - businessKey = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).collect(Collectors.toList()); + businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKey)){ - list = trainPlanMapper.selectBatchForApproval(request, businessKey); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = trainPlanMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { @@ -278,26 +278,26 @@ break; //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: - businessKey = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKey)){ - list = trainPlanMapper.selectBatchForApproval(request, businessKey); + businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = trainPlanMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: - businessKey = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKey)){ - list = trainPlanMapper.selectBatchForApproval(request, businessKey); + businessKeys = baseApprovalService.getPassedList(request.getFormId()); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = trainPlanMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: - businessKey = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 + businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKey)){ - list = trainPlanMapper.selectBatchForApproval(request, businessKey); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = trainPlanMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); @@ -310,9 +310,9 @@ break; //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: - businessKey = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKey)){ - list = trainPlanMapper.selectBatchForApproval(request, businessKey); + businessKeys = baseApprovalService.getCanceledList(request.getFormId()); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = trainPlanMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); } break; 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 2a56792..f5cf538 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 @@ -1,14 +1,19 @@ package com.casic.missiles.controller.business; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; +import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -34,7 +39,7 @@ @Slf4j @RestController @RequestMapping("/business/labExecutive") -public class BusinessLabExecutiveInfoController { +public class BusinessLabExecutiveInfoController extends ExportController { @Autowired private IBusinessLabExecutiveInfoService labExecutiveInfoService; @@ -44,22 +49,23 @@ @ApiOperation("任务分发-查询各状态列表") @PostMapping("/handOutList") @ResponseBody - public ReturnDTO queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) { + public ReturnDTO> queryHandOutList(@RequestBody @Valid SampleHandOutListRequest handOutListRequest, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } + DictCodeUtils.validDictCode(handOutListRequest); Page page = PageFactory.defaultPage(); - return labExecutiveInfoService.handOutListPage(page, handOutListRequest); + return ReturnUtil.success(super.packForBT(labExecutiveInfoService.handOutListPage(page, handOutListRequest))); } /** * 任务分发-详情 */ - @ApiOperation("任务分发-查询各状态列表") + @ApiOperation("任务分发-详情") @PostMapping("/handOutDetail") @ResponseBody - public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { - return labExecutiveInfoService.handOutListDetail(idDTO); + public ReturnDTO queryHandOutDetail(@RequestBody IdDTO idDTO) { + return ReturnUtil.success(labExecutiveInfoService.handOutListDetail(idDTO)); } /** diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index fe2776c..953e661 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -2,13 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; -import java.util.List; - /** *

* 委托书-样品库关联表 Mapper 接口 @@ -19,5 +18,7 @@ */ public interface BusinessOrderSampleRelationMapper extends BaseMapper { - List selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + Page selectSampleListByStatus(Page page, @Param("request") SampleHandOutListRequest request); + + SampleHandOutDetailResponse selectSampleDetailById(@Param("id") Long id); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 03e90d8..0be05a5 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -17,7 +17,13 @@ - csi.id AS sample_id,csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, + bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status + + + + + csi.id AS sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, bo.order_code AS orderNo, bo.id AS orderId, bo.customer_id, bo.customer_name, bo.deliverer, bo.is_urgent, csi.sample_belong, bo.require_over_time, bosr.sample_status @@ -26,10 +32,10 @@ FROM business_order bo JOIN business_order_sample_relation bosr ON bo.id = bosr.order_id JOIN customer_sample_info csi ON csi.id = bosr.sample_id - WHERE is_del = 0 + WHERE bo.is_del = 0 AND (bosr.sample_status = 2 OR bosr.sample_status = 3) - AND require_over_time < NOW() + AND bo.require_over_time < NOW() AND bosr.sample_status = #{request.sampleStatus} @@ -62,4 +68,13 @@ AND csi.sample_belong = #{request.sampleBelong} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index ea7c1cf..0a27789 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone + mtsp.job, mtsp.phone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index 1bc285f..09eee0f 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -34,7 +34,7 @@ SELECT mtp.plan_no, mtp.plan_name, mtp.train_person, mtp.train_number, mtp.train_time, mtp.train_hour, mtp.dept_id, sd.SIMPLE_NAME AS dept_name, mtp.effective_company, mtp.director, mtp.train_address, mtp.train_content, mtp.remark AS train_remark, mts.id, mts.staff_id, mts.plan_id, mts.name, mts.company, - mts.technology_job, mts.exam_result, mts.sign_time, mts.remark + mts.technology_job, mts.exam_result, mts.sign_time, mts.remark, mtp.process_id FROM meter_train_plan mtp LEFT JOIN sys_dept sd ON mtp.dept_id = sd.id LEFT JOIN meter_train_staff mts ON mtp.id = mts.plan_id 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 new file mode 100644 index 0000000..a1b096b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureProcessDTO.java @@ -0,0 +1,31 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/2/9 14:27 + */ +@Data +@ApiModel +public class MeasureProcessDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "检定人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "检定人员", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "检定状态(字典code)", dataType = "String") + private String measureStatus; + @ApiModelProperty(value = "检定状态(字典value)", dataType = "String") + private String measureStatusName; + @ApiModelProperty(value = "应出具证书总数", dataType = "Integer") + private Integer requireCertifications; + @ApiModelProperty(value = "更新时间", dataType = "String") + private String updateTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java new file mode 100644 index 0000000..3c5aa32 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/MeasureSendBackDTO.java @@ -0,0 +1,28 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 检定过程的退回信息 + * @Author: wangpeng + * @Date: 2023/2/9 14:43 + */ +@Data +@ApiModel +public class MeasureSendBackDTO { + @ApiModelProperty(value = "检定环节,实验室id", dataType = "Long") + private Long measureSegmentId; + @ApiModelProperty(value = "检定环节,实验室名字", dataType = "String") + private String measureSegment; + @ApiModelProperty(value = "退回人员id", dataType = "Long") + private Long measurePersonId; + @ApiModelProperty(value = "退回人员名字", dataType = "String") + private String measurePerson; + @ApiModelProperty(value = "退回原因", dataType = "String") + private String sendBackReason; + @ApiModelProperty(value = "退回时间", dataType = "String") + private String updateTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java new file mode 100644 index 0000000..38b80e3 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java @@ -0,0 +1,138 @@ +package com.casic.missiles.dto.business; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Description: 任务分发-详情 + * @Author: wangpeng + * @Date: 2023/2/9 11:41 + */ +@Data +@ApiModel +public class SampleHandOutDetailResponse { + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "生产厂家", dataType = "String") + private String manufacturer; + + @ApiModelProperty(value = "厂家国别", dataType = "String") + private String manufacturerCountry; + + @ApiModelProperty(value = "出厂年月", dataType = "String") + private String manufacturingDate; + + @ApiModelProperty(value = "ABC", dataType = "String") + private String abc; + + @ApiModelProperty(value = "委托方id", dataType = "Long") + private Long customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托方电话", dataType = "String") + private String phone; + + @ApiModelProperty(value = "委托方邮编", dataType = "String") + private String postalCode; + + @ApiModelProperty(value = "委托方公司地址-国家", dataType = "String") + private String addressCountry; + + @ApiModelProperty(value = "委托方公司地址-省", dataType = "String") + private String addressProvince; + + @ApiModelProperty(value = "委托方公司地址-市", dataType = "String") + private String addressCity; + + @ApiModelProperty(value = "委托方公司地址-区", dataType = "String") + private String addressArea; + + @ApiModelProperty(value = "委托方公司地址-详细地址", dataType = "String") + private String fullAddress; + + @ApiModelProperty(value = "委托方公司地址-国家名字", dataType = "String") + private String addressCountryName; + + @ApiModelProperty(value = "委托方公司地址-省名字", dataType = "String") + private String addressProvinceName; + + @ApiModelProperty(value = "委托方公司地址-市名字", dataType = "String") + private String addressCityName; + + @ApiModelProperty(value = "委托方公司地址-区名字", dataType = "String") + private String addressAreaName; + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private String orderId; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "送样人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送样人联系方式", dataType = "String") + private String delivererTel; + + @ApiModelProperty(value = "预约送达时间", dataType = "String") + private String planDeliverTime; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "检定项目", dataType = "String") + private String measureContent; + + @ApiModelProperty(value = "检定周期(月)", dataType = "String") + private String measurePeriod; + + @ApiModelProperty(value = "检定日期", dataType = "String") + private String measureLastDate; + + @ApiModelProperty(value = "有效日期", dataType = "String") + private String effectiveDate; + + //需求中已删除该字段展示,不展示整个样品的检定结果,只在证书里展示各证书的检定结果 +// @ApiModelProperty(value = "检定结果", dataType = "String") +// private String measureResult; + + @ApiModelProperty(value = "备注", dataType = "String") + private String remark; + + @ApiModelProperty(value = "说明书", dataType = "String") + private String minioFileName; + + @ApiModelProperty(value = "检定方式(字典code)", dataType = "String") + private String measureType; + + @ApiModelProperty(value = "检定方式(字典value)", dataType = "String") + private String measureTypeName; + + @ApiModelProperty(value = "标签绑定", dataType = "String") + private String labelBind; + + @ApiModelProperty(value = "检定流程", dataType = "List") + private List measureProcessList; + + @ApiModelProperty(value = "退回信息", dataType = "List") + private List measureSendBackList; + +} 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 e927df4..6cf5efc 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 @@ -22,6 +22,8 @@ @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) @ExcelIgnoreUnannotated public class SampleHandOutListResponse { + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; @ApiModelProperty(value = "样品编号", dataType = "String") @ExcelProperty(value = "样品编号", order = 0) @@ -91,7 +93,5 @@ @JsonIgnore private Long orderId; @JsonIgnore - private Long sampleId; - @JsonIgnore private Integer sampleStatus; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java index 2ae1f1d..11420e5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ApprovalRevokeRequest.java @@ -12,9 +12,9 @@ */ @Data public class ApprovalRevokeRequest { - @ApiModelProperty("任务id") - @NotBlank(message = "任务id不能为空") - private String taskId; + @ApiModelProperty("流程实例id") + @NotBlank(message = "流程实例id不能为空") + private String processInstanceId; @ApiModelProperty("审批结论/意见") @NotBlank(message = "审批结论/意见不能为空") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java new file mode 100644 index 0000000..f4fa1e8 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/InApprovedDTO.java @@ -0,0 +1,14 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Data; + +/** + * @Description: 审批中任务DTO + * @Author: wangpeng + * @Date: 2023/02/09 17:31 + */ +@Data +public class InApprovedDTO { + private String businessKey; + private String processInstanceId; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index d45fdc1..9528373 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -114,4 +114,7 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") + private String processInstanceId; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java index 7b21122..b1048c1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TraceSupplierApprovalListResponse.java @@ -111,6 +111,9 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") + private String processInstanceId; + /** * 可选决策项 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java index 776bd46..8893256 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/TrainPlanApprovalListResponse.java @@ -116,4 +116,7 @@ */ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + + @ApiModelProperty(value = "流程实例id(取消操作使用)", dataType = "String") + private String processInstanceId; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java index 8347cd5..9ecdc32 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java @@ -79,6 +79,12 @@ private String expirationDate; /** + * 检定结果(字典code) + */ + @TableField("measure_result") + private String measureResult; + + /** * 证书报告模板id */ @TableField("template_id") 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 296c6b2..0452c0c 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 @@ -67,7 +67,7 @@ private Integer executeSequence; /** - * 检测状态(备用,维护在flowable) + * 检测状态 */ @TableField("measure_status") private String measureStatus; @@ -85,7 +85,7 @@ private Integer requireCertifications; /** - * 操作时间(分配、检测、拒绝、退回等操作) + * 操作时间(冗余,已在操作记录表中维护操作信息) */ @TableField("operate_time") private String operateTime; 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 ed25a1d..9add926 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 @@ -4,9 +4,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.dto.IdDTO; -import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.HandOutLabExecutiveDTO; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.enums.CurrentSegmentEnum; @@ -21,6 +20,7 @@ import com.casic.missiles.model.business.BusinessLabExecutiveInfo; import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; +import com.casic.missiles.utils.DictCodeUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -50,11 +50,15 @@ private BusinessLabExecutiveOperateLogMapper labExecutiveOperateLogMapper; @Override - public ReturnDTO handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) { + public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ //查询委托书和样品关联表中的各状态的样品 - List handOutList = orderSampleRelationMapper.selectSampleListByStatus(page, handOutListRequest); + Page handOutList = orderSampleRelationMapper.selectSampleListByStatus(page, handOutListRequest); log.info("任务分发-当前查询样品状态为:{}", handOutListRequest.getSampleStatus()); - handOutList.parallelStream().forEach(handOut -> { + List records = handOutList.getRecords(); + if(CollectionUtils.isEmpty(records)){ + return new Page<>(); + } + records.parallelStream().forEach(handOut -> { Long orderId = handOut.getOrderId(); Long sampleId = handOut.getSampleId(); String sampleStatus = handOutListRequest.getSampleStatus(); @@ -97,11 +101,18 @@ break; } }); - return ReturnUtil.success(handOutList); + for (SampleHandOutListResponse record : records) { + DictCodeUtils.convertDictCodeToName(record); + } + return handOutList; } @Override - public ReturnDTO handOutListDetail(IdDTO idDTO) { + public SampleHandOutDetailResponse handOutListDetail(IdDTO idDTO) { + //根据样品id和委托书id查询样品、委托书、委托方 + SampleHandOutDetailResponse sampleDetail = orderSampleRelationMapper.selectSampleDetailById(idDTO.getId()); + + //查询检定流程、退回信息 return null; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java index 8763c42..025f6eb 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java @@ -185,24 +185,23 @@ //设置发起人 Authentication.setAuthenticatedUserId(String.valueOf(user.getId())); - HistoricTaskInstance task = historyService.createHistoricTaskInstanceQuery().taskId(request.getTaskId()).singleResult(); +// HistoricTaskInstance task = historyService.createHistoricTaskInstanceQuery().taskId(request.getTaskId()).singleResult(); // Task task = taskService.createTaskQuery().taskId(request.getTaskId()).singleResult(); //只有发起者才能撤回 HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery() - .processInstanceId(task.getProcessInstanceId()) + .processInstanceId(request.getProcessInstanceId()) .startedBy(String.valueOf(user.getId())) .unfinished() //审批中的流程才能撤回 .singleResult(); if(Objects.isNull(historicProcessInstance)){ - log.error("该用户无审批中的流程,userId:{},processInstanceId:{}, taskId:{}", user.getId(), task.getProcessInstanceId(), request.getTaskId()); + log.error("该用户无审批中的流程,userId:{},processInstanceId:{}", user.getId(), request.getProcessInstanceId()); return ReturnUtil.failed("该用户无审批中的流程"); } //设置取消状态 - runtimeService.updateBusinessStatus(task.getProcessInstanceId(), ApprovalStatusEnum.CANCELED); - - runtimeService.deleteProcessInstance(task.getProcessInstanceId(),"取消"); + runtimeService.updateBusinessStatus(request.getProcessInstanceId(), ApprovalStatusEnum.CANCELED); + runtimeService.deleteProcessInstance(request.getProcessInstanceId(),"取消"); return ReturnUtil.success(); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index fc18af3..7d94027 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -224,7 +224,7 @@ private List handleApprovalStatus(FileApprovalListRequest request) { List approvalList = new ArrayList<>(); - List businessKey = new ArrayList<>(); + List businessKeys = new ArrayList<>(); List list; //先查需要从flowable中查出的 //状态维护放在flowable中比较好,保证flowable和业务中状态的一致性,否则更新业务状态有事务问题 @@ -238,10 +238,10 @@ case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); if(!CollectionUtils.isEmpty(toBeApprovedList)){ - businessKey = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).collect(Collectors.toList()); + businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKey)){ - list = meterFileMapper.selectBatchForApproval(request, businessKey); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = meterFileMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { @@ -255,26 +255,26 @@ break; //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: - businessKey = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKey)){ - list = meterFileMapper.selectBatchForApproval(request, businessKey); + businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = meterFileMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: - businessKey = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKey)){ - list = meterFileMapper.selectBatchForApproval(request, businessKey); + businessKeys = baseApprovalService.getPassedList(request.getFormId()); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = meterFileMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: - businessKey = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 + businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKey)){ - list = meterFileMapper.selectBatchForApproval(request, businessKey); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = meterFileMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); @@ -287,9 +287,9 @@ break; //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: - businessKey = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKey)){ - list = meterFileMapper.selectBatchForApproval(request, businessKey); + businessKeys = baseApprovalService.getCanceledList(request.getFormId()); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = meterFileMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); } break; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java index c450b4c..4f6b6db 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java @@ -206,7 +206,7 @@ private List handleApprovalStatus(TraceSupplierApprovalListRequest request) { List approvalList = new ArrayList<>(); - List businessKey = new ArrayList<>(); + List businessKeys = new ArrayList<>(); List list; switch (request.getApprovalStatus()) { //草稿 @@ -218,10 +218,10 @@ case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); if(!CollectionUtils.isEmpty(toBeApprovedList)){ - businessKey = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).collect(Collectors.toList()); + businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKey)){ - list = traceSupplierMapper.selectBatchForApproval(request, businessKey); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = traceSupplierMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { @@ -237,26 +237,26 @@ break; //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: - businessKey = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKey)){ - list = traceSupplierMapper.selectBatchForApproval(request, businessKey); + businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = traceSupplierMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: - businessKey = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKey)){ - list = traceSupplierMapper.selectBatchForApproval(request, businessKey); + businessKeys = baseApprovalService.getPassedList(request.getFormId()); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = traceSupplierMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: - businessKey = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 + businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKey)){ - list = traceSupplierMapper.selectBatchForApproval(request, businessKey); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = traceSupplierMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); @@ -269,9 +269,9 @@ break; //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: - businessKey = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKey)){ - list = traceSupplierMapper.selectBatchForApproval(request, businessKey); + businessKeys = baseApprovalService.getCanceledList(request.getFormId()); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = traceSupplierMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); } break; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java index 0ca57db..6e8f296 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java @@ -247,7 +247,7 @@ private List handleApprovalStatus(TrainPlanApprovalListRequest request) { List approvalList = new ArrayList<>(); - List businessKey = new ArrayList<>(); + List businessKeys = new ArrayList<>(); List list; //先查需要从flowable中查出的 //状态维护放在flowable中比较好,保证flowable和业务中状态的一致性,否则更新业务状态有事务问题 @@ -261,10 +261,10 @@ case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); if(!CollectionUtils.isEmpty(toBeApprovedList)){ - businessKey = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).collect(Collectors.toList()); + businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKey)){ - list = trainPlanMapper.selectBatchForApproval(request, businessKey); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = trainPlanMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { @@ -278,26 +278,26 @@ break; //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: - businessKey = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKey)){ - list = trainPlanMapper.selectBatchForApproval(request, businessKey); + businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = trainPlanMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: - businessKey = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKey)){ - list = trainPlanMapper.selectBatchForApproval(request, businessKey); + businessKeys = baseApprovalService.getPassedList(request.getFormId()); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = trainPlanMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: - businessKey = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 + businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKey)){ - list = trainPlanMapper.selectBatchForApproval(request, businessKey); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = trainPlanMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); @@ -310,9 +310,9 @@ break; //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: - businessKey = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKey)){ - list = trainPlanMapper.selectBatchForApproval(request, businessKey); + businessKeys = baseApprovalService.getCanceledList(request.getFormId()); + if(!CollectionUtils.isEmpty(businessKeys)){ + list = trainPlanMapper.selectBatchForApproval(request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); } break; 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 c8cb6c6..570127e 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 @@ -3,7 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.dto.IdDTO; -import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.business.SampleHandOutDetailResponse; import com.casic.missiles.dto.business.SampleHandOutListRequest; import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.model.business.BusinessLabExecutiveInfo; @@ -18,7 +18,7 @@ */ public interface IBusinessLabExecutiveInfoService extends IService { - ReturnDTO handOutListPage(Page page, SampleHandOutListRequest handOutListRequest); + Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception; - ReturnDTO handOutListDetail(IdDTO idDTO); + SampleHandOutDetailResponse handOutListDetail(IdDTO idDTO); }