diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index ae7a28d..4461f67 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -119,13 +120,20 @@ return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); } + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; + } + @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index ae7a28d..4461f67 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -119,13 +120,20 @@ return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); } + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; + } + @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index c7d6b3f..101a5d0 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -10,9 +10,9 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; -import com.casic.missiles.dto.customer.sample.MeasureRecordsIdRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -94,20 +94,18 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id或客户id查询检定记录") - @PostMapping("/measureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody MeasureRecordsIdRequest recordsIdRequest) { - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(recordsIdRequest))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/certificateRecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(customerSampleService.certificateRecordsById(customerSampleIdRequest))); } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index ae7a28d..4461f67 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -119,13 +120,20 @@ return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); } + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; + } + @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index c7d6b3f..101a5d0 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -10,9 +10,9 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; -import com.casic.missiles.dto.customer.sample.MeasureRecordsIdRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -94,20 +94,18 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id或客户id查询检定记录") - @PostMapping("/measureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody MeasureRecordsIdRequest recordsIdRequest) { - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(recordsIdRequest))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/certificateRecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(customerSampleService.certificateRecordsById(customerSampleIdRequest))); } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index ae7a28d..4461f67 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -119,13 +120,20 @@ return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); } + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; + } + @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index c7d6b3f..101a5d0 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -10,9 +10,9 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; -import com.casic.missiles.dto.customer.sample.MeasureRecordsIdRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -94,20 +94,18 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id或客户id查询检定记录") - @PostMapping("/measureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody MeasureRecordsIdRequest recordsIdRequest) { - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(recordsIdRequest))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/certificateRecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(customerSampleService.certificateRecordsById(customerSampleIdRequest))); } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index 8b73201..ebb38b7 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,8 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.MeasureRecordsIdRequest; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -12,7 +13,9 @@ Long selectMaxSampleNo(); - Page measureRecordsBySampleId(Page page, @Param("request") MeasureRecordsIdRequest recordsIdRequest); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); Page samplesByOderId(Page page, diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index ae7a28d..4461f67 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -119,13 +120,20 @@ return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); } + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; + } + @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index c7d6b3f..101a5d0 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -10,9 +10,9 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; -import com.casic.missiles.dto.customer.sample.MeasureRecordsIdRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -94,20 +94,18 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id或客户id查询检定记录") - @PostMapping("/measureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody MeasureRecordsIdRequest recordsIdRequest) { - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(recordsIdRequest))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/certificateRecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(customerSampleService.certificateRecordsById(customerSampleIdRequest))); } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index 8b73201..ebb38b7 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,8 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.MeasureRecordsIdRequest; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -12,7 +13,9 @@ Long selectMaxSampleNo(); - Page measureRecordsBySampleId(Page page, @Param("request") MeasureRecordsIdRequest recordsIdRequest); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); Page samplesByOderId(Page page, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index ae7a28d..4461f67 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -119,13 +120,20 @@ return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); } + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; + } + @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index c7d6b3f..101a5d0 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -10,9 +10,9 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; -import com.casic.missiles.dto.customer.sample.MeasureRecordsIdRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -94,20 +94,18 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id或客户id查询检定记录") - @PostMapping("/measureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody MeasureRecordsIdRequest recordsIdRequest) { - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(recordsIdRequest))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/certificateRecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(customerSampleService.certificateRecordsById(customerSampleIdRequest))); } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index 8b73201..ebb38b7 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,8 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.MeasureRecordsIdRequest; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -12,7 +13,9 @@ Long selectMaxSampleNo(); - Page measureRecordsBySampleId(Page page, @Param("request") MeasureRecordsIdRequest recordsIdRequest); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); Page samplesByOderId(Page page, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml index 3657cfd..5aedb18 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,10 +42,10 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index ae7a28d..4461f67 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -119,13 +120,20 @@ return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); } + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; + } + @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index c7d6b3f..101a5d0 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -10,9 +10,9 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; -import com.casic.missiles.dto.customer.sample.MeasureRecordsIdRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -94,20 +94,18 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id或客户id查询检定记录") - @PostMapping("/measureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody MeasureRecordsIdRequest recordsIdRequest) { - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(recordsIdRequest))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/certificateRecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(customerSampleService.certificateRecordsById(customerSampleIdRequest))); } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index 8b73201..ebb38b7 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,8 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.MeasureRecordsIdRequest; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -12,7 +13,9 @@ Long selectMaxSampleNo(); - Page measureRecordsBySampleId(Page page, @Param("request") MeasureRecordsIdRequest recordsIdRequest); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); Page samplesByOderId(Page page, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml index 3657cfd..5aedb18 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,10 +42,10 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index ae7a28d..4461f67 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -119,13 +120,20 @@ return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); } + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; + } + @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index c7d6b3f..101a5d0 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -10,9 +10,9 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; -import com.casic.missiles.dto.customer.sample.MeasureRecordsIdRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -94,20 +94,18 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id或客户id查询检定记录") - @PostMapping("/measureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody MeasureRecordsIdRequest recordsIdRequest) { - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(recordsIdRequest))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/certificateRecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(customerSampleService.certificateRecordsById(customerSampleIdRequest))); } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index 8b73201..ebb38b7 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,8 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.MeasureRecordsIdRequest; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -12,7 +13,9 @@ Long selectMaxSampleNo(); - Page measureRecordsBySampleId(Page page, @Param("request") MeasureRecordsIdRequest recordsIdRequest); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); Page samplesByOderId(Page page, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml index 3657cfd..5aedb18 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,10 +42,10 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS 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 cff5fc5..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -33,7 +33,7 @@ SELECT bosr.id,csi.id AS "sampleId", csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no,bo.order_code, bo.id AS orderId,bo.customer_id,bo.customer_name,bo.customer_no,bo.deliverer,bo.is_urgent,csi.sample_belong, bo.require_over_time,bosr.sample_status,bosr.real_deliver_time AS "realDeliverTime",csi.measure_type AS "measureType", - bo.is_urgent AS "isUrgent" + bo.is_urgent AS "isUrgent",plan_deliver_time AS "planDeliverTime" FROM ( SELECT * diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index ae7a28d..4461f67 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -119,13 +120,20 @@ return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); } + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; + } + @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index c7d6b3f..101a5d0 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -10,9 +10,9 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; -import com.casic.missiles.dto.customer.sample.MeasureRecordsIdRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -94,20 +94,18 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id或客户id查询检定记录") - @PostMapping("/measureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody MeasureRecordsIdRequest recordsIdRequest) { - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(recordsIdRequest))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/certificateRecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(customerSampleService.certificateRecordsById(customerSampleIdRequest))); } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index 8b73201..ebb38b7 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,8 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.MeasureRecordsIdRequest; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -12,7 +13,9 @@ Long selectMaxSampleNo(); - Page measureRecordsBySampleId(Page page, @Param("request") MeasureRecordsIdRequest recordsIdRequest); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); Page samplesByOderId(Page page, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml index 3657cfd..5aedb18 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,10 +42,10 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS 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 cff5fc5..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -33,7 +33,7 @@ SELECT bosr.id,csi.id AS "sampleId", csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no,bo.order_code, bo.id AS orderId,bo.customer_id,bo.customer_name,bo.customer_no,bo.deliverer,bo.is_urgent,csi.sample_belong, bo.require_over_time,bosr.sample_status,bosr.real_deliver_time AS "realDeliverTime",csi.measure_type AS "measureType", - bo.is_urgent AS "isUrgent" + bo.is_urgent AS "isUrgent",plan_deliver_time AS "planDeliverTime" FROM ( SELECT * diff --git a/casic-metering-dao/src/main/resources/mapper/customer/CustomerSampleMapper.xml b/casic-metering-dao/src/main/resources/mapper/customer/CustomerSampleMapper.xml index e7f5950..893a2ff 100644 --- a/casic-metering-dao/src/main/resources/mapper/customer/CustomerSampleMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/customer/CustomerSampleMapper.xml @@ -7,41 +7,56 @@ FROM customer_sample_info - SELECT order_id AS "orderId",order_code AS "orderCode",order_time AS orderTime, customer_no AS customerCode,customer_name AS "customerName",deliverer,real_deliver_time AS "deliverTime" FROM ( - SELECT id - FROM customer_sample_info csi - WHERE csi.is_del =0 - - AND csi.id=#{request.sampleId} - - - AND csi.customer_id=#{request.customerId } - + SELECT id + FROM customer_sample_info csi + WHERE csi.is_del =0 + + AND csi.id=#{request.sampleId} + + + AND csi.customer_id=#{request.customerId } + )csi JOIN ( - SELECT sample_id,order_id,real_deliver_time - FROM business_order_sample_relation - WHERE 1=1 - - AND sample_id=#{request.sampleId} - + SELECT sample_id,order_id,real_deliver_time + FROM business_order_sample_relation + WHERE 1=1 + + AND sample_id=#{request.sampleId} + )bosr ON bosr.sample_id=csi.id JOIN ( - SELECT * - FROM business_order - WHERE is_del =0 - - AND customer_id=#{request.customerId} - + SELECT * + FROM business_order + WHERE is_del =0 + + AND customer_id=#{request.customerId} + )bo ON bo.id=bosr.order_id ORDER BY bosr.real_deliver_time DESC + + + - SELECT order_id AS "orderId",order_code AS "orderCode",order_time AS orderTime, customer_no AS customerCode,customer_name AS "customerName",deliverer,real_deliver_time AS "deliverTime" FROM ( - SELECT id - FROM customer_sample_info csi - WHERE csi.is_del =0 - - AND csi.id=#{request.sampleId} - - - AND csi.customer_id=#{request.customerId } - + SELECT id + FROM customer_sample_info csi + WHERE csi.is_del =0 + + AND csi.id=#{request.sampleId} + + + AND csi.customer_id=#{request.customerId } + )csi JOIN ( - SELECT sample_id,order_id,real_deliver_time - FROM business_order_sample_relation - WHERE 1=1 - - AND sample_id=#{request.sampleId} - + SELECT sample_id,order_id,real_deliver_time + FROM business_order_sample_relation + WHERE 1=1 + + AND sample_id=#{request.sampleId} + )bosr ON bosr.sample_id=csi.id JOIN ( - SELECT * - FROM business_order - WHERE is_del =0 - - AND customer_id=#{request.customerId} - + SELECT * + FROM business_order + WHERE is_del =0 + + AND customer_id=#{request.customerId} + )bo ON bo.id=bosr.order_id ORDER BY bosr.real_deliver_time DESC + + + - SELECT order_id AS "orderId",order_code AS "orderCode",order_time AS orderTime, customer_no AS customerCode,customer_name AS "customerName",deliverer,real_deliver_time AS "deliverTime" FROM ( - SELECT id - FROM customer_sample_info csi - WHERE csi.is_del =0 - - AND csi.id=#{request.sampleId} - - - AND csi.customer_id=#{request.customerId } - + SELECT id + FROM customer_sample_info csi + WHERE csi.is_del =0 + + AND csi.id=#{request.sampleId} + + + AND csi.customer_id=#{request.customerId } + )csi JOIN ( - SELECT sample_id,order_id,real_deliver_time - FROM business_order_sample_relation - WHERE 1=1 - - AND sample_id=#{request.sampleId} - + SELECT sample_id,order_id,real_deliver_time + FROM business_order_sample_relation + WHERE 1=1 + + AND sample_id=#{request.sampleId} + )bosr ON bosr.sample_id=csi.id JOIN ( - SELECT * - FROM business_order - WHERE is_del =0 - - AND customer_id=#{request.customerId} - + SELECT * + FROM business_order + WHERE is_del =0 + + AND customer_id=#{request.customerId} + )bo ON bo.id=bosr.order_id ORDER BY bosr.real_deliver_time DESC + + + - SELECT order_id AS "orderId",order_code AS "orderCode",order_time AS orderTime, customer_no AS customerCode,customer_name AS "customerName",deliverer,real_deliver_time AS "deliverTime" FROM ( - SELECT id - FROM customer_sample_info csi - WHERE csi.is_del =0 - - AND csi.id=#{request.sampleId} - - - AND csi.customer_id=#{request.customerId } - + SELECT id + FROM customer_sample_info csi + WHERE csi.is_del =0 + + AND csi.id=#{request.sampleId} + + + AND csi.customer_id=#{request.customerId } + )csi JOIN ( - SELECT sample_id,order_id,real_deliver_time - FROM business_order_sample_relation - WHERE 1=1 - - AND sample_id=#{request.sampleId} - + SELECT sample_id,order_id,real_deliver_time + FROM business_order_sample_relation + WHERE 1=1 + + AND sample_id=#{request.sampleId} + )bosr ON bosr.sample_id=csi.id JOIN ( - SELECT * - FROM business_order - WHERE is_del =0 - - AND customer_id=#{request.customerId} - + SELECT * + FROM business_order + WHERE is_del =0 + + AND customer_id=#{request.customerId} + )bo ON bo.id=bosr.order_id ORDER BY bosr.real_deliver_time DESC + + + - SELECT order_id AS "orderId",order_code AS "orderCode",order_time AS orderTime, customer_no AS customerCode,customer_name AS "customerName",deliverer,real_deliver_time AS "deliverTime" FROM ( - SELECT id - FROM customer_sample_info csi - WHERE csi.is_del =0 - - AND csi.id=#{request.sampleId} - - - AND csi.customer_id=#{request.customerId } - + SELECT id + FROM customer_sample_info csi + WHERE csi.is_del =0 + + AND csi.id=#{request.sampleId} + + + AND csi.customer_id=#{request.customerId } + )csi JOIN ( - SELECT sample_id,order_id,real_deliver_time - FROM business_order_sample_relation - WHERE 1=1 - - AND sample_id=#{request.sampleId} - + SELECT sample_id,order_id,real_deliver_time + FROM business_order_sample_relation + WHERE 1=1 + + AND sample_id=#{request.sampleId} + )bosr ON bosr.sample_id=csi.id JOIN ( - SELECT * - FROM business_order - WHERE is_del =0 - - AND customer_id=#{request.customerId} - + SELECT * + FROM business_order + WHERE is_del =0 + + AND customer_id=#{request.customerId} + )bo ON bo.id=bosr.order_id ORDER BY bosr.real_deliver_time DESC + + + - SELECT order_id AS "orderId",order_code AS "orderCode",order_time AS orderTime, customer_no AS customerCode,customer_name AS "customerName",deliverer,real_deliver_time AS "deliverTime" FROM ( - SELECT id - FROM customer_sample_info csi - WHERE csi.is_del =0 - - AND csi.id=#{request.sampleId} - - - AND csi.customer_id=#{request.customerId } - + SELECT id + FROM customer_sample_info csi + WHERE csi.is_del =0 + + AND csi.id=#{request.sampleId} + + + AND csi.customer_id=#{request.customerId } + )csi JOIN ( - SELECT sample_id,order_id,real_deliver_time - FROM business_order_sample_relation - WHERE 1=1 - - AND sample_id=#{request.sampleId} - + SELECT sample_id,order_id,real_deliver_time + FROM business_order_sample_relation + WHERE 1=1 + + AND sample_id=#{request.sampleId} + )bosr ON bosr.sample_id=csi.id JOIN ( - SELECT * - FROM business_order - WHERE is_del =0 - - AND customer_id=#{request.customerId} - + SELECT * + FROM business_order + WHERE is_del =0 + + AND customer_id=#{request.customerId} + )bo ON bo.id=bosr.order_id ORDER BY bosr.real_deliver_time DESC + + + - SELECT order_id AS "orderId",order_code AS "orderCode",order_time AS orderTime, customer_no AS customerCode,customer_name AS "customerName",deliverer,real_deliver_time AS "deliverTime" FROM ( - SELECT id - FROM customer_sample_info csi - WHERE csi.is_del =0 - - AND csi.id=#{request.sampleId} - - - AND csi.customer_id=#{request.customerId } - + SELECT id + FROM customer_sample_info csi + WHERE csi.is_del =0 + + AND csi.id=#{request.sampleId} + + + AND csi.customer_id=#{request.customerId } + )csi JOIN ( - SELECT sample_id,order_id,real_deliver_time - FROM business_order_sample_relation - WHERE 1=1 - - AND sample_id=#{request.sampleId} - + SELECT sample_id,order_id,real_deliver_time + FROM business_order_sample_relation + WHERE 1=1 + + AND sample_id=#{request.sampleId} + )bosr ON bosr.sample_id=csi.id JOIN ( - SELECT * - FROM business_order - WHERE is_del =0 - - AND customer_id=#{request.customerId} - + SELECT * + FROM business_order + WHERE is_del =0 + + AND customer_id=#{request.customerId} + )bo ON bo.id=bosr.order_id ORDER BY bosr.real_deliver_time DESC + + + - SELECT order_id AS "orderId",order_code AS "orderCode",order_time AS orderTime, customer_no AS customerCode,customer_name AS "customerName",deliverer,real_deliver_time AS "deliverTime" FROM ( - SELECT id - FROM customer_sample_info csi - WHERE csi.is_del =0 - - AND csi.id=#{request.sampleId} - - - AND csi.customer_id=#{request.customerId } - + SELECT id + FROM customer_sample_info csi + WHERE csi.is_del =0 + + AND csi.id=#{request.sampleId} + + + AND csi.customer_id=#{request.customerId } + )csi JOIN ( - SELECT sample_id,order_id,real_deliver_time - FROM business_order_sample_relation - WHERE 1=1 - - AND sample_id=#{request.sampleId} - + SELECT sample_id,order_id,real_deliver_time + FROM business_order_sample_relation + WHERE 1=1 + + AND sample_id=#{request.sampleId} + )bosr ON bosr.sample_id=csi.id JOIN ( - SELECT * - FROM business_order - WHERE is_del =0 - - AND customer_id=#{request.customerId} - + SELECT * + FROM business_order + WHERE is_del =0 + + AND customer_id=#{request.customerId} + )bo ON bo.id=bosr.order_id ORDER BY bosr.real_deliver_time DESC + + + - SELECT order_id AS "orderId",order_code AS "orderCode",order_time AS orderTime, customer_no AS customerCode,customer_name AS "customerName",deliverer,real_deliver_time AS "deliverTime" FROM ( - SELECT id - FROM customer_sample_info csi - WHERE csi.is_del =0 - - AND csi.id=#{request.sampleId} - - - AND csi.customer_id=#{request.customerId } - + SELECT id + FROM customer_sample_info csi + WHERE csi.is_del =0 + + AND csi.id=#{request.sampleId} + + + AND csi.customer_id=#{request.customerId } + )csi JOIN ( - SELECT sample_id,order_id,real_deliver_time - FROM business_order_sample_relation - WHERE 1=1 - - AND sample_id=#{request.sampleId} - + SELECT sample_id,order_id,real_deliver_time + FROM business_order_sample_relation + WHERE 1=1 + + AND sample_id=#{request.sampleId} + )bosr ON bosr.sample_id=csi.id JOIN ( - SELECT * - FROM business_order - WHERE is_del =0 - - AND customer_id=#{request.customerId} - + SELECT * + FROM business_order + WHERE is_del =0 + + AND customer_id=#{request.customerId} + )bo ON bo.id=bosr.order_id ORDER BY bosr.real_deliver_time DESC + + + - SELECT order_id AS "orderId",order_code AS "orderCode",order_time AS orderTime, customer_no AS customerCode,customer_name AS "customerName",deliverer,real_deliver_time AS "deliverTime" FROM ( - SELECT id - FROM customer_sample_info csi - WHERE csi.is_del =0 - - AND csi.id=#{request.sampleId} - - - AND csi.customer_id=#{request.customerId } - + SELECT id + FROM customer_sample_info csi + WHERE csi.is_del =0 + + AND csi.id=#{request.sampleId} + + + AND csi.customer_id=#{request.customerId } + )csi JOIN ( - SELECT sample_id,order_id,real_deliver_time - FROM business_order_sample_relation - WHERE 1=1 - - AND sample_id=#{request.sampleId} - + SELECT sample_id,order_id,real_deliver_time + FROM business_order_sample_relation + WHERE 1=1 + + AND sample_id=#{request.sampleId} + )bosr ON bosr.sample_id=csi.id JOIN ( - SELECT * - FROM business_order - WHERE is_del =0 - - AND customer_id=#{request.customerId} - + SELECT * + FROM business_order + WHERE is_del =0 + + AND customer_id=#{request.customerId} + )bo ON bo.id=bosr.order_id ORDER BY bosr.real_deliver_time DESC + + + - SELECT order_id AS "orderId",order_code AS "orderCode",order_time AS orderTime, customer_no AS customerCode,customer_name AS "customerName",deliverer,real_deliver_time AS "deliverTime" FROM ( - SELECT id - FROM customer_sample_info csi - WHERE csi.is_del =0 - - AND csi.id=#{request.sampleId} - - - AND csi.customer_id=#{request.customerId } - + SELECT id + FROM customer_sample_info csi + WHERE csi.is_del =0 + + AND csi.id=#{request.sampleId} + + + AND csi.customer_id=#{request.customerId } + )csi JOIN ( - SELECT sample_id,order_id,real_deliver_time - FROM business_order_sample_relation - WHERE 1=1 - - AND sample_id=#{request.sampleId} - + SELECT sample_id,order_id,real_deliver_time + FROM business_order_sample_relation + WHERE 1=1 + + AND sample_id=#{request.sampleId} + )bosr ON bosr.sample_id=csi.id JOIN ( - SELECT * - FROM business_order - WHERE is_del =0 - - AND customer_id=#{request.customerId} - + SELECT * + FROM business_order + WHERE is_del =0 + + AND customer_id=#{request.customerId} + )bo ON bo.id=bosr.order_id ORDER BY bosr.real_deliver_time DESC + + + - SELECT order_id AS "orderId",order_code AS "orderCode",order_time AS orderTime, customer_no AS customerCode,customer_name AS "customerName",deliverer,real_deliver_time AS "deliverTime" FROM ( - SELECT id - FROM customer_sample_info csi - WHERE csi.is_del =0 - - AND csi.id=#{request.sampleId} - - - AND csi.customer_id=#{request.customerId } - + SELECT id + FROM customer_sample_info csi + WHERE csi.is_del =0 + + AND csi.id=#{request.sampleId} + + + AND csi.customer_id=#{request.customerId } + )csi JOIN ( - SELECT sample_id,order_id,real_deliver_time - FROM business_order_sample_relation - WHERE 1=1 - - AND sample_id=#{request.sampleId} - + SELECT sample_id,order_id,real_deliver_time + FROM business_order_sample_relation + WHERE 1=1 + + AND sample_id=#{request.sampleId} + )bosr ON bosr.sample_id=csi.id JOIN ( - SELECT * - FROM business_order - WHERE is_del =0 - - AND customer_id=#{request.customerId} - + SELECT * + FROM business_order + WHERE is_del =0 + + AND customer_id=#{request.customerId} + )bo ON bo.id=bosr.order_id ORDER BY bosr.real_deliver_time DESC + + + - SELECT order_id AS "orderId",order_code AS "orderCode",order_time AS orderTime, customer_no AS customerCode,customer_name AS "customerName",deliverer,real_deliver_time AS "deliverTime" FROM ( - SELECT id - FROM customer_sample_info csi - WHERE csi.is_del =0 - - AND csi.id=#{request.sampleId} - - - AND csi.customer_id=#{request.customerId } - + SELECT id + FROM customer_sample_info csi + WHERE csi.is_del =0 + + AND csi.id=#{request.sampleId} + + + AND csi.customer_id=#{request.customerId } + )csi JOIN ( - SELECT sample_id,order_id,real_deliver_time - FROM business_order_sample_relation - WHERE 1=1 - - AND sample_id=#{request.sampleId} - + SELECT sample_id,order_id,real_deliver_time + FROM business_order_sample_relation + WHERE 1=1 + + AND sample_id=#{request.sampleId} + )bosr ON bosr.sample_id=csi.id JOIN ( - SELECT * - FROM business_order - WHERE is_del =0 - - AND customer_id=#{request.customerId} - + SELECT * + FROM business_order + WHERE is_del =0 + + AND customer_id=#{request.customerId} + )bo ON bo.id=bosr.order_id ORDER BY bosr.real_deliver_time DESC + + + - SELECT order_id AS "orderId",order_code AS "orderCode",order_time AS orderTime, customer_no AS customerCode,customer_name AS "customerName",deliverer,real_deliver_time AS "deliverTime" FROM ( - SELECT id - FROM customer_sample_info csi - WHERE csi.is_del =0 - - AND csi.id=#{request.sampleId} - - - AND csi.customer_id=#{request.customerId } - + SELECT id + FROM customer_sample_info csi + WHERE csi.is_del =0 + + AND csi.id=#{request.sampleId} + + + AND csi.customer_id=#{request.customerId } + )csi JOIN ( - SELECT sample_id,order_id,real_deliver_time - FROM business_order_sample_relation - WHERE 1=1 - - AND sample_id=#{request.sampleId} - + SELECT sample_id,order_id,real_deliver_time + FROM business_order_sample_relation + WHERE 1=1 + + AND sample_id=#{request.sampleId} + )bosr ON bosr.sample_id=csi.id JOIN ( - SELECT * - FROM business_order - WHERE is_del =0 - - AND customer_id=#{request.customerId} - + SELECT * + FROM business_order + WHERE is_del =0 + + AND customer_id=#{request.customerId} + )bo ON bo.id=bosr.order_id ORDER BY bosr.real_deliver_time DESC + + +