diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java index ca7e8d2..fa5fdee 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java @@ -8,8 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.environment.EnvironmentListRequest; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; @@ -34,7 +33,7 @@ * 前端控制器 *

* - * @author wangpeng + * @author zt * @since 2023-02-02 */ @RestController @@ -57,7 +56,7 @@ @ApiOperation("原始记录详情") @PostMapping("/detail") - public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) throws Exception{ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); @@ -96,8 +95,8 @@ @ApiOperation("原始记录导出") @PostMapping("/export") - public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { -// businessEnvironmentRecordService.environmentExport(request, response); + public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) { + businessOriginalRecordService.originExport(request, response); } @ApiOperation("获取设备") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java index ca7e8d2..fa5fdee 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java @@ -8,8 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.environment.EnvironmentListRequest; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; @@ -34,7 +33,7 @@ * 前端控制器 *

* - * @author wangpeng + * @author zt * @since 2023-02-02 */ @RestController @@ -57,7 +56,7 @@ @ApiOperation("原始记录详情") @PostMapping("/detail") - public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) throws Exception{ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); @@ -96,8 +95,8 @@ @ApiOperation("原始记录导出") @PostMapping("/export") - public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { -// businessEnvironmentRecordService.environmentExport(request, response); + public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) { + businessOriginalRecordService.originExport(request, response); } @ApiOperation("获取设备") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index cf5f125..9637b3a 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -227,4 +227,5 @@ return meterFileService.querySelectList(); } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java index ca7e8d2..fa5fdee 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java @@ -8,8 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.environment.EnvironmentListRequest; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; @@ -34,7 +33,7 @@ * 前端控制器 *

* - * @author wangpeng + * @author zt * @since 2023-02-02 */ @RestController @@ -57,7 +56,7 @@ @ApiOperation("原始记录详情") @PostMapping("/detail") - public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) throws Exception{ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); @@ -96,8 +95,8 @@ @ApiOperation("原始记录导出") @PostMapping("/export") - public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { -// businessEnvironmentRecordService.environmentExport(request, response); + public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) { + businessOriginalRecordService.originExport(request, response); } @ApiOperation("获取设备") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index cf5f125..9637b3a 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -227,4 +227,5 @@ return meterFileService.querySelectList(); } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 83b9856..09a95be 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -34,6 +34,7 @@ SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"), EXCHANGE_DATA("exchangeData", "exchangeData", "设备交接单"), ENVIRONMENT_DATA("environmentData", "environmentData", "环境记录单"), + ORIGIN_DATA("originData", "originData", "原始记录"), ADVICE_EXPORT("adviceData", "adviceData", "客户反馈"); ExportEnum(String fileName, String sheetName, String description) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java index ca7e8d2..fa5fdee 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java @@ -8,8 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.environment.EnvironmentListRequest; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; @@ -34,7 +33,7 @@ * 前端控制器 *

* - * @author wangpeng + * @author zt * @since 2023-02-02 */ @RestController @@ -57,7 +56,7 @@ @ApiOperation("原始记录详情") @PostMapping("/detail") - public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) throws Exception{ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); @@ -96,8 +95,8 @@ @ApiOperation("原始记录导出") @PostMapping("/export") - public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { -// businessEnvironmentRecordService.environmentExport(request, response); + public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) { + businessOriginalRecordService.originExport(request, response); } @ApiOperation("获取设备") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index cf5f125..9637b3a 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -227,4 +227,5 @@ return meterFileService.querySelectList(); } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 83b9856..09a95be 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -34,6 +34,7 @@ SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"), EXCHANGE_DATA("exchangeData", "exchangeData", "设备交接单"), ENVIRONMENT_DATA("environmentData", "environmentData", "环境记录单"), + ORIGIN_DATA("originData", "originData", "原始记录"), ADVICE_EXPORT("adviceData", "adviceData", "客户反馈"); ExportEnum(String fileName, String sheetName, String description) { diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java index 56f6602..dfd2c3e 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java @@ -2,11 +2,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; import com.casic.missiles.model.business.BusinessOriginalRecord; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* Mapper 接口 @@ -21,4 +24,6 @@ Page originListPage(Page page, @Param("request") OriginRecordRequest request); + List originExportList(@Param("request") OriginRecordRequest request); + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java index ca7e8d2..fa5fdee 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java @@ -8,8 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.environment.EnvironmentListRequest; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; @@ -34,7 +33,7 @@ * 前端控制器 *

* - * @author wangpeng + * @author zt * @since 2023-02-02 */ @RestController @@ -57,7 +56,7 @@ @ApiOperation("原始记录详情") @PostMapping("/detail") - public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) throws Exception{ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); @@ -96,8 +95,8 @@ @ApiOperation("原始记录导出") @PostMapping("/export") - public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { -// businessEnvironmentRecordService.environmentExport(request, response); + public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) { + businessOriginalRecordService.originExport(request, response); } @ApiOperation("获取设备") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index cf5f125..9637b3a 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -227,4 +227,5 @@ return meterFileService.querySelectList(); } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 83b9856..09a95be 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -34,6 +34,7 @@ SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"), EXCHANGE_DATA("exchangeData", "exchangeData", "设备交接单"), ENVIRONMENT_DATA("environmentData", "environmentData", "环境记录单"), + ORIGIN_DATA("originData", "originData", "原始记录"), ADVICE_EXPORT("adviceData", "adviceData", "客户反馈"); ExportEnum(String fileName, String sheetName, String description) { diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java index 56f6602..dfd2c3e 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java @@ -2,11 +2,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; import com.casic.missiles.model.business.BusinessOriginalRecord; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* Mapper 接口 @@ -21,4 +24,6 @@ Page originListPage(Page page, @Param("request") OriginRecordRequest request); + List originExportList(@Param("request") OriginRecordRequest request); + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml index 879a43f..b5f43e8 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml @@ -55,9 +55,56 @@ and bor.create_user = #{request.createUser} - - ORDER BY mfa.create_time DESC + ORDER BY bor.create_time DESC + + diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java index ca7e8d2..fa5fdee 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java @@ -8,8 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.environment.EnvironmentListRequest; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; @@ -34,7 +33,7 @@ * 前端控制器 *

* - * @author wangpeng + * @author zt * @since 2023-02-02 */ @RestController @@ -57,7 +56,7 @@ @ApiOperation("原始记录详情") @PostMapping("/detail") - public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) throws Exception{ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); @@ -96,8 +95,8 @@ @ApiOperation("原始记录导出") @PostMapping("/export") - public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { -// businessEnvironmentRecordService.environmentExport(request, response); + public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) { + businessOriginalRecordService.originExport(request, response); } @ApiOperation("获取设备") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index cf5f125..9637b3a 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -227,4 +227,5 @@ return meterFileService.querySelectList(); } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 83b9856..09a95be 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -34,6 +34,7 @@ SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"), EXCHANGE_DATA("exchangeData", "exchangeData", "设备交接单"), ENVIRONMENT_DATA("environmentData", "environmentData", "环境记录单"), + ORIGIN_DATA("originData", "originData", "原始记录"), ADVICE_EXPORT("adviceData", "adviceData", "客户反馈"); ExportEnum(String fileName, String sheetName, String description) { diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java index 56f6602..dfd2c3e 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java @@ -2,11 +2,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; import com.casic.missiles.model.business.BusinessOriginalRecord; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* Mapper 接口 @@ -21,4 +24,6 @@ Page originListPage(Page page, @Param("request") OriginRecordRequest request); + List originExportList(@Param("request") OriginRecordRequest request); + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml index 879a43f..b5f43e8 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml @@ -55,9 +55,56 @@ and bor.create_user = #{request.createUser} - - ORDER BY mfa.create_time DESC + ORDER BY bor.create_time DESC + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java new file mode 100644 index 0000000..cc0dac1 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -0,0 +1,31 @@ +package com.casic.missiles.dto.business.originRecord; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OriginRecordRequest { + + @ApiModelProperty(value = "原始记录单编号", dataType = "String") + private String originalRecordCode; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "校验类别", dataType = "String") + private String calibrationCategory; + + @ApiModelProperty(value = "创建人", dataType = "String") + private String createUser; +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java index ca7e8d2..fa5fdee 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java @@ -8,8 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.environment.EnvironmentListRequest; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; @@ -34,7 +33,7 @@ * 前端控制器 *

* - * @author wangpeng + * @author zt * @since 2023-02-02 */ @RestController @@ -57,7 +56,7 @@ @ApiOperation("原始记录详情") @PostMapping("/detail") - public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) throws Exception{ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); @@ -96,8 +95,8 @@ @ApiOperation("原始记录导出") @PostMapping("/export") - public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { -// businessEnvironmentRecordService.environmentExport(request, response); + public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) { + businessOriginalRecordService.originExport(request, response); } @ApiOperation("获取设备") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index cf5f125..9637b3a 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -227,4 +227,5 @@ return meterFileService.querySelectList(); } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 83b9856..09a95be 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -34,6 +34,7 @@ SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"), EXCHANGE_DATA("exchangeData", "exchangeData", "设备交接单"), ENVIRONMENT_DATA("environmentData", "environmentData", "环境记录单"), + ORIGIN_DATA("originData", "originData", "原始记录"), ADVICE_EXPORT("adviceData", "adviceData", "客户反馈"); ExportEnum(String fileName, String sheetName, String description) { diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java index 56f6602..dfd2c3e 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java @@ -2,11 +2,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; import com.casic.missiles.model.business.BusinessOriginalRecord; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* Mapper 接口 @@ -21,4 +24,6 @@ Page originListPage(Page page, @Param("request") OriginRecordRequest request); + List originExportList(@Param("request") OriginRecordRequest request); + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml index 879a43f..b5f43e8 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml @@ -55,9 +55,56 @@ and bor.create_user = #{request.createUser} - - ORDER BY mfa.create_time DESC + ORDER BY bor.create_time DESC + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java new file mode 100644 index 0000000..cc0dac1 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -0,0 +1,31 @@ +package com.casic.missiles.dto.business.originRecord; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OriginRecordRequest { + + @ApiModelProperty(value = "原始记录单编号", dataType = "String") + private String originalRecordCode; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "校验类别", dataType = "String") + private String calibrationCategory; + + @ApiModelProperty(value = "创建人", dataType = "String") + private String createUser; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java new file mode 100644 index 0000000..4c0521d --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java @@ -0,0 +1,93 @@ +package com.casic.missiles.dto.business.originRecord; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +public class OriginRecordResponse { + + @ApiModelProperty(value = "记录id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "原始记录编号", dataType = "String") + @ExcelProperty(value = "原始记录编号", order = 0) + private String originalRecordCode; + + @ApiModelProperty(value = "原始记录名称", dataType = "String") + @ExcelProperty(value = "原始记录名称", order = 1) + private String originalRecordName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + @ExcelProperty(value = "型号", order = 5) + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 4) + private String manufacturingNo; + + @ApiModelProperty(value = "检校类别", dataType = "String") + @ExcelProperty(value = "检校类别", order = 6) + private String calibrationCategory; + + @ApiModelProperty(value = "检校时间", dataType = "String") + private String calibrationTime; + + + @ApiModelProperty(value = "环境记录单id", dataType = "Long") + private Long environmentId; + + + @ApiModelProperty(value = "检校地点", dataType = "String") + private String calibrationPlace; + + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + + @ApiModelProperty(value = "原始记录模板id", dataType = "Long") + private Long templateId; + + @ApiModelProperty(value = "原始记录附件", dataType = "String") + private String originalRecordFile; + + + @ApiModelProperty(value = "备注", dataType = "String") + @ExcelProperty(value = "备注", order = 9) + private String remark; + + @ApiModelProperty(value = "创建人", dataType = "String") + @ExcelProperty(value = "创建人", order = 7) + private String createUser; + + @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 8) + private String createTime; + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java index ca7e8d2..fa5fdee 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java @@ -8,8 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.environment.EnvironmentListRequest; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; @@ -34,7 +33,7 @@ * 前端控制器 *

* - * @author wangpeng + * @author zt * @since 2023-02-02 */ @RestController @@ -57,7 +56,7 @@ @ApiOperation("原始记录详情") @PostMapping("/detail") - public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) throws Exception{ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); @@ -96,8 +95,8 @@ @ApiOperation("原始记录导出") @PostMapping("/export") - public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { -// businessEnvironmentRecordService.environmentExport(request, response); + public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) { + businessOriginalRecordService.originExport(request, response); } @ApiOperation("获取设备") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index cf5f125..9637b3a 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -227,4 +227,5 @@ return meterFileService.querySelectList(); } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 83b9856..09a95be 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -34,6 +34,7 @@ SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"), EXCHANGE_DATA("exchangeData", "exchangeData", "设备交接单"), ENVIRONMENT_DATA("environmentData", "environmentData", "环境记录单"), + ORIGIN_DATA("originData", "originData", "原始记录"), ADVICE_EXPORT("adviceData", "adviceData", "客户反馈"); ExportEnum(String fileName, String sheetName, String description) { diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java index 56f6602..dfd2c3e 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java @@ -2,11 +2,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; import com.casic.missiles.model.business.BusinessOriginalRecord; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* Mapper 接口 @@ -21,4 +24,6 @@ Page originListPage(Page page, @Param("request") OriginRecordRequest request); + List originExportList(@Param("request") OriginRecordRequest request); + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml index 879a43f..b5f43e8 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml @@ -55,9 +55,56 @@ and bor.create_user = #{request.createUser} - - ORDER BY mfa.create_time DESC + ORDER BY bor.create_time DESC + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java new file mode 100644 index 0000000..cc0dac1 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -0,0 +1,31 @@ +package com.casic.missiles.dto.business.originRecord; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OriginRecordRequest { + + @ApiModelProperty(value = "原始记录单编号", dataType = "String") + private String originalRecordCode; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "校验类别", dataType = "String") + private String calibrationCategory; + + @ApiModelProperty(value = "创建人", dataType = "String") + private String createUser; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java new file mode 100644 index 0000000..4c0521d --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java @@ -0,0 +1,93 @@ +package com.casic.missiles.dto.business.originRecord; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +public class OriginRecordResponse { + + @ApiModelProperty(value = "记录id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "原始记录编号", dataType = "String") + @ExcelProperty(value = "原始记录编号", order = 0) + private String originalRecordCode; + + @ApiModelProperty(value = "原始记录名称", dataType = "String") + @ExcelProperty(value = "原始记录名称", order = 1) + private String originalRecordName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + @ExcelProperty(value = "型号", order = 5) + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 4) + private String manufacturingNo; + + @ApiModelProperty(value = "检校类别", dataType = "String") + @ExcelProperty(value = "检校类别", order = 6) + private String calibrationCategory; + + @ApiModelProperty(value = "检校时间", dataType = "String") + private String calibrationTime; + + + @ApiModelProperty(value = "环境记录单id", dataType = "Long") + private Long environmentId; + + + @ApiModelProperty(value = "检校地点", dataType = "String") + private String calibrationPlace; + + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + + @ApiModelProperty(value = "原始记录模板id", dataType = "Long") + private Long templateId; + + @ApiModelProperty(value = "原始记录附件", dataType = "String") + private String originalRecordFile; + + + @ApiModelProperty(value = "备注", dataType = "String") + @ExcelProperty(value = "备注", order = 9) + private String remark; + + @ApiModelProperty(value = "创建人", dataType = "String") + @ExcelProperty(value = "创建人", order = 7) + private String createUser; + + @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 8) + private String createTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java deleted file mode 100644 index 93ada55..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.casic.missiles.dto.business.originRercord; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel -public class OriginRecordRequest { - - @ApiModelProperty(value = "原始记录单编号", dataType = "String") - private String originalRecordCode; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; - - @ApiModelProperty(value = "样品型号", dataType = "String") - private String sampleModel; - - @ApiModelProperty(value = "出厂编号", dataType = "String") - private String manufacturingNo; - - @ApiModelProperty(value = "校验类别", dataType = "String") - private String calibrationCategory; - - @ApiModelProperty(value = "创建人", dataType = "String") - private String createUser; -} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java index ca7e8d2..fa5fdee 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java @@ -8,8 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.environment.EnvironmentListRequest; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; @@ -34,7 +33,7 @@ * 前端控制器 *

* - * @author wangpeng + * @author zt * @since 2023-02-02 */ @RestController @@ -57,7 +56,7 @@ @ApiOperation("原始记录详情") @PostMapping("/detail") - public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) throws Exception{ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); @@ -96,8 +95,8 @@ @ApiOperation("原始记录导出") @PostMapping("/export") - public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { -// businessEnvironmentRecordService.environmentExport(request, response); + public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) { + businessOriginalRecordService.originExport(request, response); } @ApiOperation("获取设备") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index cf5f125..9637b3a 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -227,4 +227,5 @@ return meterFileService.querySelectList(); } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 83b9856..09a95be 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -34,6 +34,7 @@ SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"), EXCHANGE_DATA("exchangeData", "exchangeData", "设备交接单"), ENVIRONMENT_DATA("environmentData", "environmentData", "环境记录单"), + ORIGIN_DATA("originData", "originData", "原始记录"), ADVICE_EXPORT("adviceData", "adviceData", "客户反馈"); ExportEnum(String fileName, String sheetName, String description) { diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java index 56f6602..dfd2c3e 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java @@ -2,11 +2,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; import com.casic.missiles.model.business.BusinessOriginalRecord; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* Mapper 接口 @@ -21,4 +24,6 @@ Page originListPage(Page page, @Param("request") OriginRecordRequest request); + List originExportList(@Param("request") OriginRecordRequest request); + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml index 879a43f..b5f43e8 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml @@ -55,9 +55,56 @@ and bor.create_user = #{request.createUser} - - ORDER BY mfa.create_time DESC + ORDER BY bor.create_time DESC + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java new file mode 100644 index 0000000..cc0dac1 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -0,0 +1,31 @@ +package com.casic.missiles.dto.business.originRecord; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OriginRecordRequest { + + @ApiModelProperty(value = "原始记录单编号", dataType = "String") + private String originalRecordCode; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "校验类别", dataType = "String") + private String calibrationCategory; + + @ApiModelProperty(value = "创建人", dataType = "String") + private String createUser; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java new file mode 100644 index 0000000..4c0521d --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java @@ -0,0 +1,93 @@ +package com.casic.missiles.dto.business.originRecord; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +public class OriginRecordResponse { + + @ApiModelProperty(value = "记录id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "原始记录编号", dataType = "String") + @ExcelProperty(value = "原始记录编号", order = 0) + private String originalRecordCode; + + @ApiModelProperty(value = "原始记录名称", dataType = "String") + @ExcelProperty(value = "原始记录名称", order = 1) + private String originalRecordName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + @ExcelProperty(value = "型号", order = 5) + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 4) + private String manufacturingNo; + + @ApiModelProperty(value = "检校类别", dataType = "String") + @ExcelProperty(value = "检校类别", order = 6) + private String calibrationCategory; + + @ApiModelProperty(value = "检校时间", dataType = "String") + private String calibrationTime; + + + @ApiModelProperty(value = "环境记录单id", dataType = "Long") + private Long environmentId; + + + @ApiModelProperty(value = "检校地点", dataType = "String") + private String calibrationPlace; + + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + + @ApiModelProperty(value = "原始记录模板id", dataType = "Long") + private Long templateId; + + @ApiModelProperty(value = "原始记录附件", dataType = "String") + private String originalRecordFile; + + + @ApiModelProperty(value = "备注", dataType = "String") + @ExcelProperty(value = "备注", order = 9) + private String remark; + + @ApiModelProperty(value = "创建人", dataType = "String") + @ExcelProperty(value = "创建人", order = 7) + private String createUser; + + @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 8) + private String createTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java deleted file mode 100644 index 93ada55..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.casic.missiles.dto.business.originRercord; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel -public class OriginRecordRequest { - - @ApiModelProperty(value = "原始记录单编号", dataType = "String") - private String originalRecordCode; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; - - @ApiModelProperty(value = "样品型号", dataType = "String") - private String sampleModel; - - @ApiModelProperty(value = "出厂编号", dataType = "String") - private String manufacturingNo; - - @ApiModelProperty(value = "校验类别", dataType = "String") - private String calibrationCategory; - - @ApiModelProperty(value = "创建人", dataType = "String") - private String createUser; -} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java index 3b81119..d1754b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java @@ -6,10 +6,13 @@ import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation; import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessOriginalRecordEquipmentRelationService; +import com.casic.missiles.service.equipment.IEquipmentFixedAssetsService; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** *

@@ -22,19 +25,39 @@ @Service public class BusinessOriginalRecordEquipmentRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordEquipmentRelationService { + @Resource + IEquipmentFixedAssetsService equipmentFixedAssetsService; + @Override public boolean saveBatch(Long originId, List equipmentFixedAssetsList) { //删除绑定关系 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("original_record_id", originId); - this.baseMapper.delete(queryWrapper); + deleteByOriginId(originId); //重新绑定 List list = new ArrayList<>(); equipmentFixedAssetsList.forEach(equipmentFixedAssets -> { BusinessOriginalRecordEquipmentRelation obj = new BusinessOriginalRecordEquipmentRelation(); obj.setEquipmentId(equipmentFixedAssets.getId()); obj.setOriginalRecordId(originId); + list.add(obj); }); return this.saveBatch(list); } + + @Override + public List getEquipmentsByOriginalRecordId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + List list = this.baseMapper.selectList(queryWrapper); + if (list != null && list.size() > 0) { + return equipmentFixedAssetsService.list(list.stream().map(BusinessOriginalRecordEquipmentRelation::getEquipmentId).collect(Collectors.toList())); + } + return null; + } + + @Override + public Boolean deleteByOriginId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + return this.baseMapper.delete(queryWrapper) > 0 ? true : false; + } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java index ca7e8d2..fa5fdee 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java @@ -8,8 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.environment.EnvironmentListRequest; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; @@ -34,7 +33,7 @@ * 前端控制器 *

* - * @author wangpeng + * @author zt * @since 2023-02-02 */ @RestController @@ -57,7 +56,7 @@ @ApiOperation("原始记录详情") @PostMapping("/detail") - public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) throws Exception{ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); @@ -96,8 +95,8 @@ @ApiOperation("原始记录导出") @PostMapping("/export") - public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { -// businessEnvironmentRecordService.environmentExport(request, response); + public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) { + businessOriginalRecordService.originExport(request, response); } @ApiOperation("获取设备") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index cf5f125..9637b3a 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -227,4 +227,5 @@ return meterFileService.querySelectList(); } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 83b9856..09a95be 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -34,6 +34,7 @@ SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"), EXCHANGE_DATA("exchangeData", "exchangeData", "设备交接单"), ENVIRONMENT_DATA("environmentData", "environmentData", "环境记录单"), + ORIGIN_DATA("originData", "originData", "原始记录"), ADVICE_EXPORT("adviceData", "adviceData", "客户反馈"); ExportEnum(String fileName, String sheetName, String description) { diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java index 56f6602..dfd2c3e 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java @@ -2,11 +2,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; import com.casic.missiles.model.business.BusinessOriginalRecord; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* Mapper 接口 @@ -21,4 +24,6 @@ Page originListPage(Page page, @Param("request") OriginRecordRequest request); + List originExportList(@Param("request") OriginRecordRequest request); + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml index 879a43f..b5f43e8 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml @@ -55,9 +55,56 @@ and bor.create_user = #{request.createUser} - - ORDER BY mfa.create_time DESC + ORDER BY bor.create_time DESC + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java new file mode 100644 index 0000000..cc0dac1 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -0,0 +1,31 @@ +package com.casic.missiles.dto.business.originRecord; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OriginRecordRequest { + + @ApiModelProperty(value = "原始记录单编号", dataType = "String") + private String originalRecordCode; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "校验类别", dataType = "String") + private String calibrationCategory; + + @ApiModelProperty(value = "创建人", dataType = "String") + private String createUser; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java new file mode 100644 index 0000000..4c0521d --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java @@ -0,0 +1,93 @@ +package com.casic.missiles.dto.business.originRecord; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +public class OriginRecordResponse { + + @ApiModelProperty(value = "记录id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "原始记录编号", dataType = "String") + @ExcelProperty(value = "原始记录编号", order = 0) + private String originalRecordCode; + + @ApiModelProperty(value = "原始记录名称", dataType = "String") + @ExcelProperty(value = "原始记录名称", order = 1) + private String originalRecordName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + @ExcelProperty(value = "型号", order = 5) + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 4) + private String manufacturingNo; + + @ApiModelProperty(value = "检校类别", dataType = "String") + @ExcelProperty(value = "检校类别", order = 6) + private String calibrationCategory; + + @ApiModelProperty(value = "检校时间", dataType = "String") + private String calibrationTime; + + + @ApiModelProperty(value = "环境记录单id", dataType = "Long") + private Long environmentId; + + + @ApiModelProperty(value = "检校地点", dataType = "String") + private String calibrationPlace; + + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + + @ApiModelProperty(value = "原始记录模板id", dataType = "Long") + private Long templateId; + + @ApiModelProperty(value = "原始记录附件", dataType = "String") + private String originalRecordFile; + + + @ApiModelProperty(value = "备注", dataType = "String") + @ExcelProperty(value = "备注", order = 9) + private String remark; + + @ApiModelProperty(value = "创建人", dataType = "String") + @ExcelProperty(value = "创建人", order = 7) + private String createUser; + + @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 8) + private String createTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java deleted file mode 100644 index 93ada55..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.casic.missiles.dto.business.originRercord; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel -public class OriginRecordRequest { - - @ApiModelProperty(value = "原始记录单编号", dataType = "String") - private String originalRecordCode; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; - - @ApiModelProperty(value = "样品型号", dataType = "String") - private String sampleModel; - - @ApiModelProperty(value = "出厂编号", dataType = "String") - private String manufacturingNo; - - @ApiModelProperty(value = "校验类别", dataType = "String") - private String calibrationCategory; - - @ApiModelProperty(value = "创建人", dataType = "String") - private String createUser; -} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java index 3b81119..d1754b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java @@ -6,10 +6,13 @@ import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation; import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessOriginalRecordEquipmentRelationService; +import com.casic.missiles.service.equipment.IEquipmentFixedAssetsService; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** *

@@ -22,19 +25,39 @@ @Service public class BusinessOriginalRecordEquipmentRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordEquipmentRelationService { + @Resource + IEquipmentFixedAssetsService equipmentFixedAssetsService; + @Override public boolean saveBatch(Long originId, List equipmentFixedAssetsList) { //删除绑定关系 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("original_record_id", originId); - this.baseMapper.delete(queryWrapper); + deleteByOriginId(originId); //重新绑定 List list = new ArrayList<>(); equipmentFixedAssetsList.forEach(equipmentFixedAssets -> { BusinessOriginalRecordEquipmentRelation obj = new BusinessOriginalRecordEquipmentRelation(); obj.setEquipmentId(equipmentFixedAssets.getId()); obj.setOriginalRecordId(originId); + list.add(obj); }); return this.saveBatch(list); } + + @Override + public List getEquipmentsByOriginalRecordId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + List list = this.baseMapper.selectList(queryWrapper); + if (list != null && list.size() > 0) { + return equipmentFixedAssetsService.list(list.stream().map(BusinessOriginalRecordEquipmentRelation::getEquipmentId).collect(Collectors.toList())); + } + return null; + } + + @Override + public Boolean deleteByOriginId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + return this.baseMapper.delete(queryWrapper) > 0 ? true : false; + } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java index cd44d97..303ae09 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java @@ -1,17 +1,23 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.mapper.business.BusinessOriginalRecordFileRelationMapper; import com.casic.missiles.model.business.BusinessOriginalRecordFileRelation; import com.casic.missiles.model.meter.MeterFile; import com.casic.missiles.service.business.IBusinessOriginalRecordFileRelationService; +import com.casic.missiles.service.meter.IMeterFileService; +import liquibase.util.CollectionUtil; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.sql.SQLException; import java.sql.Wrapper; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** *

@@ -24,12 +30,13 @@ @Service public class BusinessOriginalRecordFileRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordFileRelationService { + @Resource + private IMeterFileService meterFileService; + @Override public boolean saveBatch(Long originId, List meterFileList) { //先删除所有的绑定关系 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("original_record_id", originId); - this.baseMapper.delete(queryWrapper); + deleteByOriginId(originId); //新写入绑定关系 List list = new ArrayList<>(); meterFileList.forEach(meterFile -> { @@ -40,4 +47,23 @@ }); return this.saveBatch(list); } + + @Override + public List getFilesByOriginalRecordId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + List list = this.baseMapper.selectList(queryWrapper); + if (list != null && list.size() > 0) { + return meterFileService.list(list.stream().map(BusinessOriginalRecordFileRelation::getFileId).collect(Collectors.toList())); + } + return null; + } + + @Override + public Boolean deleteByOriginId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + return this.baseMapper.delete(queryWrapper) > 0 ? true : false; + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java index ca7e8d2..fa5fdee 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java @@ -8,8 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.environment.EnvironmentListRequest; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; @@ -34,7 +33,7 @@ * 前端控制器 *

* - * @author wangpeng + * @author zt * @since 2023-02-02 */ @RestController @@ -57,7 +56,7 @@ @ApiOperation("原始记录详情") @PostMapping("/detail") - public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) throws Exception{ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); @@ -96,8 +95,8 @@ @ApiOperation("原始记录导出") @PostMapping("/export") - public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { -// businessEnvironmentRecordService.environmentExport(request, response); + public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) { + businessOriginalRecordService.originExport(request, response); } @ApiOperation("获取设备") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index cf5f125..9637b3a 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -227,4 +227,5 @@ return meterFileService.querySelectList(); } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 83b9856..09a95be 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -34,6 +34,7 @@ SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"), EXCHANGE_DATA("exchangeData", "exchangeData", "设备交接单"), ENVIRONMENT_DATA("environmentData", "environmentData", "环境记录单"), + ORIGIN_DATA("originData", "originData", "原始记录"), ADVICE_EXPORT("adviceData", "adviceData", "客户反馈"); ExportEnum(String fileName, String sheetName, String description) { diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java index 56f6602..dfd2c3e 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java @@ -2,11 +2,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; import com.casic.missiles.model.business.BusinessOriginalRecord; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* Mapper 接口 @@ -21,4 +24,6 @@ Page originListPage(Page page, @Param("request") OriginRecordRequest request); + List originExportList(@Param("request") OriginRecordRequest request); + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml index 879a43f..b5f43e8 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml @@ -55,9 +55,56 @@ and bor.create_user = #{request.createUser} - - ORDER BY mfa.create_time DESC + ORDER BY bor.create_time DESC + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java new file mode 100644 index 0000000..cc0dac1 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -0,0 +1,31 @@ +package com.casic.missiles.dto.business.originRecord; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OriginRecordRequest { + + @ApiModelProperty(value = "原始记录单编号", dataType = "String") + private String originalRecordCode; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "校验类别", dataType = "String") + private String calibrationCategory; + + @ApiModelProperty(value = "创建人", dataType = "String") + private String createUser; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java new file mode 100644 index 0000000..4c0521d --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java @@ -0,0 +1,93 @@ +package com.casic.missiles.dto.business.originRecord; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +public class OriginRecordResponse { + + @ApiModelProperty(value = "记录id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "原始记录编号", dataType = "String") + @ExcelProperty(value = "原始记录编号", order = 0) + private String originalRecordCode; + + @ApiModelProperty(value = "原始记录名称", dataType = "String") + @ExcelProperty(value = "原始记录名称", order = 1) + private String originalRecordName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + @ExcelProperty(value = "型号", order = 5) + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 4) + private String manufacturingNo; + + @ApiModelProperty(value = "检校类别", dataType = "String") + @ExcelProperty(value = "检校类别", order = 6) + private String calibrationCategory; + + @ApiModelProperty(value = "检校时间", dataType = "String") + private String calibrationTime; + + + @ApiModelProperty(value = "环境记录单id", dataType = "Long") + private Long environmentId; + + + @ApiModelProperty(value = "检校地点", dataType = "String") + private String calibrationPlace; + + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + + @ApiModelProperty(value = "原始记录模板id", dataType = "Long") + private Long templateId; + + @ApiModelProperty(value = "原始记录附件", dataType = "String") + private String originalRecordFile; + + + @ApiModelProperty(value = "备注", dataType = "String") + @ExcelProperty(value = "备注", order = 9) + private String remark; + + @ApiModelProperty(value = "创建人", dataType = "String") + @ExcelProperty(value = "创建人", order = 7) + private String createUser; + + @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 8) + private String createTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java deleted file mode 100644 index 93ada55..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.casic.missiles.dto.business.originRercord; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel -public class OriginRecordRequest { - - @ApiModelProperty(value = "原始记录单编号", dataType = "String") - private String originalRecordCode; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; - - @ApiModelProperty(value = "样品型号", dataType = "String") - private String sampleModel; - - @ApiModelProperty(value = "出厂编号", dataType = "String") - private String manufacturingNo; - - @ApiModelProperty(value = "校验类别", dataType = "String") - private String calibrationCategory; - - @ApiModelProperty(value = "创建人", dataType = "String") - private String createUser; -} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java index 3b81119..d1754b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java @@ -6,10 +6,13 @@ import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation; import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessOriginalRecordEquipmentRelationService; +import com.casic.missiles.service.equipment.IEquipmentFixedAssetsService; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** *

@@ -22,19 +25,39 @@ @Service public class BusinessOriginalRecordEquipmentRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordEquipmentRelationService { + @Resource + IEquipmentFixedAssetsService equipmentFixedAssetsService; + @Override public boolean saveBatch(Long originId, List equipmentFixedAssetsList) { //删除绑定关系 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("original_record_id", originId); - this.baseMapper.delete(queryWrapper); + deleteByOriginId(originId); //重新绑定 List list = new ArrayList<>(); equipmentFixedAssetsList.forEach(equipmentFixedAssets -> { BusinessOriginalRecordEquipmentRelation obj = new BusinessOriginalRecordEquipmentRelation(); obj.setEquipmentId(equipmentFixedAssets.getId()); obj.setOriginalRecordId(originId); + list.add(obj); }); return this.saveBatch(list); } + + @Override + public List getEquipmentsByOriginalRecordId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + List list = this.baseMapper.selectList(queryWrapper); + if (list != null && list.size() > 0) { + return equipmentFixedAssetsService.list(list.stream().map(BusinessOriginalRecordEquipmentRelation::getEquipmentId).collect(Collectors.toList())); + } + return null; + } + + @Override + public Boolean deleteByOriginId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + return this.baseMapper.delete(queryWrapper) > 0 ? true : false; + } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java index cd44d97..303ae09 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java @@ -1,17 +1,23 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.mapper.business.BusinessOriginalRecordFileRelationMapper; import com.casic.missiles.model.business.BusinessOriginalRecordFileRelation; import com.casic.missiles.model.meter.MeterFile; import com.casic.missiles.service.business.IBusinessOriginalRecordFileRelationService; +import com.casic.missiles.service.meter.IMeterFileService; +import liquibase.util.CollectionUtil; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.sql.SQLException; import java.sql.Wrapper; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** *

@@ -24,12 +30,13 @@ @Service public class BusinessOriginalRecordFileRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordFileRelationService { + @Resource + private IMeterFileService meterFileService; + @Override public boolean saveBatch(Long originId, List meterFileList) { //先删除所有的绑定关系 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("original_record_id", originId); - this.baseMapper.delete(queryWrapper); + deleteByOriginId(originId); //新写入绑定关系 List list = new ArrayList<>(); meterFileList.forEach(meterFile -> { @@ -40,4 +47,23 @@ }); return this.saveBatch(list); } + + @Override + public List getFilesByOriginalRecordId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + List list = this.baseMapper.selectList(queryWrapper); + if (list != null && list.size() > 0) { + return meterFileService.list(list.stream().map(BusinessOriginalRecordFileRelation::getFileId).collect(Collectors.toList())); + } + return null; + } + + @Override + public Boolean deleteByOriginId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + return this.baseMapper.delete(queryWrapper) > 0 ? true : false; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index f4fad63..7dda5c3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -2,16 +2,17 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.environment.EnvironmentListRequest; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOriginalRecordMapper; @@ -20,13 +21,14 @@ import com.casic.missiles.service.customer.CustomerSampleService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; -import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.List; /** *

@@ -50,7 +52,8 @@ private IBusinessOriginalRecordFileRelationService originalRecordFileRelationService; @Resource private IBusinessOriginalRecordEquipmentRelationService originalRecordEquipmentRelationService; - + @Resource + private IBaseExportService iBaseExportService; @Override public Page originListPage(Page page, OriginRecordRequest request) throws Exception { @@ -68,7 +71,7 @@ } @Override - public BusinessOriginalRecord originalDetail(Long id) { + public BusinessOriginalRecord originalDetail(Long id) throws Exception { BusinessOriginalRecord businessOriginalRecord = this.baseMapper.selectById(id); if (businessOriginalRecord != null) { //查询样品详情 @@ -83,14 +86,28 @@ if (businessOriginalRecord.getOrderId() != null) { businessOriginalRecord.setBusinessOrder(businessOrderService.orderDetail(businessOriginalRecord.getOrderId())); } + + //查询是否有关联的计量文件 + businessOriginalRecord.setFileList(originalRecordFileRelationService.getFilesByOriginalRecordId(id)); + //查询是否有关联的监测设备 + businessOriginalRecord.setEquipmentInfoList(originalRecordEquipmentRelationService.getEquipmentsByOriginalRecordId(id)); + + //字典值转换 + DictCodeUtils.convertDictCodeToName(businessOriginalRecord); } return businessOriginalRecord; } + @Transactional @Override public ReturnDTO deleteOriginal(Long id) { - if (this.baseMapper.deleteById(id) > 0) + if (this.baseMapper.deleteById(id) > 0) { + //删除计量文件绑定关系 + originalRecordFileRelationService.deleteByOriginId(id); + //删除监测设备绑定关系 + originalRecordEquipmentRelationService.deleteByOriginId(id); return ReturnUtil.success(); + } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -118,8 +135,14 @@ } @Override - public void originalExport(EnvironmentListRequest request, HttpServletResponse response) { + public void originExport(OriginRecordRequest request, HttpServletResponse response) { + List originExportList = this.baseMapper.originExportList(request); + try { + iBaseExportService.exportExcel(response, OriginRecordResponse.class, originExportList, ExportEnum.ORIGIN_DATA.getSheetName()); + } catch (IOException e) { + log.error("环境记录单导出出现异常,异常信息为{}", e); + } } private void initBusinessEnvironmentRecord(BusinessOriginalRecord businessOriginalRecord) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java index ca7e8d2..fa5fdee 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java @@ -8,8 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.environment.EnvironmentListRequest; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; @@ -34,7 +33,7 @@ * 前端控制器 *

* - * @author wangpeng + * @author zt * @since 2023-02-02 */ @RestController @@ -57,7 +56,7 @@ @ApiOperation("原始记录详情") @PostMapping("/detail") - public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) throws Exception{ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); @@ -96,8 +95,8 @@ @ApiOperation("原始记录导出") @PostMapping("/export") - public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { -// businessEnvironmentRecordService.environmentExport(request, response); + public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) { + businessOriginalRecordService.originExport(request, response); } @ApiOperation("获取设备") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index cf5f125..9637b3a 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -227,4 +227,5 @@ return meterFileService.querySelectList(); } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 83b9856..09a95be 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -34,6 +34,7 @@ SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"), EXCHANGE_DATA("exchangeData", "exchangeData", "设备交接单"), ENVIRONMENT_DATA("environmentData", "environmentData", "环境记录单"), + ORIGIN_DATA("originData", "originData", "原始记录"), ADVICE_EXPORT("adviceData", "adviceData", "客户反馈"); ExportEnum(String fileName, String sheetName, String description) { diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java index 56f6602..dfd2c3e 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java @@ -2,11 +2,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; import com.casic.missiles.model.business.BusinessOriginalRecord; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* Mapper 接口 @@ -21,4 +24,6 @@ Page originListPage(Page page, @Param("request") OriginRecordRequest request); + List originExportList(@Param("request") OriginRecordRequest request); + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml index 879a43f..b5f43e8 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml @@ -55,9 +55,56 @@ and bor.create_user = #{request.createUser} - - ORDER BY mfa.create_time DESC + ORDER BY bor.create_time DESC + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java new file mode 100644 index 0000000..cc0dac1 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -0,0 +1,31 @@ +package com.casic.missiles.dto.business.originRecord; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OriginRecordRequest { + + @ApiModelProperty(value = "原始记录单编号", dataType = "String") + private String originalRecordCode; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "校验类别", dataType = "String") + private String calibrationCategory; + + @ApiModelProperty(value = "创建人", dataType = "String") + private String createUser; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java new file mode 100644 index 0000000..4c0521d --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java @@ -0,0 +1,93 @@ +package com.casic.missiles.dto.business.originRecord; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +public class OriginRecordResponse { + + @ApiModelProperty(value = "记录id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "原始记录编号", dataType = "String") + @ExcelProperty(value = "原始记录编号", order = 0) + private String originalRecordCode; + + @ApiModelProperty(value = "原始记录名称", dataType = "String") + @ExcelProperty(value = "原始记录名称", order = 1) + private String originalRecordName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + @ExcelProperty(value = "型号", order = 5) + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 4) + private String manufacturingNo; + + @ApiModelProperty(value = "检校类别", dataType = "String") + @ExcelProperty(value = "检校类别", order = 6) + private String calibrationCategory; + + @ApiModelProperty(value = "检校时间", dataType = "String") + private String calibrationTime; + + + @ApiModelProperty(value = "环境记录单id", dataType = "Long") + private Long environmentId; + + + @ApiModelProperty(value = "检校地点", dataType = "String") + private String calibrationPlace; + + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + + @ApiModelProperty(value = "原始记录模板id", dataType = "Long") + private Long templateId; + + @ApiModelProperty(value = "原始记录附件", dataType = "String") + private String originalRecordFile; + + + @ApiModelProperty(value = "备注", dataType = "String") + @ExcelProperty(value = "备注", order = 9) + private String remark; + + @ApiModelProperty(value = "创建人", dataType = "String") + @ExcelProperty(value = "创建人", order = 7) + private String createUser; + + @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 8) + private String createTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java deleted file mode 100644 index 93ada55..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.casic.missiles.dto.business.originRercord; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel -public class OriginRecordRequest { - - @ApiModelProperty(value = "原始记录单编号", dataType = "String") - private String originalRecordCode; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; - - @ApiModelProperty(value = "样品型号", dataType = "String") - private String sampleModel; - - @ApiModelProperty(value = "出厂编号", dataType = "String") - private String manufacturingNo; - - @ApiModelProperty(value = "校验类别", dataType = "String") - private String calibrationCategory; - - @ApiModelProperty(value = "创建人", dataType = "String") - private String createUser; -} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java index 3b81119..d1754b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java @@ -6,10 +6,13 @@ import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation; import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessOriginalRecordEquipmentRelationService; +import com.casic.missiles.service.equipment.IEquipmentFixedAssetsService; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** *

@@ -22,19 +25,39 @@ @Service public class BusinessOriginalRecordEquipmentRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordEquipmentRelationService { + @Resource + IEquipmentFixedAssetsService equipmentFixedAssetsService; + @Override public boolean saveBatch(Long originId, List equipmentFixedAssetsList) { //删除绑定关系 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("original_record_id", originId); - this.baseMapper.delete(queryWrapper); + deleteByOriginId(originId); //重新绑定 List list = new ArrayList<>(); equipmentFixedAssetsList.forEach(equipmentFixedAssets -> { BusinessOriginalRecordEquipmentRelation obj = new BusinessOriginalRecordEquipmentRelation(); obj.setEquipmentId(equipmentFixedAssets.getId()); obj.setOriginalRecordId(originId); + list.add(obj); }); return this.saveBatch(list); } + + @Override + public List getEquipmentsByOriginalRecordId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + List list = this.baseMapper.selectList(queryWrapper); + if (list != null && list.size() > 0) { + return equipmentFixedAssetsService.list(list.stream().map(BusinessOriginalRecordEquipmentRelation::getEquipmentId).collect(Collectors.toList())); + } + return null; + } + + @Override + public Boolean deleteByOriginId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + return this.baseMapper.delete(queryWrapper) > 0 ? true : false; + } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java index cd44d97..303ae09 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java @@ -1,17 +1,23 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.mapper.business.BusinessOriginalRecordFileRelationMapper; import com.casic.missiles.model.business.BusinessOriginalRecordFileRelation; import com.casic.missiles.model.meter.MeterFile; import com.casic.missiles.service.business.IBusinessOriginalRecordFileRelationService; +import com.casic.missiles.service.meter.IMeterFileService; +import liquibase.util.CollectionUtil; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.sql.SQLException; import java.sql.Wrapper; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** *

@@ -24,12 +30,13 @@ @Service public class BusinessOriginalRecordFileRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordFileRelationService { + @Resource + private IMeterFileService meterFileService; + @Override public boolean saveBatch(Long originId, List meterFileList) { //先删除所有的绑定关系 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("original_record_id", originId); - this.baseMapper.delete(queryWrapper); + deleteByOriginId(originId); //新写入绑定关系 List list = new ArrayList<>(); meterFileList.forEach(meterFile -> { @@ -40,4 +47,23 @@ }); return this.saveBatch(list); } + + @Override + public List getFilesByOriginalRecordId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + List list = this.baseMapper.selectList(queryWrapper); + if (list != null && list.size() > 0) { + return meterFileService.list(list.stream().map(BusinessOriginalRecordFileRelation::getFileId).collect(Collectors.toList())); + } + return null; + } + + @Override + public Boolean deleteByOriginId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + return this.baseMapper.delete(queryWrapper) > 0 ? true : false; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index f4fad63..7dda5c3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -2,16 +2,17 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.environment.EnvironmentListRequest; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOriginalRecordMapper; @@ -20,13 +21,14 @@ import com.casic.missiles.service.customer.CustomerSampleService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; -import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.List; /** *

@@ -50,7 +52,8 @@ private IBusinessOriginalRecordFileRelationService originalRecordFileRelationService; @Resource private IBusinessOriginalRecordEquipmentRelationService originalRecordEquipmentRelationService; - + @Resource + private IBaseExportService iBaseExportService; @Override public Page originListPage(Page page, OriginRecordRequest request) throws Exception { @@ -68,7 +71,7 @@ } @Override - public BusinessOriginalRecord originalDetail(Long id) { + public BusinessOriginalRecord originalDetail(Long id) throws Exception { BusinessOriginalRecord businessOriginalRecord = this.baseMapper.selectById(id); if (businessOriginalRecord != null) { //查询样品详情 @@ -83,14 +86,28 @@ if (businessOriginalRecord.getOrderId() != null) { businessOriginalRecord.setBusinessOrder(businessOrderService.orderDetail(businessOriginalRecord.getOrderId())); } + + //查询是否有关联的计量文件 + businessOriginalRecord.setFileList(originalRecordFileRelationService.getFilesByOriginalRecordId(id)); + //查询是否有关联的监测设备 + businessOriginalRecord.setEquipmentInfoList(originalRecordEquipmentRelationService.getEquipmentsByOriginalRecordId(id)); + + //字典值转换 + DictCodeUtils.convertDictCodeToName(businessOriginalRecord); } return businessOriginalRecord; } + @Transactional @Override public ReturnDTO deleteOriginal(Long id) { - if (this.baseMapper.deleteById(id) > 0) + if (this.baseMapper.deleteById(id) > 0) { + //删除计量文件绑定关系 + originalRecordFileRelationService.deleteByOriginId(id); + //删除监测设备绑定关系 + originalRecordEquipmentRelationService.deleteByOriginId(id); return ReturnUtil.success(); + } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -118,8 +135,14 @@ } @Override - public void originalExport(EnvironmentListRequest request, HttpServletResponse response) { + public void originExport(OriginRecordRequest request, HttpServletResponse response) { + List originExportList = this.baseMapper.originExportList(request); + try { + iBaseExportService.exportExcel(response, OriginRecordResponse.class, originExportList, ExportEnum.ORIGIN_DATA.getSheetName()); + } catch (IOException e) { + log.error("环境记录单导出出现异常,异常信息为{}", e); + } } private void initBusinessEnvironmentRecord(BusinessOriginalRecord businessOriginalRecord) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java index d3fa36f..a91de0f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java @@ -288,6 +288,21 @@ return ReturnUtil.success(this.baseMapper.selectList(wrapper)); } + + /** + * 根据ids查设备 + * + * @param ids + * @return + */ + @Override + public List list(List ids) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.in("id", ids); + wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE); + return this.baseMapper.selectList(wrapper); + } + /** * 转换字典code * diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java index ca7e8d2..fa5fdee 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java @@ -8,8 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.environment.EnvironmentListRequest; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; @@ -34,7 +33,7 @@ * 前端控制器 *

* - * @author wangpeng + * @author zt * @since 2023-02-02 */ @RestController @@ -57,7 +56,7 @@ @ApiOperation("原始记录详情") @PostMapping("/detail") - public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) throws Exception{ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); @@ -96,8 +95,8 @@ @ApiOperation("原始记录导出") @PostMapping("/export") - public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { -// businessEnvironmentRecordService.environmentExport(request, response); + public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) { + businessOriginalRecordService.originExport(request, response); } @ApiOperation("获取设备") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index cf5f125..9637b3a 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -227,4 +227,5 @@ return meterFileService.querySelectList(); } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 83b9856..09a95be 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -34,6 +34,7 @@ SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"), EXCHANGE_DATA("exchangeData", "exchangeData", "设备交接单"), ENVIRONMENT_DATA("environmentData", "environmentData", "环境记录单"), + ORIGIN_DATA("originData", "originData", "原始记录"), ADVICE_EXPORT("adviceData", "adviceData", "客户反馈"); ExportEnum(String fileName, String sheetName, String description) { diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java index 56f6602..dfd2c3e 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java @@ -2,11 +2,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; import com.casic.missiles.model.business.BusinessOriginalRecord; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* Mapper 接口 @@ -21,4 +24,6 @@ Page originListPage(Page page, @Param("request") OriginRecordRequest request); + List originExportList(@Param("request") OriginRecordRequest request); + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml index 879a43f..b5f43e8 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml @@ -55,9 +55,56 @@ and bor.create_user = #{request.createUser} - - ORDER BY mfa.create_time DESC + ORDER BY bor.create_time DESC + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java new file mode 100644 index 0000000..cc0dac1 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -0,0 +1,31 @@ +package com.casic.missiles.dto.business.originRecord; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OriginRecordRequest { + + @ApiModelProperty(value = "原始记录单编号", dataType = "String") + private String originalRecordCode; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "校验类别", dataType = "String") + private String calibrationCategory; + + @ApiModelProperty(value = "创建人", dataType = "String") + private String createUser; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java new file mode 100644 index 0000000..4c0521d --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java @@ -0,0 +1,93 @@ +package com.casic.missiles.dto.business.originRecord; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +public class OriginRecordResponse { + + @ApiModelProperty(value = "记录id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "原始记录编号", dataType = "String") + @ExcelProperty(value = "原始记录编号", order = 0) + private String originalRecordCode; + + @ApiModelProperty(value = "原始记录名称", dataType = "String") + @ExcelProperty(value = "原始记录名称", order = 1) + private String originalRecordName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + @ExcelProperty(value = "型号", order = 5) + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 4) + private String manufacturingNo; + + @ApiModelProperty(value = "检校类别", dataType = "String") + @ExcelProperty(value = "检校类别", order = 6) + private String calibrationCategory; + + @ApiModelProperty(value = "检校时间", dataType = "String") + private String calibrationTime; + + + @ApiModelProperty(value = "环境记录单id", dataType = "Long") + private Long environmentId; + + + @ApiModelProperty(value = "检校地点", dataType = "String") + private String calibrationPlace; + + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + + @ApiModelProperty(value = "原始记录模板id", dataType = "Long") + private Long templateId; + + @ApiModelProperty(value = "原始记录附件", dataType = "String") + private String originalRecordFile; + + + @ApiModelProperty(value = "备注", dataType = "String") + @ExcelProperty(value = "备注", order = 9) + private String remark; + + @ApiModelProperty(value = "创建人", dataType = "String") + @ExcelProperty(value = "创建人", order = 7) + private String createUser; + + @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 8) + private String createTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java deleted file mode 100644 index 93ada55..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.casic.missiles.dto.business.originRercord; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel -public class OriginRecordRequest { - - @ApiModelProperty(value = "原始记录单编号", dataType = "String") - private String originalRecordCode; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; - - @ApiModelProperty(value = "样品型号", dataType = "String") - private String sampleModel; - - @ApiModelProperty(value = "出厂编号", dataType = "String") - private String manufacturingNo; - - @ApiModelProperty(value = "校验类别", dataType = "String") - private String calibrationCategory; - - @ApiModelProperty(value = "创建人", dataType = "String") - private String createUser; -} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java index 3b81119..d1754b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java @@ -6,10 +6,13 @@ import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation; import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessOriginalRecordEquipmentRelationService; +import com.casic.missiles.service.equipment.IEquipmentFixedAssetsService; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** *

@@ -22,19 +25,39 @@ @Service public class BusinessOriginalRecordEquipmentRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordEquipmentRelationService { + @Resource + IEquipmentFixedAssetsService equipmentFixedAssetsService; + @Override public boolean saveBatch(Long originId, List equipmentFixedAssetsList) { //删除绑定关系 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("original_record_id", originId); - this.baseMapper.delete(queryWrapper); + deleteByOriginId(originId); //重新绑定 List list = new ArrayList<>(); equipmentFixedAssetsList.forEach(equipmentFixedAssets -> { BusinessOriginalRecordEquipmentRelation obj = new BusinessOriginalRecordEquipmentRelation(); obj.setEquipmentId(equipmentFixedAssets.getId()); obj.setOriginalRecordId(originId); + list.add(obj); }); return this.saveBatch(list); } + + @Override + public List getEquipmentsByOriginalRecordId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + List list = this.baseMapper.selectList(queryWrapper); + if (list != null && list.size() > 0) { + return equipmentFixedAssetsService.list(list.stream().map(BusinessOriginalRecordEquipmentRelation::getEquipmentId).collect(Collectors.toList())); + } + return null; + } + + @Override + public Boolean deleteByOriginId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + return this.baseMapper.delete(queryWrapper) > 0 ? true : false; + } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java index cd44d97..303ae09 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java @@ -1,17 +1,23 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.mapper.business.BusinessOriginalRecordFileRelationMapper; import com.casic.missiles.model.business.BusinessOriginalRecordFileRelation; import com.casic.missiles.model.meter.MeterFile; import com.casic.missiles.service.business.IBusinessOriginalRecordFileRelationService; +import com.casic.missiles.service.meter.IMeterFileService; +import liquibase.util.CollectionUtil; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.sql.SQLException; import java.sql.Wrapper; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** *

@@ -24,12 +30,13 @@ @Service public class BusinessOriginalRecordFileRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordFileRelationService { + @Resource + private IMeterFileService meterFileService; + @Override public boolean saveBatch(Long originId, List meterFileList) { //先删除所有的绑定关系 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("original_record_id", originId); - this.baseMapper.delete(queryWrapper); + deleteByOriginId(originId); //新写入绑定关系 List list = new ArrayList<>(); meterFileList.forEach(meterFile -> { @@ -40,4 +47,23 @@ }); return this.saveBatch(list); } + + @Override + public List getFilesByOriginalRecordId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + List list = this.baseMapper.selectList(queryWrapper); + if (list != null && list.size() > 0) { + return meterFileService.list(list.stream().map(BusinessOriginalRecordFileRelation::getFileId).collect(Collectors.toList())); + } + return null; + } + + @Override + public Boolean deleteByOriginId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + return this.baseMapper.delete(queryWrapper) > 0 ? true : false; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index f4fad63..7dda5c3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -2,16 +2,17 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.environment.EnvironmentListRequest; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOriginalRecordMapper; @@ -20,13 +21,14 @@ import com.casic.missiles.service.customer.CustomerSampleService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; -import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.List; /** *

@@ -50,7 +52,8 @@ private IBusinessOriginalRecordFileRelationService originalRecordFileRelationService; @Resource private IBusinessOriginalRecordEquipmentRelationService originalRecordEquipmentRelationService; - + @Resource + private IBaseExportService iBaseExportService; @Override public Page originListPage(Page page, OriginRecordRequest request) throws Exception { @@ -68,7 +71,7 @@ } @Override - public BusinessOriginalRecord originalDetail(Long id) { + public BusinessOriginalRecord originalDetail(Long id) throws Exception { BusinessOriginalRecord businessOriginalRecord = this.baseMapper.selectById(id); if (businessOriginalRecord != null) { //查询样品详情 @@ -83,14 +86,28 @@ if (businessOriginalRecord.getOrderId() != null) { businessOriginalRecord.setBusinessOrder(businessOrderService.orderDetail(businessOriginalRecord.getOrderId())); } + + //查询是否有关联的计量文件 + businessOriginalRecord.setFileList(originalRecordFileRelationService.getFilesByOriginalRecordId(id)); + //查询是否有关联的监测设备 + businessOriginalRecord.setEquipmentInfoList(originalRecordEquipmentRelationService.getEquipmentsByOriginalRecordId(id)); + + //字典值转换 + DictCodeUtils.convertDictCodeToName(businessOriginalRecord); } return businessOriginalRecord; } + @Transactional @Override public ReturnDTO deleteOriginal(Long id) { - if (this.baseMapper.deleteById(id) > 0) + if (this.baseMapper.deleteById(id) > 0) { + //删除计量文件绑定关系 + originalRecordFileRelationService.deleteByOriginId(id); + //删除监测设备绑定关系 + originalRecordEquipmentRelationService.deleteByOriginId(id); return ReturnUtil.success(); + } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -118,8 +135,14 @@ } @Override - public void originalExport(EnvironmentListRequest request, HttpServletResponse response) { + public void originExport(OriginRecordRequest request, HttpServletResponse response) { + List originExportList = this.baseMapper.originExportList(request); + try { + iBaseExportService.exportExcel(response, OriginRecordResponse.class, originExportList, ExportEnum.ORIGIN_DATA.getSheetName()); + } catch (IOException e) { + log.error("环境记录单导出出现异常,异常信息为{}", e); + } } private void initBusinessEnvironmentRecord(BusinessOriginalRecord businessOriginalRecord) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java index d3fa36f..a91de0f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java @@ -288,6 +288,21 @@ return ReturnUtil.success(this.baseMapper.selectList(wrapper)); } + + /** + * 根据ids查设备 + * + * @param ids + * @return + */ + @Override + public List list(List ids) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.in("id", ids); + wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE); + return this.baseMapper.selectList(wrapper); + } + /** * 转换字典code * diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index e24f67d..2d1d4a7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -118,10 +118,10 @@ String formId = request.getFormId(); ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); MeterFile file = new MeterFile(); file.setId(request.getId()); @@ -191,9 +191,9 @@ @Transactional public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //本地删除 - if(meterFileMapper.deleteById(request.getId()) > 0){ + if (meterFileMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -236,16 +236,16 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); } }); @@ -255,7 +255,7 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); } @@ -263,7 +263,7 @@ //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); } @@ -272,12 +272,12 @@ case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { List rejectList = meterFileMapper.selectBatchForApproval(page, request, rejectBusinessKey); rejectApprovalList = handleApprovalListResponse(approvalList, rejectList, ApprovalStatusEnum.FAILED_REJECT); } @@ -287,7 +287,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); } @@ -297,10 +297,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleAllApprovalListResponse(approvalList, list, AllApproveList); } @@ -310,9 +310,11 @@ } private List handleAllApprovalListResponse(List approvalList, List list, List allApproveList) { - Map taskMap = new HashMap<>(); + Map taskMap = new HashMap<>(); approvalList = ConvertUtils.sourceToTarget(list, FileApprovalListResponse.class); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -322,7 +324,7 @@ return approvalList.stream().sorted(Comparator.comparing(FileApprovalListResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, List list, String status){ + private List handleApprovalListResponse(List approvalList, List list, String status) { approvalList = ConvertUtils.sourceToTarget(list, FileApprovalListResponse.class); approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 @@ -341,8 +343,8 @@ @Override public ReturnDTO querySelectList() { QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("effective_status","1"); - wrapper.eq("file_type","10"); + wrapper.eq("effective_status", "1"); + wrapper.eq("file_type", "10"); return ReturnUtil.success(this.baseMapper.selectList(wrapper)); } @@ -374,4 +376,10 @@ wrapper.orderByAsc("effective_status").orderByDesc("create_time"); return wrapper; } + + + @Override + public List list(List ids) { + return this.baseMapper.selectBatchIds(ids); + } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java index ca7e8d2..fa5fdee 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java @@ -8,8 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.environment.EnvironmentListRequest; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; @@ -34,7 +33,7 @@ * 前端控制器 *

* - * @author wangpeng + * @author zt * @since 2023-02-02 */ @RestController @@ -57,7 +56,7 @@ @ApiOperation("原始记录详情") @PostMapping("/detail") - public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) throws Exception{ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); @@ -96,8 +95,8 @@ @ApiOperation("原始记录导出") @PostMapping("/export") - public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { -// businessEnvironmentRecordService.environmentExport(request, response); + public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) { + businessOriginalRecordService.originExport(request, response); } @ApiOperation("获取设备") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index cf5f125..9637b3a 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -227,4 +227,5 @@ return meterFileService.querySelectList(); } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 83b9856..09a95be 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -34,6 +34,7 @@ SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"), EXCHANGE_DATA("exchangeData", "exchangeData", "设备交接单"), ENVIRONMENT_DATA("environmentData", "environmentData", "环境记录单"), + ORIGIN_DATA("originData", "originData", "原始记录"), ADVICE_EXPORT("adviceData", "adviceData", "客户反馈"); ExportEnum(String fileName, String sheetName, String description) { diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java index 56f6602..dfd2c3e 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java @@ -2,11 +2,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; import com.casic.missiles.model.business.BusinessOriginalRecord; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* Mapper 接口 @@ -21,4 +24,6 @@ Page originListPage(Page page, @Param("request") OriginRecordRequest request); + List originExportList(@Param("request") OriginRecordRequest request); + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml index 879a43f..b5f43e8 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml @@ -55,9 +55,56 @@ and bor.create_user = #{request.createUser} - - ORDER BY mfa.create_time DESC + ORDER BY bor.create_time DESC + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java new file mode 100644 index 0000000..cc0dac1 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -0,0 +1,31 @@ +package com.casic.missiles.dto.business.originRecord; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OriginRecordRequest { + + @ApiModelProperty(value = "原始记录单编号", dataType = "String") + private String originalRecordCode; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "校验类别", dataType = "String") + private String calibrationCategory; + + @ApiModelProperty(value = "创建人", dataType = "String") + private String createUser; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java new file mode 100644 index 0000000..4c0521d --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java @@ -0,0 +1,93 @@ +package com.casic.missiles.dto.business.originRecord; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +public class OriginRecordResponse { + + @ApiModelProperty(value = "记录id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "原始记录编号", dataType = "String") + @ExcelProperty(value = "原始记录编号", order = 0) + private String originalRecordCode; + + @ApiModelProperty(value = "原始记录名称", dataType = "String") + @ExcelProperty(value = "原始记录名称", order = 1) + private String originalRecordName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + @ExcelProperty(value = "型号", order = 5) + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 4) + private String manufacturingNo; + + @ApiModelProperty(value = "检校类别", dataType = "String") + @ExcelProperty(value = "检校类别", order = 6) + private String calibrationCategory; + + @ApiModelProperty(value = "检校时间", dataType = "String") + private String calibrationTime; + + + @ApiModelProperty(value = "环境记录单id", dataType = "Long") + private Long environmentId; + + + @ApiModelProperty(value = "检校地点", dataType = "String") + private String calibrationPlace; + + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + + @ApiModelProperty(value = "原始记录模板id", dataType = "Long") + private Long templateId; + + @ApiModelProperty(value = "原始记录附件", dataType = "String") + private String originalRecordFile; + + + @ApiModelProperty(value = "备注", dataType = "String") + @ExcelProperty(value = "备注", order = 9) + private String remark; + + @ApiModelProperty(value = "创建人", dataType = "String") + @ExcelProperty(value = "创建人", order = 7) + private String createUser; + + @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 8) + private String createTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java deleted file mode 100644 index 93ada55..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.casic.missiles.dto.business.originRercord; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel -public class OriginRecordRequest { - - @ApiModelProperty(value = "原始记录单编号", dataType = "String") - private String originalRecordCode; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; - - @ApiModelProperty(value = "样品型号", dataType = "String") - private String sampleModel; - - @ApiModelProperty(value = "出厂编号", dataType = "String") - private String manufacturingNo; - - @ApiModelProperty(value = "校验类别", dataType = "String") - private String calibrationCategory; - - @ApiModelProperty(value = "创建人", dataType = "String") - private String createUser; -} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java index 3b81119..d1754b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java @@ -6,10 +6,13 @@ import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation; import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessOriginalRecordEquipmentRelationService; +import com.casic.missiles.service.equipment.IEquipmentFixedAssetsService; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** *

@@ -22,19 +25,39 @@ @Service public class BusinessOriginalRecordEquipmentRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordEquipmentRelationService { + @Resource + IEquipmentFixedAssetsService equipmentFixedAssetsService; + @Override public boolean saveBatch(Long originId, List equipmentFixedAssetsList) { //删除绑定关系 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("original_record_id", originId); - this.baseMapper.delete(queryWrapper); + deleteByOriginId(originId); //重新绑定 List list = new ArrayList<>(); equipmentFixedAssetsList.forEach(equipmentFixedAssets -> { BusinessOriginalRecordEquipmentRelation obj = new BusinessOriginalRecordEquipmentRelation(); obj.setEquipmentId(equipmentFixedAssets.getId()); obj.setOriginalRecordId(originId); + list.add(obj); }); return this.saveBatch(list); } + + @Override + public List getEquipmentsByOriginalRecordId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + List list = this.baseMapper.selectList(queryWrapper); + if (list != null && list.size() > 0) { + return equipmentFixedAssetsService.list(list.stream().map(BusinessOriginalRecordEquipmentRelation::getEquipmentId).collect(Collectors.toList())); + } + return null; + } + + @Override + public Boolean deleteByOriginId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + return this.baseMapper.delete(queryWrapper) > 0 ? true : false; + } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java index cd44d97..303ae09 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java @@ -1,17 +1,23 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.mapper.business.BusinessOriginalRecordFileRelationMapper; import com.casic.missiles.model.business.BusinessOriginalRecordFileRelation; import com.casic.missiles.model.meter.MeterFile; import com.casic.missiles.service.business.IBusinessOriginalRecordFileRelationService; +import com.casic.missiles.service.meter.IMeterFileService; +import liquibase.util.CollectionUtil; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.sql.SQLException; import java.sql.Wrapper; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** *

@@ -24,12 +30,13 @@ @Service public class BusinessOriginalRecordFileRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordFileRelationService { + @Resource + private IMeterFileService meterFileService; + @Override public boolean saveBatch(Long originId, List meterFileList) { //先删除所有的绑定关系 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("original_record_id", originId); - this.baseMapper.delete(queryWrapper); + deleteByOriginId(originId); //新写入绑定关系 List list = new ArrayList<>(); meterFileList.forEach(meterFile -> { @@ -40,4 +47,23 @@ }); return this.saveBatch(list); } + + @Override + public List getFilesByOriginalRecordId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + List list = this.baseMapper.selectList(queryWrapper); + if (list != null && list.size() > 0) { + return meterFileService.list(list.stream().map(BusinessOriginalRecordFileRelation::getFileId).collect(Collectors.toList())); + } + return null; + } + + @Override + public Boolean deleteByOriginId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + return this.baseMapper.delete(queryWrapper) > 0 ? true : false; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index f4fad63..7dda5c3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -2,16 +2,17 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.environment.EnvironmentListRequest; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOriginalRecordMapper; @@ -20,13 +21,14 @@ import com.casic.missiles.service.customer.CustomerSampleService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; -import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.List; /** *

@@ -50,7 +52,8 @@ private IBusinessOriginalRecordFileRelationService originalRecordFileRelationService; @Resource private IBusinessOriginalRecordEquipmentRelationService originalRecordEquipmentRelationService; - + @Resource + private IBaseExportService iBaseExportService; @Override public Page originListPage(Page page, OriginRecordRequest request) throws Exception { @@ -68,7 +71,7 @@ } @Override - public BusinessOriginalRecord originalDetail(Long id) { + public BusinessOriginalRecord originalDetail(Long id) throws Exception { BusinessOriginalRecord businessOriginalRecord = this.baseMapper.selectById(id); if (businessOriginalRecord != null) { //查询样品详情 @@ -83,14 +86,28 @@ if (businessOriginalRecord.getOrderId() != null) { businessOriginalRecord.setBusinessOrder(businessOrderService.orderDetail(businessOriginalRecord.getOrderId())); } + + //查询是否有关联的计量文件 + businessOriginalRecord.setFileList(originalRecordFileRelationService.getFilesByOriginalRecordId(id)); + //查询是否有关联的监测设备 + businessOriginalRecord.setEquipmentInfoList(originalRecordEquipmentRelationService.getEquipmentsByOriginalRecordId(id)); + + //字典值转换 + DictCodeUtils.convertDictCodeToName(businessOriginalRecord); } return businessOriginalRecord; } + @Transactional @Override public ReturnDTO deleteOriginal(Long id) { - if (this.baseMapper.deleteById(id) > 0) + if (this.baseMapper.deleteById(id) > 0) { + //删除计量文件绑定关系 + originalRecordFileRelationService.deleteByOriginId(id); + //删除监测设备绑定关系 + originalRecordEquipmentRelationService.deleteByOriginId(id); return ReturnUtil.success(); + } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -118,8 +135,14 @@ } @Override - public void originalExport(EnvironmentListRequest request, HttpServletResponse response) { + public void originExport(OriginRecordRequest request, HttpServletResponse response) { + List originExportList = this.baseMapper.originExportList(request); + try { + iBaseExportService.exportExcel(response, OriginRecordResponse.class, originExportList, ExportEnum.ORIGIN_DATA.getSheetName()); + } catch (IOException e) { + log.error("环境记录单导出出现异常,异常信息为{}", e); + } } private void initBusinessEnvironmentRecord(BusinessOriginalRecord businessOriginalRecord) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java index d3fa36f..a91de0f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java @@ -288,6 +288,21 @@ return ReturnUtil.success(this.baseMapper.selectList(wrapper)); } + + /** + * 根据ids查设备 + * + * @param ids + * @return + */ + @Override + public List list(List ids) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.in("id", ids); + wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE); + return this.baseMapper.selectList(wrapper); + } + /** * 转换字典code * diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index e24f67d..2d1d4a7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -118,10 +118,10 @@ String formId = request.getFormId(); ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); MeterFile file = new MeterFile(); file.setId(request.getId()); @@ -191,9 +191,9 @@ @Transactional public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //本地删除 - if(meterFileMapper.deleteById(request.getId()) > 0){ + if (meterFileMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -236,16 +236,16 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); } }); @@ -255,7 +255,7 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); } @@ -263,7 +263,7 @@ //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); } @@ -272,12 +272,12 @@ case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { List rejectList = meterFileMapper.selectBatchForApproval(page, request, rejectBusinessKey); rejectApprovalList = handleApprovalListResponse(approvalList, rejectList, ApprovalStatusEnum.FAILED_REJECT); } @@ -287,7 +287,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); } @@ -297,10 +297,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleAllApprovalListResponse(approvalList, list, AllApproveList); } @@ -310,9 +310,11 @@ } private List handleAllApprovalListResponse(List approvalList, List list, List allApproveList) { - Map taskMap = new HashMap<>(); + Map taskMap = new HashMap<>(); approvalList = ConvertUtils.sourceToTarget(list, FileApprovalListResponse.class); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -322,7 +324,7 @@ return approvalList.stream().sorted(Comparator.comparing(FileApprovalListResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, List list, String status){ + private List handleApprovalListResponse(List approvalList, List list, String status) { approvalList = ConvertUtils.sourceToTarget(list, FileApprovalListResponse.class); approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 @@ -341,8 +343,8 @@ @Override public ReturnDTO querySelectList() { QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("effective_status","1"); - wrapper.eq("file_type","10"); + wrapper.eq("effective_status", "1"); + wrapper.eq("file_type", "10"); return ReturnUtil.success(this.baseMapper.selectList(wrapper)); } @@ -374,4 +376,10 @@ wrapper.orderByAsc("effective_status").orderByDesc("create_time"); return wrapper; } + + + @Override + public List list(List ids) { + return this.baseMapper.selectBatchIds(ids); + } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java index 84b4522..b9ba892 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation; import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import liquibase.pro.packaged.B; import java.util.List; @@ -15,5 +16,11 @@ * @since 2023-02-02 */ public interface IBusinessOriginalRecordEquipmentRelationService extends IService { + boolean saveBatch(Long originId, List equipmentFixedAssetsList); + + //根据原始记录单id查询所有关联的检测设备 + List getEquipmentsByOriginalRecordId(Long originId); + + Boolean deleteByOriginId(Long originId); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java index ca7e8d2..fa5fdee 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java @@ -8,8 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.environment.EnvironmentListRequest; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; @@ -34,7 +33,7 @@ * 前端控制器 *

* - * @author wangpeng + * @author zt * @since 2023-02-02 */ @RestController @@ -57,7 +56,7 @@ @ApiOperation("原始记录详情") @PostMapping("/detail") - public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) throws Exception{ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); @@ -96,8 +95,8 @@ @ApiOperation("原始记录导出") @PostMapping("/export") - public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { -// businessEnvironmentRecordService.environmentExport(request, response); + public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) { + businessOriginalRecordService.originExport(request, response); } @ApiOperation("获取设备") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index cf5f125..9637b3a 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -227,4 +227,5 @@ return meterFileService.querySelectList(); } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 83b9856..09a95be 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -34,6 +34,7 @@ SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"), EXCHANGE_DATA("exchangeData", "exchangeData", "设备交接单"), ENVIRONMENT_DATA("environmentData", "environmentData", "环境记录单"), + ORIGIN_DATA("originData", "originData", "原始记录"), ADVICE_EXPORT("adviceData", "adviceData", "客户反馈"); ExportEnum(String fileName, String sheetName, String description) { diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java index 56f6602..dfd2c3e 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java @@ -2,11 +2,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; import com.casic.missiles.model.business.BusinessOriginalRecord; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* Mapper 接口 @@ -21,4 +24,6 @@ Page originListPage(Page page, @Param("request") OriginRecordRequest request); + List originExportList(@Param("request") OriginRecordRequest request); + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml index 879a43f..b5f43e8 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml @@ -55,9 +55,56 @@ and bor.create_user = #{request.createUser} - - ORDER BY mfa.create_time DESC + ORDER BY bor.create_time DESC + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java new file mode 100644 index 0000000..cc0dac1 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -0,0 +1,31 @@ +package com.casic.missiles.dto.business.originRecord; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OriginRecordRequest { + + @ApiModelProperty(value = "原始记录单编号", dataType = "String") + private String originalRecordCode; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "校验类别", dataType = "String") + private String calibrationCategory; + + @ApiModelProperty(value = "创建人", dataType = "String") + private String createUser; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java new file mode 100644 index 0000000..4c0521d --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java @@ -0,0 +1,93 @@ +package com.casic.missiles.dto.business.originRecord; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +public class OriginRecordResponse { + + @ApiModelProperty(value = "记录id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "原始记录编号", dataType = "String") + @ExcelProperty(value = "原始记录编号", order = 0) + private String originalRecordCode; + + @ApiModelProperty(value = "原始记录名称", dataType = "String") + @ExcelProperty(value = "原始记录名称", order = 1) + private String originalRecordName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + @ExcelProperty(value = "型号", order = 5) + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 4) + private String manufacturingNo; + + @ApiModelProperty(value = "检校类别", dataType = "String") + @ExcelProperty(value = "检校类别", order = 6) + private String calibrationCategory; + + @ApiModelProperty(value = "检校时间", dataType = "String") + private String calibrationTime; + + + @ApiModelProperty(value = "环境记录单id", dataType = "Long") + private Long environmentId; + + + @ApiModelProperty(value = "检校地点", dataType = "String") + private String calibrationPlace; + + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + + @ApiModelProperty(value = "原始记录模板id", dataType = "Long") + private Long templateId; + + @ApiModelProperty(value = "原始记录附件", dataType = "String") + private String originalRecordFile; + + + @ApiModelProperty(value = "备注", dataType = "String") + @ExcelProperty(value = "备注", order = 9) + private String remark; + + @ApiModelProperty(value = "创建人", dataType = "String") + @ExcelProperty(value = "创建人", order = 7) + private String createUser; + + @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 8) + private String createTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java deleted file mode 100644 index 93ada55..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.casic.missiles.dto.business.originRercord; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel -public class OriginRecordRequest { - - @ApiModelProperty(value = "原始记录单编号", dataType = "String") - private String originalRecordCode; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; - - @ApiModelProperty(value = "样品型号", dataType = "String") - private String sampleModel; - - @ApiModelProperty(value = "出厂编号", dataType = "String") - private String manufacturingNo; - - @ApiModelProperty(value = "校验类别", dataType = "String") - private String calibrationCategory; - - @ApiModelProperty(value = "创建人", dataType = "String") - private String createUser; -} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java index 3b81119..d1754b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java @@ -6,10 +6,13 @@ import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation; import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessOriginalRecordEquipmentRelationService; +import com.casic.missiles.service.equipment.IEquipmentFixedAssetsService; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** *

@@ -22,19 +25,39 @@ @Service public class BusinessOriginalRecordEquipmentRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordEquipmentRelationService { + @Resource + IEquipmentFixedAssetsService equipmentFixedAssetsService; + @Override public boolean saveBatch(Long originId, List equipmentFixedAssetsList) { //删除绑定关系 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("original_record_id", originId); - this.baseMapper.delete(queryWrapper); + deleteByOriginId(originId); //重新绑定 List list = new ArrayList<>(); equipmentFixedAssetsList.forEach(equipmentFixedAssets -> { BusinessOriginalRecordEquipmentRelation obj = new BusinessOriginalRecordEquipmentRelation(); obj.setEquipmentId(equipmentFixedAssets.getId()); obj.setOriginalRecordId(originId); + list.add(obj); }); return this.saveBatch(list); } + + @Override + public List getEquipmentsByOriginalRecordId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + List list = this.baseMapper.selectList(queryWrapper); + if (list != null && list.size() > 0) { + return equipmentFixedAssetsService.list(list.stream().map(BusinessOriginalRecordEquipmentRelation::getEquipmentId).collect(Collectors.toList())); + } + return null; + } + + @Override + public Boolean deleteByOriginId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + return this.baseMapper.delete(queryWrapper) > 0 ? true : false; + } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java index cd44d97..303ae09 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java @@ -1,17 +1,23 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.mapper.business.BusinessOriginalRecordFileRelationMapper; import com.casic.missiles.model.business.BusinessOriginalRecordFileRelation; import com.casic.missiles.model.meter.MeterFile; import com.casic.missiles.service.business.IBusinessOriginalRecordFileRelationService; +import com.casic.missiles.service.meter.IMeterFileService; +import liquibase.util.CollectionUtil; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.sql.SQLException; import java.sql.Wrapper; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** *

@@ -24,12 +30,13 @@ @Service public class BusinessOriginalRecordFileRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordFileRelationService { + @Resource + private IMeterFileService meterFileService; + @Override public boolean saveBatch(Long originId, List meterFileList) { //先删除所有的绑定关系 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("original_record_id", originId); - this.baseMapper.delete(queryWrapper); + deleteByOriginId(originId); //新写入绑定关系 List list = new ArrayList<>(); meterFileList.forEach(meterFile -> { @@ -40,4 +47,23 @@ }); return this.saveBatch(list); } + + @Override + public List getFilesByOriginalRecordId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + List list = this.baseMapper.selectList(queryWrapper); + if (list != null && list.size() > 0) { + return meterFileService.list(list.stream().map(BusinessOriginalRecordFileRelation::getFileId).collect(Collectors.toList())); + } + return null; + } + + @Override + public Boolean deleteByOriginId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + return this.baseMapper.delete(queryWrapper) > 0 ? true : false; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index f4fad63..7dda5c3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -2,16 +2,17 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.environment.EnvironmentListRequest; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOriginalRecordMapper; @@ -20,13 +21,14 @@ import com.casic.missiles.service.customer.CustomerSampleService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; -import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.List; /** *

@@ -50,7 +52,8 @@ private IBusinessOriginalRecordFileRelationService originalRecordFileRelationService; @Resource private IBusinessOriginalRecordEquipmentRelationService originalRecordEquipmentRelationService; - + @Resource + private IBaseExportService iBaseExportService; @Override public Page originListPage(Page page, OriginRecordRequest request) throws Exception { @@ -68,7 +71,7 @@ } @Override - public BusinessOriginalRecord originalDetail(Long id) { + public BusinessOriginalRecord originalDetail(Long id) throws Exception { BusinessOriginalRecord businessOriginalRecord = this.baseMapper.selectById(id); if (businessOriginalRecord != null) { //查询样品详情 @@ -83,14 +86,28 @@ if (businessOriginalRecord.getOrderId() != null) { businessOriginalRecord.setBusinessOrder(businessOrderService.orderDetail(businessOriginalRecord.getOrderId())); } + + //查询是否有关联的计量文件 + businessOriginalRecord.setFileList(originalRecordFileRelationService.getFilesByOriginalRecordId(id)); + //查询是否有关联的监测设备 + businessOriginalRecord.setEquipmentInfoList(originalRecordEquipmentRelationService.getEquipmentsByOriginalRecordId(id)); + + //字典值转换 + DictCodeUtils.convertDictCodeToName(businessOriginalRecord); } return businessOriginalRecord; } + @Transactional @Override public ReturnDTO deleteOriginal(Long id) { - if (this.baseMapper.deleteById(id) > 0) + if (this.baseMapper.deleteById(id) > 0) { + //删除计量文件绑定关系 + originalRecordFileRelationService.deleteByOriginId(id); + //删除监测设备绑定关系 + originalRecordEquipmentRelationService.deleteByOriginId(id); return ReturnUtil.success(); + } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -118,8 +135,14 @@ } @Override - public void originalExport(EnvironmentListRequest request, HttpServletResponse response) { + public void originExport(OriginRecordRequest request, HttpServletResponse response) { + List originExportList = this.baseMapper.originExportList(request); + try { + iBaseExportService.exportExcel(response, OriginRecordResponse.class, originExportList, ExportEnum.ORIGIN_DATA.getSheetName()); + } catch (IOException e) { + log.error("环境记录单导出出现异常,异常信息为{}", e); + } } private void initBusinessEnvironmentRecord(BusinessOriginalRecord businessOriginalRecord) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java index d3fa36f..a91de0f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java @@ -288,6 +288,21 @@ return ReturnUtil.success(this.baseMapper.selectList(wrapper)); } + + /** + * 根据ids查设备 + * + * @param ids + * @return + */ + @Override + public List list(List ids) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.in("id", ids); + wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE); + return this.baseMapper.selectList(wrapper); + } + /** * 转换字典code * diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index e24f67d..2d1d4a7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -118,10 +118,10 @@ String formId = request.getFormId(); ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); MeterFile file = new MeterFile(); file.setId(request.getId()); @@ -191,9 +191,9 @@ @Transactional public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //本地删除 - if(meterFileMapper.deleteById(request.getId()) > 0){ + if (meterFileMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -236,16 +236,16 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); } }); @@ -255,7 +255,7 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); } @@ -263,7 +263,7 @@ //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); } @@ -272,12 +272,12 @@ case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { List rejectList = meterFileMapper.selectBatchForApproval(page, request, rejectBusinessKey); rejectApprovalList = handleApprovalListResponse(approvalList, rejectList, ApprovalStatusEnum.FAILED_REJECT); } @@ -287,7 +287,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); } @@ -297,10 +297,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleAllApprovalListResponse(approvalList, list, AllApproveList); } @@ -310,9 +310,11 @@ } private List handleAllApprovalListResponse(List approvalList, List list, List allApproveList) { - Map taskMap = new HashMap<>(); + Map taskMap = new HashMap<>(); approvalList = ConvertUtils.sourceToTarget(list, FileApprovalListResponse.class); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -322,7 +324,7 @@ return approvalList.stream().sorted(Comparator.comparing(FileApprovalListResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, List list, String status){ + private List handleApprovalListResponse(List approvalList, List list, String status) { approvalList = ConvertUtils.sourceToTarget(list, FileApprovalListResponse.class); approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 @@ -341,8 +343,8 @@ @Override public ReturnDTO querySelectList() { QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("effective_status","1"); - wrapper.eq("file_type","10"); + wrapper.eq("effective_status", "1"); + wrapper.eq("file_type", "10"); return ReturnUtil.success(this.baseMapper.selectList(wrapper)); } @@ -374,4 +376,10 @@ wrapper.orderByAsc("effective_status").orderByDesc("create_time"); return wrapper; } + + + @Override + public List list(List ids) { + return this.baseMapper.selectBatchIds(ids); + } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java index 84b4522..b9ba892 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation; import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import liquibase.pro.packaged.B; import java.util.List; @@ -15,5 +16,11 @@ * @since 2023-02-02 */ public interface IBusinessOriginalRecordEquipmentRelationService extends IService { + boolean saveBatch(Long originId, List equipmentFixedAssetsList); + + //根据原始记录单id查询所有关联的检测设备 + List getEquipmentsByOriginalRecordId(Long originId); + + Boolean deleteByOriginId(Long originId); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordFileRelationService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordFileRelationService.java index d41c6aa..56e0079 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordFileRelationService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordFileRelationService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.model.business.BusinessOriginalRecordFileRelation; import com.casic.missiles.model.meter.MeterFile; +import liquibase.pro.packaged.L; import java.util.List; @@ -17,4 +18,9 @@ public interface IBusinessOriginalRecordFileRelationService extends IService { boolean saveBatch(Long originId, List meterFileList); + //根据原始记录单id查询所有关联的计量文件 + List getFilesByOriginalRecordId(Long originId); + + Boolean deleteByOriginId(Long originId); + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java index ca7e8d2..fa5fdee 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java @@ -8,8 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.environment.EnvironmentListRequest; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; @@ -34,7 +33,7 @@ * 前端控制器 *

* - * @author wangpeng + * @author zt * @since 2023-02-02 */ @RestController @@ -57,7 +56,7 @@ @ApiOperation("原始记录详情") @PostMapping("/detail") - public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) throws Exception{ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); @@ -96,8 +95,8 @@ @ApiOperation("原始记录导出") @PostMapping("/export") - public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { -// businessEnvironmentRecordService.environmentExport(request, response); + public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) { + businessOriginalRecordService.originExport(request, response); } @ApiOperation("获取设备") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index cf5f125..9637b3a 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -227,4 +227,5 @@ return meterFileService.querySelectList(); } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 83b9856..09a95be 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -34,6 +34,7 @@ SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"), EXCHANGE_DATA("exchangeData", "exchangeData", "设备交接单"), ENVIRONMENT_DATA("environmentData", "environmentData", "环境记录单"), + ORIGIN_DATA("originData", "originData", "原始记录"), ADVICE_EXPORT("adviceData", "adviceData", "客户反馈"); ExportEnum(String fileName, String sheetName, String description) { diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java index 56f6602..dfd2c3e 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java @@ -2,11 +2,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; import com.casic.missiles.model.business.BusinessOriginalRecord; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* Mapper 接口 @@ -21,4 +24,6 @@ Page originListPage(Page page, @Param("request") OriginRecordRequest request); + List originExportList(@Param("request") OriginRecordRequest request); + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml index 879a43f..b5f43e8 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml @@ -55,9 +55,56 @@ and bor.create_user = #{request.createUser} - - ORDER BY mfa.create_time DESC + ORDER BY bor.create_time DESC + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java new file mode 100644 index 0000000..cc0dac1 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -0,0 +1,31 @@ +package com.casic.missiles.dto.business.originRecord; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OriginRecordRequest { + + @ApiModelProperty(value = "原始记录单编号", dataType = "String") + private String originalRecordCode; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "校验类别", dataType = "String") + private String calibrationCategory; + + @ApiModelProperty(value = "创建人", dataType = "String") + private String createUser; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java new file mode 100644 index 0000000..4c0521d --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java @@ -0,0 +1,93 @@ +package com.casic.missiles.dto.business.originRecord; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +public class OriginRecordResponse { + + @ApiModelProperty(value = "记录id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "原始记录编号", dataType = "String") + @ExcelProperty(value = "原始记录编号", order = 0) + private String originalRecordCode; + + @ApiModelProperty(value = "原始记录名称", dataType = "String") + @ExcelProperty(value = "原始记录名称", order = 1) + private String originalRecordName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + @ExcelProperty(value = "型号", order = 5) + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 4) + private String manufacturingNo; + + @ApiModelProperty(value = "检校类别", dataType = "String") + @ExcelProperty(value = "检校类别", order = 6) + private String calibrationCategory; + + @ApiModelProperty(value = "检校时间", dataType = "String") + private String calibrationTime; + + + @ApiModelProperty(value = "环境记录单id", dataType = "Long") + private Long environmentId; + + + @ApiModelProperty(value = "检校地点", dataType = "String") + private String calibrationPlace; + + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + + @ApiModelProperty(value = "原始记录模板id", dataType = "Long") + private Long templateId; + + @ApiModelProperty(value = "原始记录附件", dataType = "String") + private String originalRecordFile; + + + @ApiModelProperty(value = "备注", dataType = "String") + @ExcelProperty(value = "备注", order = 9) + private String remark; + + @ApiModelProperty(value = "创建人", dataType = "String") + @ExcelProperty(value = "创建人", order = 7) + private String createUser; + + @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 8) + private String createTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java deleted file mode 100644 index 93ada55..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.casic.missiles.dto.business.originRercord; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel -public class OriginRecordRequest { - - @ApiModelProperty(value = "原始记录单编号", dataType = "String") - private String originalRecordCode; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; - - @ApiModelProperty(value = "样品型号", dataType = "String") - private String sampleModel; - - @ApiModelProperty(value = "出厂编号", dataType = "String") - private String manufacturingNo; - - @ApiModelProperty(value = "校验类别", dataType = "String") - private String calibrationCategory; - - @ApiModelProperty(value = "创建人", dataType = "String") - private String createUser; -} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java index 3b81119..d1754b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java @@ -6,10 +6,13 @@ import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation; import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessOriginalRecordEquipmentRelationService; +import com.casic.missiles.service.equipment.IEquipmentFixedAssetsService; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** *

@@ -22,19 +25,39 @@ @Service public class BusinessOriginalRecordEquipmentRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordEquipmentRelationService { + @Resource + IEquipmentFixedAssetsService equipmentFixedAssetsService; + @Override public boolean saveBatch(Long originId, List equipmentFixedAssetsList) { //删除绑定关系 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("original_record_id", originId); - this.baseMapper.delete(queryWrapper); + deleteByOriginId(originId); //重新绑定 List list = new ArrayList<>(); equipmentFixedAssetsList.forEach(equipmentFixedAssets -> { BusinessOriginalRecordEquipmentRelation obj = new BusinessOriginalRecordEquipmentRelation(); obj.setEquipmentId(equipmentFixedAssets.getId()); obj.setOriginalRecordId(originId); + list.add(obj); }); return this.saveBatch(list); } + + @Override + public List getEquipmentsByOriginalRecordId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + List list = this.baseMapper.selectList(queryWrapper); + if (list != null && list.size() > 0) { + return equipmentFixedAssetsService.list(list.stream().map(BusinessOriginalRecordEquipmentRelation::getEquipmentId).collect(Collectors.toList())); + } + return null; + } + + @Override + public Boolean deleteByOriginId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + return this.baseMapper.delete(queryWrapper) > 0 ? true : false; + } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java index cd44d97..303ae09 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java @@ -1,17 +1,23 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.mapper.business.BusinessOriginalRecordFileRelationMapper; import com.casic.missiles.model.business.BusinessOriginalRecordFileRelation; import com.casic.missiles.model.meter.MeterFile; import com.casic.missiles.service.business.IBusinessOriginalRecordFileRelationService; +import com.casic.missiles.service.meter.IMeterFileService; +import liquibase.util.CollectionUtil; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.sql.SQLException; import java.sql.Wrapper; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** *

@@ -24,12 +30,13 @@ @Service public class BusinessOriginalRecordFileRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordFileRelationService { + @Resource + private IMeterFileService meterFileService; + @Override public boolean saveBatch(Long originId, List meterFileList) { //先删除所有的绑定关系 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("original_record_id", originId); - this.baseMapper.delete(queryWrapper); + deleteByOriginId(originId); //新写入绑定关系 List list = new ArrayList<>(); meterFileList.forEach(meterFile -> { @@ -40,4 +47,23 @@ }); return this.saveBatch(list); } + + @Override + public List getFilesByOriginalRecordId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + List list = this.baseMapper.selectList(queryWrapper); + if (list != null && list.size() > 0) { + return meterFileService.list(list.stream().map(BusinessOriginalRecordFileRelation::getFileId).collect(Collectors.toList())); + } + return null; + } + + @Override + public Boolean deleteByOriginId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + return this.baseMapper.delete(queryWrapper) > 0 ? true : false; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index f4fad63..7dda5c3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -2,16 +2,17 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.environment.EnvironmentListRequest; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOriginalRecordMapper; @@ -20,13 +21,14 @@ import com.casic.missiles.service.customer.CustomerSampleService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; -import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.List; /** *

@@ -50,7 +52,8 @@ private IBusinessOriginalRecordFileRelationService originalRecordFileRelationService; @Resource private IBusinessOriginalRecordEquipmentRelationService originalRecordEquipmentRelationService; - + @Resource + private IBaseExportService iBaseExportService; @Override public Page originListPage(Page page, OriginRecordRequest request) throws Exception { @@ -68,7 +71,7 @@ } @Override - public BusinessOriginalRecord originalDetail(Long id) { + public BusinessOriginalRecord originalDetail(Long id) throws Exception { BusinessOriginalRecord businessOriginalRecord = this.baseMapper.selectById(id); if (businessOriginalRecord != null) { //查询样品详情 @@ -83,14 +86,28 @@ if (businessOriginalRecord.getOrderId() != null) { businessOriginalRecord.setBusinessOrder(businessOrderService.orderDetail(businessOriginalRecord.getOrderId())); } + + //查询是否有关联的计量文件 + businessOriginalRecord.setFileList(originalRecordFileRelationService.getFilesByOriginalRecordId(id)); + //查询是否有关联的监测设备 + businessOriginalRecord.setEquipmentInfoList(originalRecordEquipmentRelationService.getEquipmentsByOriginalRecordId(id)); + + //字典值转换 + DictCodeUtils.convertDictCodeToName(businessOriginalRecord); } return businessOriginalRecord; } + @Transactional @Override public ReturnDTO deleteOriginal(Long id) { - if (this.baseMapper.deleteById(id) > 0) + if (this.baseMapper.deleteById(id) > 0) { + //删除计量文件绑定关系 + originalRecordFileRelationService.deleteByOriginId(id); + //删除监测设备绑定关系 + originalRecordEquipmentRelationService.deleteByOriginId(id); return ReturnUtil.success(); + } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -118,8 +135,14 @@ } @Override - public void originalExport(EnvironmentListRequest request, HttpServletResponse response) { + public void originExport(OriginRecordRequest request, HttpServletResponse response) { + List originExportList = this.baseMapper.originExportList(request); + try { + iBaseExportService.exportExcel(response, OriginRecordResponse.class, originExportList, ExportEnum.ORIGIN_DATA.getSheetName()); + } catch (IOException e) { + log.error("环境记录单导出出现异常,异常信息为{}", e); + } } private void initBusinessEnvironmentRecord(BusinessOriginalRecord businessOriginalRecord) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java index d3fa36f..a91de0f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java @@ -288,6 +288,21 @@ return ReturnUtil.success(this.baseMapper.selectList(wrapper)); } + + /** + * 根据ids查设备 + * + * @param ids + * @return + */ + @Override + public List list(List ids) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.in("id", ids); + wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE); + return this.baseMapper.selectList(wrapper); + } + /** * 转换字典code * diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index e24f67d..2d1d4a7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -118,10 +118,10 @@ String formId = request.getFormId(); ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); MeterFile file = new MeterFile(); file.setId(request.getId()); @@ -191,9 +191,9 @@ @Transactional public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //本地删除 - if(meterFileMapper.deleteById(request.getId()) > 0){ + if (meterFileMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -236,16 +236,16 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); } }); @@ -255,7 +255,7 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); } @@ -263,7 +263,7 @@ //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); } @@ -272,12 +272,12 @@ case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { List rejectList = meterFileMapper.selectBatchForApproval(page, request, rejectBusinessKey); rejectApprovalList = handleApprovalListResponse(approvalList, rejectList, ApprovalStatusEnum.FAILED_REJECT); } @@ -287,7 +287,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); } @@ -297,10 +297,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleAllApprovalListResponse(approvalList, list, AllApproveList); } @@ -310,9 +310,11 @@ } private List handleAllApprovalListResponse(List approvalList, List list, List allApproveList) { - Map taskMap = new HashMap<>(); + Map taskMap = new HashMap<>(); approvalList = ConvertUtils.sourceToTarget(list, FileApprovalListResponse.class); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -322,7 +324,7 @@ return approvalList.stream().sorted(Comparator.comparing(FileApprovalListResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, List list, String status){ + private List handleApprovalListResponse(List approvalList, List list, String status) { approvalList = ConvertUtils.sourceToTarget(list, FileApprovalListResponse.class); approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 @@ -341,8 +343,8 @@ @Override public ReturnDTO querySelectList() { QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("effective_status","1"); - wrapper.eq("file_type","10"); + wrapper.eq("effective_status", "1"); + wrapper.eq("file_type", "10"); return ReturnUtil.success(this.baseMapper.selectList(wrapper)); } @@ -374,4 +376,10 @@ wrapper.orderByAsc("effective_status").orderByDesc("create_time"); return wrapper; } + + + @Override + public List list(List ids) { + return this.baseMapper.selectBatchIds(ids); + } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java index 84b4522..b9ba892 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation; import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import liquibase.pro.packaged.B; import java.util.List; @@ -15,5 +16,11 @@ * @since 2023-02-02 */ public interface IBusinessOriginalRecordEquipmentRelationService extends IService { + boolean saveBatch(Long originId, List equipmentFixedAssetsList); + + //根据原始记录单id查询所有关联的检测设备 + List getEquipmentsByOriginalRecordId(Long originId); + + Boolean deleteByOriginId(Long originId); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordFileRelationService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordFileRelationService.java index d41c6aa..56e0079 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordFileRelationService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordFileRelationService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.model.business.BusinessOriginalRecordFileRelation; import com.casic.missiles.model.meter.MeterFile; +import liquibase.pro.packaged.L; import java.util.List; @@ -17,4 +18,9 @@ public interface IBusinessOriginalRecordFileRelationService extends IService { boolean saveBatch(Long originId, List meterFileList); + //根据原始记录单id查询所有关联的计量文件 + List getFilesByOriginalRecordId(Long originId); + + Boolean deleteByOriginId(Long originId); + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordService.java index 55cfd08..7da0b11 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordService.java @@ -3,8 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.business.environment.EnvironmentListRequest; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; import com.casic.missiles.model.business.BusinessOriginalRecord; import javax.servlet.http.HttpServletResponse; @@ -21,7 +20,7 @@ Page originListPage(Page page, OriginRecordRequest request) throws Exception; - BusinessOriginalRecord originalDetail(Long id); + BusinessOriginalRecord originalDetail(Long id) throws Exception; ReturnDTO deleteOriginal(Long id); @@ -29,7 +28,7 @@ ReturnDTO addOriginal(BusinessOriginalRecord businessOriginalRecord); - void originalExport(EnvironmentListRequest request, HttpServletResponse response); + void originExport(OriginRecordRequest request, HttpServletResponse response); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java index ca7e8d2..fa5fdee 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java @@ -8,8 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.environment.EnvironmentListRequest; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; @@ -34,7 +33,7 @@ * 前端控制器 *

* - * @author wangpeng + * @author zt * @since 2023-02-02 */ @RestController @@ -57,7 +56,7 @@ @ApiOperation("原始记录详情") @PostMapping("/detail") - public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) throws Exception{ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); @@ -96,8 +95,8 @@ @ApiOperation("原始记录导出") @PostMapping("/export") - public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { -// businessEnvironmentRecordService.environmentExport(request, response); + public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) { + businessOriginalRecordService.originExport(request, response); } @ApiOperation("获取设备") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index cf5f125..9637b3a 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -227,4 +227,5 @@ return meterFileService.querySelectList(); } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 83b9856..09a95be 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -34,6 +34,7 @@ SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"), EXCHANGE_DATA("exchangeData", "exchangeData", "设备交接单"), ENVIRONMENT_DATA("environmentData", "environmentData", "环境记录单"), + ORIGIN_DATA("originData", "originData", "原始记录"), ADVICE_EXPORT("adviceData", "adviceData", "客户反馈"); ExportEnum(String fileName, String sheetName, String description) { diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java index 56f6602..dfd2c3e 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java @@ -2,11 +2,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; import com.casic.missiles.model.business.BusinessOriginalRecord; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* Mapper 接口 @@ -21,4 +24,6 @@ Page originListPage(Page page, @Param("request") OriginRecordRequest request); + List originExportList(@Param("request") OriginRecordRequest request); + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml index 879a43f..b5f43e8 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml @@ -55,9 +55,56 @@ and bor.create_user = #{request.createUser} - - ORDER BY mfa.create_time DESC + ORDER BY bor.create_time DESC + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java new file mode 100644 index 0000000..cc0dac1 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -0,0 +1,31 @@ +package com.casic.missiles.dto.business.originRecord; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OriginRecordRequest { + + @ApiModelProperty(value = "原始记录单编号", dataType = "String") + private String originalRecordCode; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "校验类别", dataType = "String") + private String calibrationCategory; + + @ApiModelProperty(value = "创建人", dataType = "String") + private String createUser; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java new file mode 100644 index 0000000..4c0521d --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java @@ -0,0 +1,93 @@ +package com.casic.missiles.dto.business.originRecord; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +public class OriginRecordResponse { + + @ApiModelProperty(value = "记录id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "原始记录编号", dataType = "String") + @ExcelProperty(value = "原始记录编号", order = 0) + private String originalRecordCode; + + @ApiModelProperty(value = "原始记录名称", dataType = "String") + @ExcelProperty(value = "原始记录名称", order = 1) + private String originalRecordName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + @ExcelProperty(value = "型号", order = 5) + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 4) + private String manufacturingNo; + + @ApiModelProperty(value = "检校类别", dataType = "String") + @ExcelProperty(value = "检校类别", order = 6) + private String calibrationCategory; + + @ApiModelProperty(value = "检校时间", dataType = "String") + private String calibrationTime; + + + @ApiModelProperty(value = "环境记录单id", dataType = "Long") + private Long environmentId; + + + @ApiModelProperty(value = "检校地点", dataType = "String") + private String calibrationPlace; + + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + + @ApiModelProperty(value = "原始记录模板id", dataType = "Long") + private Long templateId; + + @ApiModelProperty(value = "原始记录附件", dataType = "String") + private String originalRecordFile; + + + @ApiModelProperty(value = "备注", dataType = "String") + @ExcelProperty(value = "备注", order = 9) + private String remark; + + @ApiModelProperty(value = "创建人", dataType = "String") + @ExcelProperty(value = "创建人", order = 7) + private String createUser; + + @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 8) + private String createTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java deleted file mode 100644 index 93ada55..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.casic.missiles.dto.business.originRercord; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel -public class OriginRecordRequest { - - @ApiModelProperty(value = "原始记录单编号", dataType = "String") - private String originalRecordCode; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; - - @ApiModelProperty(value = "样品型号", dataType = "String") - private String sampleModel; - - @ApiModelProperty(value = "出厂编号", dataType = "String") - private String manufacturingNo; - - @ApiModelProperty(value = "校验类别", dataType = "String") - private String calibrationCategory; - - @ApiModelProperty(value = "创建人", dataType = "String") - private String createUser; -} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java index 3b81119..d1754b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java @@ -6,10 +6,13 @@ import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation; import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessOriginalRecordEquipmentRelationService; +import com.casic.missiles.service.equipment.IEquipmentFixedAssetsService; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** *

@@ -22,19 +25,39 @@ @Service public class BusinessOriginalRecordEquipmentRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordEquipmentRelationService { + @Resource + IEquipmentFixedAssetsService equipmentFixedAssetsService; + @Override public boolean saveBatch(Long originId, List equipmentFixedAssetsList) { //删除绑定关系 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("original_record_id", originId); - this.baseMapper.delete(queryWrapper); + deleteByOriginId(originId); //重新绑定 List list = new ArrayList<>(); equipmentFixedAssetsList.forEach(equipmentFixedAssets -> { BusinessOriginalRecordEquipmentRelation obj = new BusinessOriginalRecordEquipmentRelation(); obj.setEquipmentId(equipmentFixedAssets.getId()); obj.setOriginalRecordId(originId); + list.add(obj); }); return this.saveBatch(list); } + + @Override + public List getEquipmentsByOriginalRecordId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + List list = this.baseMapper.selectList(queryWrapper); + if (list != null && list.size() > 0) { + return equipmentFixedAssetsService.list(list.stream().map(BusinessOriginalRecordEquipmentRelation::getEquipmentId).collect(Collectors.toList())); + } + return null; + } + + @Override + public Boolean deleteByOriginId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + return this.baseMapper.delete(queryWrapper) > 0 ? true : false; + } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java index cd44d97..303ae09 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java @@ -1,17 +1,23 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.mapper.business.BusinessOriginalRecordFileRelationMapper; import com.casic.missiles.model.business.BusinessOriginalRecordFileRelation; import com.casic.missiles.model.meter.MeterFile; import com.casic.missiles.service.business.IBusinessOriginalRecordFileRelationService; +import com.casic.missiles.service.meter.IMeterFileService; +import liquibase.util.CollectionUtil; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.sql.SQLException; import java.sql.Wrapper; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** *

@@ -24,12 +30,13 @@ @Service public class BusinessOriginalRecordFileRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordFileRelationService { + @Resource + private IMeterFileService meterFileService; + @Override public boolean saveBatch(Long originId, List meterFileList) { //先删除所有的绑定关系 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("original_record_id", originId); - this.baseMapper.delete(queryWrapper); + deleteByOriginId(originId); //新写入绑定关系 List list = new ArrayList<>(); meterFileList.forEach(meterFile -> { @@ -40,4 +47,23 @@ }); return this.saveBatch(list); } + + @Override + public List getFilesByOriginalRecordId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + List list = this.baseMapper.selectList(queryWrapper); + if (list != null && list.size() > 0) { + return meterFileService.list(list.stream().map(BusinessOriginalRecordFileRelation::getFileId).collect(Collectors.toList())); + } + return null; + } + + @Override + public Boolean deleteByOriginId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + return this.baseMapper.delete(queryWrapper) > 0 ? true : false; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index f4fad63..7dda5c3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -2,16 +2,17 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.environment.EnvironmentListRequest; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOriginalRecordMapper; @@ -20,13 +21,14 @@ import com.casic.missiles.service.customer.CustomerSampleService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; -import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.List; /** *

@@ -50,7 +52,8 @@ private IBusinessOriginalRecordFileRelationService originalRecordFileRelationService; @Resource private IBusinessOriginalRecordEquipmentRelationService originalRecordEquipmentRelationService; - + @Resource + private IBaseExportService iBaseExportService; @Override public Page originListPage(Page page, OriginRecordRequest request) throws Exception { @@ -68,7 +71,7 @@ } @Override - public BusinessOriginalRecord originalDetail(Long id) { + public BusinessOriginalRecord originalDetail(Long id) throws Exception { BusinessOriginalRecord businessOriginalRecord = this.baseMapper.selectById(id); if (businessOriginalRecord != null) { //查询样品详情 @@ -83,14 +86,28 @@ if (businessOriginalRecord.getOrderId() != null) { businessOriginalRecord.setBusinessOrder(businessOrderService.orderDetail(businessOriginalRecord.getOrderId())); } + + //查询是否有关联的计量文件 + businessOriginalRecord.setFileList(originalRecordFileRelationService.getFilesByOriginalRecordId(id)); + //查询是否有关联的监测设备 + businessOriginalRecord.setEquipmentInfoList(originalRecordEquipmentRelationService.getEquipmentsByOriginalRecordId(id)); + + //字典值转换 + DictCodeUtils.convertDictCodeToName(businessOriginalRecord); } return businessOriginalRecord; } + @Transactional @Override public ReturnDTO deleteOriginal(Long id) { - if (this.baseMapper.deleteById(id) > 0) + if (this.baseMapper.deleteById(id) > 0) { + //删除计量文件绑定关系 + originalRecordFileRelationService.deleteByOriginId(id); + //删除监测设备绑定关系 + originalRecordEquipmentRelationService.deleteByOriginId(id); return ReturnUtil.success(); + } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -118,8 +135,14 @@ } @Override - public void originalExport(EnvironmentListRequest request, HttpServletResponse response) { + public void originExport(OriginRecordRequest request, HttpServletResponse response) { + List originExportList = this.baseMapper.originExportList(request); + try { + iBaseExportService.exportExcel(response, OriginRecordResponse.class, originExportList, ExportEnum.ORIGIN_DATA.getSheetName()); + } catch (IOException e) { + log.error("环境记录单导出出现异常,异常信息为{}", e); + } } private void initBusinessEnvironmentRecord(BusinessOriginalRecord businessOriginalRecord) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java index d3fa36f..a91de0f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java @@ -288,6 +288,21 @@ return ReturnUtil.success(this.baseMapper.selectList(wrapper)); } + + /** + * 根据ids查设备 + * + * @param ids + * @return + */ + @Override + public List list(List ids) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.in("id", ids); + wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE); + return this.baseMapper.selectList(wrapper); + } + /** * 转换字典code * diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index e24f67d..2d1d4a7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -118,10 +118,10 @@ String formId = request.getFormId(); ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); MeterFile file = new MeterFile(); file.setId(request.getId()); @@ -191,9 +191,9 @@ @Transactional public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //本地删除 - if(meterFileMapper.deleteById(request.getId()) > 0){ + if (meterFileMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -236,16 +236,16 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); } }); @@ -255,7 +255,7 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); } @@ -263,7 +263,7 @@ //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); } @@ -272,12 +272,12 @@ case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { List rejectList = meterFileMapper.selectBatchForApproval(page, request, rejectBusinessKey); rejectApprovalList = handleApprovalListResponse(approvalList, rejectList, ApprovalStatusEnum.FAILED_REJECT); } @@ -287,7 +287,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); } @@ -297,10 +297,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleAllApprovalListResponse(approvalList, list, AllApproveList); } @@ -310,9 +310,11 @@ } private List handleAllApprovalListResponse(List approvalList, List list, List allApproveList) { - Map taskMap = new HashMap<>(); + Map taskMap = new HashMap<>(); approvalList = ConvertUtils.sourceToTarget(list, FileApprovalListResponse.class); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -322,7 +324,7 @@ return approvalList.stream().sorted(Comparator.comparing(FileApprovalListResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, List list, String status){ + private List handleApprovalListResponse(List approvalList, List list, String status) { approvalList = ConvertUtils.sourceToTarget(list, FileApprovalListResponse.class); approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 @@ -341,8 +343,8 @@ @Override public ReturnDTO querySelectList() { QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("effective_status","1"); - wrapper.eq("file_type","10"); + wrapper.eq("effective_status", "1"); + wrapper.eq("file_type", "10"); return ReturnUtil.success(this.baseMapper.selectList(wrapper)); } @@ -374,4 +376,10 @@ wrapper.orderByAsc("effective_status").orderByDesc("create_time"); return wrapper; } + + + @Override + public List list(List ids) { + return this.baseMapper.selectBatchIds(ids); + } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java index 84b4522..b9ba892 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation; import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import liquibase.pro.packaged.B; import java.util.List; @@ -15,5 +16,11 @@ * @since 2023-02-02 */ public interface IBusinessOriginalRecordEquipmentRelationService extends IService { + boolean saveBatch(Long originId, List equipmentFixedAssetsList); + + //根据原始记录单id查询所有关联的检测设备 + List getEquipmentsByOriginalRecordId(Long originId); + + Boolean deleteByOriginId(Long originId); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordFileRelationService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordFileRelationService.java index d41c6aa..56e0079 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordFileRelationService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordFileRelationService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.model.business.BusinessOriginalRecordFileRelation; import com.casic.missiles.model.meter.MeterFile; +import liquibase.pro.packaged.L; import java.util.List; @@ -17,4 +18,9 @@ public interface IBusinessOriginalRecordFileRelationService extends IService { boolean saveBatch(Long originId, List meterFileList); + //根据原始记录单id查询所有关联的计量文件 + List getFilesByOriginalRecordId(Long originId); + + Boolean deleteByOriginId(Long originId); + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordService.java index 55cfd08..7da0b11 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordService.java @@ -3,8 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.business.environment.EnvironmentListRequest; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; import com.casic.missiles.model.business.BusinessOriginalRecord; import javax.servlet.http.HttpServletResponse; @@ -21,7 +20,7 @@ Page originListPage(Page page, OriginRecordRequest request) throws Exception; - BusinessOriginalRecord originalDetail(Long id); + BusinessOriginalRecord originalDetail(Long id) throws Exception; ReturnDTO deleteOriginal(Long id); @@ -29,7 +28,7 @@ ReturnDTO addOriginal(BusinessOriginalRecord businessOriginalRecord); - void originalExport(EnvironmentListRequest request, HttpServletResponse response); + void originExport(OriginRecordRequest request, HttpServletResponse response); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentFixedAssetsService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentFixedAssetsService.java index f10f4c8..7cb07bf 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentFixedAssetsService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentFixedAssetsService.java @@ -38,4 +38,6 @@ ReturnDTO addFixedAssetList(List meterFixedAssetsList) throws Exception; EquipmentFixedAssets getById(Long id) throws Exception; + + List list(List ids); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java index ca7e8d2..fa5fdee 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java @@ -8,8 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.environment.EnvironmentListRequest; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; @@ -34,7 +33,7 @@ * 前端控制器 *

* - * @author wangpeng + * @author zt * @since 2023-02-02 */ @RestController @@ -57,7 +56,7 @@ @ApiOperation("原始记录详情") @PostMapping("/detail") - public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) throws Exception{ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); @@ -96,8 +95,8 @@ @ApiOperation("原始记录导出") @PostMapping("/export") - public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { -// businessEnvironmentRecordService.environmentExport(request, response); + public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) { + businessOriginalRecordService.originExport(request, response); } @ApiOperation("获取设备") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java index cf5f125..9637b3a 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java @@ -227,4 +227,5 @@ return meterFileService.querySelectList(); } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 83b9856..09a95be 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -34,6 +34,7 @@ SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"), EXCHANGE_DATA("exchangeData", "exchangeData", "设备交接单"), ENVIRONMENT_DATA("environmentData", "environmentData", "环境记录单"), + ORIGIN_DATA("originData", "originData", "原始记录"), ADVICE_EXPORT("adviceData", "adviceData", "客户反馈"); ExportEnum(String fileName, String sheetName, String description) { diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java index 56f6602..dfd2c3e 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java @@ -2,11 +2,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; import com.casic.missiles.model.business.BusinessOriginalRecord; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** *

* Mapper 接口 @@ -21,4 +24,6 @@ Page originListPage(Page page, @Param("request") OriginRecordRequest request); + List originExportList(@Param("request") OriginRecordRequest request); + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml index 879a43f..b5f43e8 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml @@ -55,9 +55,56 @@ and bor.create_user = #{request.createUser} - - ORDER BY mfa.create_time DESC + ORDER BY bor.create_time DESC + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java new file mode 100644 index 0000000..cc0dac1 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -0,0 +1,31 @@ +package com.casic.missiles.dto.business.originRecord; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class OriginRecordRequest { + + @ApiModelProperty(value = "原始记录单编号", dataType = "String") + private String originalRecordCode; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "校验类别", dataType = "String") + private String calibrationCategory; + + @ApiModelProperty(value = "创建人", dataType = "String") + private String createUser; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java new file mode 100644 index 0000000..4c0521d --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java @@ -0,0 +1,93 @@ +package com.casic.missiles.dto.business.originRecord; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +public class OriginRecordResponse { + + @ApiModelProperty(value = "记录id", dataType = "Long") + private Long id; + + @ApiModelProperty(value = "原始记录编号", dataType = "String") + @ExcelProperty(value = "原始记录编号", order = 0) + private String originalRecordCode; + + @ApiModelProperty(value = "原始记录名称", dataType = "String") + @ExcelProperty(value = "原始记录名称", order = 1) + private String originalRecordName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) + private String sampleName; + + @ApiModelProperty(value = "样品型号", dataType = "String") + @ExcelProperty(value = "型号", order = 5) + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 4) + private String manufacturingNo; + + @ApiModelProperty(value = "检校类别", dataType = "String") + @ExcelProperty(value = "检校类别", order = 6) + private String calibrationCategory; + + @ApiModelProperty(value = "检校时间", dataType = "String") + private String calibrationTime; + + + @ApiModelProperty(value = "环境记录单id", dataType = "Long") + private Long environmentId; + + + @ApiModelProperty(value = "检校地点", dataType = "String") + private String calibrationPlace; + + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + + @ApiModelProperty(value = "样品id", dataType = "Long") + private Long sampleId; + + + @ApiModelProperty(value = "原始记录模板id", dataType = "Long") + private Long templateId; + + @ApiModelProperty(value = "原始记录附件", dataType = "String") + private String originalRecordFile; + + + @ApiModelProperty(value = "备注", dataType = "String") + @ExcelProperty(value = "备注", order = 9) + private String remark; + + @ApiModelProperty(value = "创建人", dataType = "String") + @ExcelProperty(value = "创建人", order = 7) + private String createUser; + + @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 8) + private String createTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java deleted file mode 100644 index 93ada55..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.casic.missiles.dto.business.originRercord; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel -public class OriginRecordRequest { - - @ApiModelProperty(value = "原始记录单编号", dataType = "String") - private String originalRecordCode; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; - - @ApiModelProperty(value = "样品型号", dataType = "String") - private String sampleModel; - - @ApiModelProperty(value = "出厂编号", dataType = "String") - private String manufacturingNo; - - @ApiModelProperty(value = "校验类别", dataType = "String") - private String calibrationCategory; - - @ApiModelProperty(value = "创建人", dataType = "String") - private String createUser; -} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java index 3b81119..d1754b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java @@ -6,10 +6,13 @@ import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation; import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessOriginalRecordEquipmentRelationService; +import com.casic.missiles.service.equipment.IEquipmentFixedAssetsService; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** *

@@ -22,19 +25,39 @@ @Service public class BusinessOriginalRecordEquipmentRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordEquipmentRelationService { + @Resource + IEquipmentFixedAssetsService equipmentFixedAssetsService; + @Override public boolean saveBatch(Long originId, List equipmentFixedAssetsList) { //删除绑定关系 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("original_record_id", originId); - this.baseMapper.delete(queryWrapper); + deleteByOriginId(originId); //重新绑定 List list = new ArrayList<>(); equipmentFixedAssetsList.forEach(equipmentFixedAssets -> { BusinessOriginalRecordEquipmentRelation obj = new BusinessOriginalRecordEquipmentRelation(); obj.setEquipmentId(equipmentFixedAssets.getId()); obj.setOriginalRecordId(originId); + list.add(obj); }); return this.saveBatch(list); } + + @Override + public List getEquipmentsByOriginalRecordId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + List list = this.baseMapper.selectList(queryWrapper); + if (list != null && list.size() > 0) { + return equipmentFixedAssetsService.list(list.stream().map(BusinessOriginalRecordEquipmentRelation::getEquipmentId).collect(Collectors.toList())); + } + return null; + } + + @Override + public Boolean deleteByOriginId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + return this.baseMapper.delete(queryWrapper) > 0 ? true : false; + } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java index cd44d97..303ae09 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java @@ -1,17 +1,23 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.mapper.business.BusinessOriginalRecordFileRelationMapper; import com.casic.missiles.model.business.BusinessOriginalRecordFileRelation; import com.casic.missiles.model.meter.MeterFile; import com.casic.missiles.service.business.IBusinessOriginalRecordFileRelationService; +import com.casic.missiles.service.meter.IMeterFileService; +import liquibase.util.CollectionUtil; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.sql.SQLException; import java.sql.Wrapper; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** *

@@ -24,12 +30,13 @@ @Service public class BusinessOriginalRecordFileRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordFileRelationService { + @Resource + private IMeterFileService meterFileService; + @Override public boolean saveBatch(Long originId, List meterFileList) { //先删除所有的绑定关系 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("original_record_id", originId); - this.baseMapper.delete(queryWrapper); + deleteByOriginId(originId); //新写入绑定关系 List list = new ArrayList<>(); meterFileList.forEach(meterFile -> { @@ -40,4 +47,23 @@ }); return this.saveBatch(list); } + + @Override + public List getFilesByOriginalRecordId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + List list = this.baseMapper.selectList(queryWrapper); + if (list != null && list.size() > 0) { + return meterFileService.list(list.stream().map(BusinessOriginalRecordFileRelation::getFileId).collect(Collectors.toList())); + } + return null; + } + + @Override + public Boolean deleteByOriginId(Long originId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + return this.baseMapper.delete(queryWrapper) > 0 ? true : false; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index f4fad63..7dda5c3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -2,16 +2,17 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.environment.EnvironmentListRequest; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOriginalRecordMapper; @@ -20,13 +21,14 @@ import com.casic.missiles.service.customer.CustomerSampleService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; -import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.List; /** *

@@ -50,7 +52,8 @@ private IBusinessOriginalRecordFileRelationService originalRecordFileRelationService; @Resource private IBusinessOriginalRecordEquipmentRelationService originalRecordEquipmentRelationService; - + @Resource + private IBaseExportService iBaseExportService; @Override public Page originListPage(Page page, OriginRecordRequest request) throws Exception { @@ -68,7 +71,7 @@ } @Override - public BusinessOriginalRecord originalDetail(Long id) { + public BusinessOriginalRecord originalDetail(Long id) throws Exception { BusinessOriginalRecord businessOriginalRecord = this.baseMapper.selectById(id); if (businessOriginalRecord != null) { //查询样品详情 @@ -83,14 +86,28 @@ if (businessOriginalRecord.getOrderId() != null) { businessOriginalRecord.setBusinessOrder(businessOrderService.orderDetail(businessOriginalRecord.getOrderId())); } + + //查询是否有关联的计量文件 + businessOriginalRecord.setFileList(originalRecordFileRelationService.getFilesByOriginalRecordId(id)); + //查询是否有关联的监测设备 + businessOriginalRecord.setEquipmentInfoList(originalRecordEquipmentRelationService.getEquipmentsByOriginalRecordId(id)); + + //字典值转换 + DictCodeUtils.convertDictCodeToName(businessOriginalRecord); } return businessOriginalRecord; } + @Transactional @Override public ReturnDTO deleteOriginal(Long id) { - if (this.baseMapper.deleteById(id) > 0) + if (this.baseMapper.deleteById(id) > 0) { + //删除计量文件绑定关系 + originalRecordFileRelationService.deleteByOriginId(id); + //删除监测设备绑定关系 + originalRecordEquipmentRelationService.deleteByOriginId(id); return ReturnUtil.success(); + } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -118,8 +135,14 @@ } @Override - public void originalExport(EnvironmentListRequest request, HttpServletResponse response) { + public void originExport(OriginRecordRequest request, HttpServletResponse response) { + List originExportList = this.baseMapper.originExportList(request); + try { + iBaseExportService.exportExcel(response, OriginRecordResponse.class, originExportList, ExportEnum.ORIGIN_DATA.getSheetName()); + } catch (IOException e) { + log.error("环境记录单导出出现异常,异常信息为{}", e); + } } private void initBusinessEnvironmentRecord(BusinessOriginalRecord businessOriginalRecord) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java index d3fa36f..a91de0f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java @@ -288,6 +288,21 @@ return ReturnUtil.success(this.baseMapper.selectList(wrapper)); } + + /** + * 根据ids查设备 + * + * @param ids + * @return + */ + @Override + public List list(List ids) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.in("id", ids); + wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE); + return this.baseMapper.selectList(wrapper); + } + /** * 转换字典code * diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index e24f67d..2d1d4a7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -118,10 +118,10 @@ String formId = request.getFormId(); ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); MeterFile file = new MeterFile(); file.setId(request.getId()); @@ -191,9 +191,9 @@ @Transactional public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //本地删除 - if(meterFileMapper.deleteById(request.getId()) > 0){ + if (meterFileMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -236,16 +236,16 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); } }); @@ -255,7 +255,7 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); } @@ -263,7 +263,7 @@ //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); } @@ -272,12 +272,12 @@ case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { List rejectList = meterFileMapper.selectBatchForApproval(page, request, rejectBusinessKey); rejectApprovalList = handleApprovalListResponse(approvalList, rejectList, ApprovalStatusEnum.FAILED_REJECT); } @@ -287,7 +287,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); } @@ -297,10 +297,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = meterFileMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleAllApprovalListResponse(approvalList, list, AllApproveList); } @@ -310,9 +310,11 @@ } private List handleAllApprovalListResponse(List approvalList, List list, List allApproveList) { - Map taskMap = new HashMap<>(); + Map taskMap = new HashMap<>(); approvalList = ConvertUtils.sourceToTarget(list, FileApprovalListResponse.class); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -322,7 +324,7 @@ return approvalList.stream().sorted(Comparator.comparing(FileApprovalListResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, List list, String status){ + private List handleApprovalListResponse(List approvalList, List list, String status) { approvalList = ConvertUtils.sourceToTarget(list, FileApprovalListResponse.class); approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 @@ -341,8 +343,8 @@ @Override public ReturnDTO querySelectList() { QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("effective_status","1"); - wrapper.eq("file_type","10"); + wrapper.eq("effective_status", "1"); + wrapper.eq("file_type", "10"); return ReturnUtil.success(this.baseMapper.selectList(wrapper)); } @@ -374,4 +376,10 @@ wrapper.orderByAsc("effective_status").orderByDesc("create_time"); return wrapper; } + + + @Override + public List list(List ids) { + return this.baseMapper.selectBatchIds(ids); + } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java index 84b4522..b9ba892 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation; import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import liquibase.pro.packaged.B; import java.util.List; @@ -15,5 +16,11 @@ * @since 2023-02-02 */ public interface IBusinessOriginalRecordEquipmentRelationService extends IService { + boolean saveBatch(Long originId, List equipmentFixedAssetsList); + + //根据原始记录单id查询所有关联的检测设备 + List getEquipmentsByOriginalRecordId(Long originId); + + Boolean deleteByOriginId(Long originId); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordFileRelationService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordFileRelationService.java index d41c6aa..56e0079 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordFileRelationService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordFileRelationService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.model.business.BusinessOriginalRecordFileRelation; import com.casic.missiles.model.meter.MeterFile; +import liquibase.pro.packaged.L; import java.util.List; @@ -17,4 +18,9 @@ public interface IBusinessOriginalRecordFileRelationService extends IService { boolean saveBatch(Long originId, List meterFileList); + //根据原始记录单id查询所有关联的计量文件 + List getFilesByOriginalRecordId(Long originId); + + Boolean deleteByOriginId(Long originId); + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordService.java index 55cfd08..7da0b11 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordService.java @@ -3,8 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.business.environment.EnvironmentListRequest; -import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; import com.casic.missiles.model.business.BusinessOriginalRecord; import javax.servlet.http.HttpServletResponse; @@ -21,7 +20,7 @@ Page originListPage(Page page, OriginRecordRequest request) throws Exception; - BusinessOriginalRecord originalDetail(Long id); + BusinessOriginalRecord originalDetail(Long id) throws Exception; ReturnDTO deleteOriginal(Long id); @@ -29,7 +28,7 @@ ReturnDTO addOriginal(BusinessOriginalRecord businessOriginalRecord); - void originalExport(EnvironmentListRequest request, HttpServletResponse response); + void originExport(OriginRecordRequest request, HttpServletResponse response); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentFixedAssetsService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentFixedAssetsService.java index f10f4c8..7cb07bf 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentFixedAssetsService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentFixedAssetsService.java @@ -38,4 +38,6 @@ ReturnDTO addFixedAssetList(List meterFixedAssetsList) throws Exception; EquipmentFixedAssets getById(Long id) throws Exception; + + List list(List ids); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/meter/IMeterFileService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/meter/IMeterFileService.java index 3832417..945343c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/meter/IMeterFileService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/meter/IMeterFileService.java @@ -43,4 +43,6 @@ ReturnDTO failUpdate(MeterFile meterFile); ReturnDTO querySelectList(); + + List list(List ids); }