diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 99e3b8f..2de64e1 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; @@ -38,6 +39,7 @@ * @since 2023-02-02 */ @RestController +@Api(tags = "环境记录单模块") @RequestMapping("/business/environmentRecord") public class BusinessEnvironmentRecordController extends ExportController { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 99e3b8f..2de64e1 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; @@ -38,6 +39,7 @@ * @since 2023-02-02 */ @RestController +@Api(tags = "环境记录单模块") @RequestMapping("/business/environmentRecord") public class BusinessEnvironmentRecordController extends ExportController { 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 e943ec4..ca7e8d2 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 @@ -1,18 +1,109 @@ package com.casic.missiles.controller.business; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.environment.EnvironmentListRequest; +import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BusinessEnvironmentRecord; +import com.casic.missiles.model.business.BusinessOriginalRecord; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.business.IBusinessOriginalRecordService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author wangpeng * @since 2023-02-02 */ @RestController +@Api(tags = "原始记录单模块") @RequestMapping("/business/originalRecord") -public class BusinessOriginalRecordController { +public class BusinessOriginalRecordController extends ExportController { + @Resource + private IBusinessOriginalRecordService businessOriginalRecordService; + + @ApiOperation("原始记录查询") + @PostMapping("/listPage") + public ReturnDTO> originalListPage(@RequestBody @Valid OriginRecordRequest request, BindingResult bindingResult) throws Exception { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOriginalRecordService.originListPage(page, request))); + } + + + @ApiOperation("原始记录详情") + @PostMapping("/detail") + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.originalDetail(idDTO.getId())); + } + + @ApiOperation("原始记录更新") + @PostMapping("/update") + public ReturnDTO updateOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOriginalRecord.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.updateOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录新增") + @PostMapping("/add") + public ReturnDTO addOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.addOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录删除") + @PostMapping("/delete") + public ReturnDTO deleteOriginal(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.deleteOriginal(idDTO.getId())); + } + + @ApiOperation("原始记录导出") + @PostMapping("/export") + public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { +// businessEnvironmentRecordService.environmentExport(request, response); + } + + @ApiOperation("获取设备") + @PostMapping("/getEquipments") + public void getEquipments() { +// businessEnvironmentRecordService.environmentExport(request, response); + } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 99e3b8f..2de64e1 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; @@ -38,6 +39,7 @@ * @since 2023-02-02 */ @RestController +@Api(tags = "环境记录单模块") @RequestMapping("/business/environmentRecord") public class BusinessEnvironmentRecordController extends ExportController { 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 e943ec4..ca7e8d2 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 @@ -1,18 +1,109 @@ package com.casic.missiles.controller.business; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.environment.EnvironmentListRequest; +import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BusinessEnvironmentRecord; +import com.casic.missiles.model.business.BusinessOriginalRecord; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.business.IBusinessOriginalRecordService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author wangpeng * @since 2023-02-02 */ @RestController +@Api(tags = "原始记录单模块") @RequestMapping("/business/originalRecord") -public class BusinessOriginalRecordController { +public class BusinessOriginalRecordController extends ExportController { + @Resource + private IBusinessOriginalRecordService businessOriginalRecordService; + + @ApiOperation("原始记录查询") + @PostMapping("/listPage") + public ReturnDTO> originalListPage(@RequestBody @Valid OriginRecordRequest request, BindingResult bindingResult) throws Exception { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOriginalRecordService.originListPage(page, request))); + } + + + @ApiOperation("原始记录详情") + @PostMapping("/detail") + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.originalDetail(idDTO.getId())); + } + + @ApiOperation("原始记录更新") + @PostMapping("/update") + public ReturnDTO updateOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOriginalRecord.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.updateOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录新增") + @PostMapping("/add") + public ReturnDTO addOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.addOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录删除") + @PostMapping("/delete") + public ReturnDTO deleteOriginal(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.deleteOriginal(idDTO.getId())); + } + + @ApiOperation("原始记录导出") + @PostMapping("/export") + public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { +// businessEnvironmentRecordService.environmentExport(request, response); + } + + @ApiOperation("获取设备") + @PostMapping("/getEquipments") + public void getEquipments() { +// businessEnvironmentRecordService.environmentExport(request, response); + } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java index c499a12..375c4b0 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.equipment; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; @@ -187,4 +188,15 @@ return iEquipmentFixedAssetsService.addFixedAssetList(resultList); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉检查设备查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return iEquipmentFixedAssetsService.querySelectList(); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 99e3b8f..2de64e1 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; @@ -38,6 +39,7 @@ * @since 2023-02-02 */ @RestController +@Api(tags = "环境记录单模块") @RequestMapping("/business/environmentRecord") public class BusinessEnvironmentRecordController extends ExportController { 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 e943ec4..ca7e8d2 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 @@ -1,18 +1,109 @@ package com.casic.missiles.controller.business; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.environment.EnvironmentListRequest; +import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BusinessEnvironmentRecord; +import com.casic.missiles.model.business.BusinessOriginalRecord; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.business.IBusinessOriginalRecordService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author wangpeng * @since 2023-02-02 */ @RestController +@Api(tags = "原始记录单模块") @RequestMapping("/business/originalRecord") -public class BusinessOriginalRecordController { +public class BusinessOriginalRecordController extends ExportController { + @Resource + private IBusinessOriginalRecordService businessOriginalRecordService; + + @ApiOperation("原始记录查询") + @PostMapping("/listPage") + public ReturnDTO> originalListPage(@RequestBody @Valid OriginRecordRequest request, BindingResult bindingResult) throws Exception { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOriginalRecordService.originListPage(page, request))); + } + + + @ApiOperation("原始记录详情") + @PostMapping("/detail") + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.originalDetail(idDTO.getId())); + } + + @ApiOperation("原始记录更新") + @PostMapping("/update") + public ReturnDTO updateOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOriginalRecord.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.updateOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录新增") + @PostMapping("/add") + public ReturnDTO addOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.addOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录删除") + @PostMapping("/delete") + public ReturnDTO deleteOriginal(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.deleteOriginal(idDTO.getId())); + } + + @ApiOperation("原始记录导出") + @PostMapping("/export") + public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { +// businessEnvironmentRecordService.environmentExport(request, response); + } + + @ApiOperation("获取设备") + @PostMapping("/getEquipments") + public void getEquipments() { +// businessEnvironmentRecordService.environmentExport(request, response); + } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java index c499a12..375c4b0 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.equipment; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; @@ -187,4 +188,15 @@ return iEquipmentFixedAssetsService.addFixedAssetList(resultList); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉检查设备查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return iEquipmentFixedAssetsService.querySelectList(); + } + } 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 9e8b89e..cf5f125 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 @@ -216,4 +216,15 @@ return meterFileService.failUpdate(meterFile); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉所依据的技术文件查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return meterFileService.querySelectList(); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 99e3b8f..2de64e1 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; @@ -38,6 +39,7 @@ * @since 2023-02-02 */ @RestController +@Api(tags = "环境记录单模块") @RequestMapping("/business/environmentRecord") public class BusinessEnvironmentRecordController extends ExportController { 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 e943ec4..ca7e8d2 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 @@ -1,18 +1,109 @@ package com.casic.missiles.controller.business; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.environment.EnvironmentListRequest; +import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BusinessEnvironmentRecord; +import com.casic.missiles.model.business.BusinessOriginalRecord; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.business.IBusinessOriginalRecordService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author wangpeng * @since 2023-02-02 */ @RestController +@Api(tags = "原始记录单模块") @RequestMapping("/business/originalRecord") -public class BusinessOriginalRecordController { +public class BusinessOriginalRecordController extends ExportController { + @Resource + private IBusinessOriginalRecordService businessOriginalRecordService; + + @ApiOperation("原始记录查询") + @PostMapping("/listPage") + public ReturnDTO> originalListPage(@RequestBody @Valid OriginRecordRequest request, BindingResult bindingResult) throws Exception { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOriginalRecordService.originListPage(page, request))); + } + + + @ApiOperation("原始记录详情") + @PostMapping("/detail") + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.originalDetail(idDTO.getId())); + } + + @ApiOperation("原始记录更新") + @PostMapping("/update") + public ReturnDTO updateOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOriginalRecord.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.updateOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录新增") + @PostMapping("/add") + public ReturnDTO addOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.addOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录删除") + @PostMapping("/delete") + public ReturnDTO deleteOriginal(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.deleteOriginal(idDTO.getId())); + } + + @ApiOperation("原始记录导出") + @PostMapping("/export") + public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { +// businessEnvironmentRecordService.environmentExport(request, response); + } + + @ApiOperation("获取设备") + @PostMapping("/getEquipments") + public void getEquipments() { +// businessEnvironmentRecordService.environmentExport(request, response); + } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java index c499a12..375c4b0 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.equipment; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; @@ -187,4 +188,15 @@ return iEquipmentFixedAssetsService.addFixedAssetList(resultList); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉检查设备查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return iEquipmentFixedAssetsService.querySelectList(); + } + } 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 9e8b89e..cf5f125 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 @@ -216,4 +216,15 @@ return meterFileService.failUpdate(meterFile); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉所依据的技术文件查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return meterFileService.querySelectList(); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java index 5253767..7bb2954 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java @@ -32,5 +32,11 @@ String STANDARD_APPLY_TYPE = "standardApplyType"; //房间号 String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 99e3b8f..2de64e1 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; @@ -38,6 +39,7 @@ * @since 2023-02-02 */ @RestController +@Api(tags = "环境记录单模块") @RequestMapping("/business/environmentRecord") public class BusinessEnvironmentRecordController extends ExportController { 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 e943ec4..ca7e8d2 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 @@ -1,18 +1,109 @@ package com.casic.missiles.controller.business; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.environment.EnvironmentListRequest; +import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BusinessEnvironmentRecord; +import com.casic.missiles.model.business.BusinessOriginalRecord; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.business.IBusinessOriginalRecordService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author wangpeng * @since 2023-02-02 */ @RestController +@Api(tags = "原始记录单模块") @RequestMapping("/business/originalRecord") -public class BusinessOriginalRecordController { +public class BusinessOriginalRecordController extends ExportController { + @Resource + private IBusinessOriginalRecordService businessOriginalRecordService; + + @ApiOperation("原始记录查询") + @PostMapping("/listPage") + public ReturnDTO> originalListPage(@RequestBody @Valid OriginRecordRequest request, BindingResult bindingResult) throws Exception { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOriginalRecordService.originListPage(page, request))); + } + + + @ApiOperation("原始记录详情") + @PostMapping("/detail") + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.originalDetail(idDTO.getId())); + } + + @ApiOperation("原始记录更新") + @PostMapping("/update") + public ReturnDTO updateOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOriginalRecord.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.updateOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录新增") + @PostMapping("/add") + public ReturnDTO addOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.addOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录删除") + @PostMapping("/delete") + public ReturnDTO deleteOriginal(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.deleteOriginal(idDTO.getId())); + } + + @ApiOperation("原始记录导出") + @PostMapping("/export") + public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { +// businessEnvironmentRecordService.environmentExport(request, response); + } + + @ApiOperation("获取设备") + @PostMapping("/getEquipments") + public void getEquipments() { +// businessEnvironmentRecordService.environmentExport(request, response); + } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java index c499a12..375c4b0 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.equipment; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; @@ -187,4 +188,15 @@ return iEquipmentFixedAssetsService.addFixedAssetList(resultList); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉检查设备查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return iEquipmentFixedAssetsService.querySelectList(); + } + } 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 9e8b89e..cf5f125 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 @@ -216,4 +216,15 @@ return meterFileService.failUpdate(meterFile); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉所依据的技术文件查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return meterFileService.querySelectList(); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java index 5253767..7bb2954 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java @@ -32,5 +32,11 @@ String STANDARD_APPLY_TYPE = "standardApplyType"; //房间号 String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 5057d08..6b109a2 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -9,6 +9,7 @@ //环境记录单编号生成前缀 String ENVIRONMENT_PREFIX = "hjld"; - + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 99e3b8f..2de64e1 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; @@ -38,6 +39,7 @@ * @since 2023-02-02 */ @RestController +@Api(tags = "环境记录单模块") @RequestMapping("/business/environmentRecord") public class BusinessEnvironmentRecordController extends ExportController { 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 e943ec4..ca7e8d2 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 @@ -1,18 +1,109 @@ package com.casic.missiles.controller.business; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.environment.EnvironmentListRequest; +import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BusinessEnvironmentRecord; +import com.casic.missiles.model.business.BusinessOriginalRecord; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.business.IBusinessOriginalRecordService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author wangpeng * @since 2023-02-02 */ @RestController +@Api(tags = "原始记录单模块") @RequestMapping("/business/originalRecord") -public class BusinessOriginalRecordController { +public class BusinessOriginalRecordController extends ExportController { + @Resource + private IBusinessOriginalRecordService businessOriginalRecordService; + + @ApiOperation("原始记录查询") + @PostMapping("/listPage") + public ReturnDTO> originalListPage(@RequestBody @Valid OriginRecordRequest request, BindingResult bindingResult) throws Exception { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOriginalRecordService.originListPage(page, request))); + } + + + @ApiOperation("原始记录详情") + @PostMapping("/detail") + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.originalDetail(idDTO.getId())); + } + + @ApiOperation("原始记录更新") + @PostMapping("/update") + public ReturnDTO updateOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOriginalRecord.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.updateOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录新增") + @PostMapping("/add") + public ReturnDTO addOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.addOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录删除") + @PostMapping("/delete") + public ReturnDTO deleteOriginal(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.deleteOriginal(idDTO.getId())); + } + + @ApiOperation("原始记录导出") + @PostMapping("/export") + public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { +// businessEnvironmentRecordService.environmentExport(request, response); + } + + @ApiOperation("获取设备") + @PostMapping("/getEquipments") + public void getEquipments() { +// businessEnvironmentRecordService.environmentExport(request, response); + } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java index c499a12..375c4b0 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.equipment; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; @@ -187,4 +188,15 @@ return iEquipmentFixedAssetsService.addFixedAssetList(resultList); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉检查设备查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return iEquipmentFixedAssetsService.querySelectList(); + } + } 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 9e8b89e..cf5f125 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 @@ -216,4 +216,15 @@ return meterFileService.failUpdate(meterFile); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉所依据的技术文件查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return meterFileService.querySelectList(); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java index 5253767..7bb2954 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java @@ -32,5 +32,11 @@ String STANDARD_APPLY_TYPE = "standardApplyType"; //房间号 String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 5057d08..6b109a2 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -9,6 +9,7 @@ //环境记录单编号生成前缀 String ENVIRONMENT_PREFIX = "hjld"; - + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; } 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 752e2e8..56f6602 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 @@ -1,16 +1,24 @@ package com.casic.missiles.mapper.business; 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.model.business.BusinessOriginalRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; /** *

- * Mapper 接口 + * Mapper 接口 *

* * @author wangpeng * @since 2023-02-02 */ public interface BusinessOriginalRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(original_record_code, 12)), 0) from business_original_record") + Long selectMaxCode(); + + Page originListPage(Page page, @Param("request") OriginRecordRequest request); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 99e3b8f..2de64e1 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; @@ -38,6 +39,7 @@ * @since 2023-02-02 */ @RestController +@Api(tags = "环境记录单模块") @RequestMapping("/business/environmentRecord") public class BusinessEnvironmentRecordController extends ExportController { 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 e943ec4..ca7e8d2 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 @@ -1,18 +1,109 @@ package com.casic.missiles.controller.business; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.environment.EnvironmentListRequest; +import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BusinessEnvironmentRecord; +import com.casic.missiles.model.business.BusinessOriginalRecord; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.business.IBusinessOriginalRecordService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author wangpeng * @since 2023-02-02 */ @RestController +@Api(tags = "原始记录单模块") @RequestMapping("/business/originalRecord") -public class BusinessOriginalRecordController { +public class BusinessOriginalRecordController extends ExportController { + @Resource + private IBusinessOriginalRecordService businessOriginalRecordService; + + @ApiOperation("原始记录查询") + @PostMapping("/listPage") + public ReturnDTO> originalListPage(@RequestBody @Valid OriginRecordRequest request, BindingResult bindingResult) throws Exception { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOriginalRecordService.originListPage(page, request))); + } + + + @ApiOperation("原始记录详情") + @PostMapping("/detail") + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.originalDetail(idDTO.getId())); + } + + @ApiOperation("原始记录更新") + @PostMapping("/update") + public ReturnDTO updateOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOriginalRecord.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.updateOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录新增") + @PostMapping("/add") + public ReturnDTO addOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.addOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录删除") + @PostMapping("/delete") + public ReturnDTO deleteOriginal(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.deleteOriginal(idDTO.getId())); + } + + @ApiOperation("原始记录导出") + @PostMapping("/export") + public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { +// businessEnvironmentRecordService.environmentExport(request, response); + } + + @ApiOperation("获取设备") + @PostMapping("/getEquipments") + public void getEquipments() { +// businessEnvironmentRecordService.environmentExport(request, response); + } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java index c499a12..375c4b0 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.equipment; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; @@ -187,4 +188,15 @@ return iEquipmentFixedAssetsService.addFixedAssetList(resultList); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉检查设备查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return iEquipmentFixedAssetsService.querySelectList(); + } + } 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 9e8b89e..cf5f125 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 @@ -216,4 +216,15 @@ return meterFileService.failUpdate(meterFile); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉所依据的技术文件查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return meterFileService.querySelectList(); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java index 5253767..7bb2954 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java @@ -32,5 +32,11 @@ String STANDARD_APPLY_TYPE = "standardApplyType"; //房间号 String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 5057d08..6b109a2 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -9,6 +9,7 @@ //环境记录单编号生成前缀 String ENVIRONMENT_PREFIX = "hjld"; - + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; } 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 752e2e8..56f6602 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 @@ -1,16 +1,24 @@ package com.casic.missiles.mapper.business; 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.model.business.BusinessOriginalRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; /** *

- * Mapper 接口 + * Mapper 接口 *

* * @author wangpeng * @since 2023-02-02 */ public interface BusinessOriginalRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(original_record_code, 12)), 0) from business_original_record") + Long selectMaxCode(); + + Page originListPage(Page page, @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 cccc6a0..879a43f 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml @@ -4,27 +4,60 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - id, original_record_code, original_record_name, calibration_category, calibration_time, environment_id, calibration_place, order_id, sample_id, template_id, original_record_file, remark, is_del, create_user, create_time, update_time + id + , original_record_code, original_record_name, calibration_category, calibration_time, environment_id, calibration_place, order_id, sample_id, template_id, original_record_file, remark, is_del, create_user, create_time, update_time + + + diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 99e3b8f..2de64e1 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; @@ -38,6 +39,7 @@ * @since 2023-02-02 */ @RestController +@Api(tags = "环境记录单模块") @RequestMapping("/business/environmentRecord") public class BusinessEnvironmentRecordController extends ExportController { 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 e943ec4..ca7e8d2 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 @@ -1,18 +1,109 @@ package com.casic.missiles.controller.business; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.environment.EnvironmentListRequest; +import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BusinessEnvironmentRecord; +import com.casic.missiles.model.business.BusinessOriginalRecord; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.business.IBusinessOriginalRecordService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author wangpeng * @since 2023-02-02 */ @RestController +@Api(tags = "原始记录单模块") @RequestMapping("/business/originalRecord") -public class BusinessOriginalRecordController { +public class BusinessOriginalRecordController extends ExportController { + @Resource + private IBusinessOriginalRecordService businessOriginalRecordService; + + @ApiOperation("原始记录查询") + @PostMapping("/listPage") + public ReturnDTO> originalListPage(@RequestBody @Valid OriginRecordRequest request, BindingResult bindingResult) throws Exception { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOriginalRecordService.originListPage(page, request))); + } + + + @ApiOperation("原始记录详情") + @PostMapping("/detail") + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.originalDetail(idDTO.getId())); + } + + @ApiOperation("原始记录更新") + @PostMapping("/update") + public ReturnDTO updateOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOriginalRecord.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.updateOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录新增") + @PostMapping("/add") + public ReturnDTO addOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.addOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录删除") + @PostMapping("/delete") + public ReturnDTO deleteOriginal(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.deleteOriginal(idDTO.getId())); + } + + @ApiOperation("原始记录导出") + @PostMapping("/export") + public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { +// businessEnvironmentRecordService.environmentExport(request, response); + } + + @ApiOperation("获取设备") + @PostMapping("/getEquipments") + public void getEquipments() { +// businessEnvironmentRecordService.environmentExport(request, response); + } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java index c499a12..375c4b0 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.equipment; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; @@ -187,4 +188,15 @@ return iEquipmentFixedAssetsService.addFixedAssetList(resultList); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉检查设备查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return iEquipmentFixedAssetsService.querySelectList(); + } + } 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 9e8b89e..cf5f125 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 @@ -216,4 +216,15 @@ return meterFileService.failUpdate(meterFile); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉所依据的技术文件查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return meterFileService.querySelectList(); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java index 5253767..7bb2954 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java @@ -32,5 +32,11 @@ String STANDARD_APPLY_TYPE = "standardApplyType"; //房间号 String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 5057d08..6b109a2 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -9,6 +9,7 @@ //环境记录单编号生成前缀 String ENVIRONMENT_PREFIX = "hjld"; - + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; } 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 752e2e8..56f6602 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 @@ -1,16 +1,24 @@ package com.casic.missiles.mapper.business; 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.model.business.BusinessOriginalRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; /** *

- * Mapper 接口 + * Mapper 接口 *

* * @author wangpeng * @since 2023-02-02 */ public interface BusinessOriginalRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(original_record_code, 12)), 0) from business_original_record") + Long selectMaxCode(); + + Page originListPage(Page page, @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 cccc6a0..879a43f 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml @@ -4,27 +4,60 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - id, original_record_code, original_record_name, calibration_category, calibration_time, environment_id, calibration_place, order_id, sample_id, template_id, original_record_file, remark, is_del, create_user, create_time, update_time + id + , original_record_code, original_record_name, calibration_category, calibration_time, environment_id, calibration_place, order_id, sample_id, template_id, original_record_file, remark, is_del, create_user, create_time, update_time + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java index d858b3a..7148dc6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java @@ -7,6 +7,7 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -65,5 +66,8 @@ @ExcelProperty(value = "记录时间",order = 7) private String recordTime; + @TableField("is_del") + private Boolean isDel; + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 99e3b8f..2de64e1 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; @@ -38,6 +39,7 @@ * @since 2023-02-02 */ @RestController +@Api(tags = "环境记录单模块") @RequestMapping("/business/environmentRecord") public class BusinessEnvironmentRecordController extends ExportController { 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 e943ec4..ca7e8d2 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 @@ -1,18 +1,109 @@ package com.casic.missiles.controller.business; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.environment.EnvironmentListRequest; +import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BusinessEnvironmentRecord; +import com.casic.missiles.model.business.BusinessOriginalRecord; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.business.IBusinessOriginalRecordService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author wangpeng * @since 2023-02-02 */ @RestController +@Api(tags = "原始记录单模块") @RequestMapping("/business/originalRecord") -public class BusinessOriginalRecordController { +public class BusinessOriginalRecordController extends ExportController { + @Resource + private IBusinessOriginalRecordService businessOriginalRecordService; + + @ApiOperation("原始记录查询") + @PostMapping("/listPage") + public ReturnDTO> originalListPage(@RequestBody @Valid OriginRecordRequest request, BindingResult bindingResult) throws Exception { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOriginalRecordService.originListPage(page, request))); + } + + + @ApiOperation("原始记录详情") + @PostMapping("/detail") + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.originalDetail(idDTO.getId())); + } + + @ApiOperation("原始记录更新") + @PostMapping("/update") + public ReturnDTO updateOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOriginalRecord.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.updateOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录新增") + @PostMapping("/add") + public ReturnDTO addOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.addOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录删除") + @PostMapping("/delete") + public ReturnDTO deleteOriginal(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.deleteOriginal(idDTO.getId())); + } + + @ApiOperation("原始记录导出") + @PostMapping("/export") + public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { +// businessEnvironmentRecordService.environmentExport(request, response); + } + + @ApiOperation("获取设备") + @PostMapping("/getEquipments") + public void getEquipments() { +// businessEnvironmentRecordService.environmentExport(request, response); + } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java index c499a12..375c4b0 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.equipment; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; @@ -187,4 +188,15 @@ return iEquipmentFixedAssetsService.addFixedAssetList(resultList); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉检查设备查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return iEquipmentFixedAssetsService.querySelectList(); + } + } 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 9e8b89e..cf5f125 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 @@ -216,4 +216,15 @@ return meterFileService.failUpdate(meterFile); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉所依据的技术文件查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return meterFileService.querySelectList(); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java index 5253767..7bb2954 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java @@ -32,5 +32,11 @@ String STANDARD_APPLY_TYPE = "standardApplyType"; //房间号 String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 5057d08..6b109a2 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -9,6 +9,7 @@ //环境记录单编号生成前缀 String ENVIRONMENT_PREFIX = "hjld"; - + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; } 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 752e2e8..56f6602 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 @@ -1,16 +1,24 @@ package com.casic.missiles.mapper.business; 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.model.business.BusinessOriginalRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; /** *

- * Mapper 接口 + * Mapper 接口 *

* * @author wangpeng * @since 2023-02-02 */ public interface BusinessOriginalRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(original_record_code, 12)), 0) from business_original_record") + Long selectMaxCode(); + + Page originListPage(Page page, @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 cccc6a0..879a43f 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml @@ -4,27 +4,60 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - id, original_record_code, original_record_name, calibration_category, calibration_time, environment_id, calibration_place, order_id, sample_id, template_id, original_record_file, remark, is_del, create_user, create_time, update_time + id + , original_record_code, original_record_name, calibration_category, calibration_time, environment_id, calibration_place, order_id, sample_id, template_id, original_record_file, remark, is_del, create_user, create_time, update_time + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java index d858b3a..7148dc6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java @@ -7,6 +7,7 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -65,5 +66,8 @@ @ExcelProperty(value = "记录时间",order = 7) private String recordTime; + @TableField("is_del") + private Boolean isDel; + } 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 new file mode 100644 index 0000000..93ada55 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java @@ -0,0 +1,31 @@ +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/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 99e3b8f..2de64e1 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; @@ -38,6 +39,7 @@ * @since 2023-02-02 */ @RestController +@Api(tags = "环境记录单模块") @RequestMapping("/business/environmentRecord") public class BusinessEnvironmentRecordController extends ExportController { 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 e943ec4..ca7e8d2 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 @@ -1,18 +1,109 @@ package com.casic.missiles.controller.business; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.environment.EnvironmentListRequest; +import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BusinessEnvironmentRecord; +import com.casic.missiles.model.business.BusinessOriginalRecord; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.business.IBusinessOriginalRecordService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author wangpeng * @since 2023-02-02 */ @RestController +@Api(tags = "原始记录单模块") @RequestMapping("/business/originalRecord") -public class BusinessOriginalRecordController { +public class BusinessOriginalRecordController extends ExportController { + @Resource + private IBusinessOriginalRecordService businessOriginalRecordService; + + @ApiOperation("原始记录查询") + @PostMapping("/listPage") + public ReturnDTO> originalListPage(@RequestBody @Valid OriginRecordRequest request, BindingResult bindingResult) throws Exception { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOriginalRecordService.originListPage(page, request))); + } + + + @ApiOperation("原始记录详情") + @PostMapping("/detail") + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.originalDetail(idDTO.getId())); + } + + @ApiOperation("原始记录更新") + @PostMapping("/update") + public ReturnDTO updateOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOriginalRecord.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.updateOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录新增") + @PostMapping("/add") + public ReturnDTO addOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.addOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录删除") + @PostMapping("/delete") + public ReturnDTO deleteOriginal(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.deleteOriginal(idDTO.getId())); + } + + @ApiOperation("原始记录导出") + @PostMapping("/export") + public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { +// businessEnvironmentRecordService.environmentExport(request, response); + } + + @ApiOperation("获取设备") + @PostMapping("/getEquipments") + public void getEquipments() { +// businessEnvironmentRecordService.environmentExport(request, response); + } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java index c499a12..375c4b0 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.equipment; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; @@ -187,4 +188,15 @@ return iEquipmentFixedAssetsService.addFixedAssetList(resultList); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉检查设备查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return iEquipmentFixedAssetsService.querySelectList(); + } + } 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 9e8b89e..cf5f125 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 @@ -216,4 +216,15 @@ return meterFileService.failUpdate(meterFile); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉所依据的技术文件查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return meterFileService.querySelectList(); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java index 5253767..7bb2954 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java @@ -32,5 +32,11 @@ String STANDARD_APPLY_TYPE = "standardApplyType"; //房间号 String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 5057d08..6b109a2 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -9,6 +9,7 @@ //环境记录单编号生成前缀 String ENVIRONMENT_PREFIX = "hjld"; - + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; } 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 752e2e8..56f6602 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 @@ -1,16 +1,24 @@ package com.casic.missiles.mapper.business; 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.model.business.BusinessOriginalRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; /** *

- * Mapper 接口 + * Mapper 接口 *

* * @author wangpeng * @since 2023-02-02 */ public interface BusinessOriginalRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(original_record_code, 12)), 0) from business_original_record") + Long selectMaxCode(); + + Page originListPage(Page page, @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 cccc6a0..879a43f 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml @@ -4,27 +4,60 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - id, original_record_code, original_record_name, calibration_category, calibration_time, environment_id, calibration_place, order_id, sample_id, template_id, original_record_file, remark, is_del, create_user, create_time, update_time + id + , original_record_code, original_record_name, calibration_category, calibration_time, environment_id, calibration_place, order_id, sample_id, template_id, original_record_file, remark, is_del, create_user, create_time, update_time + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java index d858b3a..7148dc6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java @@ -7,6 +7,7 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -65,5 +66,8 @@ @ExcelProperty(value = "记录时间",order = 7) private String recordTime; + @TableField("is_del") + private Boolean isDel; + } 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 new file mode 100644 index 0000000..93ada55 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java @@ -0,0 +1,31 @@ +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-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java index 18e50a8..c918e35 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java @@ -3,13 +3,19 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.model.customer.CustomerSampleInfo; +import com.casic.missiles.model.equipment.EquipmentApplyFile; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.meter.MeterFile; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; +import java.util.List; /** *

- * + * *

* * @author wangpeng @@ -28,66 +34,77 @@ * 原始记录编号 */ @TableField("original_record_code") + @ApiModelProperty(value = "原始记录编号", dataType = "String") private String originalRecordCode; /** * 原始记录名称 */ @TableField("original_record_name") + @ApiModelProperty(value = "原始记录名称", dataType = "String") private String originalRecordName; /** * 检校类别(字典code) */ @TableField("calibration_category") + @ApiModelProperty(value = "检校类别", dataType = "String") private String calibrationCategory; /** * 检校时间 */ @TableField("calibration_time") + @ApiModelProperty(value = "检校时间", dataType = "String") private String calibrationTime; /** * 环境记录单id */ @TableField("environment_id") + @ApiModelProperty(value = "环境记录单id", dataType = "Long") private Long environmentId; /** * 检校地点 */ @TableField("calibration_place") + @ApiModelProperty(value = "检校地点", dataType = "String") private String calibrationPlace; /** * 委托书id */ @TableField("order_id") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long orderId; /** * 样品id */ @TableField("sample_id") + @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; /** * 原始记录模板id */ @TableField("template_id") + @ApiModelProperty(value = "原始记录模板id", dataType = "Long") private Long templateId; /** * 原始记录附件(minio存储文件名) */ @TableField("original_record_file") + @ApiModelProperty(value = "原始记录附件", dataType = "String") private String originalRecordFile; /** * 备注 */ @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String") private String remark; @TableField("is_del") @@ -102,5 +119,32 @@ @TableField("update_time") private String updateTime; + /** + * 委托单信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "委托单信息", dataType = "Object") + private BusinessOrder businessOrder; + /** + * 环境记录单信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "环境记录单信息", dataType = "Object") + private BusinessEnvironmentRecord businessEnvironmentRecord; + /** + * 样品信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "样品信息", dataType = "Object") + private CustomerSampleInfo customerSampleInfo; + @TableField(exist = false) + @ApiModelProperty(value = "监测设备", dataType = "List") + private List equipmentInfoList; + /** + * 技术文件 + */ + @TableField(exist = false) + @ApiModelProperty(value = "技术文件", dataType = "List") + private List fileList; } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 99e3b8f..2de64e1 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; @@ -38,6 +39,7 @@ * @since 2023-02-02 */ @RestController +@Api(tags = "环境记录单模块") @RequestMapping("/business/environmentRecord") public class BusinessEnvironmentRecordController extends ExportController { 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 e943ec4..ca7e8d2 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 @@ -1,18 +1,109 @@ package com.casic.missiles.controller.business; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.environment.EnvironmentListRequest; +import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BusinessEnvironmentRecord; +import com.casic.missiles.model.business.BusinessOriginalRecord; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.business.IBusinessOriginalRecordService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author wangpeng * @since 2023-02-02 */ @RestController +@Api(tags = "原始记录单模块") @RequestMapping("/business/originalRecord") -public class BusinessOriginalRecordController { +public class BusinessOriginalRecordController extends ExportController { + @Resource + private IBusinessOriginalRecordService businessOriginalRecordService; + + @ApiOperation("原始记录查询") + @PostMapping("/listPage") + public ReturnDTO> originalListPage(@RequestBody @Valid OriginRecordRequest request, BindingResult bindingResult) throws Exception { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOriginalRecordService.originListPage(page, request))); + } + + + @ApiOperation("原始记录详情") + @PostMapping("/detail") + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.originalDetail(idDTO.getId())); + } + + @ApiOperation("原始记录更新") + @PostMapping("/update") + public ReturnDTO updateOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOriginalRecord.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.updateOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录新增") + @PostMapping("/add") + public ReturnDTO addOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.addOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录删除") + @PostMapping("/delete") + public ReturnDTO deleteOriginal(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.deleteOriginal(idDTO.getId())); + } + + @ApiOperation("原始记录导出") + @PostMapping("/export") + public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { +// businessEnvironmentRecordService.environmentExport(request, response); + } + + @ApiOperation("获取设备") + @PostMapping("/getEquipments") + public void getEquipments() { +// businessEnvironmentRecordService.environmentExport(request, response); + } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java index c499a12..375c4b0 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.equipment; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; @@ -187,4 +188,15 @@ return iEquipmentFixedAssetsService.addFixedAssetList(resultList); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉检查设备查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return iEquipmentFixedAssetsService.querySelectList(); + } + } 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 9e8b89e..cf5f125 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 @@ -216,4 +216,15 @@ return meterFileService.failUpdate(meterFile); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉所依据的技术文件查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return meterFileService.querySelectList(); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java index 5253767..7bb2954 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java @@ -32,5 +32,11 @@ String STANDARD_APPLY_TYPE = "standardApplyType"; //房间号 String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 5057d08..6b109a2 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -9,6 +9,7 @@ //环境记录单编号生成前缀 String ENVIRONMENT_PREFIX = "hjld"; - + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; } 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 752e2e8..56f6602 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 @@ -1,16 +1,24 @@ package com.casic.missiles.mapper.business; 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.model.business.BusinessOriginalRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; /** *

- * Mapper 接口 + * Mapper 接口 *

* * @author wangpeng * @since 2023-02-02 */ public interface BusinessOriginalRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(original_record_code, 12)), 0) from business_original_record") + Long selectMaxCode(); + + Page originListPage(Page page, @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 cccc6a0..879a43f 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml @@ -4,27 +4,60 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - id, original_record_code, original_record_name, calibration_category, calibration_time, environment_id, calibration_place, order_id, sample_id, template_id, original_record_file, remark, is_del, create_user, create_time, update_time + id + , original_record_code, original_record_name, calibration_category, calibration_time, environment_id, calibration_place, order_id, sample_id, template_id, original_record_file, remark, is_del, create_user, create_time, update_time + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java index d858b3a..7148dc6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java @@ -7,6 +7,7 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -65,5 +66,8 @@ @ExcelProperty(value = "记录时间",order = 7) private String recordTime; + @TableField("is_del") + private Boolean isDel; + } 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 new file mode 100644 index 0000000..93ada55 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java @@ -0,0 +1,31 @@ +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-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java index 18e50a8..c918e35 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java @@ -3,13 +3,19 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.model.customer.CustomerSampleInfo; +import com.casic.missiles.model.equipment.EquipmentApplyFile; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.meter.MeterFile; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; +import java.util.List; /** *

- * + * *

* * @author wangpeng @@ -28,66 +34,77 @@ * 原始记录编号 */ @TableField("original_record_code") + @ApiModelProperty(value = "原始记录编号", dataType = "String") private String originalRecordCode; /** * 原始记录名称 */ @TableField("original_record_name") + @ApiModelProperty(value = "原始记录名称", dataType = "String") private String originalRecordName; /** * 检校类别(字典code) */ @TableField("calibration_category") + @ApiModelProperty(value = "检校类别", dataType = "String") private String calibrationCategory; /** * 检校时间 */ @TableField("calibration_time") + @ApiModelProperty(value = "检校时间", dataType = "String") private String calibrationTime; /** * 环境记录单id */ @TableField("environment_id") + @ApiModelProperty(value = "环境记录单id", dataType = "Long") private Long environmentId; /** * 检校地点 */ @TableField("calibration_place") + @ApiModelProperty(value = "检校地点", dataType = "String") private String calibrationPlace; /** * 委托书id */ @TableField("order_id") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long orderId; /** * 样品id */ @TableField("sample_id") + @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; /** * 原始记录模板id */ @TableField("template_id") + @ApiModelProperty(value = "原始记录模板id", dataType = "Long") private Long templateId; /** * 原始记录附件(minio存储文件名) */ @TableField("original_record_file") + @ApiModelProperty(value = "原始记录附件", dataType = "String") private String originalRecordFile; /** * 备注 */ @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String") private String remark; @TableField("is_del") @@ -102,5 +119,32 @@ @TableField("update_time") private String updateTime; + /** + * 委托单信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "委托单信息", dataType = "Object") + private BusinessOrder businessOrder; + /** + * 环境记录单信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "环境记录单信息", dataType = "Object") + private BusinessEnvironmentRecord businessEnvironmentRecord; + /** + * 样品信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "样品信息", dataType = "Object") + private CustomerSampleInfo customerSampleInfo; + @TableField(exist = false) + @ApiModelProperty(value = "监测设备", dataType = "List") + private List equipmentInfoList; + /** + * 技术文件 + */ + @TableField(exist = false) + @ApiModelProperty(value = "技术文件", dataType = "List") + private List fileList; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index b7ff5dd..14c9f22 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -14,6 +14,7 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; @@ -121,6 +122,7 @@ "{0} <= DATE_FORMAT(record_time,'%Y-%m-%d %H:%i:%s')", request.getStartTime()); wrapper.apply(StringUtils.isNotBlank(request.getEndTime()), "{0} >= DATE_FORMAT(record_time,'%Y-%m-%d %H:%i:%s')", request.getEndTime()); + wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE); return wrapper; } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 99e3b8f..2de64e1 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; @@ -38,6 +39,7 @@ * @since 2023-02-02 */ @RestController +@Api(tags = "环境记录单模块") @RequestMapping("/business/environmentRecord") public class BusinessEnvironmentRecordController extends ExportController { 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 e943ec4..ca7e8d2 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 @@ -1,18 +1,109 @@ package com.casic.missiles.controller.business; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.environment.EnvironmentListRequest; +import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BusinessEnvironmentRecord; +import com.casic.missiles.model.business.BusinessOriginalRecord; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.business.IBusinessOriginalRecordService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author wangpeng * @since 2023-02-02 */ @RestController +@Api(tags = "原始记录单模块") @RequestMapping("/business/originalRecord") -public class BusinessOriginalRecordController { +public class BusinessOriginalRecordController extends ExportController { + @Resource + private IBusinessOriginalRecordService businessOriginalRecordService; + + @ApiOperation("原始记录查询") + @PostMapping("/listPage") + public ReturnDTO> originalListPage(@RequestBody @Valid OriginRecordRequest request, BindingResult bindingResult) throws Exception { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOriginalRecordService.originListPage(page, request))); + } + + + @ApiOperation("原始记录详情") + @PostMapping("/detail") + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.originalDetail(idDTO.getId())); + } + + @ApiOperation("原始记录更新") + @PostMapping("/update") + public ReturnDTO updateOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOriginalRecord.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.updateOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录新增") + @PostMapping("/add") + public ReturnDTO addOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.addOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录删除") + @PostMapping("/delete") + public ReturnDTO deleteOriginal(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.deleteOriginal(idDTO.getId())); + } + + @ApiOperation("原始记录导出") + @PostMapping("/export") + public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { +// businessEnvironmentRecordService.environmentExport(request, response); + } + + @ApiOperation("获取设备") + @PostMapping("/getEquipments") + public void getEquipments() { +// businessEnvironmentRecordService.environmentExport(request, response); + } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java index c499a12..375c4b0 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.equipment; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; @@ -187,4 +188,15 @@ return iEquipmentFixedAssetsService.addFixedAssetList(resultList); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉检查设备查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return iEquipmentFixedAssetsService.querySelectList(); + } + } 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 9e8b89e..cf5f125 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 @@ -216,4 +216,15 @@ return meterFileService.failUpdate(meterFile); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉所依据的技术文件查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return meterFileService.querySelectList(); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java index 5253767..7bb2954 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java @@ -32,5 +32,11 @@ String STANDARD_APPLY_TYPE = "standardApplyType"; //房间号 String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 5057d08..6b109a2 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -9,6 +9,7 @@ //环境记录单编号生成前缀 String ENVIRONMENT_PREFIX = "hjld"; - + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; } 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 752e2e8..56f6602 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 @@ -1,16 +1,24 @@ package com.casic.missiles.mapper.business; 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.model.business.BusinessOriginalRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; /** *

- * Mapper 接口 + * Mapper 接口 *

* * @author wangpeng * @since 2023-02-02 */ public interface BusinessOriginalRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(original_record_code, 12)), 0) from business_original_record") + Long selectMaxCode(); + + Page originListPage(Page page, @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 cccc6a0..879a43f 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml @@ -4,27 +4,60 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - id, original_record_code, original_record_name, calibration_category, calibration_time, environment_id, calibration_place, order_id, sample_id, template_id, original_record_file, remark, is_del, create_user, create_time, update_time + id + , original_record_code, original_record_name, calibration_category, calibration_time, environment_id, calibration_place, order_id, sample_id, template_id, original_record_file, remark, is_del, create_user, create_time, update_time + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java index d858b3a..7148dc6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java @@ -7,6 +7,7 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -65,5 +66,8 @@ @ExcelProperty(value = "记录时间",order = 7) private String recordTime; + @TableField("is_del") + private Boolean isDel; + } 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 new file mode 100644 index 0000000..93ada55 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java @@ -0,0 +1,31 @@ +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-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java index 18e50a8..c918e35 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java @@ -3,13 +3,19 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.model.customer.CustomerSampleInfo; +import com.casic.missiles.model.equipment.EquipmentApplyFile; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.meter.MeterFile; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; +import java.util.List; /** *

- * + * *

* * @author wangpeng @@ -28,66 +34,77 @@ * 原始记录编号 */ @TableField("original_record_code") + @ApiModelProperty(value = "原始记录编号", dataType = "String") private String originalRecordCode; /** * 原始记录名称 */ @TableField("original_record_name") + @ApiModelProperty(value = "原始记录名称", dataType = "String") private String originalRecordName; /** * 检校类别(字典code) */ @TableField("calibration_category") + @ApiModelProperty(value = "检校类别", dataType = "String") private String calibrationCategory; /** * 检校时间 */ @TableField("calibration_time") + @ApiModelProperty(value = "检校时间", dataType = "String") private String calibrationTime; /** * 环境记录单id */ @TableField("environment_id") + @ApiModelProperty(value = "环境记录单id", dataType = "Long") private Long environmentId; /** * 检校地点 */ @TableField("calibration_place") + @ApiModelProperty(value = "检校地点", dataType = "String") private String calibrationPlace; /** * 委托书id */ @TableField("order_id") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long orderId; /** * 样品id */ @TableField("sample_id") + @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; /** * 原始记录模板id */ @TableField("template_id") + @ApiModelProperty(value = "原始记录模板id", dataType = "Long") private Long templateId; /** * 原始记录附件(minio存储文件名) */ @TableField("original_record_file") + @ApiModelProperty(value = "原始记录附件", dataType = "String") private String originalRecordFile; /** * 备注 */ @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String") private String remark; @TableField("is_del") @@ -102,5 +119,32 @@ @TableField("update_time") private String updateTime; + /** + * 委托单信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "委托单信息", dataType = "Object") + private BusinessOrder businessOrder; + /** + * 环境记录单信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "环境记录单信息", dataType = "Object") + private BusinessEnvironmentRecord businessEnvironmentRecord; + /** + * 样品信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "样品信息", dataType = "Object") + private CustomerSampleInfo customerSampleInfo; + @TableField(exist = false) + @ApiModelProperty(value = "监测设备", dataType = "List") + private List equipmentInfoList; + /** + * 技术文件 + */ + @TableField(exist = false) + @ApiModelProperty(value = "技术文件", dataType = "List") + private List fileList; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index b7ff5dd..14c9f22 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -14,6 +14,7 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; @@ -121,6 +122,7 @@ "{0} <= DATE_FORMAT(record_time,'%Y-%m-%d %H:%i:%s')", request.getStartTime()); wrapper.apply(StringUtils.isNotBlank(request.getEndTime()), "{0} >= DATE_FORMAT(record_time,'%Y-%m-%d %H:%i:%s')", request.getEndTime()); + wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE); return wrapper; } 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 43cfa23..3b81119 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 @@ -1,11 +1,16 @@ package com.casic.missiles.service.Impl.business; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.mapper.business.BusinessOriginalRecordEquipmentRelationMapper; import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessOriginalRecordEquipmentRelationService; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; + /** *

* 业务管理-原始记录-标准装置关联表 服务实现类 @@ -17,4 +22,19 @@ @Service public class BusinessOriginalRecordEquipmentRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordEquipmentRelationService { + @Override + public boolean saveBatch(Long originId, List equipmentFixedAssetsList) { + //删除绑定关系 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + this.baseMapper.delete(queryWrapper); + //重新绑定 + List list = new ArrayList<>(); + equipmentFixedAssetsList.forEach(equipmentFixedAssets -> { + BusinessOriginalRecordEquipmentRelation obj = new BusinessOriginalRecordEquipmentRelation(); + obj.setEquipmentId(equipmentFixedAssets.getId()); + obj.setOriginalRecordId(originId); + }); + return this.saveBatch(list); + } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 99e3b8f..2de64e1 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; @@ -38,6 +39,7 @@ * @since 2023-02-02 */ @RestController +@Api(tags = "环境记录单模块") @RequestMapping("/business/environmentRecord") public class BusinessEnvironmentRecordController extends ExportController { 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 e943ec4..ca7e8d2 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 @@ -1,18 +1,109 @@ package com.casic.missiles.controller.business; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.environment.EnvironmentListRequest; +import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BusinessEnvironmentRecord; +import com.casic.missiles.model.business.BusinessOriginalRecord; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.business.IBusinessOriginalRecordService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author wangpeng * @since 2023-02-02 */ @RestController +@Api(tags = "原始记录单模块") @RequestMapping("/business/originalRecord") -public class BusinessOriginalRecordController { +public class BusinessOriginalRecordController extends ExportController { + @Resource + private IBusinessOriginalRecordService businessOriginalRecordService; + + @ApiOperation("原始记录查询") + @PostMapping("/listPage") + public ReturnDTO> originalListPage(@RequestBody @Valid OriginRecordRequest request, BindingResult bindingResult) throws Exception { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOriginalRecordService.originListPage(page, request))); + } + + + @ApiOperation("原始记录详情") + @PostMapping("/detail") + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.originalDetail(idDTO.getId())); + } + + @ApiOperation("原始记录更新") + @PostMapping("/update") + public ReturnDTO updateOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOriginalRecord.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.updateOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录新增") + @PostMapping("/add") + public ReturnDTO addOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.addOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录删除") + @PostMapping("/delete") + public ReturnDTO deleteOriginal(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.deleteOriginal(idDTO.getId())); + } + + @ApiOperation("原始记录导出") + @PostMapping("/export") + public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { +// businessEnvironmentRecordService.environmentExport(request, response); + } + + @ApiOperation("获取设备") + @PostMapping("/getEquipments") + public void getEquipments() { +// businessEnvironmentRecordService.environmentExport(request, response); + } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java index c499a12..375c4b0 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.equipment; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; @@ -187,4 +188,15 @@ return iEquipmentFixedAssetsService.addFixedAssetList(resultList); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉检查设备查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return iEquipmentFixedAssetsService.querySelectList(); + } + } 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 9e8b89e..cf5f125 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 @@ -216,4 +216,15 @@ return meterFileService.failUpdate(meterFile); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉所依据的技术文件查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return meterFileService.querySelectList(); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java index 5253767..7bb2954 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java @@ -32,5 +32,11 @@ String STANDARD_APPLY_TYPE = "standardApplyType"; //房间号 String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 5057d08..6b109a2 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -9,6 +9,7 @@ //环境记录单编号生成前缀 String ENVIRONMENT_PREFIX = "hjld"; - + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; } 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 752e2e8..56f6602 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 @@ -1,16 +1,24 @@ package com.casic.missiles.mapper.business; 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.model.business.BusinessOriginalRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; /** *

- * Mapper 接口 + * Mapper 接口 *

* * @author wangpeng * @since 2023-02-02 */ public interface BusinessOriginalRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(original_record_code, 12)), 0) from business_original_record") + Long selectMaxCode(); + + Page originListPage(Page page, @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 cccc6a0..879a43f 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml @@ -4,27 +4,60 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - id, original_record_code, original_record_name, calibration_category, calibration_time, environment_id, calibration_place, order_id, sample_id, template_id, original_record_file, remark, is_del, create_user, create_time, update_time + id + , original_record_code, original_record_name, calibration_category, calibration_time, environment_id, calibration_place, order_id, sample_id, template_id, original_record_file, remark, is_del, create_user, create_time, update_time + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java index d858b3a..7148dc6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java @@ -7,6 +7,7 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -65,5 +66,8 @@ @ExcelProperty(value = "记录时间",order = 7) private String recordTime; + @TableField("is_del") + private Boolean isDel; + } 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 new file mode 100644 index 0000000..93ada55 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java @@ -0,0 +1,31 @@ +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-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java index 18e50a8..c918e35 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java @@ -3,13 +3,19 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.model.customer.CustomerSampleInfo; +import com.casic.missiles.model.equipment.EquipmentApplyFile; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.meter.MeterFile; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; +import java.util.List; /** *

- * + * *

* * @author wangpeng @@ -28,66 +34,77 @@ * 原始记录编号 */ @TableField("original_record_code") + @ApiModelProperty(value = "原始记录编号", dataType = "String") private String originalRecordCode; /** * 原始记录名称 */ @TableField("original_record_name") + @ApiModelProperty(value = "原始记录名称", dataType = "String") private String originalRecordName; /** * 检校类别(字典code) */ @TableField("calibration_category") + @ApiModelProperty(value = "检校类别", dataType = "String") private String calibrationCategory; /** * 检校时间 */ @TableField("calibration_time") + @ApiModelProperty(value = "检校时间", dataType = "String") private String calibrationTime; /** * 环境记录单id */ @TableField("environment_id") + @ApiModelProperty(value = "环境记录单id", dataType = "Long") private Long environmentId; /** * 检校地点 */ @TableField("calibration_place") + @ApiModelProperty(value = "检校地点", dataType = "String") private String calibrationPlace; /** * 委托书id */ @TableField("order_id") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long orderId; /** * 样品id */ @TableField("sample_id") + @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; /** * 原始记录模板id */ @TableField("template_id") + @ApiModelProperty(value = "原始记录模板id", dataType = "Long") private Long templateId; /** * 原始记录附件(minio存储文件名) */ @TableField("original_record_file") + @ApiModelProperty(value = "原始记录附件", dataType = "String") private String originalRecordFile; /** * 备注 */ @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String") private String remark; @TableField("is_del") @@ -102,5 +119,32 @@ @TableField("update_time") private String updateTime; + /** + * 委托单信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "委托单信息", dataType = "Object") + private BusinessOrder businessOrder; + /** + * 环境记录单信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "环境记录单信息", dataType = "Object") + private BusinessEnvironmentRecord businessEnvironmentRecord; + /** + * 样品信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "样品信息", dataType = "Object") + private CustomerSampleInfo customerSampleInfo; + @TableField(exist = false) + @ApiModelProperty(value = "监测设备", dataType = "List") + private List equipmentInfoList; + /** + * 技术文件 + */ + @TableField(exist = false) + @ApiModelProperty(value = "技术文件", dataType = "List") + private List fileList; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index b7ff5dd..14c9f22 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -14,6 +14,7 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; @@ -121,6 +122,7 @@ "{0} <= DATE_FORMAT(record_time,'%Y-%m-%d %H:%i:%s')", request.getStartTime()); wrapper.apply(StringUtils.isNotBlank(request.getEndTime()), "{0} >= DATE_FORMAT(record_time,'%Y-%m-%d %H:%i:%s')", request.getEndTime()); + wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE); return wrapper; } 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 43cfa23..3b81119 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 @@ -1,11 +1,16 @@ package com.casic.missiles.service.Impl.business; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.mapper.business.BusinessOriginalRecordEquipmentRelationMapper; import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessOriginalRecordEquipmentRelationService; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; + /** *

* 业务管理-原始记录-标准装置关联表 服务实现类 @@ -17,4 +22,19 @@ @Service public class BusinessOriginalRecordEquipmentRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordEquipmentRelationService { + @Override + public boolean saveBatch(Long originId, List equipmentFixedAssetsList) { + //删除绑定关系 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + this.baseMapper.delete(queryWrapper); + //重新绑定 + List list = new ArrayList<>(); + equipmentFixedAssetsList.forEach(equipmentFixedAssets -> { + BusinessOriginalRecordEquipmentRelation obj = new BusinessOriginalRecordEquipmentRelation(); + obj.setEquipmentId(equipmentFixedAssets.getId()); + obj.setOriginalRecordId(originId); + }); + return this.saveBatch(list); + } } 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 2d719fa..cd44d97 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,11 +1,18 @@ package com.casic.missiles.service.Impl.business; +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 org.springframework.stereotype.Service; +import java.sql.SQLException; +import java.sql.Wrapper; +import java.util.ArrayList; +import java.util.List; + /** *

* 业务管理-原始记录-计量文件关联表 服务实现类 @@ -17,4 +24,20 @@ @Service public class BusinessOriginalRecordFileRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordFileRelationService { + @Override + public boolean saveBatch(Long originId, List meterFileList) { + //先删除所有的绑定关系 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + this.baseMapper.delete(queryWrapper); + //新写入绑定关系 + List list = new ArrayList<>(); + meterFileList.forEach(meterFile -> { + BusinessOriginalRecordFileRelation businessOriginalRecordFileRelation = new BusinessOriginalRecordFileRelation(); + businessOriginalRecordFileRelation.setOriginalRecordId(originId); + businessOriginalRecordFileRelation.setFileId(meterFile.getId()); + list.add(businessOriginalRecordFileRelation); + }); + return this.saveBatch(list); + } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 99e3b8f..2de64e1 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; @@ -38,6 +39,7 @@ * @since 2023-02-02 */ @RestController +@Api(tags = "环境记录单模块") @RequestMapping("/business/environmentRecord") public class BusinessEnvironmentRecordController extends ExportController { 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 e943ec4..ca7e8d2 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 @@ -1,18 +1,109 @@ package com.casic.missiles.controller.business; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.environment.EnvironmentListRequest; +import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BusinessEnvironmentRecord; +import com.casic.missiles.model.business.BusinessOriginalRecord; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.business.IBusinessOriginalRecordService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author wangpeng * @since 2023-02-02 */ @RestController +@Api(tags = "原始记录单模块") @RequestMapping("/business/originalRecord") -public class BusinessOriginalRecordController { +public class BusinessOriginalRecordController extends ExportController { + @Resource + private IBusinessOriginalRecordService businessOriginalRecordService; + + @ApiOperation("原始记录查询") + @PostMapping("/listPage") + public ReturnDTO> originalListPage(@RequestBody @Valid OriginRecordRequest request, BindingResult bindingResult) throws Exception { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOriginalRecordService.originListPage(page, request))); + } + + + @ApiOperation("原始记录详情") + @PostMapping("/detail") + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.originalDetail(idDTO.getId())); + } + + @ApiOperation("原始记录更新") + @PostMapping("/update") + public ReturnDTO updateOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOriginalRecord.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.updateOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录新增") + @PostMapping("/add") + public ReturnDTO addOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.addOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录删除") + @PostMapping("/delete") + public ReturnDTO deleteOriginal(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.deleteOriginal(idDTO.getId())); + } + + @ApiOperation("原始记录导出") + @PostMapping("/export") + public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { +// businessEnvironmentRecordService.environmentExport(request, response); + } + + @ApiOperation("获取设备") + @PostMapping("/getEquipments") + public void getEquipments() { +// businessEnvironmentRecordService.environmentExport(request, response); + } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java index c499a12..375c4b0 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.equipment; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; @@ -187,4 +188,15 @@ return iEquipmentFixedAssetsService.addFixedAssetList(resultList); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉检查设备查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return iEquipmentFixedAssetsService.querySelectList(); + } + } 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 9e8b89e..cf5f125 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 @@ -216,4 +216,15 @@ return meterFileService.failUpdate(meterFile); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉所依据的技术文件查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return meterFileService.querySelectList(); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java index 5253767..7bb2954 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java @@ -32,5 +32,11 @@ String STANDARD_APPLY_TYPE = "standardApplyType"; //房间号 String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 5057d08..6b109a2 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -9,6 +9,7 @@ //环境记录单编号生成前缀 String ENVIRONMENT_PREFIX = "hjld"; - + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; } 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 752e2e8..56f6602 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 @@ -1,16 +1,24 @@ package com.casic.missiles.mapper.business; 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.model.business.BusinessOriginalRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; /** *

- * Mapper 接口 + * Mapper 接口 *

* * @author wangpeng * @since 2023-02-02 */ public interface BusinessOriginalRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(original_record_code, 12)), 0) from business_original_record") + Long selectMaxCode(); + + Page originListPage(Page page, @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 cccc6a0..879a43f 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml @@ -4,27 +4,60 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - id, original_record_code, original_record_name, calibration_category, calibration_time, environment_id, calibration_place, order_id, sample_id, template_id, original_record_file, remark, is_del, create_user, create_time, update_time + id + , original_record_code, original_record_name, calibration_category, calibration_time, environment_id, calibration_place, order_id, sample_id, template_id, original_record_file, remark, is_del, create_user, create_time, update_time + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java index d858b3a..7148dc6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java @@ -7,6 +7,7 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -65,5 +66,8 @@ @ExcelProperty(value = "记录时间",order = 7) private String recordTime; + @TableField("is_del") + private Boolean isDel; + } 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 new file mode 100644 index 0000000..93ada55 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java @@ -0,0 +1,31 @@ +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-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java index 18e50a8..c918e35 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java @@ -3,13 +3,19 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.model.customer.CustomerSampleInfo; +import com.casic.missiles.model.equipment.EquipmentApplyFile; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.meter.MeterFile; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; +import java.util.List; /** *

- * + * *

* * @author wangpeng @@ -28,66 +34,77 @@ * 原始记录编号 */ @TableField("original_record_code") + @ApiModelProperty(value = "原始记录编号", dataType = "String") private String originalRecordCode; /** * 原始记录名称 */ @TableField("original_record_name") + @ApiModelProperty(value = "原始记录名称", dataType = "String") private String originalRecordName; /** * 检校类别(字典code) */ @TableField("calibration_category") + @ApiModelProperty(value = "检校类别", dataType = "String") private String calibrationCategory; /** * 检校时间 */ @TableField("calibration_time") + @ApiModelProperty(value = "检校时间", dataType = "String") private String calibrationTime; /** * 环境记录单id */ @TableField("environment_id") + @ApiModelProperty(value = "环境记录单id", dataType = "Long") private Long environmentId; /** * 检校地点 */ @TableField("calibration_place") + @ApiModelProperty(value = "检校地点", dataType = "String") private String calibrationPlace; /** * 委托书id */ @TableField("order_id") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long orderId; /** * 样品id */ @TableField("sample_id") + @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; /** * 原始记录模板id */ @TableField("template_id") + @ApiModelProperty(value = "原始记录模板id", dataType = "Long") private Long templateId; /** * 原始记录附件(minio存储文件名) */ @TableField("original_record_file") + @ApiModelProperty(value = "原始记录附件", dataType = "String") private String originalRecordFile; /** * 备注 */ @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String") private String remark; @TableField("is_del") @@ -102,5 +119,32 @@ @TableField("update_time") private String updateTime; + /** + * 委托单信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "委托单信息", dataType = "Object") + private BusinessOrder businessOrder; + /** + * 环境记录单信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "环境记录单信息", dataType = "Object") + private BusinessEnvironmentRecord businessEnvironmentRecord; + /** + * 样品信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "样品信息", dataType = "Object") + private CustomerSampleInfo customerSampleInfo; + @TableField(exist = false) + @ApiModelProperty(value = "监测设备", dataType = "List") + private List equipmentInfoList; + /** + * 技术文件 + */ + @TableField(exist = false) + @ApiModelProperty(value = "技术文件", dataType = "List") + private List fileList; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index b7ff5dd..14c9f22 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -14,6 +14,7 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; @@ -121,6 +122,7 @@ "{0} <= DATE_FORMAT(record_time,'%Y-%m-%d %H:%i:%s')", request.getStartTime()); wrapper.apply(StringUtils.isNotBlank(request.getEndTime()), "{0} >= DATE_FORMAT(record_time,'%Y-%m-%d %H:%i:%s')", request.getEndTime()); + wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE); return wrapper; } 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 43cfa23..3b81119 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 @@ -1,11 +1,16 @@ package com.casic.missiles.service.Impl.business; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.mapper.business.BusinessOriginalRecordEquipmentRelationMapper; import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessOriginalRecordEquipmentRelationService; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; + /** *

* 业务管理-原始记录-标准装置关联表 服务实现类 @@ -17,4 +22,19 @@ @Service public class BusinessOriginalRecordEquipmentRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordEquipmentRelationService { + @Override + public boolean saveBatch(Long originId, List equipmentFixedAssetsList) { + //删除绑定关系 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + this.baseMapper.delete(queryWrapper); + //重新绑定 + List list = new ArrayList<>(); + equipmentFixedAssetsList.forEach(equipmentFixedAssets -> { + BusinessOriginalRecordEquipmentRelation obj = new BusinessOriginalRecordEquipmentRelation(); + obj.setEquipmentId(equipmentFixedAssets.getId()); + obj.setOriginalRecordId(originId); + }); + return this.saveBatch(list); + } } 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 2d719fa..cd44d97 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,11 +1,18 @@ package com.casic.missiles.service.Impl.business; +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 org.springframework.stereotype.Service; +import java.sql.SQLException; +import java.sql.Wrapper; +import java.util.ArrayList; +import java.util.List; + /** *

* 业务管理-原始记录-计量文件关联表 服务实现类 @@ -17,4 +24,20 @@ @Service public class BusinessOriginalRecordFileRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordFileRelationService { + @Override + public boolean saveBatch(Long originId, List meterFileList) { + //先删除所有的绑定关系 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + this.baseMapper.delete(queryWrapper); + //新写入绑定关系 + List list = new ArrayList<>(); + meterFileList.forEach(meterFile -> { + BusinessOriginalRecordFileRelation businessOriginalRecordFileRelation = new BusinessOriginalRecordFileRelation(); + businessOriginalRecordFileRelation.setOriginalRecordId(originId); + businessOriginalRecordFileRelation.setFileId(meterFile.getId()); + list.add(businessOriginalRecordFileRelation); + }); + return this.saveBatch(list); + } } 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 dabc7bf..f4fad63 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 @@ -1,14 +1,36 @@ package com.casic.missiles.service.Impl.business; +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.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.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOriginalRecordMapper; import com.casic.missiles.model.business.BusinessOriginalRecord; -import com.casic.missiles.service.business.IBusinessOriginalRecordService; +import com.casic.missiles.service.business.*; +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; /** *

- * 服务实现类 + * 服务实现类 *

* * @author wangpeng @@ -17,4 +39,95 @@ @Service public class BusinessOriginalRecordServiceImpl extends ServiceImpl implements IBusinessOriginalRecordService { + + @Resource + private CustomerSampleService customerSampleService; + @Resource + private IBusinessEnvironmentRecordService businessEnvironmentRecordService; + @Resource + private IBusinessOrderService businessOrderService; + @Resource + private IBusinessOriginalRecordFileRelationService originalRecordFileRelationService; + @Resource + private IBusinessOriginalRecordEquipmentRelationService originalRecordEquipmentRelationService; + + + @Override + public Page originListPage(Page page, OriginRecordRequest request) throws Exception { + // 获取列表 + Page originalRecordPage = this.baseMapper.originListPage(page, request); + if (!CollectionUtils.isEmpty(originalRecordPage.getRecords())) { + for (BusinessOriginalRecord record : originalRecordPage.getRecords()) { + DictCodeUtils.convertDictCodeToName(record); + if (!StrUtil.isBlankIfStr(record.getSampleId())) { + record.setCustomerSampleInfo(customerSampleService.sampleDetail(record.getSampleId())); + } + } + } + return originalRecordPage; + } + + @Override + public BusinessOriginalRecord originalDetail(Long id) { + BusinessOriginalRecord businessOriginalRecord = this.baseMapper.selectById(id); + if (businessOriginalRecord != null) { + //查询样品详情 + if (businessOriginalRecord.getSampleId() != null) { + businessOriginalRecord.setCustomerSampleInfo(customerSampleService.sampleDetail(businessOriginalRecord.getSampleId())); + } + //查询环境记录单详情 + if (businessOriginalRecord.getEnvironmentId() != null) { + businessOriginalRecord.setBusinessEnvironmentRecord(businessEnvironmentRecordService.environmentDetail(businessOriginalRecord.getEnvironmentId())); + } + //查询委托单详情 + if (businessOriginalRecord.getOrderId() != null) { + businessOriginalRecord.setBusinessOrder(businessOrderService.orderDetail(businessOriginalRecord.getOrderId())); + } + } + return businessOriginalRecord; + } + + @Override + public ReturnDTO deleteOriginal(Long id) { + if (this.baseMapper.deleteById(id) > 0) + return ReturnUtil.success(); + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + @Override + public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { + return null; + } + + @Transactional + @Override + public ReturnDTO addOriginal(BusinessOriginalRecord businessOriginalRecord) { + initBusinessEnvironmentRecord(businessOriginalRecord); + if (baseMapper.insert(businessOriginalRecord) > 0) { + //加入技术文件绑定 + if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { + originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); + } + //加入所用设备绑定 + if (ObjectUtil.isNotEmpty(businessOriginalRecord.getEquipmentInfoList()) && businessOriginalRecord.getEquipmentInfoList().size() > 0) { + originalRecordEquipmentRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getEquipmentInfoList()); + } + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + @Override + public void originalExport(EnvironmentListRequest request, HttpServletResponse response) { + + } + + private void initBusinessEnvironmentRecord(BusinessOriginalRecord businessOriginalRecord) { + Long maxNo = this.baseMapper.selectMaxCode(); + String originNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.ORIGIN_PREFIX, maxNo); + AuthUser authUser = ShiroKit.getUser(); + businessOriginalRecord.setCreateUser(authUser.getId()); + businessOriginalRecord.setOriginalRecordCode(originNo); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 99e3b8f..2de64e1 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; @@ -38,6 +39,7 @@ * @since 2023-02-02 */ @RestController +@Api(tags = "环境记录单模块") @RequestMapping("/business/environmentRecord") public class BusinessEnvironmentRecordController extends ExportController { 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 e943ec4..ca7e8d2 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 @@ -1,18 +1,109 @@ package com.casic.missiles.controller.business; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.environment.EnvironmentListRequest; +import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BusinessEnvironmentRecord; +import com.casic.missiles.model.business.BusinessOriginalRecord; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.business.IBusinessOriginalRecordService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author wangpeng * @since 2023-02-02 */ @RestController +@Api(tags = "原始记录单模块") @RequestMapping("/business/originalRecord") -public class BusinessOriginalRecordController { +public class BusinessOriginalRecordController extends ExportController { + @Resource + private IBusinessOriginalRecordService businessOriginalRecordService; + + @ApiOperation("原始记录查询") + @PostMapping("/listPage") + public ReturnDTO> originalListPage(@RequestBody @Valid OriginRecordRequest request, BindingResult bindingResult) throws Exception { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOriginalRecordService.originListPage(page, request))); + } + + + @ApiOperation("原始记录详情") + @PostMapping("/detail") + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.originalDetail(idDTO.getId())); + } + + @ApiOperation("原始记录更新") + @PostMapping("/update") + public ReturnDTO updateOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOriginalRecord.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.updateOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录新增") + @PostMapping("/add") + public ReturnDTO addOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.addOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录删除") + @PostMapping("/delete") + public ReturnDTO deleteOriginal(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.deleteOriginal(idDTO.getId())); + } + + @ApiOperation("原始记录导出") + @PostMapping("/export") + public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { +// businessEnvironmentRecordService.environmentExport(request, response); + } + + @ApiOperation("获取设备") + @PostMapping("/getEquipments") + public void getEquipments() { +// businessEnvironmentRecordService.environmentExport(request, response); + } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java index c499a12..375c4b0 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.equipment; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; @@ -187,4 +188,15 @@ return iEquipmentFixedAssetsService.addFixedAssetList(resultList); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉检查设备查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return iEquipmentFixedAssetsService.querySelectList(); + } + } 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 9e8b89e..cf5f125 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 @@ -216,4 +216,15 @@ return meterFileService.failUpdate(meterFile); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉所依据的技术文件查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return meterFileService.querySelectList(); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java index 5253767..7bb2954 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java @@ -32,5 +32,11 @@ String STANDARD_APPLY_TYPE = "standardApplyType"; //房间号 String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 5057d08..6b109a2 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -9,6 +9,7 @@ //环境记录单编号生成前缀 String ENVIRONMENT_PREFIX = "hjld"; - + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; } 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 752e2e8..56f6602 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 @@ -1,16 +1,24 @@ package com.casic.missiles.mapper.business; 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.model.business.BusinessOriginalRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; /** *

- * Mapper 接口 + * Mapper 接口 *

* * @author wangpeng * @since 2023-02-02 */ public interface BusinessOriginalRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(original_record_code, 12)), 0) from business_original_record") + Long selectMaxCode(); + + Page originListPage(Page page, @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 cccc6a0..879a43f 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml @@ -4,27 +4,60 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - id, original_record_code, original_record_name, calibration_category, calibration_time, environment_id, calibration_place, order_id, sample_id, template_id, original_record_file, remark, is_del, create_user, create_time, update_time + id + , original_record_code, original_record_name, calibration_category, calibration_time, environment_id, calibration_place, order_id, sample_id, template_id, original_record_file, remark, is_del, create_user, create_time, update_time + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java index d858b3a..7148dc6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java @@ -7,6 +7,7 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -65,5 +66,8 @@ @ExcelProperty(value = "记录时间",order = 7) private String recordTime; + @TableField("is_del") + private Boolean isDel; + } 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 new file mode 100644 index 0000000..93ada55 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java @@ -0,0 +1,31 @@ +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-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java index 18e50a8..c918e35 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java @@ -3,13 +3,19 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.model.customer.CustomerSampleInfo; +import com.casic.missiles.model.equipment.EquipmentApplyFile; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.meter.MeterFile; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; +import java.util.List; /** *

- * + * *

* * @author wangpeng @@ -28,66 +34,77 @@ * 原始记录编号 */ @TableField("original_record_code") + @ApiModelProperty(value = "原始记录编号", dataType = "String") private String originalRecordCode; /** * 原始记录名称 */ @TableField("original_record_name") + @ApiModelProperty(value = "原始记录名称", dataType = "String") private String originalRecordName; /** * 检校类别(字典code) */ @TableField("calibration_category") + @ApiModelProperty(value = "检校类别", dataType = "String") private String calibrationCategory; /** * 检校时间 */ @TableField("calibration_time") + @ApiModelProperty(value = "检校时间", dataType = "String") private String calibrationTime; /** * 环境记录单id */ @TableField("environment_id") + @ApiModelProperty(value = "环境记录单id", dataType = "Long") private Long environmentId; /** * 检校地点 */ @TableField("calibration_place") + @ApiModelProperty(value = "检校地点", dataType = "String") private String calibrationPlace; /** * 委托书id */ @TableField("order_id") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long orderId; /** * 样品id */ @TableField("sample_id") + @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; /** * 原始记录模板id */ @TableField("template_id") + @ApiModelProperty(value = "原始记录模板id", dataType = "Long") private Long templateId; /** * 原始记录附件(minio存储文件名) */ @TableField("original_record_file") + @ApiModelProperty(value = "原始记录附件", dataType = "String") private String originalRecordFile; /** * 备注 */ @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String") private String remark; @TableField("is_del") @@ -102,5 +119,32 @@ @TableField("update_time") private String updateTime; + /** + * 委托单信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "委托单信息", dataType = "Object") + private BusinessOrder businessOrder; + /** + * 环境记录单信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "环境记录单信息", dataType = "Object") + private BusinessEnvironmentRecord businessEnvironmentRecord; + /** + * 样品信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "样品信息", dataType = "Object") + private CustomerSampleInfo customerSampleInfo; + @TableField(exist = false) + @ApiModelProperty(value = "监测设备", dataType = "List") + private List equipmentInfoList; + /** + * 技术文件 + */ + @TableField(exist = false) + @ApiModelProperty(value = "技术文件", dataType = "List") + private List fileList; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index b7ff5dd..14c9f22 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -14,6 +14,7 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; @@ -121,6 +122,7 @@ "{0} <= DATE_FORMAT(record_time,'%Y-%m-%d %H:%i:%s')", request.getStartTime()); wrapper.apply(StringUtils.isNotBlank(request.getEndTime()), "{0} >= DATE_FORMAT(record_time,'%Y-%m-%d %H:%i:%s')", request.getEndTime()); + wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE); return wrapper; } 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 43cfa23..3b81119 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 @@ -1,11 +1,16 @@ package com.casic.missiles.service.Impl.business; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.mapper.business.BusinessOriginalRecordEquipmentRelationMapper; import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessOriginalRecordEquipmentRelationService; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; + /** *

* 业务管理-原始记录-标准装置关联表 服务实现类 @@ -17,4 +22,19 @@ @Service public class BusinessOriginalRecordEquipmentRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordEquipmentRelationService { + @Override + public boolean saveBatch(Long originId, List equipmentFixedAssetsList) { + //删除绑定关系 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + this.baseMapper.delete(queryWrapper); + //重新绑定 + List list = new ArrayList<>(); + equipmentFixedAssetsList.forEach(equipmentFixedAssets -> { + BusinessOriginalRecordEquipmentRelation obj = new BusinessOriginalRecordEquipmentRelation(); + obj.setEquipmentId(equipmentFixedAssets.getId()); + obj.setOriginalRecordId(originId); + }); + return this.saveBatch(list); + } } 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 2d719fa..cd44d97 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,11 +1,18 @@ package com.casic.missiles.service.Impl.business; +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 org.springframework.stereotype.Service; +import java.sql.SQLException; +import java.sql.Wrapper; +import java.util.ArrayList; +import java.util.List; + /** *

* 业务管理-原始记录-计量文件关联表 服务实现类 @@ -17,4 +24,20 @@ @Service public class BusinessOriginalRecordFileRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordFileRelationService { + @Override + public boolean saveBatch(Long originId, List meterFileList) { + //先删除所有的绑定关系 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + this.baseMapper.delete(queryWrapper); + //新写入绑定关系 + List list = new ArrayList<>(); + meterFileList.forEach(meterFile -> { + BusinessOriginalRecordFileRelation businessOriginalRecordFileRelation = new BusinessOriginalRecordFileRelation(); + businessOriginalRecordFileRelation.setOriginalRecordId(originId); + businessOriginalRecordFileRelation.setFileId(meterFile.getId()); + list.add(businessOriginalRecordFileRelation); + }); + return this.saveBatch(list); + } } 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 dabc7bf..f4fad63 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 @@ -1,14 +1,36 @@ package com.casic.missiles.service.Impl.business; +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.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.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOriginalRecordMapper; import com.casic.missiles.model.business.BusinessOriginalRecord; -import com.casic.missiles.service.business.IBusinessOriginalRecordService; +import com.casic.missiles.service.business.*; +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; /** *

- * 服务实现类 + * 服务实现类 *

* * @author wangpeng @@ -17,4 +39,95 @@ @Service public class BusinessOriginalRecordServiceImpl extends ServiceImpl implements IBusinessOriginalRecordService { + + @Resource + private CustomerSampleService customerSampleService; + @Resource + private IBusinessEnvironmentRecordService businessEnvironmentRecordService; + @Resource + private IBusinessOrderService businessOrderService; + @Resource + private IBusinessOriginalRecordFileRelationService originalRecordFileRelationService; + @Resource + private IBusinessOriginalRecordEquipmentRelationService originalRecordEquipmentRelationService; + + + @Override + public Page originListPage(Page page, OriginRecordRequest request) throws Exception { + // 获取列表 + Page originalRecordPage = this.baseMapper.originListPage(page, request); + if (!CollectionUtils.isEmpty(originalRecordPage.getRecords())) { + for (BusinessOriginalRecord record : originalRecordPage.getRecords()) { + DictCodeUtils.convertDictCodeToName(record); + if (!StrUtil.isBlankIfStr(record.getSampleId())) { + record.setCustomerSampleInfo(customerSampleService.sampleDetail(record.getSampleId())); + } + } + } + return originalRecordPage; + } + + @Override + public BusinessOriginalRecord originalDetail(Long id) { + BusinessOriginalRecord businessOriginalRecord = this.baseMapper.selectById(id); + if (businessOriginalRecord != null) { + //查询样品详情 + if (businessOriginalRecord.getSampleId() != null) { + businessOriginalRecord.setCustomerSampleInfo(customerSampleService.sampleDetail(businessOriginalRecord.getSampleId())); + } + //查询环境记录单详情 + if (businessOriginalRecord.getEnvironmentId() != null) { + businessOriginalRecord.setBusinessEnvironmentRecord(businessEnvironmentRecordService.environmentDetail(businessOriginalRecord.getEnvironmentId())); + } + //查询委托单详情 + if (businessOriginalRecord.getOrderId() != null) { + businessOriginalRecord.setBusinessOrder(businessOrderService.orderDetail(businessOriginalRecord.getOrderId())); + } + } + return businessOriginalRecord; + } + + @Override + public ReturnDTO deleteOriginal(Long id) { + if (this.baseMapper.deleteById(id) > 0) + return ReturnUtil.success(); + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + @Override + public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { + return null; + } + + @Transactional + @Override + public ReturnDTO addOriginal(BusinessOriginalRecord businessOriginalRecord) { + initBusinessEnvironmentRecord(businessOriginalRecord); + if (baseMapper.insert(businessOriginalRecord) > 0) { + //加入技术文件绑定 + if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { + originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); + } + //加入所用设备绑定 + if (ObjectUtil.isNotEmpty(businessOriginalRecord.getEquipmentInfoList()) && businessOriginalRecord.getEquipmentInfoList().size() > 0) { + originalRecordEquipmentRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getEquipmentInfoList()); + } + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + @Override + public void originalExport(EnvironmentListRequest request, HttpServletResponse response) { + + } + + private void initBusinessEnvironmentRecord(BusinessOriginalRecord businessOriginalRecord) { + Long maxNo = this.baseMapper.selectMaxCode(); + String originNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.ORIGIN_PREFIX, maxNo); + AuthUser authUser = ShiroKit.getUser(); + businessOriginalRecord.setCreateUser(authUser.getId()); + businessOriginalRecord.setOriginalRecordCode(originNo); + } + } 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 9836945..d3fa36f 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 @@ -11,6 +11,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.FixedAssetRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentFixedAssetFileMapper; @@ -36,7 +37,7 @@ /** *

- * 固定资产service + * 固定资产service *

* * @author cuicheng @@ -57,6 +58,7 @@ /** * 分页查询 + * * @param page * @param request * @return @@ -67,7 +69,7 @@ // QueryWrapper wrapper = getWrapper(request); Page meterFixedAssetsPage = meterFixedAssetsMapper.listPage(page, request); // Page meterFixedAssetsPage = meterFixedAssetsMapper.selectPage(page, wrapper); - for (EquipmentFixedAssets meterFixedAssets:meterFixedAssetsPage.getRecords()) { + for (EquipmentFixedAssets meterFixedAssets : meterFixedAssetsPage.getRecords()) { // TODO 走guava本地缓存,减少跟redis的IO交互 DictCodeUtils.convertDictCodeToName(meterFixedAssets); } @@ -76,6 +78,7 @@ /** * 固定资产列表 + * * @param request * @return * @throws Exception @@ -89,7 +92,7 @@ Page meterFixedAssetsPage = meterFixedAssetsMapper.listPage(page, request); // QueryWrapper wrapper = getWrapper(request); // List meterFixedAssetsList = meterFixedAssetsMapper.selectList(wrapper); - for (EquipmentFixedAssets meterFixedAssets:meterFixedAssetsPage.getRecords()) { + for (EquipmentFixedAssets meterFixedAssets : meterFixedAssetsPage.getRecords()) { DictCodeUtils.convertDictCodeToName(meterFixedAssets); } return meterFixedAssetsPage.getRecords(); @@ -97,15 +100,16 @@ /** * 添加固定资产 + * * @param meterFixedAssets * @return */ @Override @Transactional public ReturnDTO addFixedAsset(EquipmentFixedAssets meterFixedAssets) { - if(meterFixedAssets.getCreateUser() == null){ + if (meterFixedAssets.getCreateUser() == null) { AuthUser authUser = ShiroKit.getUser(); - if(authUser != null){ + if (authUser != null) { meterFixedAssets.setCreateUser(authUser.getId()); } } @@ -124,6 +128,7 @@ /** * 批量添加固定资产 + * * @return */ @Override @@ -131,7 +136,7 @@ public ReturnDTO addFixedAssetList(List meterFixedAssetsList) throws Exception { //用于存储验证后的错误信息 Long maxNo = meterFixedAssetsMapper.selectMaxNo(); - for (EquipmentFixedAssets item:meterFixedAssetsList) { + for (EquipmentFixedAssets item : meterFixedAssetsList) { Set> validate = Validation.buildDefaultValidatorFactory().getValidator().validate(item); if (!CollectionUtils.isEmpty(validate)) { return ReturnUtil.failed(validate.iterator().next().getMessage()); @@ -155,7 +160,7 @@ wrapper.eq("is_del", 0); EquipmentFixedAssets result = meterFixedAssetsMapper.selectOne(wrapper); if (result != null) { - log.error("出厂编号:{},重复",result.getManufacturingNo()); + log.error("出厂编号:{},重复", result.getManufacturingNo()); throw new BusinessException(BusinessExceptionEnum.DUPLICATE_MANUFACTURE_NUMBER); } } @@ -163,6 +168,7 @@ /** * 更新固定资产 + * * @param meterFixedAssets * @return */ @@ -180,6 +186,7 @@ /** * 获取资产详情 + * * @param id * @return */ @@ -192,7 +199,7 @@ request.setId(id); Page meterFixedAssetsPage = meterFixedAssetsMapper.listPage(page, request); EquipmentFixedAssets meterFixedAssets = null; - if(!CollectionUtils.isEmpty(meterFixedAssetsPage.getRecords())) { + if (!CollectionUtils.isEmpty(meterFixedAssetsPage.getRecords())) { meterFixedAssets = meterFixedAssetsPage.getRecords().get(0); DictCodeUtils.convertDictCodeToName(meterFixedAssets); QueryWrapper wrapper = new QueryWrapper<>(); @@ -205,6 +212,7 @@ /** * 删除资产 + * * @param id * @return */ @@ -219,22 +227,23 @@ @Override public ReturnDTO removeStandardSupportEquipment(Long id) { - return removeTypeSign(id,"is_standard_support_equipment"); + return removeTypeSign(id, "is_standard_support_equipment"); } @Override public ReturnDTO removeCalibrationTestEquipment(Long id) { - return removeTypeSign(id,"is_calibration_test_equipment"); + return removeTypeSign(id, "is_calibration_test_equipment"); } @Override public ReturnDTO removeMeasureAccount(Long id) { - return removeTypeSign(id,"is_measure_account"); + return removeTypeSign(id, "is_measure_account"); } /** * 删除类型标记(更新字段) - * @param id 固定资产id + * + * @param id 固定资产id * @param signName 字段名 * @return 更新结果 */ @@ -242,14 +251,13 @@ private ReturnDTO removeTypeSign(Long id, String signName) { UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("id", id).set(signName, 0); - if(meterFixedAssetsMapper.update(null, updateWrapper)>0){ + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("删除失败"); } /** - * * @param meterFixedAssets */ public void batchSaveFile(EquipmentFixedAssets meterFixedAssets) { @@ -266,8 +274,23 @@ } } + + /** + * 查询equipment_fixed_asserts表资产类型为1的测量设备 + * + * @return + */ + @Override + public ReturnDTO querySelectList() { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("asset_type", MeterDictEnum.ASSET_TYPE_1); + wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE); + return ReturnUtil.success(this.baseMapper.selectList(wrapper)); + } + /** * 转换字典code + * * @param request * @return */ diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 99e3b8f..2de64e1 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; @@ -38,6 +39,7 @@ * @since 2023-02-02 */ @RestController +@Api(tags = "环境记录单模块") @RequestMapping("/business/environmentRecord") public class BusinessEnvironmentRecordController extends ExportController { 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 e943ec4..ca7e8d2 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 @@ -1,18 +1,109 @@ package com.casic.missiles.controller.business; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.environment.EnvironmentListRequest; +import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BusinessEnvironmentRecord; +import com.casic.missiles.model.business.BusinessOriginalRecord; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.business.IBusinessOriginalRecordService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author wangpeng * @since 2023-02-02 */ @RestController +@Api(tags = "原始记录单模块") @RequestMapping("/business/originalRecord") -public class BusinessOriginalRecordController { +public class BusinessOriginalRecordController extends ExportController { + @Resource + private IBusinessOriginalRecordService businessOriginalRecordService; + + @ApiOperation("原始记录查询") + @PostMapping("/listPage") + public ReturnDTO> originalListPage(@RequestBody @Valid OriginRecordRequest request, BindingResult bindingResult) throws Exception { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOriginalRecordService.originListPage(page, request))); + } + + + @ApiOperation("原始记录详情") + @PostMapping("/detail") + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.originalDetail(idDTO.getId())); + } + + @ApiOperation("原始记录更新") + @PostMapping("/update") + public ReturnDTO updateOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOriginalRecord.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.updateOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录新增") + @PostMapping("/add") + public ReturnDTO addOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.addOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录删除") + @PostMapping("/delete") + public ReturnDTO deleteOriginal(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.deleteOriginal(idDTO.getId())); + } + + @ApiOperation("原始记录导出") + @PostMapping("/export") + public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { +// businessEnvironmentRecordService.environmentExport(request, response); + } + + @ApiOperation("获取设备") + @PostMapping("/getEquipments") + public void getEquipments() { +// businessEnvironmentRecordService.environmentExport(request, response); + } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java index c499a12..375c4b0 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.equipment; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; @@ -187,4 +188,15 @@ return iEquipmentFixedAssetsService.addFixedAssetList(resultList); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉检查设备查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return iEquipmentFixedAssetsService.querySelectList(); + } + } 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 9e8b89e..cf5f125 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 @@ -216,4 +216,15 @@ return meterFileService.failUpdate(meterFile); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉所依据的技术文件查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return meterFileService.querySelectList(); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java index 5253767..7bb2954 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java @@ -32,5 +32,11 @@ String STANDARD_APPLY_TYPE = "standardApplyType"; //房间号 String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 5057d08..6b109a2 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -9,6 +9,7 @@ //环境记录单编号生成前缀 String ENVIRONMENT_PREFIX = "hjld"; - + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; } 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 752e2e8..56f6602 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 @@ -1,16 +1,24 @@ package com.casic.missiles.mapper.business; 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.model.business.BusinessOriginalRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; /** *

- * Mapper 接口 + * Mapper 接口 *

* * @author wangpeng * @since 2023-02-02 */ public interface BusinessOriginalRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(original_record_code, 12)), 0) from business_original_record") + Long selectMaxCode(); + + Page originListPage(Page page, @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 cccc6a0..879a43f 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml @@ -4,27 +4,60 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - id, original_record_code, original_record_name, calibration_category, calibration_time, environment_id, calibration_place, order_id, sample_id, template_id, original_record_file, remark, is_del, create_user, create_time, update_time + id + , original_record_code, original_record_name, calibration_category, calibration_time, environment_id, calibration_place, order_id, sample_id, template_id, original_record_file, remark, is_del, create_user, create_time, update_time + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java index d858b3a..7148dc6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java @@ -7,6 +7,7 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -65,5 +66,8 @@ @ExcelProperty(value = "记录时间",order = 7) private String recordTime; + @TableField("is_del") + private Boolean isDel; + } 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 new file mode 100644 index 0000000..93ada55 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java @@ -0,0 +1,31 @@ +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-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java index 18e50a8..c918e35 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java @@ -3,13 +3,19 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.model.customer.CustomerSampleInfo; +import com.casic.missiles.model.equipment.EquipmentApplyFile; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.meter.MeterFile; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; +import java.util.List; /** *

- * + * *

* * @author wangpeng @@ -28,66 +34,77 @@ * 原始记录编号 */ @TableField("original_record_code") + @ApiModelProperty(value = "原始记录编号", dataType = "String") private String originalRecordCode; /** * 原始记录名称 */ @TableField("original_record_name") + @ApiModelProperty(value = "原始记录名称", dataType = "String") private String originalRecordName; /** * 检校类别(字典code) */ @TableField("calibration_category") + @ApiModelProperty(value = "检校类别", dataType = "String") private String calibrationCategory; /** * 检校时间 */ @TableField("calibration_time") + @ApiModelProperty(value = "检校时间", dataType = "String") private String calibrationTime; /** * 环境记录单id */ @TableField("environment_id") + @ApiModelProperty(value = "环境记录单id", dataType = "Long") private Long environmentId; /** * 检校地点 */ @TableField("calibration_place") + @ApiModelProperty(value = "检校地点", dataType = "String") private String calibrationPlace; /** * 委托书id */ @TableField("order_id") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long orderId; /** * 样品id */ @TableField("sample_id") + @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; /** * 原始记录模板id */ @TableField("template_id") + @ApiModelProperty(value = "原始记录模板id", dataType = "Long") private Long templateId; /** * 原始记录附件(minio存储文件名) */ @TableField("original_record_file") + @ApiModelProperty(value = "原始记录附件", dataType = "String") private String originalRecordFile; /** * 备注 */ @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String") private String remark; @TableField("is_del") @@ -102,5 +119,32 @@ @TableField("update_time") private String updateTime; + /** + * 委托单信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "委托单信息", dataType = "Object") + private BusinessOrder businessOrder; + /** + * 环境记录单信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "环境记录单信息", dataType = "Object") + private BusinessEnvironmentRecord businessEnvironmentRecord; + /** + * 样品信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "样品信息", dataType = "Object") + private CustomerSampleInfo customerSampleInfo; + @TableField(exist = false) + @ApiModelProperty(value = "监测设备", dataType = "List") + private List equipmentInfoList; + /** + * 技术文件 + */ + @TableField(exist = false) + @ApiModelProperty(value = "技术文件", dataType = "List") + private List fileList; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index b7ff5dd..14c9f22 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -14,6 +14,7 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; @@ -121,6 +122,7 @@ "{0} <= DATE_FORMAT(record_time,'%Y-%m-%d %H:%i:%s')", request.getStartTime()); wrapper.apply(StringUtils.isNotBlank(request.getEndTime()), "{0} >= DATE_FORMAT(record_time,'%Y-%m-%d %H:%i:%s')", request.getEndTime()); + wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE); return wrapper; } 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 43cfa23..3b81119 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 @@ -1,11 +1,16 @@ package com.casic.missiles.service.Impl.business; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.mapper.business.BusinessOriginalRecordEquipmentRelationMapper; import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessOriginalRecordEquipmentRelationService; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; + /** *

* 业务管理-原始记录-标准装置关联表 服务实现类 @@ -17,4 +22,19 @@ @Service public class BusinessOriginalRecordEquipmentRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordEquipmentRelationService { + @Override + public boolean saveBatch(Long originId, List equipmentFixedAssetsList) { + //删除绑定关系 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + this.baseMapper.delete(queryWrapper); + //重新绑定 + List list = new ArrayList<>(); + equipmentFixedAssetsList.forEach(equipmentFixedAssets -> { + BusinessOriginalRecordEquipmentRelation obj = new BusinessOriginalRecordEquipmentRelation(); + obj.setEquipmentId(equipmentFixedAssets.getId()); + obj.setOriginalRecordId(originId); + }); + return this.saveBatch(list); + } } 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 2d719fa..cd44d97 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,11 +1,18 @@ package com.casic.missiles.service.Impl.business; +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 org.springframework.stereotype.Service; +import java.sql.SQLException; +import java.sql.Wrapper; +import java.util.ArrayList; +import java.util.List; + /** *

* 业务管理-原始记录-计量文件关联表 服务实现类 @@ -17,4 +24,20 @@ @Service public class BusinessOriginalRecordFileRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordFileRelationService { + @Override + public boolean saveBatch(Long originId, List meterFileList) { + //先删除所有的绑定关系 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + this.baseMapper.delete(queryWrapper); + //新写入绑定关系 + List list = new ArrayList<>(); + meterFileList.forEach(meterFile -> { + BusinessOriginalRecordFileRelation businessOriginalRecordFileRelation = new BusinessOriginalRecordFileRelation(); + businessOriginalRecordFileRelation.setOriginalRecordId(originId); + businessOriginalRecordFileRelation.setFileId(meterFile.getId()); + list.add(businessOriginalRecordFileRelation); + }); + return this.saveBatch(list); + } } 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 dabc7bf..f4fad63 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 @@ -1,14 +1,36 @@ package com.casic.missiles.service.Impl.business; +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.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.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOriginalRecordMapper; import com.casic.missiles.model.business.BusinessOriginalRecord; -import com.casic.missiles.service.business.IBusinessOriginalRecordService; +import com.casic.missiles.service.business.*; +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; /** *

- * 服务实现类 + * 服务实现类 *

* * @author wangpeng @@ -17,4 +39,95 @@ @Service public class BusinessOriginalRecordServiceImpl extends ServiceImpl implements IBusinessOriginalRecordService { + + @Resource + private CustomerSampleService customerSampleService; + @Resource + private IBusinessEnvironmentRecordService businessEnvironmentRecordService; + @Resource + private IBusinessOrderService businessOrderService; + @Resource + private IBusinessOriginalRecordFileRelationService originalRecordFileRelationService; + @Resource + private IBusinessOriginalRecordEquipmentRelationService originalRecordEquipmentRelationService; + + + @Override + public Page originListPage(Page page, OriginRecordRequest request) throws Exception { + // 获取列表 + Page originalRecordPage = this.baseMapper.originListPage(page, request); + if (!CollectionUtils.isEmpty(originalRecordPage.getRecords())) { + for (BusinessOriginalRecord record : originalRecordPage.getRecords()) { + DictCodeUtils.convertDictCodeToName(record); + if (!StrUtil.isBlankIfStr(record.getSampleId())) { + record.setCustomerSampleInfo(customerSampleService.sampleDetail(record.getSampleId())); + } + } + } + return originalRecordPage; + } + + @Override + public BusinessOriginalRecord originalDetail(Long id) { + BusinessOriginalRecord businessOriginalRecord = this.baseMapper.selectById(id); + if (businessOriginalRecord != null) { + //查询样品详情 + if (businessOriginalRecord.getSampleId() != null) { + businessOriginalRecord.setCustomerSampleInfo(customerSampleService.sampleDetail(businessOriginalRecord.getSampleId())); + } + //查询环境记录单详情 + if (businessOriginalRecord.getEnvironmentId() != null) { + businessOriginalRecord.setBusinessEnvironmentRecord(businessEnvironmentRecordService.environmentDetail(businessOriginalRecord.getEnvironmentId())); + } + //查询委托单详情 + if (businessOriginalRecord.getOrderId() != null) { + businessOriginalRecord.setBusinessOrder(businessOrderService.orderDetail(businessOriginalRecord.getOrderId())); + } + } + return businessOriginalRecord; + } + + @Override + public ReturnDTO deleteOriginal(Long id) { + if (this.baseMapper.deleteById(id) > 0) + return ReturnUtil.success(); + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + @Override + public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { + return null; + } + + @Transactional + @Override + public ReturnDTO addOriginal(BusinessOriginalRecord businessOriginalRecord) { + initBusinessEnvironmentRecord(businessOriginalRecord); + if (baseMapper.insert(businessOriginalRecord) > 0) { + //加入技术文件绑定 + if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { + originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); + } + //加入所用设备绑定 + if (ObjectUtil.isNotEmpty(businessOriginalRecord.getEquipmentInfoList()) && businessOriginalRecord.getEquipmentInfoList().size() > 0) { + originalRecordEquipmentRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getEquipmentInfoList()); + } + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + @Override + public void originalExport(EnvironmentListRequest request, HttpServletResponse response) { + + } + + private void initBusinessEnvironmentRecord(BusinessOriginalRecord businessOriginalRecord) { + Long maxNo = this.baseMapper.selectMaxCode(); + String originNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.ORIGIN_PREFIX, maxNo); + AuthUser authUser = ShiroKit.getUser(); + businessOriginalRecord.setCreateUser(authUser.getId()); + businessOriginalRecord.setOriginalRecordCode(originNo); + } + } 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 9836945..d3fa36f 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 @@ -11,6 +11,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.FixedAssetRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentFixedAssetFileMapper; @@ -36,7 +37,7 @@ /** *

- * 固定资产service + * 固定资产service *

* * @author cuicheng @@ -57,6 +58,7 @@ /** * 分页查询 + * * @param page * @param request * @return @@ -67,7 +69,7 @@ // QueryWrapper wrapper = getWrapper(request); Page meterFixedAssetsPage = meterFixedAssetsMapper.listPage(page, request); // Page meterFixedAssetsPage = meterFixedAssetsMapper.selectPage(page, wrapper); - for (EquipmentFixedAssets meterFixedAssets:meterFixedAssetsPage.getRecords()) { + for (EquipmentFixedAssets meterFixedAssets : meterFixedAssetsPage.getRecords()) { // TODO 走guava本地缓存,减少跟redis的IO交互 DictCodeUtils.convertDictCodeToName(meterFixedAssets); } @@ -76,6 +78,7 @@ /** * 固定资产列表 + * * @param request * @return * @throws Exception @@ -89,7 +92,7 @@ Page meterFixedAssetsPage = meterFixedAssetsMapper.listPage(page, request); // QueryWrapper wrapper = getWrapper(request); // List meterFixedAssetsList = meterFixedAssetsMapper.selectList(wrapper); - for (EquipmentFixedAssets meterFixedAssets:meterFixedAssetsPage.getRecords()) { + for (EquipmentFixedAssets meterFixedAssets : meterFixedAssetsPage.getRecords()) { DictCodeUtils.convertDictCodeToName(meterFixedAssets); } return meterFixedAssetsPage.getRecords(); @@ -97,15 +100,16 @@ /** * 添加固定资产 + * * @param meterFixedAssets * @return */ @Override @Transactional public ReturnDTO addFixedAsset(EquipmentFixedAssets meterFixedAssets) { - if(meterFixedAssets.getCreateUser() == null){ + if (meterFixedAssets.getCreateUser() == null) { AuthUser authUser = ShiroKit.getUser(); - if(authUser != null){ + if (authUser != null) { meterFixedAssets.setCreateUser(authUser.getId()); } } @@ -124,6 +128,7 @@ /** * 批量添加固定资产 + * * @return */ @Override @@ -131,7 +136,7 @@ public ReturnDTO addFixedAssetList(List meterFixedAssetsList) throws Exception { //用于存储验证后的错误信息 Long maxNo = meterFixedAssetsMapper.selectMaxNo(); - for (EquipmentFixedAssets item:meterFixedAssetsList) { + for (EquipmentFixedAssets item : meterFixedAssetsList) { Set> validate = Validation.buildDefaultValidatorFactory().getValidator().validate(item); if (!CollectionUtils.isEmpty(validate)) { return ReturnUtil.failed(validate.iterator().next().getMessage()); @@ -155,7 +160,7 @@ wrapper.eq("is_del", 0); EquipmentFixedAssets result = meterFixedAssetsMapper.selectOne(wrapper); if (result != null) { - log.error("出厂编号:{},重复",result.getManufacturingNo()); + log.error("出厂编号:{},重复", result.getManufacturingNo()); throw new BusinessException(BusinessExceptionEnum.DUPLICATE_MANUFACTURE_NUMBER); } } @@ -163,6 +168,7 @@ /** * 更新固定资产 + * * @param meterFixedAssets * @return */ @@ -180,6 +186,7 @@ /** * 获取资产详情 + * * @param id * @return */ @@ -192,7 +199,7 @@ request.setId(id); Page meterFixedAssetsPage = meterFixedAssetsMapper.listPage(page, request); EquipmentFixedAssets meterFixedAssets = null; - if(!CollectionUtils.isEmpty(meterFixedAssetsPage.getRecords())) { + if (!CollectionUtils.isEmpty(meterFixedAssetsPage.getRecords())) { meterFixedAssets = meterFixedAssetsPage.getRecords().get(0); DictCodeUtils.convertDictCodeToName(meterFixedAssets); QueryWrapper wrapper = new QueryWrapper<>(); @@ -205,6 +212,7 @@ /** * 删除资产 + * * @param id * @return */ @@ -219,22 +227,23 @@ @Override public ReturnDTO removeStandardSupportEquipment(Long id) { - return removeTypeSign(id,"is_standard_support_equipment"); + return removeTypeSign(id, "is_standard_support_equipment"); } @Override public ReturnDTO removeCalibrationTestEquipment(Long id) { - return removeTypeSign(id,"is_calibration_test_equipment"); + return removeTypeSign(id, "is_calibration_test_equipment"); } @Override public ReturnDTO removeMeasureAccount(Long id) { - return removeTypeSign(id,"is_measure_account"); + return removeTypeSign(id, "is_measure_account"); } /** * 删除类型标记(更新字段) - * @param id 固定资产id + * + * @param id 固定资产id * @param signName 字段名 * @return 更新结果 */ @@ -242,14 +251,13 @@ private ReturnDTO removeTypeSign(Long id, String signName) { UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("id", id).set(signName, 0); - if(meterFixedAssetsMapper.update(null, updateWrapper)>0){ + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("删除失败"); } /** - * * @param meterFixedAssets */ public void batchSaveFile(EquipmentFixedAssets meterFixedAssets) { @@ -266,8 +274,23 @@ } } + + /** + * 查询equipment_fixed_asserts表资产类型为1的测量设备 + * + * @return + */ + @Override + public ReturnDTO querySelectList() { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("asset_type", MeterDictEnum.ASSET_TYPE_1); + wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE); + return ReturnUtil.success(this.baseMapper.selectList(wrapper)); + } + /** * 转换字典code + * * @param request * @return */ 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 6eeebd8..e24f67d 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 @@ -56,7 +56,7 @@ @Slf4j @Service public class MeterFileServiceImpl extends ServiceImpl implements IMeterFileService { - @Autowired + @Resource private MeterFileMapper meterFileMapper; @Resource private AbstractDictService dictService; @@ -333,6 +333,19 @@ return approvalList; } + + /*** + *查询文件为计量规程 和 已实施状态 的计量文件 + * @return + */ + @Override + public ReturnDTO querySelectList() { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("effective_status","1"); + wrapper.eq("file_type","10"); + return ReturnUtil.success(this.baseMapper.selectList(wrapper)); + } + private QueryWrapper getWrapper(FileListRequest request) { //flowable中已通过状态的业务id列表 List passedList = baseApprovalService.getPassedList(request.getFormId()); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 99e3b8f..2de64e1 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; @@ -38,6 +39,7 @@ * @since 2023-02-02 */ @RestController +@Api(tags = "环境记录单模块") @RequestMapping("/business/environmentRecord") public class BusinessEnvironmentRecordController extends ExportController { 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 e943ec4..ca7e8d2 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 @@ -1,18 +1,109 @@ package com.casic.missiles.controller.business; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.environment.EnvironmentListRequest; +import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BusinessEnvironmentRecord; +import com.casic.missiles.model.business.BusinessOriginalRecord; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.business.IBusinessOriginalRecordService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author wangpeng * @since 2023-02-02 */ @RestController +@Api(tags = "原始记录单模块") @RequestMapping("/business/originalRecord") -public class BusinessOriginalRecordController { +public class BusinessOriginalRecordController extends ExportController { + @Resource + private IBusinessOriginalRecordService businessOriginalRecordService; + + @ApiOperation("原始记录查询") + @PostMapping("/listPage") + public ReturnDTO> originalListPage(@RequestBody @Valid OriginRecordRequest request, BindingResult bindingResult) throws Exception { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOriginalRecordService.originListPage(page, request))); + } + + + @ApiOperation("原始记录详情") + @PostMapping("/detail") + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.originalDetail(idDTO.getId())); + } + + @ApiOperation("原始记录更新") + @PostMapping("/update") + public ReturnDTO updateOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOriginalRecord.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.updateOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录新增") + @PostMapping("/add") + public ReturnDTO addOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.addOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录删除") + @PostMapping("/delete") + public ReturnDTO deleteOriginal(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.deleteOriginal(idDTO.getId())); + } + + @ApiOperation("原始记录导出") + @PostMapping("/export") + public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { +// businessEnvironmentRecordService.environmentExport(request, response); + } + + @ApiOperation("获取设备") + @PostMapping("/getEquipments") + public void getEquipments() { +// businessEnvironmentRecordService.environmentExport(request, response); + } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java index c499a12..375c4b0 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.equipment; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; @@ -187,4 +188,15 @@ return iEquipmentFixedAssetsService.addFixedAssetList(resultList); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉检查设备查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return iEquipmentFixedAssetsService.querySelectList(); + } + } 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 9e8b89e..cf5f125 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 @@ -216,4 +216,15 @@ return meterFileService.failUpdate(meterFile); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉所依据的技术文件查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return meterFileService.querySelectList(); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java index 5253767..7bb2954 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java @@ -32,5 +32,11 @@ String STANDARD_APPLY_TYPE = "standardApplyType"; //房间号 String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 5057d08..6b109a2 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -9,6 +9,7 @@ //环境记录单编号生成前缀 String ENVIRONMENT_PREFIX = "hjld"; - + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; } 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 752e2e8..56f6602 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 @@ -1,16 +1,24 @@ package com.casic.missiles.mapper.business; 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.model.business.BusinessOriginalRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; /** *

- * Mapper 接口 + * Mapper 接口 *

* * @author wangpeng * @since 2023-02-02 */ public interface BusinessOriginalRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(original_record_code, 12)), 0) from business_original_record") + Long selectMaxCode(); + + Page originListPage(Page page, @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 cccc6a0..879a43f 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml @@ -4,27 +4,60 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - id, original_record_code, original_record_name, calibration_category, calibration_time, environment_id, calibration_place, order_id, sample_id, template_id, original_record_file, remark, is_del, create_user, create_time, update_time + id + , original_record_code, original_record_name, calibration_category, calibration_time, environment_id, calibration_place, order_id, sample_id, template_id, original_record_file, remark, is_del, create_user, create_time, update_time + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java index d858b3a..7148dc6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java @@ -7,6 +7,7 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -65,5 +66,8 @@ @ExcelProperty(value = "记录时间",order = 7) private String recordTime; + @TableField("is_del") + private Boolean isDel; + } 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 new file mode 100644 index 0000000..93ada55 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java @@ -0,0 +1,31 @@ +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-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java index 18e50a8..c918e35 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java @@ -3,13 +3,19 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.model.customer.CustomerSampleInfo; +import com.casic.missiles.model.equipment.EquipmentApplyFile; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.meter.MeterFile; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; +import java.util.List; /** *

- * + * *

* * @author wangpeng @@ -28,66 +34,77 @@ * 原始记录编号 */ @TableField("original_record_code") + @ApiModelProperty(value = "原始记录编号", dataType = "String") private String originalRecordCode; /** * 原始记录名称 */ @TableField("original_record_name") + @ApiModelProperty(value = "原始记录名称", dataType = "String") private String originalRecordName; /** * 检校类别(字典code) */ @TableField("calibration_category") + @ApiModelProperty(value = "检校类别", dataType = "String") private String calibrationCategory; /** * 检校时间 */ @TableField("calibration_time") + @ApiModelProperty(value = "检校时间", dataType = "String") private String calibrationTime; /** * 环境记录单id */ @TableField("environment_id") + @ApiModelProperty(value = "环境记录单id", dataType = "Long") private Long environmentId; /** * 检校地点 */ @TableField("calibration_place") + @ApiModelProperty(value = "检校地点", dataType = "String") private String calibrationPlace; /** * 委托书id */ @TableField("order_id") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long orderId; /** * 样品id */ @TableField("sample_id") + @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; /** * 原始记录模板id */ @TableField("template_id") + @ApiModelProperty(value = "原始记录模板id", dataType = "Long") private Long templateId; /** * 原始记录附件(minio存储文件名) */ @TableField("original_record_file") + @ApiModelProperty(value = "原始记录附件", dataType = "String") private String originalRecordFile; /** * 备注 */ @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String") private String remark; @TableField("is_del") @@ -102,5 +119,32 @@ @TableField("update_time") private String updateTime; + /** + * 委托单信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "委托单信息", dataType = "Object") + private BusinessOrder businessOrder; + /** + * 环境记录单信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "环境记录单信息", dataType = "Object") + private BusinessEnvironmentRecord businessEnvironmentRecord; + /** + * 样品信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "样品信息", dataType = "Object") + private CustomerSampleInfo customerSampleInfo; + @TableField(exist = false) + @ApiModelProperty(value = "监测设备", dataType = "List") + private List equipmentInfoList; + /** + * 技术文件 + */ + @TableField(exist = false) + @ApiModelProperty(value = "技术文件", dataType = "List") + private List fileList; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index b7ff5dd..14c9f22 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -14,6 +14,7 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; @@ -121,6 +122,7 @@ "{0} <= DATE_FORMAT(record_time,'%Y-%m-%d %H:%i:%s')", request.getStartTime()); wrapper.apply(StringUtils.isNotBlank(request.getEndTime()), "{0} >= DATE_FORMAT(record_time,'%Y-%m-%d %H:%i:%s')", request.getEndTime()); + wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE); return wrapper; } 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 43cfa23..3b81119 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 @@ -1,11 +1,16 @@ package com.casic.missiles.service.Impl.business; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.mapper.business.BusinessOriginalRecordEquipmentRelationMapper; import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessOriginalRecordEquipmentRelationService; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; + /** *

* 业务管理-原始记录-标准装置关联表 服务实现类 @@ -17,4 +22,19 @@ @Service public class BusinessOriginalRecordEquipmentRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordEquipmentRelationService { + @Override + public boolean saveBatch(Long originId, List equipmentFixedAssetsList) { + //删除绑定关系 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + this.baseMapper.delete(queryWrapper); + //重新绑定 + List list = new ArrayList<>(); + equipmentFixedAssetsList.forEach(equipmentFixedAssets -> { + BusinessOriginalRecordEquipmentRelation obj = new BusinessOriginalRecordEquipmentRelation(); + obj.setEquipmentId(equipmentFixedAssets.getId()); + obj.setOriginalRecordId(originId); + }); + return this.saveBatch(list); + } } 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 2d719fa..cd44d97 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,11 +1,18 @@ package com.casic.missiles.service.Impl.business; +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 org.springframework.stereotype.Service; +import java.sql.SQLException; +import java.sql.Wrapper; +import java.util.ArrayList; +import java.util.List; + /** *

* 业务管理-原始记录-计量文件关联表 服务实现类 @@ -17,4 +24,20 @@ @Service public class BusinessOriginalRecordFileRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordFileRelationService { + @Override + public boolean saveBatch(Long originId, List meterFileList) { + //先删除所有的绑定关系 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + this.baseMapper.delete(queryWrapper); + //新写入绑定关系 + List list = new ArrayList<>(); + meterFileList.forEach(meterFile -> { + BusinessOriginalRecordFileRelation businessOriginalRecordFileRelation = new BusinessOriginalRecordFileRelation(); + businessOriginalRecordFileRelation.setOriginalRecordId(originId); + businessOriginalRecordFileRelation.setFileId(meterFile.getId()); + list.add(businessOriginalRecordFileRelation); + }); + return this.saveBatch(list); + } } 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 dabc7bf..f4fad63 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 @@ -1,14 +1,36 @@ package com.casic.missiles.service.Impl.business; +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.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.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOriginalRecordMapper; import com.casic.missiles.model.business.BusinessOriginalRecord; -import com.casic.missiles.service.business.IBusinessOriginalRecordService; +import com.casic.missiles.service.business.*; +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; /** *

- * 服务实现类 + * 服务实现类 *

* * @author wangpeng @@ -17,4 +39,95 @@ @Service public class BusinessOriginalRecordServiceImpl extends ServiceImpl implements IBusinessOriginalRecordService { + + @Resource + private CustomerSampleService customerSampleService; + @Resource + private IBusinessEnvironmentRecordService businessEnvironmentRecordService; + @Resource + private IBusinessOrderService businessOrderService; + @Resource + private IBusinessOriginalRecordFileRelationService originalRecordFileRelationService; + @Resource + private IBusinessOriginalRecordEquipmentRelationService originalRecordEquipmentRelationService; + + + @Override + public Page originListPage(Page page, OriginRecordRequest request) throws Exception { + // 获取列表 + Page originalRecordPage = this.baseMapper.originListPage(page, request); + if (!CollectionUtils.isEmpty(originalRecordPage.getRecords())) { + for (BusinessOriginalRecord record : originalRecordPage.getRecords()) { + DictCodeUtils.convertDictCodeToName(record); + if (!StrUtil.isBlankIfStr(record.getSampleId())) { + record.setCustomerSampleInfo(customerSampleService.sampleDetail(record.getSampleId())); + } + } + } + return originalRecordPage; + } + + @Override + public BusinessOriginalRecord originalDetail(Long id) { + BusinessOriginalRecord businessOriginalRecord = this.baseMapper.selectById(id); + if (businessOriginalRecord != null) { + //查询样品详情 + if (businessOriginalRecord.getSampleId() != null) { + businessOriginalRecord.setCustomerSampleInfo(customerSampleService.sampleDetail(businessOriginalRecord.getSampleId())); + } + //查询环境记录单详情 + if (businessOriginalRecord.getEnvironmentId() != null) { + businessOriginalRecord.setBusinessEnvironmentRecord(businessEnvironmentRecordService.environmentDetail(businessOriginalRecord.getEnvironmentId())); + } + //查询委托单详情 + if (businessOriginalRecord.getOrderId() != null) { + businessOriginalRecord.setBusinessOrder(businessOrderService.orderDetail(businessOriginalRecord.getOrderId())); + } + } + return businessOriginalRecord; + } + + @Override + public ReturnDTO deleteOriginal(Long id) { + if (this.baseMapper.deleteById(id) > 0) + return ReturnUtil.success(); + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + @Override + public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { + return null; + } + + @Transactional + @Override + public ReturnDTO addOriginal(BusinessOriginalRecord businessOriginalRecord) { + initBusinessEnvironmentRecord(businessOriginalRecord); + if (baseMapper.insert(businessOriginalRecord) > 0) { + //加入技术文件绑定 + if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { + originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); + } + //加入所用设备绑定 + if (ObjectUtil.isNotEmpty(businessOriginalRecord.getEquipmentInfoList()) && businessOriginalRecord.getEquipmentInfoList().size() > 0) { + originalRecordEquipmentRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getEquipmentInfoList()); + } + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + @Override + public void originalExport(EnvironmentListRequest request, HttpServletResponse response) { + + } + + private void initBusinessEnvironmentRecord(BusinessOriginalRecord businessOriginalRecord) { + Long maxNo = this.baseMapper.selectMaxCode(); + String originNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.ORIGIN_PREFIX, maxNo); + AuthUser authUser = ShiroKit.getUser(); + businessOriginalRecord.setCreateUser(authUser.getId()); + businessOriginalRecord.setOriginalRecordCode(originNo); + } + } 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 9836945..d3fa36f 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 @@ -11,6 +11,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.FixedAssetRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentFixedAssetFileMapper; @@ -36,7 +37,7 @@ /** *

- * 固定资产service + * 固定资产service *

* * @author cuicheng @@ -57,6 +58,7 @@ /** * 分页查询 + * * @param page * @param request * @return @@ -67,7 +69,7 @@ // QueryWrapper wrapper = getWrapper(request); Page meterFixedAssetsPage = meterFixedAssetsMapper.listPage(page, request); // Page meterFixedAssetsPage = meterFixedAssetsMapper.selectPage(page, wrapper); - for (EquipmentFixedAssets meterFixedAssets:meterFixedAssetsPage.getRecords()) { + for (EquipmentFixedAssets meterFixedAssets : meterFixedAssetsPage.getRecords()) { // TODO 走guava本地缓存,减少跟redis的IO交互 DictCodeUtils.convertDictCodeToName(meterFixedAssets); } @@ -76,6 +78,7 @@ /** * 固定资产列表 + * * @param request * @return * @throws Exception @@ -89,7 +92,7 @@ Page meterFixedAssetsPage = meterFixedAssetsMapper.listPage(page, request); // QueryWrapper wrapper = getWrapper(request); // List meterFixedAssetsList = meterFixedAssetsMapper.selectList(wrapper); - for (EquipmentFixedAssets meterFixedAssets:meterFixedAssetsPage.getRecords()) { + for (EquipmentFixedAssets meterFixedAssets : meterFixedAssetsPage.getRecords()) { DictCodeUtils.convertDictCodeToName(meterFixedAssets); } return meterFixedAssetsPage.getRecords(); @@ -97,15 +100,16 @@ /** * 添加固定资产 + * * @param meterFixedAssets * @return */ @Override @Transactional public ReturnDTO addFixedAsset(EquipmentFixedAssets meterFixedAssets) { - if(meterFixedAssets.getCreateUser() == null){ + if (meterFixedAssets.getCreateUser() == null) { AuthUser authUser = ShiroKit.getUser(); - if(authUser != null){ + if (authUser != null) { meterFixedAssets.setCreateUser(authUser.getId()); } } @@ -124,6 +128,7 @@ /** * 批量添加固定资产 + * * @return */ @Override @@ -131,7 +136,7 @@ public ReturnDTO addFixedAssetList(List meterFixedAssetsList) throws Exception { //用于存储验证后的错误信息 Long maxNo = meterFixedAssetsMapper.selectMaxNo(); - for (EquipmentFixedAssets item:meterFixedAssetsList) { + for (EquipmentFixedAssets item : meterFixedAssetsList) { Set> validate = Validation.buildDefaultValidatorFactory().getValidator().validate(item); if (!CollectionUtils.isEmpty(validate)) { return ReturnUtil.failed(validate.iterator().next().getMessage()); @@ -155,7 +160,7 @@ wrapper.eq("is_del", 0); EquipmentFixedAssets result = meterFixedAssetsMapper.selectOne(wrapper); if (result != null) { - log.error("出厂编号:{},重复",result.getManufacturingNo()); + log.error("出厂编号:{},重复", result.getManufacturingNo()); throw new BusinessException(BusinessExceptionEnum.DUPLICATE_MANUFACTURE_NUMBER); } } @@ -163,6 +168,7 @@ /** * 更新固定资产 + * * @param meterFixedAssets * @return */ @@ -180,6 +186,7 @@ /** * 获取资产详情 + * * @param id * @return */ @@ -192,7 +199,7 @@ request.setId(id); Page meterFixedAssetsPage = meterFixedAssetsMapper.listPage(page, request); EquipmentFixedAssets meterFixedAssets = null; - if(!CollectionUtils.isEmpty(meterFixedAssetsPage.getRecords())) { + if (!CollectionUtils.isEmpty(meterFixedAssetsPage.getRecords())) { meterFixedAssets = meterFixedAssetsPage.getRecords().get(0); DictCodeUtils.convertDictCodeToName(meterFixedAssets); QueryWrapper wrapper = new QueryWrapper<>(); @@ -205,6 +212,7 @@ /** * 删除资产 + * * @param id * @return */ @@ -219,22 +227,23 @@ @Override public ReturnDTO removeStandardSupportEquipment(Long id) { - return removeTypeSign(id,"is_standard_support_equipment"); + return removeTypeSign(id, "is_standard_support_equipment"); } @Override public ReturnDTO removeCalibrationTestEquipment(Long id) { - return removeTypeSign(id,"is_calibration_test_equipment"); + return removeTypeSign(id, "is_calibration_test_equipment"); } @Override public ReturnDTO removeMeasureAccount(Long id) { - return removeTypeSign(id,"is_measure_account"); + return removeTypeSign(id, "is_measure_account"); } /** * 删除类型标记(更新字段) - * @param id 固定资产id + * + * @param id 固定资产id * @param signName 字段名 * @return 更新结果 */ @@ -242,14 +251,13 @@ private ReturnDTO removeTypeSign(Long id, String signName) { UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("id", id).set(signName, 0); - if(meterFixedAssetsMapper.update(null, updateWrapper)>0){ + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("删除失败"); } /** - * * @param meterFixedAssets */ public void batchSaveFile(EquipmentFixedAssets meterFixedAssets) { @@ -266,8 +274,23 @@ } } + + /** + * 查询equipment_fixed_asserts表资产类型为1的测量设备 + * + * @return + */ + @Override + public ReturnDTO querySelectList() { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("asset_type", MeterDictEnum.ASSET_TYPE_1); + wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE); + return ReturnUtil.success(this.baseMapper.selectList(wrapper)); + } + /** * 转换字典code + * * @param request * @return */ 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 6eeebd8..e24f67d 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 @@ -56,7 +56,7 @@ @Slf4j @Service public class MeterFileServiceImpl extends ServiceImpl implements IMeterFileService { - @Autowired + @Resource private MeterFileMapper meterFileMapper; @Resource private AbstractDictService dictService; @@ -333,6 +333,19 @@ return approvalList; } + + /*** + *查询文件为计量规程 和 已实施状态 的计量文件 + * @return + */ + @Override + public ReturnDTO querySelectList() { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("effective_status","1"); + wrapper.eq("file_type","10"); + return ReturnUtil.success(this.baseMapper.selectList(wrapper)); + } + private QueryWrapper getWrapper(FileListRequest request) { //flowable中已通过状态的业务id列表 List passedList = baseApprovalService.getPassedList(request.getFormId()); 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 4cc39cf..84b4522 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 @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; + +import java.util.List; /** *

@@ -12,5 +15,5 @@ * @since 2023-02-02 */ public interface IBusinessOriginalRecordEquipmentRelationService extends IService { - + boolean saveBatch(Long originId, List equipmentFixedAssetsList); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 99e3b8f..2de64e1 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; @@ -38,6 +39,7 @@ * @since 2023-02-02 */ @RestController +@Api(tags = "环境记录单模块") @RequestMapping("/business/environmentRecord") public class BusinessEnvironmentRecordController extends ExportController { 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 e943ec4..ca7e8d2 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 @@ -1,18 +1,109 @@ package com.casic.missiles.controller.business; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.environment.EnvironmentListRequest; +import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BusinessEnvironmentRecord; +import com.casic.missiles.model.business.BusinessOriginalRecord; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.business.IBusinessOriginalRecordService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author wangpeng * @since 2023-02-02 */ @RestController +@Api(tags = "原始记录单模块") @RequestMapping("/business/originalRecord") -public class BusinessOriginalRecordController { +public class BusinessOriginalRecordController extends ExportController { + @Resource + private IBusinessOriginalRecordService businessOriginalRecordService; + + @ApiOperation("原始记录查询") + @PostMapping("/listPage") + public ReturnDTO> originalListPage(@RequestBody @Valid OriginRecordRequest request, BindingResult bindingResult) throws Exception { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOriginalRecordService.originListPage(page, request))); + } + + + @ApiOperation("原始记录详情") + @PostMapping("/detail") + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.originalDetail(idDTO.getId())); + } + + @ApiOperation("原始记录更新") + @PostMapping("/update") + public ReturnDTO updateOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOriginalRecord.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.updateOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录新增") + @PostMapping("/add") + public ReturnDTO addOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.addOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录删除") + @PostMapping("/delete") + public ReturnDTO deleteOriginal(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.deleteOriginal(idDTO.getId())); + } + + @ApiOperation("原始记录导出") + @PostMapping("/export") + public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { +// businessEnvironmentRecordService.environmentExport(request, response); + } + + @ApiOperation("获取设备") + @PostMapping("/getEquipments") + public void getEquipments() { +// businessEnvironmentRecordService.environmentExport(request, response); + } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java index c499a12..375c4b0 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.equipment; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; @@ -187,4 +188,15 @@ return iEquipmentFixedAssetsService.addFixedAssetList(resultList); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉检查设备查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return iEquipmentFixedAssetsService.querySelectList(); + } + } 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 9e8b89e..cf5f125 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 @@ -216,4 +216,15 @@ return meterFileService.failUpdate(meterFile); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉所依据的技术文件查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return meterFileService.querySelectList(); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java index 5253767..7bb2954 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java @@ -32,5 +32,11 @@ String STANDARD_APPLY_TYPE = "standardApplyType"; //房间号 String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 5057d08..6b109a2 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -9,6 +9,7 @@ //环境记录单编号生成前缀 String ENVIRONMENT_PREFIX = "hjld"; - + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; } 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 752e2e8..56f6602 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 @@ -1,16 +1,24 @@ package com.casic.missiles.mapper.business; 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.model.business.BusinessOriginalRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; /** *

- * Mapper 接口 + * Mapper 接口 *

* * @author wangpeng * @since 2023-02-02 */ public interface BusinessOriginalRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(original_record_code, 12)), 0) from business_original_record") + Long selectMaxCode(); + + Page originListPage(Page page, @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 cccc6a0..879a43f 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml @@ -4,27 +4,60 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - id, original_record_code, original_record_name, calibration_category, calibration_time, environment_id, calibration_place, order_id, sample_id, template_id, original_record_file, remark, is_del, create_user, create_time, update_time + id + , original_record_code, original_record_name, calibration_category, calibration_time, environment_id, calibration_place, order_id, sample_id, template_id, original_record_file, remark, is_del, create_user, create_time, update_time + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java index d858b3a..7148dc6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java @@ -7,6 +7,7 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -65,5 +66,8 @@ @ExcelProperty(value = "记录时间",order = 7) private String recordTime; + @TableField("is_del") + private Boolean isDel; + } 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 new file mode 100644 index 0000000..93ada55 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java @@ -0,0 +1,31 @@ +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-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java index 18e50a8..c918e35 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java @@ -3,13 +3,19 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.model.customer.CustomerSampleInfo; +import com.casic.missiles.model.equipment.EquipmentApplyFile; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.meter.MeterFile; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; +import java.util.List; /** *

- * + * *

* * @author wangpeng @@ -28,66 +34,77 @@ * 原始记录编号 */ @TableField("original_record_code") + @ApiModelProperty(value = "原始记录编号", dataType = "String") private String originalRecordCode; /** * 原始记录名称 */ @TableField("original_record_name") + @ApiModelProperty(value = "原始记录名称", dataType = "String") private String originalRecordName; /** * 检校类别(字典code) */ @TableField("calibration_category") + @ApiModelProperty(value = "检校类别", dataType = "String") private String calibrationCategory; /** * 检校时间 */ @TableField("calibration_time") + @ApiModelProperty(value = "检校时间", dataType = "String") private String calibrationTime; /** * 环境记录单id */ @TableField("environment_id") + @ApiModelProperty(value = "环境记录单id", dataType = "Long") private Long environmentId; /** * 检校地点 */ @TableField("calibration_place") + @ApiModelProperty(value = "检校地点", dataType = "String") private String calibrationPlace; /** * 委托书id */ @TableField("order_id") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long orderId; /** * 样品id */ @TableField("sample_id") + @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; /** * 原始记录模板id */ @TableField("template_id") + @ApiModelProperty(value = "原始记录模板id", dataType = "Long") private Long templateId; /** * 原始记录附件(minio存储文件名) */ @TableField("original_record_file") + @ApiModelProperty(value = "原始记录附件", dataType = "String") private String originalRecordFile; /** * 备注 */ @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String") private String remark; @TableField("is_del") @@ -102,5 +119,32 @@ @TableField("update_time") private String updateTime; + /** + * 委托单信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "委托单信息", dataType = "Object") + private BusinessOrder businessOrder; + /** + * 环境记录单信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "环境记录单信息", dataType = "Object") + private BusinessEnvironmentRecord businessEnvironmentRecord; + /** + * 样品信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "样品信息", dataType = "Object") + private CustomerSampleInfo customerSampleInfo; + @TableField(exist = false) + @ApiModelProperty(value = "监测设备", dataType = "List") + private List equipmentInfoList; + /** + * 技术文件 + */ + @TableField(exist = false) + @ApiModelProperty(value = "技术文件", dataType = "List") + private List fileList; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index b7ff5dd..14c9f22 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -14,6 +14,7 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; @@ -121,6 +122,7 @@ "{0} <= DATE_FORMAT(record_time,'%Y-%m-%d %H:%i:%s')", request.getStartTime()); wrapper.apply(StringUtils.isNotBlank(request.getEndTime()), "{0} >= DATE_FORMAT(record_time,'%Y-%m-%d %H:%i:%s')", request.getEndTime()); + wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE); return wrapper; } 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 43cfa23..3b81119 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 @@ -1,11 +1,16 @@ package com.casic.missiles.service.Impl.business; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.mapper.business.BusinessOriginalRecordEquipmentRelationMapper; import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessOriginalRecordEquipmentRelationService; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; + /** *

* 业务管理-原始记录-标准装置关联表 服务实现类 @@ -17,4 +22,19 @@ @Service public class BusinessOriginalRecordEquipmentRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordEquipmentRelationService { + @Override + public boolean saveBatch(Long originId, List equipmentFixedAssetsList) { + //删除绑定关系 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + this.baseMapper.delete(queryWrapper); + //重新绑定 + List list = new ArrayList<>(); + equipmentFixedAssetsList.forEach(equipmentFixedAssets -> { + BusinessOriginalRecordEquipmentRelation obj = new BusinessOriginalRecordEquipmentRelation(); + obj.setEquipmentId(equipmentFixedAssets.getId()); + obj.setOriginalRecordId(originId); + }); + return this.saveBatch(list); + } } 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 2d719fa..cd44d97 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,11 +1,18 @@ package com.casic.missiles.service.Impl.business; +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 org.springframework.stereotype.Service; +import java.sql.SQLException; +import java.sql.Wrapper; +import java.util.ArrayList; +import java.util.List; + /** *

* 业务管理-原始记录-计量文件关联表 服务实现类 @@ -17,4 +24,20 @@ @Service public class BusinessOriginalRecordFileRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordFileRelationService { + @Override + public boolean saveBatch(Long originId, List meterFileList) { + //先删除所有的绑定关系 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + this.baseMapper.delete(queryWrapper); + //新写入绑定关系 + List list = new ArrayList<>(); + meterFileList.forEach(meterFile -> { + BusinessOriginalRecordFileRelation businessOriginalRecordFileRelation = new BusinessOriginalRecordFileRelation(); + businessOriginalRecordFileRelation.setOriginalRecordId(originId); + businessOriginalRecordFileRelation.setFileId(meterFile.getId()); + list.add(businessOriginalRecordFileRelation); + }); + return this.saveBatch(list); + } } 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 dabc7bf..f4fad63 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 @@ -1,14 +1,36 @@ package com.casic.missiles.service.Impl.business; +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.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.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOriginalRecordMapper; import com.casic.missiles.model.business.BusinessOriginalRecord; -import com.casic.missiles.service.business.IBusinessOriginalRecordService; +import com.casic.missiles.service.business.*; +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; /** *

- * 服务实现类 + * 服务实现类 *

* * @author wangpeng @@ -17,4 +39,95 @@ @Service public class BusinessOriginalRecordServiceImpl extends ServiceImpl implements IBusinessOriginalRecordService { + + @Resource + private CustomerSampleService customerSampleService; + @Resource + private IBusinessEnvironmentRecordService businessEnvironmentRecordService; + @Resource + private IBusinessOrderService businessOrderService; + @Resource + private IBusinessOriginalRecordFileRelationService originalRecordFileRelationService; + @Resource + private IBusinessOriginalRecordEquipmentRelationService originalRecordEquipmentRelationService; + + + @Override + public Page originListPage(Page page, OriginRecordRequest request) throws Exception { + // 获取列表 + Page originalRecordPage = this.baseMapper.originListPage(page, request); + if (!CollectionUtils.isEmpty(originalRecordPage.getRecords())) { + for (BusinessOriginalRecord record : originalRecordPage.getRecords()) { + DictCodeUtils.convertDictCodeToName(record); + if (!StrUtil.isBlankIfStr(record.getSampleId())) { + record.setCustomerSampleInfo(customerSampleService.sampleDetail(record.getSampleId())); + } + } + } + return originalRecordPage; + } + + @Override + public BusinessOriginalRecord originalDetail(Long id) { + BusinessOriginalRecord businessOriginalRecord = this.baseMapper.selectById(id); + if (businessOriginalRecord != null) { + //查询样品详情 + if (businessOriginalRecord.getSampleId() != null) { + businessOriginalRecord.setCustomerSampleInfo(customerSampleService.sampleDetail(businessOriginalRecord.getSampleId())); + } + //查询环境记录单详情 + if (businessOriginalRecord.getEnvironmentId() != null) { + businessOriginalRecord.setBusinessEnvironmentRecord(businessEnvironmentRecordService.environmentDetail(businessOriginalRecord.getEnvironmentId())); + } + //查询委托单详情 + if (businessOriginalRecord.getOrderId() != null) { + businessOriginalRecord.setBusinessOrder(businessOrderService.orderDetail(businessOriginalRecord.getOrderId())); + } + } + return businessOriginalRecord; + } + + @Override + public ReturnDTO deleteOriginal(Long id) { + if (this.baseMapper.deleteById(id) > 0) + return ReturnUtil.success(); + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + @Override + public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { + return null; + } + + @Transactional + @Override + public ReturnDTO addOriginal(BusinessOriginalRecord businessOriginalRecord) { + initBusinessEnvironmentRecord(businessOriginalRecord); + if (baseMapper.insert(businessOriginalRecord) > 0) { + //加入技术文件绑定 + if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { + originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); + } + //加入所用设备绑定 + if (ObjectUtil.isNotEmpty(businessOriginalRecord.getEquipmentInfoList()) && businessOriginalRecord.getEquipmentInfoList().size() > 0) { + originalRecordEquipmentRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getEquipmentInfoList()); + } + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + @Override + public void originalExport(EnvironmentListRequest request, HttpServletResponse response) { + + } + + private void initBusinessEnvironmentRecord(BusinessOriginalRecord businessOriginalRecord) { + Long maxNo = this.baseMapper.selectMaxCode(); + String originNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.ORIGIN_PREFIX, maxNo); + AuthUser authUser = ShiroKit.getUser(); + businessOriginalRecord.setCreateUser(authUser.getId()); + businessOriginalRecord.setOriginalRecordCode(originNo); + } + } 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 9836945..d3fa36f 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 @@ -11,6 +11,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.FixedAssetRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentFixedAssetFileMapper; @@ -36,7 +37,7 @@ /** *

- * 固定资产service + * 固定资产service *

* * @author cuicheng @@ -57,6 +58,7 @@ /** * 分页查询 + * * @param page * @param request * @return @@ -67,7 +69,7 @@ // QueryWrapper wrapper = getWrapper(request); Page meterFixedAssetsPage = meterFixedAssetsMapper.listPage(page, request); // Page meterFixedAssetsPage = meterFixedAssetsMapper.selectPage(page, wrapper); - for (EquipmentFixedAssets meterFixedAssets:meterFixedAssetsPage.getRecords()) { + for (EquipmentFixedAssets meterFixedAssets : meterFixedAssetsPage.getRecords()) { // TODO 走guava本地缓存,减少跟redis的IO交互 DictCodeUtils.convertDictCodeToName(meterFixedAssets); } @@ -76,6 +78,7 @@ /** * 固定资产列表 + * * @param request * @return * @throws Exception @@ -89,7 +92,7 @@ Page meterFixedAssetsPage = meterFixedAssetsMapper.listPage(page, request); // QueryWrapper wrapper = getWrapper(request); // List meterFixedAssetsList = meterFixedAssetsMapper.selectList(wrapper); - for (EquipmentFixedAssets meterFixedAssets:meterFixedAssetsPage.getRecords()) { + for (EquipmentFixedAssets meterFixedAssets : meterFixedAssetsPage.getRecords()) { DictCodeUtils.convertDictCodeToName(meterFixedAssets); } return meterFixedAssetsPage.getRecords(); @@ -97,15 +100,16 @@ /** * 添加固定资产 + * * @param meterFixedAssets * @return */ @Override @Transactional public ReturnDTO addFixedAsset(EquipmentFixedAssets meterFixedAssets) { - if(meterFixedAssets.getCreateUser() == null){ + if (meterFixedAssets.getCreateUser() == null) { AuthUser authUser = ShiroKit.getUser(); - if(authUser != null){ + if (authUser != null) { meterFixedAssets.setCreateUser(authUser.getId()); } } @@ -124,6 +128,7 @@ /** * 批量添加固定资产 + * * @return */ @Override @@ -131,7 +136,7 @@ public ReturnDTO addFixedAssetList(List meterFixedAssetsList) throws Exception { //用于存储验证后的错误信息 Long maxNo = meterFixedAssetsMapper.selectMaxNo(); - for (EquipmentFixedAssets item:meterFixedAssetsList) { + for (EquipmentFixedAssets item : meterFixedAssetsList) { Set> validate = Validation.buildDefaultValidatorFactory().getValidator().validate(item); if (!CollectionUtils.isEmpty(validate)) { return ReturnUtil.failed(validate.iterator().next().getMessage()); @@ -155,7 +160,7 @@ wrapper.eq("is_del", 0); EquipmentFixedAssets result = meterFixedAssetsMapper.selectOne(wrapper); if (result != null) { - log.error("出厂编号:{},重复",result.getManufacturingNo()); + log.error("出厂编号:{},重复", result.getManufacturingNo()); throw new BusinessException(BusinessExceptionEnum.DUPLICATE_MANUFACTURE_NUMBER); } } @@ -163,6 +168,7 @@ /** * 更新固定资产 + * * @param meterFixedAssets * @return */ @@ -180,6 +186,7 @@ /** * 获取资产详情 + * * @param id * @return */ @@ -192,7 +199,7 @@ request.setId(id); Page meterFixedAssetsPage = meterFixedAssetsMapper.listPage(page, request); EquipmentFixedAssets meterFixedAssets = null; - if(!CollectionUtils.isEmpty(meterFixedAssetsPage.getRecords())) { + if (!CollectionUtils.isEmpty(meterFixedAssetsPage.getRecords())) { meterFixedAssets = meterFixedAssetsPage.getRecords().get(0); DictCodeUtils.convertDictCodeToName(meterFixedAssets); QueryWrapper wrapper = new QueryWrapper<>(); @@ -205,6 +212,7 @@ /** * 删除资产 + * * @param id * @return */ @@ -219,22 +227,23 @@ @Override public ReturnDTO removeStandardSupportEquipment(Long id) { - return removeTypeSign(id,"is_standard_support_equipment"); + return removeTypeSign(id, "is_standard_support_equipment"); } @Override public ReturnDTO removeCalibrationTestEquipment(Long id) { - return removeTypeSign(id,"is_calibration_test_equipment"); + return removeTypeSign(id, "is_calibration_test_equipment"); } @Override public ReturnDTO removeMeasureAccount(Long id) { - return removeTypeSign(id,"is_measure_account"); + return removeTypeSign(id, "is_measure_account"); } /** * 删除类型标记(更新字段) - * @param id 固定资产id + * + * @param id 固定资产id * @param signName 字段名 * @return 更新结果 */ @@ -242,14 +251,13 @@ private ReturnDTO removeTypeSign(Long id, String signName) { UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("id", id).set(signName, 0); - if(meterFixedAssetsMapper.update(null, updateWrapper)>0){ + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("删除失败"); } /** - * * @param meterFixedAssets */ public void batchSaveFile(EquipmentFixedAssets meterFixedAssets) { @@ -266,8 +274,23 @@ } } + + /** + * 查询equipment_fixed_asserts表资产类型为1的测量设备 + * + * @return + */ + @Override + public ReturnDTO querySelectList() { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("asset_type", MeterDictEnum.ASSET_TYPE_1); + wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE); + return ReturnUtil.success(this.baseMapper.selectList(wrapper)); + } + /** * 转换字典code + * * @param request * @return */ 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 6eeebd8..e24f67d 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 @@ -56,7 +56,7 @@ @Slf4j @Service public class MeterFileServiceImpl extends ServiceImpl implements IMeterFileService { - @Autowired + @Resource private MeterFileMapper meterFileMapper; @Resource private AbstractDictService dictService; @@ -333,6 +333,19 @@ return approvalList; } + + /*** + *查询文件为计量规程 和 已实施状态 的计量文件 + * @return + */ + @Override + public ReturnDTO querySelectList() { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("effective_status","1"); + wrapper.eq("file_type","10"); + return ReturnUtil.success(this.baseMapper.selectList(wrapper)); + } + private QueryWrapper getWrapper(FileListRequest request) { //flowable中已通过状态的业务id列表 List passedList = baseApprovalService.getPassedList(request.getFormId()); 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 4cc39cf..84b4522 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 @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; + +import java.util.List; /** *

@@ -12,5 +15,5 @@ * @since 2023-02-02 */ public interface IBusinessOriginalRecordEquipmentRelationService extends IService { - + boolean saveBatch(Long originId, List equipmentFixedAssetsList); } 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 c8f0b89..d41c6aa 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 @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.model.business.BusinessOriginalRecordFileRelation; +import com.casic.missiles.model.meter.MeterFile; + +import java.util.List; /** *

@@ -12,5 +15,6 @@ * @since 2023-02-02 */ public interface IBusinessOriginalRecordFileRelationService extends IService { + boolean saveBatch(Long originId, List meterFileList); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 99e3b8f..2de64e1 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; @@ -38,6 +39,7 @@ * @since 2023-02-02 */ @RestController +@Api(tags = "环境记录单模块") @RequestMapping("/business/environmentRecord") public class BusinessEnvironmentRecordController extends ExportController { 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 e943ec4..ca7e8d2 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 @@ -1,18 +1,109 @@ package com.casic.missiles.controller.business; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.environment.EnvironmentListRequest; +import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BusinessEnvironmentRecord; +import com.casic.missiles.model.business.BusinessOriginalRecord; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.business.IBusinessOriginalRecordService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author wangpeng * @since 2023-02-02 */ @RestController +@Api(tags = "原始记录单模块") @RequestMapping("/business/originalRecord") -public class BusinessOriginalRecordController { +public class BusinessOriginalRecordController extends ExportController { + @Resource + private IBusinessOriginalRecordService businessOriginalRecordService; + + @ApiOperation("原始记录查询") + @PostMapping("/listPage") + public ReturnDTO> originalListPage(@RequestBody @Valid OriginRecordRequest request, BindingResult bindingResult) throws Exception { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOriginalRecordService.originListPage(page, request))); + } + + + @ApiOperation("原始记录详情") + @PostMapping("/detail") + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.originalDetail(idDTO.getId())); + } + + @ApiOperation("原始记录更新") + @PostMapping("/update") + public ReturnDTO updateOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOriginalRecord.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.updateOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录新增") + @PostMapping("/add") + public ReturnDTO addOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.addOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录删除") + @PostMapping("/delete") + public ReturnDTO deleteOriginal(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.deleteOriginal(idDTO.getId())); + } + + @ApiOperation("原始记录导出") + @PostMapping("/export") + public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { +// businessEnvironmentRecordService.environmentExport(request, response); + } + + @ApiOperation("获取设备") + @PostMapping("/getEquipments") + public void getEquipments() { +// businessEnvironmentRecordService.environmentExport(request, response); + } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java index c499a12..375c4b0 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.equipment; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; @@ -187,4 +188,15 @@ return iEquipmentFixedAssetsService.addFixedAssetList(resultList); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉检查设备查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return iEquipmentFixedAssetsService.querySelectList(); + } + } 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 9e8b89e..cf5f125 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 @@ -216,4 +216,15 @@ return meterFileService.failUpdate(meterFile); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉所依据的技术文件查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return meterFileService.querySelectList(); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java index 5253767..7bb2954 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java @@ -32,5 +32,11 @@ String STANDARD_APPLY_TYPE = "standardApplyType"; //房间号 String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 5057d08..6b109a2 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -9,6 +9,7 @@ //环境记录单编号生成前缀 String ENVIRONMENT_PREFIX = "hjld"; - + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; } 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 752e2e8..56f6602 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 @@ -1,16 +1,24 @@ package com.casic.missiles.mapper.business; 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.model.business.BusinessOriginalRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; /** *

- * Mapper 接口 + * Mapper 接口 *

* * @author wangpeng * @since 2023-02-02 */ public interface BusinessOriginalRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(original_record_code, 12)), 0) from business_original_record") + Long selectMaxCode(); + + Page originListPage(Page page, @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 cccc6a0..879a43f 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml @@ -4,27 +4,60 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - id, original_record_code, original_record_name, calibration_category, calibration_time, environment_id, calibration_place, order_id, sample_id, template_id, original_record_file, remark, is_del, create_user, create_time, update_time + id + , original_record_code, original_record_name, calibration_category, calibration_time, environment_id, calibration_place, order_id, sample_id, template_id, original_record_file, remark, is_del, create_user, create_time, update_time + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java index d858b3a..7148dc6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java @@ -7,6 +7,7 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -65,5 +66,8 @@ @ExcelProperty(value = "记录时间",order = 7) private String recordTime; + @TableField("is_del") + private Boolean isDel; + } 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 new file mode 100644 index 0000000..93ada55 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java @@ -0,0 +1,31 @@ +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-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java index 18e50a8..c918e35 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java @@ -3,13 +3,19 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.model.customer.CustomerSampleInfo; +import com.casic.missiles.model.equipment.EquipmentApplyFile; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.meter.MeterFile; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; +import java.util.List; /** *

- * + * *

* * @author wangpeng @@ -28,66 +34,77 @@ * 原始记录编号 */ @TableField("original_record_code") + @ApiModelProperty(value = "原始记录编号", dataType = "String") private String originalRecordCode; /** * 原始记录名称 */ @TableField("original_record_name") + @ApiModelProperty(value = "原始记录名称", dataType = "String") private String originalRecordName; /** * 检校类别(字典code) */ @TableField("calibration_category") + @ApiModelProperty(value = "检校类别", dataType = "String") private String calibrationCategory; /** * 检校时间 */ @TableField("calibration_time") + @ApiModelProperty(value = "检校时间", dataType = "String") private String calibrationTime; /** * 环境记录单id */ @TableField("environment_id") + @ApiModelProperty(value = "环境记录单id", dataType = "Long") private Long environmentId; /** * 检校地点 */ @TableField("calibration_place") + @ApiModelProperty(value = "检校地点", dataType = "String") private String calibrationPlace; /** * 委托书id */ @TableField("order_id") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long orderId; /** * 样品id */ @TableField("sample_id") + @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; /** * 原始记录模板id */ @TableField("template_id") + @ApiModelProperty(value = "原始记录模板id", dataType = "Long") private Long templateId; /** * 原始记录附件(minio存储文件名) */ @TableField("original_record_file") + @ApiModelProperty(value = "原始记录附件", dataType = "String") private String originalRecordFile; /** * 备注 */ @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String") private String remark; @TableField("is_del") @@ -102,5 +119,32 @@ @TableField("update_time") private String updateTime; + /** + * 委托单信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "委托单信息", dataType = "Object") + private BusinessOrder businessOrder; + /** + * 环境记录单信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "环境记录单信息", dataType = "Object") + private BusinessEnvironmentRecord businessEnvironmentRecord; + /** + * 样品信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "样品信息", dataType = "Object") + private CustomerSampleInfo customerSampleInfo; + @TableField(exist = false) + @ApiModelProperty(value = "监测设备", dataType = "List") + private List equipmentInfoList; + /** + * 技术文件 + */ + @TableField(exist = false) + @ApiModelProperty(value = "技术文件", dataType = "List") + private List fileList; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index b7ff5dd..14c9f22 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -14,6 +14,7 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; @@ -121,6 +122,7 @@ "{0} <= DATE_FORMAT(record_time,'%Y-%m-%d %H:%i:%s')", request.getStartTime()); wrapper.apply(StringUtils.isNotBlank(request.getEndTime()), "{0} >= DATE_FORMAT(record_time,'%Y-%m-%d %H:%i:%s')", request.getEndTime()); + wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE); return wrapper; } 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 43cfa23..3b81119 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 @@ -1,11 +1,16 @@ package com.casic.missiles.service.Impl.business; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.mapper.business.BusinessOriginalRecordEquipmentRelationMapper; import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessOriginalRecordEquipmentRelationService; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; + /** *

* 业务管理-原始记录-标准装置关联表 服务实现类 @@ -17,4 +22,19 @@ @Service public class BusinessOriginalRecordEquipmentRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordEquipmentRelationService { + @Override + public boolean saveBatch(Long originId, List equipmentFixedAssetsList) { + //删除绑定关系 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + this.baseMapper.delete(queryWrapper); + //重新绑定 + List list = new ArrayList<>(); + equipmentFixedAssetsList.forEach(equipmentFixedAssets -> { + BusinessOriginalRecordEquipmentRelation obj = new BusinessOriginalRecordEquipmentRelation(); + obj.setEquipmentId(equipmentFixedAssets.getId()); + obj.setOriginalRecordId(originId); + }); + return this.saveBatch(list); + } } 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 2d719fa..cd44d97 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,11 +1,18 @@ package com.casic.missiles.service.Impl.business; +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 org.springframework.stereotype.Service; +import java.sql.SQLException; +import java.sql.Wrapper; +import java.util.ArrayList; +import java.util.List; + /** *

* 业务管理-原始记录-计量文件关联表 服务实现类 @@ -17,4 +24,20 @@ @Service public class BusinessOriginalRecordFileRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordFileRelationService { + @Override + public boolean saveBatch(Long originId, List meterFileList) { + //先删除所有的绑定关系 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + this.baseMapper.delete(queryWrapper); + //新写入绑定关系 + List list = new ArrayList<>(); + meterFileList.forEach(meterFile -> { + BusinessOriginalRecordFileRelation businessOriginalRecordFileRelation = new BusinessOriginalRecordFileRelation(); + businessOriginalRecordFileRelation.setOriginalRecordId(originId); + businessOriginalRecordFileRelation.setFileId(meterFile.getId()); + list.add(businessOriginalRecordFileRelation); + }); + return this.saveBatch(list); + } } 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 dabc7bf..f4fad63 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 @@ -1,14 +1,36 @@ package com.casic.missiles.service.Impl.business; +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.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.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOriginalRecordMapper; import com.casic.missiles.model.business.BusinessOriginalRecord; -import com.casic.missiles.service.business.IBusinessOriginalRecordService; +import com.casic.missiles.service.business.*; +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; /** *

- * 服务实现类 + * 服务实现类 *

* * @author wangpeng @@ -17,4 +39,95 @@ @Service public class BusinessOriginalRecordServiceImpl extends ServiceImpl implements IBusinessOriginalRecordService { + + @Resource + private CustomerSampleService customerSampleService; + @Resource + private IBusinessEnvironmentRecordService businessEnvironmentRecordService; + @Resource + private IBusinessOrderService businessOrderService; + @Resource + private IBusinessOriginalRecordFileRelationService originalRecordFileRelationService; + @Resource + private IBusinessOriginalRecordEquipmentRelationService originalRecordEquipmentRelationService; + + + @Override + public Page originListPage(Page page, OriginRecordRequest request) throws Exception { + // 获取列表 + Page originalRecordPage = this.baseMapper.originListPage(page, request); + if (!CollectionUtils.isEmpty(originalRecordPage.getRecords())) { + for (BusinessOriginalRecord record : originalRecordPage.getRecords()) { + DictCodeUtils.convertDictCodeToName(record); + if (!StrUtil.isBlankIfStr(record.getSampleId())) { + record.setCustomerSampleInfo(customerSampleService.sampleDetail(record.getSampleId())); + } + } + } + return originalRecordPage; + } + + @Override + public BusinessOriginalRecord originalDetail(Long id) { + BusinessOriginalRecord businessOriginalRecord = this.baseMapper.selectById(id); + if (businessOriginalRecord != null) { + //查询样品详情 + if (businessOriginalRecord.getSampleId() != null) { + businessOriginalRecord.setCustomerSampleInfo(customerSampleService.sampleDetail(businessOriginalRecord.getSampleId())); + } + //查询环境记录单详情 + if (businessOriginalRecord.getEnvironmentId() != null) { + businessOriginalRecord.setBusinessEnvironmentRecord(businessEnvironmentRecordService.environmentDetail(businessOriginalRecord.getEnvironmentId())); + } + //查询委托单详情 + if (businessOriginalRecord.getOrderId() != null) { + businessOriginalRecord.setBusinessOrder(businessOrderService.orderDetail(businessOriginalRecord.getOrderId())); + } + } + return businessOriginalRecord; + } + + @Override + public ReturnDTO deleteOriginal(Long id) { + if (this.baseMapper.deleteById(id) > 0) + return ReturnUtil.success(); + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + @Override + public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { + return null; + } + + @Transactional + @Override + public ReturnDTO addOriginal(BusinessOriginalRecord businessOriginalRecord) { + initBusinessEnvironmentRecord(businessOriginalRecord); + if (baseMapper.insert(businessOriginalRecord) > 0) { + //加入技术文件绑定 + if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { + originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); + } + //加入所用设备绑定 + if (ObjectUtil.isNotEmpty(businessOriginalRecord.getEquipmentInfoList()) && businessOriginalRecord.getEquipmentInfoList().size() > 0) { + originalRecordEquipmentRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getEquipmentInfoList()); + } + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + @Override + public void originalExport(EnvironmentListRequest request, HttpServletResponse response) { + + } + + private void initBusinessEnvironmentRecord(BusinessOriginalRecord businessOriginalRecord) { + Long maxNo = this.baseMapper.selectMaxCode(); + String originNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.ORIGIN_PREFIX, maxNo); + AuthUser authUser = ShiroKit.getUser(); + businessOriginalRecord.setCreateUser(authUser.getId()); + businessOriginalRecord.setOriginalRecordCode(originNo); + } + } 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 9836945..d3fa36f 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 @@ -11,6 +11,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.FixedAssetRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentFixedAssetFileMapper; @@ -36,7 +37,7 @@ /** *

- * 固定资产service + * 固定资产service *

* * @author cuicheng @@ -57,6 +58,7 @@ /** * 分页查询 + * * @param page * @param request * @return @@ -67,7 +69,7 @@ // QueryWrapper wrapper = getWrapper(request); Page meterFixedAssetsPage = meterFixedAssetsMapper.listPage(page, request); // Page meterFixedAssetsPage = meterFixedAssetsMapper.selectPage(page, wrapper); - for (EquipmentFixedAssets meterFixedAssets:meterFixedAssetsPage.getRecords()) { + for (EquipmentFixedAssets meterFixedAssets : meterFixedAssetsPage.getRecords()) { // TODO 走guava本地缓存,减少跟redis的IO交互 DictCodeUtils.convertDictCodeToName(meterFixedAssets); } @@ -76,6 +78,7 @@ /** * 固定资产列表 + * * @param request * @return * @throws Exception @@ -89,7 +92,7 @@ Page meterFixedAssetsPage = meterFixedAssetsMapper.listPage(page, request); // QueryWrapper wrapper = getWrapper(request); // List meterFixedAssetsList = meterFixedAssetsMapper.selectList(wrapper); - for (EquipmentFixedAssets meterFixedAssets:meterFixedAssetsPage.getRecords()) { + for (EquipmentFixedAssets meterFixedAssets : meterFixedAssetsPage.getRecords()) { DictCodeUtils.convertDictCodeToName(meterFixedAssets); } return meterFixedAssetsPage.getRecords(); @@ -97,15 +100,16 @@ /** * 添加固定资产 + * * @param meterFixedAssets * @return */ @Override @Transactional public ReturnDTO addFixedAsset(EquipmentFixedAssets meterFixedAssets) { - if(meterFixedAssets.getCreateUser() == null){ + if (meterFixedAssets.getCreateUser() == null) { AuthUser authUser = ShiroKit.getUser(); - if(authUser != null){ + if (authUser != null) { meterFixedAssets.setCreateUser(authUser.getId()); } } @@ -124,6 +128,7 @@ /** * 批量添加固定资产 + * * @return */ @Override @@ -131,7 +136,7 @@ public ReturnDTO addFixedAssetList(List meterFixedAssetsList) throws Exception { //用于存储验证后的错误信息 Long maxNo = meterFixedAssetsMapper.selectMaxNo(); - for (EquipmentFixedAssets item:meterFixedAssetsList) { + for (EquipmentFixedAssets item : meterFixedAssetsList) { Set> validate = Validation.buildDefaultValidatorFactory().getValidator().validate(item); if (!CollectionUtils.isEmpty(validate)) { return ReturnUtil.failed(validate.iterator().next().getMessage()); @@ -155,7 +160,7 @@ wrapper.eq("is_del", 0); EquipmentFixedAssets result = meterFixedAssetsMapper.selectOne(wrapper); if (result != null) { - log.error("出厂编号:{},重复",result.getManufacturingNo()); + log.error("出厂编号:{},重复", result.getManufacturingNo()); throw new BusinessException(BusinessExceptionEnum.DUPLICATE_MANUFACTURE_NUMBER); } } @@ -163,6 +168,7 @@ /** * 更新固定资产 + * * @param meterFixedAssets * @return */ @@ -180,6 +186,7 @@ /** * 获取资产详情 + * * @param id * @return */ @@ -192,7 +199,7 @@ request.setId(id); Page meterFixedAssetsPage = meterFixedAssetsMapper.listPage(page, request); EquipmentFixedAssets meterFixedAssets = null; - if(!CollectionUtils.isEmpty(meterFixedAssetsPage.getRecords())) { + if (!CollectionUtils.isEmpty(meterFixedAssetsPage.getRecords())) { meterFixedAssets = meterFixedAssetsPage.getRecords().get(0); DictCodeUtils.convertDictCodeToName(meterFixedAssets); QueryWrapper wrapper = new QueryWrapper<>(); @@ -205,6 +212,7 @@ /** * 删除资产 + * * @param id * @return */ @@ -219,22 +227,23 @@ @Override public ReturnDTO removeStandardSupportEquipment(Long id) { - return removeTypeSign(id,"is_standard_support_equipment"); + return removeTypeSign(id, "is_standard_support_equipment"); } @Override public ReturnDTO removeCalibrationTestEquipment(Long id) { - return removeTypeSign(id,"is_calibration_test_equipment"); + return removeTypeSign(id, "is_calibration_test_equipment"); } @Override public ReturnDTO removeMeasureAccount(Long id) { - return removeTypeSign(id,"is_measure_account"); + return removeTypeSign(id, "is_measure_account"); } /** * 删除类型标记(更新字段) - * @param id 固定资产id + * + * @param id 固定资产id * @param signName 字段名 * @return 更新结果 */ @@ -242,14 +251,13 @@ private ReturnDTO removeTypeSign(Long id, String signName) { UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("id", id).set(signName, 0); - if(meterFixedAssetsMapper.update(null, updateWrapper)>0){ + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("删除失败"); } /** - * * @param meterFixedAssets */ public void batchSaveFile(EquipmentFixedAssets meterFixedAssets) { @@ -266,8 +274,23 @@ } } + + /** + * 查询equipment_fixed_asserts表资产类型为1的测量设备 + * + * @return + */ + @Override + public ReturnDTO querySelectList() { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("asset_type", MeterDictEnum.ASSET_TYPE_1); + wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE); + return ReturnUtil.success(this.baseMapper.selectList(wrapper)); + } + /** * 转换字典code + * * @param request * @return */ 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 6eeebd8..e24f67d 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 @@ -56,7 +56,7 @@ @Slf4j @Service public class MeterFileServiceImpl extends ServiceImpl implements IMeterFileService { - @Autowired + @Resource private MeterFileMapper meterFileMapper; @Resource private AbstractDictService dictService; @@ -333,6 +333,19 @@ return approvalList; } + + /*** + *查询文件为计量规程 和 已实施状态 的计量文件 + * @return + */ + @Override + public ReturnDTO querySelectList() { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("effective_status","1"); + wrapper.eq("file_type","10"); + return ReturnUtil.success(this.baseMapper.selectList(wrapper)); + } + private QueryWrapper getWrapper(FileListRequest request) { //flowable中已通过状态的业务id列表 List passedList = baseApprovalService.getPassedList(request.getFormId()); 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 4cc39cf..84b4522 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 @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; + +import java.util.List; /** *

@@ -12,5 +15,5 @@ * @since 2023-02-02 */ public interface IBusinessOriginalRecordEquipmentRelationService extends IService { - + boolean saveBatch(Long originId, List equipmentFixedAssetsList); } 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 c8f0b89..d41c6aa 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 @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.model.business.BusinessOriginalRecordFileRelation; +import com.casic.missiles.model.meter.MeterFile; + +import java.util.List; /** *

@@ -12,5 +15,6 @@ * @since 2023-02-02 */ public interface IBusinessOriginalRecordFileRelationService extends IService { + boolean saveBatch(Long originId, List meterFileList); } 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 84e358c..55cfd08 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 @@ -1,8 +1,14 @@ package com.casic.missiles.service.business; +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.model.business.BusinessOriginalRecord; +import javax.servlet.http.HttpServletResponse; + /** *

* 服务类 @@ -13,4 +19,17 @@ */ public interface IBusinessOriginalRecordService extends IService { + Page originListPage(Page page, OriginRecordRequest request) throws Exception; + + BusinessOriginalRecord originalDetail(Long id); + + ReturnDTO deleteOriginal(Long id); + + ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord); + + ReturnDTO addOriginal(BusinessOriginalRecord businessOriginalRecord); + + void originalExport(EnvironmentListRequest request, HttpServletResponse response); + + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 99e3b8f..2de64e1 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; @@ -38,6 +39,7 @@ * @since 2023-02-02 */ @RestController +@Api(tags = "环境记录单模块") @RequestMapping("/business/environmentRecord") public class BusinessEnvironmentRecordController extends ExportController { 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 e943ec4..ca7e8d2 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 @@ -1,18 +1,109 @@ package com.casic.missiles.controller.business; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.environment.EnvironmentListRequest; +import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BusinessEnvironmentRecord; +import com.casic.missiles.model.business.BusinessOriginalRecord; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.business.IBusinessOriginalRecordService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author wangpeng * @since 2023-02-02 */ @RestController +@Api(tags = "原始记录单模块") @RequestMapping("/business/originalRecord") -public class BusinessOriginalRecordController { +public class BusinessOriginalRecordController extends ExportController { + @Resource + private IBusinessOriginalRecordService businessOriginalRecordService; + + @ApiOperation("原始记录查询") + @PostMapping("/listPage") + public ReturnDTO> originalListPage(@RequestBody @Valid OriginRecordRequest request, BindingResult bindingResult) throws Exception { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOriginalRecordService.originListPage(page, request))); + } + + + @ApiOperation("原始记录详情") + @PostMapping("/detail") + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.originalDetail(idDTO.getId())); + } + + @ApiOperation("原始记录更新") + @PostMapping("/update") + public ReturnDTO updateOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOriginalRecord.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.updateOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录新增") + @PostMapping("/add") + public ReturnDTO addOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.addOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录删除") + @PostMapping("/delete") + public ReturnDTO deleteOriginal(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.deleteOriginal(idDTO.getId())); + } + + @ApiOperation("原始记录导出") + @PostMapping("/export") + public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { +// businessEnvironmentRecordService.environmentExport(request, response); + } + + @ApiOperation("获取设备") + @PostMapping("/getEquipments") + public void getEquipments() { +// businessEnvironmentRecordService.environmentExport(request, response); + } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java index c499a12..375c4b0 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.equipment; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; @@ -187,4 +188,15 @@ return iEquipmentFixedAssetsService.addFixedAssetList(resultList); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉检查设备查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return iEquipmentFixedAssetsService.querySelectList(); + } + } 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 9e8b89e..cf5f125 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 @@ -216,4 +216,15 @@ return meterFileService.failUpdate(meterFile); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉所依据的技术文件查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return meterFileService.querySelectList(); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java index 5253767..7bb2954 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java @@ -32,5 +32,11 @@ String STANDARD_APPLY_TYPE = "standardApplyType"; //房间号 String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 5057d08..6b109a2 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -9,6 +9,7 @@ //环境记录单编号生成前缀 String ENVIRONMENT_PREFIX = "hjld"; - + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; } 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 752e2e8..56f6602 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 @@ -1,16 +1,24 @@ package com.casic.missiles.mapper.business; 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.model.business.BusinessOriginalRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; /** *

- * Mapper 接口 + * Mapper 接口 *

* * @author wangpeng * @since 2023-02-02 */ public interface BusinessOriginalRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(original_record_code, 12)), 0) from business_original_record") + Long selectMaxCode(); + + Page originListPage(Page page, @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 cccc6a0..879a43f 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml @@ -4,27 +4,60 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - id, original_record_code, original_record_name, calibration_category, calibration_time, environment_id, calibration_place, order_id, sample_id, template_id, original_record_file, remark, is_del, create_user, create_time, update_time + id + , original_record_code, original_record_name, calibration_category, calibration_time, environment_id, calibration_place, order_id, sample_id, template_id, original_record_file, remark, is_del, create_user, create_time, update_time + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java index d858b3a..7148dc6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java @@ -7,6 +7,7 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -65,5 +66,8 @@ @ExcelProperty(value = "记录时间",order = 7) private String recordTime; + @TableField("is_del") + private Boolean isDel; + } 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 new file mode 100644 index 0000000..93ada55 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java @@ -0,0 +1,31 @@ +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-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java index 18e50a8..c918e35 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java @@ -3,13 +3,19 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.model.customer.CustomerSampleInfo; +import com.casic.missiles.model.equipment.EquipmentApplyFile; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.meter.MeterFile; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; +import java.util.List; /** *

- * + * *

* * @author wangpeng @@ -28,66 +34,77 @@ * 原始记录编号 */ @TableField("original_record_code") + @ApiModelProperty(value = "原始记录编号", dataType = "String") private String originalRecordCode; /** * 原始记录名称 */ @TableField("original_record_name") + @ApiModelProperty(value = "原始记录名称", dataType = "String") private String originalRecordName; /** * 检校类别(字典code) */ @TableField("calibration_category") + @ApiModelProperty(value = "检校类别", dataType = "String") private String calibrationCategory; /** * 检校时间 */ @TableField("calibration_time") + @ApiModelProperty(value = "检校时间", dataType = "String") private String calibrationTime; /** * 环境记录单id */ @TableField("environment_id") + @ApiModelProperty(value = "环境记录单id", dataType = "Long") private Long environmentId; /** * 检校地点 */ @TableField("calibration_place") + @ApiModelProperty(value = "检校地点", dataType = "String") private String calibrationPlace; /** * 委托书id */ @TableField("order_id") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long orderId; /** * 样品id */ @TableField("sample_id") + @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; /** * 原始记录模板id */ @TableField("template_id") + @ApiModelProperty(value = "原始记录模板id", dataType = "Long") private Long templateId; /** * 原始记录附件(minio存储文件名) */ @TableField("original_record_file") + @ApiModelProperty(value = "原始记录附件", dataType = "String") private String originalRecordFile; /** * 备注 */ @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String") private String remark; @TableField("is_del") @@ -102,5 +119,32 @@ @TableField("update_time") private String updateTime; + /** + * 委托单信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "委托单信息", dataType = "Object") + private BusinessOrder businessOrder; + /** + * 环境记录单信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "环境记录单信息", dataType = "Object") + private BusinessEnvironmentRecord businessEnvironmentRecord; + /** + * 样品信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "样品信息", dataType = "Object") + private CustomerSampleInfo customerSampleInfo; + @TableField(exist = false) + @ApiModelProperty(value = "监测设备", dataType = "List") + private List equipmentInfoList; + /** + * 技术文件 + */ + @TableField(exist = false) + @ApiModelProperty(value = "技术文件", dataType = "List") + private List fileList; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index b7ff5dd..14c9f22 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -14,6 +14,7 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; @@ -121,6 +122,7 @@ "{0} <= DATE_FORMAT(record_time,'%Y-%m-%d %H:%i:%s')", request.getStartTime()); wrapper.apply(StringUtils.isNotBlank(request.getEndTime()), "{0} >= DATE_FORMAT(record_time,'%Y-%m-%d %H:%i:%s')", request.getEndTime()); + wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE); return wrapper; } 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 43cfa23..3b81119 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 @@ -1,11 +1,16 @@ package com.casic.missiles.service.Impl.business; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.mapper.business.BusinessOriginalRecordEquipmentRelationMapper; import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessOriginalRecordEquipmentRelationService; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; + /** *

* 业务管理-原始记录-标准装置关联表 服务实现类 @@ -17,4 +22,19 @@ @Service public class BusinessOriginalRecordEquipmentRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordEquipmentRelationService { + @Override + public boolean saveBatch(Long originId, List equipmentFixedAssetsList) { + //删除绑定关系 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + this.baseMapper.delete(queryWrapper); + //重新绑定 + List list = new ArrayList<>(); + equipmentFixedAssetsList.forEach(equipmentFixedAssets -> { + BusinessOriginalRecordEquipmentRelation obj = new BusinessOriginalRecordEquipmentRelation(); + obj.setEquipmentId(equipmentFixedAssets.getId()); + obj.setOriginalRecordId(originId); + }); + return this.saveBatch(list); + } } 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 2d719fa..cd44d97 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,11 +1,18 @@ package com.casic.missiles.service.Impl.business; +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 org.springframework.stereotype.Service; +import java.sql.SQLException; +import java.sql.Wrapper; +import java.util.ArrayList; +import java.util.List; + /** *

* 业务管理-原始记录-计量文件关联表 服务实现类 @@ -17,4 +24,20 @@ @Service public class BusinessOriginalRecordFileRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordFileRelationService { + @Override + public boolean saveBatch(Long originId, List meterFileList) { + //先删除所有的绑定关系 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + this.baseMapper.delete(queryWrapper); + //新写入绑定关系 + List list = new ArrayList<>(); + meterFileList.forEach(meterFile -> { + BusinessOriginalRecordFileRelation businessOriginalRecordFileRelation = new BusinessOriginalRecordFileRelation(); + businessOriginalRecordFileRelation.setOriginalRecordId(originId); + businessOriginalRecordFileRelation.setFileId(meterFile.getId()); + list.add(businessOriginalRecordFileRelation); + }); + return this.saveBatch(list); + } } 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 dabc7bf..f4fad63 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 @@ -1,14 +1,36 @@ package com.casic.missiles.service.Impl.business; +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.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.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOriginalRecordMapper; import com.casic.missiles.model.business.BusinessOriginalRecord; -import com.casic.missiles.service.business.IBusinessOriginalRecordService; +import com.casic.missiles.service.business.*; +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; /** *

- * 服务实现类 + * 服务实现类 *

* * @author wangpeng @@ -17,4 +39,95 @@ @Service public class BusinessOriginalRecordServiceImpl extends ServiceImpl implements IBusinessOriginalRecordService { + + @Resource + private CustomerSampleService customerSampleService; + @Resource + private IBusinessEnvironmentRecordService businessEnvironmentRecordService; + @Resource + private IBusinessOrderService businessOrderService; + @Resource + private IBusinessOriginalRecordFileRelationService originalRecordFileRelationService; + @Resource + private IBusinessOriginalRecordEquipmentRelationService originalRecordEquipmentRelationService; + + + @Override + public Page originListPage(Page page, OriginRecordRequest request) throws Exception { + // 获取列表 + Page originalRecordPage = this.baseMapper.originListPage(page, request); + if (!CollectionUtils.isEmpty(originalRecordPage.getRecords())) { + for (BusinessOriginalRecord record : originalRecordPage.getRecords()) { + DictCodeUtils.convertDictCodeToName(record); + if (!StrUtil.isBlankIfStr(record.getSampleId())) { + record.setCustomerSampleInfo(customerSampleService.sampleDetail(record.getSampleId())); + } + } + } + return originalRecordPage; + } + + @Override + public BusinessOriginalRecord originalDetail(Long id) { + BusinessOriginalRecord businessOriginalRecord = this.baseMapper.selectById(id); + if (businessOriginalRecord != null) { + //查询样品详情 + if (businessOriginalRecord.getSampleId() != null) { + businessOriginalRecord.setCustomerSampleInfo(customerSampleService.sampleDetail(businessOriginalRecord.getSampleId())); + } + //查询环境记录单详情 + if (businessOriginalRecord.getEnvironmentId() != null) { + businessOriginalRecord.setBusinessEnvironmentRecord(businessEnvironmentRecordService.environmentDetail(businessOriginalRecord.getEnvironmentId())); + } + //查询委托单详情 + if (businessOriginalRecord.getOrderId() != null) { + businessOriginalRecord.setBusinessOrder(businessOrderService.orderDetail(businessOriginalRecord.getOrderId())); + } + } + return businessOriginalRecord; + } + + @Override + public ReturnDTO deleteOriginal(Long id) { + if (this.baseMapper.deleteById(id) > 0) + return ReturnUtil.success(); + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + @Override + public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { + return null; + } + + @Transactional + @Override + public ReturnDTO addOriginal(BusinessOriginalRecord businessOriginalRecord) { + initBusinessEnvironmentRecord(businessOriginalRecord); + if (baseMapper.insert(businessOriginalRecord) > 0) { + //加入技术文件绑定 + if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { + originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); + } + //加入所用设备绑定 + if (ObjectUtil.isNotEmpty(businessOriginalRecord.getEquipmentInfoList()) && businessOriginalRecord.getEquipmentInfoList().size() > 0) { + originalRecordEquipmentRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getEquipmentInfoList()); + } + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + @Override + public void originalExport(EnvironmentListRequest request, HttpServletResponse response) { + + } + + private void initBusinessEnvironmentRecord(BusinessOriginalRecord businessOriginalRecord) { + Long maxNo = this.baseMapper.selectMaxCode(); + String originNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.ORIGIN_PREFIX, maxNo); + AuthUser authUser = ShiroKit.getUser(); + businessOriginalRecord.setCreateUser(authUser.getId()); + businessOriginalRecord.setOriginalRecordCode(originNo); + } + } 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 9836945..d3fa36f 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 @@ -11,6 +11,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.FixedAssetRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentFixedAssetFileMapper; @@ -36,7 +37,7 @@ /** *

- * 固定资产service + * 固定资产service *

* * @author cuicheng @@ -57,6 +58,7 @@ /** * 分页查询 + * * @param page * @param request * @return @@ -67,7 +69,7 @@ // QueryWrapper wrapper = getWrapper(request); Page meterFixedAssetsPage = meterFixedAssetsMapper.listPage(page, request); // Page meterFixedAssetsPage = meterFixedAssetsMapper.selectPage(page, wrapper); - for (EquipmentFixedAssets meterFixedAssets:meterFixedAssetsPage.getRecords()) { + for (EquipmentFixedAssets meterFixedAssets : meterFixedAssetsPage.getRecords()) { // TODO 走guava本地缓存,减少跟redis的IO交互 DictCodeUtils.convertDictCodeToName(meterFixedAssets); } @@ -76,6 +78,7 @@ /** * 固定资产列表 + * * @param request * @return * @throws Exception @@ -89,7 +92,7 @@ Page meterFixedAssetsPage = meterFixedAssetsMapper.listPage(page, request); // QueryWrapper wrapper = getWrapper(request); // List meterFixedAssetsList = meterFixedAssetsMapper.selectList(wrapper); - for (EquipmentFixedAssets meterFixedAssets:meterFixedAssetsPage.getRecords()) { + for (EquipmentFixedAssets meterFixedAssets : meterFixedAssetsPage.getRecords()) { DictCodeUtils.convertDictCodeToName(meterFixedAssets); } return meterFixedAssetsPage.getRecords(); @@ -97,15 +100,16 @@ /** * 添加固定资产 + * * @param meterFixedAssets * @return */ @Override @Transactional public ReturnDTO addFixedAsset(EquipmentFixedAssets meterFixedAssets) { - if(meterFixedAssets.getCreateUser() == null){ + if (meterFixedAssets.getCreateUser() == null) { AuthUser authUser = ShiroKit.getUser(); - if(authUser != null){ + if (authUser != null) { meterFixedAssets.setCreateUser(authUser.getId()); } } @@ -124,6 +128,7 @@ /** * 批量添加固定资产 + * * @return */ @Override @@ -131,7 +136,7 @@ public ReturnDTO addFixedAssetList(List meterFixedAssetsList) throws Exception { //用于存储验证后的错误信息 Long maxNo = meterFixedAssetsMapper.selectMaxNo(); - for (EquipmentFixedAssets item:meterFixedAssetsList) { + for (EquipmentFixedAssets item : meterFixedAssetsList) { Set> validate = Validation.buildDefaultValidatorFactory().getValidator().validate(item); if (!CollectionUtils.isEmpty(validate)) { return ReturnUtil.failed(validate.iterator().next().getMessage()); @@ -155,7 +160,7 @@ wrapper.eq("is_del", 0); EquipmentFixedAssets result = meterFixedAssetsMapper.selectOne(wrapper); if (result != null) { - log.error("出厂编号:{},重复",result.getManufacturingNo()); + log.error("出厂编号:{},重复", result.getManufacturingNo()); throw new BusinessException(BusinessExceptionEnum.DUPLICATE_MANUFACTURE_NUMBER); } } @@ -163,6 +168,7 @@ /** * 更新固定资产 + * * @param meterFixedAssets * @return */ @@ -180,6 +186,7 @@ /** * 获取资产详情 + * * @param id * @return */ @@ -192,7 +199,7 @@ request.setId(id); Page meterFixedAssetsPage = meterFixedAssetsMapper.listPage(page, request); EquipmentFixedAssets meterFixedAssets = null; - if(!CollectionUtils.isEmpty(meterFixedAssetsPage.getRecords())) { + if (!CollectionUtils.isEmpty(meterFixedAssetsPage.getRecords())) { meterFixedAssets = meterFixedAssetsPage.getRecords().get(0); DictCodeUtils.convertDictCodeToName(meterFixedAssets); QueryWrapper wrapper = new QueryWrapper<>(); @@ -205,6 +212,7 @@ /** * 删除资产 + * * @param id * @return */ @@ -219,22 +227,23 @@ @Override public ReturnDTO removeStandardSupportEquipment(Long id) { - return removeTypeSign(id,"is_standard_support_equipment"); + return removeTypeSign(id, "is_standard_support_equipment"); } @Override public ReturnDTO removeCalibrationTestEquipment(Long id) { - return removeTypeSign(id,"is_calibration_test_equipment"); + return removeTypeSign(id, "is_calibration_test_equipment"); } @Override public ReturnDTO removeMeasureAccount(Long id) { - return removeTypeSign(id,"is_measure_account"); + return removeTypeSign(id, "is_measure_account"); } /** * 删除类型标记(更新字段) - * @param id 固定资产id + * + * @param id 固定资产id * @param signName 字段名 * @return 更新结果 */ @@ -242,14 +251,13 @@ private ReturnDTO removeTypeSign(Long id, String signName) { UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("id", id).set(signName, 0); - if(meterFixedAssetsMapper.update(null, updateWrapper)>0){ + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("删除失败"); } /** - * * @param meterFixedAssets */ public void batchSaveFile(EquipmentFixedAssets meterFixedAssets) { @@ -266,8 +274,23 @@ } } + + /** + * 查询equipment_fixed_asserts表资产类型为1的测量设备 + * + * @return + */ + @Override + public ReturnDTO querySelectList() { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("asset_type", MeterDictEnum.ASSET_TYPE_1); + wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE); + return ReturnUtil.success(this.baseMapper.selectList(wrapper)); + } + /** * 转换字典code + * * @param request * @return */ 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 6eeebd8..e24f67d 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 @@ -56,7 +56,7 @@ @Slf4j @Service public class MeterFileServiceImpl extends ServiceImpl implements IMeterFileService { - @Autowired + @Resource private MeterFileMapper meterFileMapper; @Resource private AbstractDictService dictService; @@ -333,6 +333,19 @@ return approvalList; } + + /*** + *查询文件为计量规程 和 已实施状态 的计量文件 + * @return + */ + @Override + public ReturnDTO querySelectList() { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("effective_status","1"); + wrapper.eq("file_type","10"); + return ReturnUtil.success(this.baseMapper.selectList(wrapper)); + } + private QueryWrapper getWrapper(FileListRequest request) { //flowable中已通过状态的业务id列表 List passedList = baseApprovalService.getPassedList(request.getFormId()); 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 4cc39cf..84b4522 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 @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; + +import java.util.List; /** *

@@ -12,5 +15,5 @@ * @since 2023-02-02 */ public interface IBusinessOriginalRecordEquipmentRelationService extends IService { - + boolean saveBatch(Long originId, List equipmentFixedAssetsList); } 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 c8f0b89..d41c6aa 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 @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.model.business.BusinessOriginalRecordFileRelation; +import com.casic.missiles.model.meter.MeterFile; + +import java.util.List; /** *

@@ -12,5 +15,6 @@ * @since 2023-02-02 */ public interface IBusinessOriginalRecordFileRelationService extends IService { + boolean saveBatch(Long originId, List meterFileList); } 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 84e358c..55cfd08 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 @@ -1,8 +1,14 @@ package com.casic.missiles.service.business; +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.model.business.BusinessOriginalRecord; +import javax.servlet.http.HttpServletResponse; + /** *

* 服务类 @@ -13,4 +19,17 @@ */ public interface IBusinessOriginalRecordService extends IService { + Page originListPage(Page page, OriginRecordRequest request) throws Exception; + + BusinessOriginalRecord originalDetail(Long id); + + ReturnDTO deleteOriginal(Long id); + + ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord); + + ReturnDTO addOriginal(BusinessOriginalRecord businessOriginalRecord); + + void originalExport(EnvironmentListRequest 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 ecf6534..f10f4c8 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 @@ -31,6 +31,8 @@ ReturnDTO updateFixedAsset(EquipmentFixedAssets meterFixedAssets); + ReturnDTO querySelectList(); + List list(FixedAssetRequest request) throws Exception; ReturnDTO addFixedAssetList(List meterFixedAssetsList) throws Exception; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 99e3b8f..2de64e1 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -17,6 +17,7 @@ import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; @@ -38,6 +39,7 @@ * @since 2023-02-02 */ @RestController +@Api(tags = "环境记录单模块") @RequestMapping("/business/environmentRecord") public class BusinessEnvironmentRecordController extends ExportController { 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 e943ec4..ca7e8d2 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 @@ -1,18 +1,109 @@ package com.casic.missiles.controller.business; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.environment.EnvironmentListRequest; +import com.casic.missiles.dto.business.originRercord.OriginRecordRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BusinessEnvironmentRecord; +import com.casic.missiles.model.business.BusinessOriginalRecord; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.business.IBusinessOriginalRecordService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author wangpeng * @since 2023-02-02 */ @RestController +@Api(tags = "原始记录单模块") @RequestMapping("/business/originalRecord") -public class BusinessOriginalRecordController { +public class BusinessOriginalRecordController extends ExportController { + @Resource + private IBusinessOriginalRecordService businessOriginalRecordService; + + @ApiOperation("原始记录查询") + @PostMapping("/listPage") + public ReturnDTO> originalListPage(@RequestBody @Valid OriginRecordRequest request, BindingResult bindingResult) throws Exception { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(businessOriginalRecordService.originListPage(page, request))); + } + + + @ApiOperation("原始记录详情") + @PostMapping("/detail") + public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.originalDetail(idDTO.getId())); + } + + @ApiOperation("原始记录更新") + @PostMapping("/update") + public ReturnDTO updateOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(Objects.isNull(businessOriginalRecord.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.updateOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录新增") + @PostMapping("/add") + public ReturnDTO addOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + }); + return ReturnUtil.success(businessOriginalRecordService.addOriginal(businessOriginalRecord)); + } + + @ApiOperation("原始记录删除") + @PostMapping("/delete") + public ReturnDTO deleteOriginal(@RequestBody @Valid IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(businessOriginalRecordService.deleteOriginal(idDTO.getId())); + } + + @ApiOperation("原始记录导出") + @PostMapping("/export") + public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) { +// businessEnvironmentRecordService.environmentExport(request, response); + } + + @ApiOperation("获取设备") + @PostMapping("/getEquipments") + public void getEquipments() { +// businessEnvironmentRecordService.environmentExport(request, response); + } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java index c499a12..375c4b0 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentFixedAssetsController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.equipment; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; @@ -187,4 +188,15 @@ return iEquipmentFixedAssetsService.addFixedAssetList(resultList); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉检查设备查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return iEquipmentFixedAssetsService.querySelectList(); + } + } 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 9e8b89e..cf5f125 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 @@ -216,4 +216,15 @@ return meterFileService.failUpdate(meterFile); } + + /** + * 用于选择下拉检查设备查询 + */ + @ApiOperation("用于选择下拉所依据的技术文件查询") + @PostMapping("/querySelectList") + @ResponseBody + public ReturnDTO querySelectList() { + return meterFileService.querySelectList(); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java index 5253767..7bb2954 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java @@ -32,5 +32,11 @@ String STANDARD_APPLY_TYPE = "standardApplyType"; //房间号 String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 5057d08..6b109a2 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -9,6 +9,7 @@ //环境记录单编号生成前缀 String ENVIRONMENT_PREFIX = "hjld"; - + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; } 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 752e2e8..56f6602 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 @@ -1,16 +1,24 @@ package com.casic.missiles.mapper.business; 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.model.business.BusinessOriginalRecord; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; /** *

- * Mapper 接口 + * Mapper 接口 *

* * @author wangpeng * @since 2023-02-02 */ public interface BusinessOriginalRecordMapper extends BaseMapper { + @Select("SELECT IFNULL(max(RIGHT(original_record_code, 12)), 0) from business_original_record") + Long selectMaxCode(); + + Page originListPage(Page page, @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 cccc6a0..879a43f 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml @@ -4,27 +4,60 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - id, original_record_code, original_record_name, calibration_category, calibration_time, environment_id, calibration_place, order_id, sample_id, template_id, original_record_file, remark, is_del, create_user, create_time, update_time + id + , original_record_code, original_record_name, calibration_category, calibration_time, environment_id, calibration_place, order_id, sample_id, template_id, original_record_file, remark, is_del, create_user, create_time, update_time + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java index d858b3a..7148dc6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListResponse.java @@ -7,6 +7,7 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -65,5 +66,8 @@ @ExcelProperty(value = "记录时间",order = 7) private String recordTime; + @TableField("is_del") + private Boolean isDel; + } 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 new file mode 100644 index 0000000..93ada55 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java @@ -0,0 +1,31 @@ +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-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java index 18e50a8..c918e35 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java @@ -3,13 +3,19 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.model.customer.CustomerSampleInfo; +import com.casic.missiles.model.equipment.EquipmentApplyFile; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.meter.MeterFile; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; +import java.util.List; /** *

- * + * *

* * @author wangpeng @@ -28,66 +34,77 @@ * 原始记录编号 */ @TableField("original_record_code") + @ApiModelProperty(value = "原始记录编号", dataType = "String") private String originalRecordCode; /** * 原始记录名称 */ @TableField("original_record_name") + @ApiModelProperty(value = "原始记录名称", dataType = "String") private String originalRecordName; /** * 检校类别(字典code) */ @TableField("calibration_category") + @ApiModelProperty(value = "检校类别", dataType = "String") private String calibrationCategory; /** * 检校时间 */ @TableField("calibration_time") + @ApiModelProperty(value = "检校时间", dataType = "String") private String calibrationTime; /** * 环境记录单id */ @TableField("environment_id") + @ApiModelProperty(value = "环境记录单id", dataType = "Long") private Long environmentId; /** * 检校地点 */ @TableField("calibration_place") + @ApiModelProperty(value = "检校地点", dataType = "String") private String calibrationPlace; /** * 委托书id */ @TableField("order_id") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long orderId; /** * 样品id */ @TableField("sample_id") + @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; /** * 原始记录模板id */ @TableField("template_id") + @ApiModelProperty(value = "原始记录模板id", dataType = "Long") private Long templateId; /** * 原始记录附件(minio存储文件名) */ @TableField("original_record_file") + @ApiModelProperty(value = "原始记录附件", dataType = "String") private String originalRecordFile; /** * 备注 */ @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String") private String remark; @TableField("is_del") @@ -102,5 +119,32 @@ @TableField("update_time") private String updateTime; + /** + * 委托单信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "委托单信息", dataType = "Object") + private BusinessOrder businessOrder; + /** + * 环境记录单信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "环境记录单信息", dataType = "Object") + private BusinessEnvironmentRecord businessEnvironmentRecord; + /** + * 样品信息 + */ + @TableField(exist = false) + @ApiModelProperty(value = "样品信息", dataType = "Object") + private CustomerSampleInfo customerSampleInfo; + @TableField(exist = false) + @ApiModelProperty(value = "监测设备", dataType = "List") + private List equipmentInfoList; + /** + * 技术文件 + */ + @TableField(exist = false) + @ApiModelProperty(value = "技术文件", dataType = "List") + private List fileList; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index b7ff5dd..14c9f22 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -14,6 +14,7 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; @@ -121,6 +122,7 @@ "{0} <= DATE_FORMAT(record_time,'%Y-%m-%d %H:%i:%s')", request.getStartTime()); wrapper.apply(StringUtils.isNotBlank(request.getEndTime()), "{0} >= DATE_FORMAT(record_time,'%Y-%m-%d %H:%i:%s')", request.getEndTime()); + wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE); return wrapper; } 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 43cfa23..3b81119 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 @@ -1,11 +1,16 @@ package com.casic.missiles.service.Impl.business; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.mapper.business.BusinessOriginalRecordEquipmentRelationMapper; import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessOriginalRecordEquipmentRelationService; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; + /** *

* 业务管理-原始记录-标准装置关联表 服务实现类 @@ -17,4 +22,19 @@ @Service public class BusinessOriginalRecordEquipmentRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordEquipmentRelationService { + @Override + public boolean saveBatch(Long originId, List equipmentFixedAssetsList) { + //删除绑定关系 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + this.baseMapper.delete(queryWrapper); + //重新绑定 + List list = new ArrayList<>(); + equipmentFixedAssetsList.forEach(equipmentFixedAssets -> { + BusinessOriginalRecordEquipmentRelation obj = new BusinessOriginalRecordEquipmentRelation(); + obj.setEquipmentId(equipmentFixedAssets.getId()); + obj.setOriginalRecordId(originId); + }); + return this.saveBatch(list); + } } 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 2d719fa..cd44d97 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,11 +1,18 @@ package com.casic.missiles.service.Impl.business; +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 org.springframework.stereotype.Service; +import java.sql.SQLException; +import java.sql.Wrapper; +import java.util.ArrayList; +import java.util.List; + /** *

* 业务管理-原始记录-计量文件关联表 服务实现类 @@ -17,4 +24,20 @@ @Service public class BusinessOriginalRecordFileRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordFileRelationService { + @Override + public boolean saveBatch(Long originId, List meterFileList) { + //先删除所有的绑定关系 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("original_record_id", originId); + this.baseMapper.delete(queryWrapper); + //新写入绑定关系 + List list = new ArrayList<>(); + meterFileList.forEach(meterFile -> { + BusinessOriginalRecordFileRelation businessOriginalRecordFileRelation = new BusinessOriginalRecordFileRelation(); + businessOriginalRecordFileRelation.setOriginalRecordId(originId); + businessOriginalRecordFileRelation.setFileId(meterFile.getId()); + list.add(businessOriginalRecordFileRelation); + }); + return this.saveBatch(list); + } } 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 dabc7bf..f4fad63 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 @@ -1,14 +1,36 @@ package com.casic.missiles.service.Impl.business; +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.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.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOriginalRecordMapper; import com.casic.missiles.model.business.BusinessOriginalRecord; -import com.casic.missiles.service.business.IBusinessOriginalRecordService; +import com.casic.missiles.service.business.*; +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; /** *

- * 服务实现类 + * 服务实现类 *

* * @author wangpeng @@ -17,4 +39,95 @@ @Service public class BusinessOriginalRecordServiceImpl extends ServiceImpl implements IBusinessOriginalRecordService { + + @Resource + private CustomerSampleService customerSampleService; + @Resource + private IBusinessEnvironmentRecordService businessEnvironmentRecordService; + @Resource + private IBusinessOrderService businessOrderService; + @Resource + private IBusinessOriginalRecordFileRelationService originalRecordFileRelationService; + @Resource + private IBusinessOriginalRecordEquipmentRelationService originalRecordEquipmentRelationService; + + + @Override + public Page originListPage(Page page, OriginRecordRequest request) throws Exception { + // 获取列表 + Page originalRecordPage = this.baseMapper.originListPage(page, request); + if (!CollectionUtils.isEmpty(originalRecordPage.getRecords())) { + for (BusinessOriginalRecord record : originalRecordPage.getRecords()) { + DictCodeUtils.convertDictCodeToName(record); + if (!StrUtil.isBlankIfStr(record.getSampleId())) { + record.setCustomerSampleInfo(customerSampleService.sampleDetail(record.getSampleId())); + } + } + } + return originalRecordPage; + } + + @Override + public BusinessOriginalRecord originalDetail(Long id) { + BusinessOriginalRecord businessOriginalRecord = this.baseMapper.selectById(id); + if (businessOriginalRecord != null) { + //查询样品详情 + if (businessOriginalRecord.getSampleId() != null) { + businessOriginalRecord.setCustomerSampleInfo(customerSampleService.sampleDetail(businessOriginalRecord.getSampleId())); + } + //查询环境记录单详情 + if (businessOriginalRecord.getEnvironmentId() != null) { + businessOriginalRecord.setBusinessEnvironmentRecord(businessEnvironmentRecordService.environmentDetail(businessOriginalRecord.getEnvironmentId())); + } + //查询委托单详情 + if (businessOriginalRecord.getOrderId() != null) { + businessOriginalRecord.setBusinessOrder(businessOrderService.orderDetail(businessOriginalRecord.getOrderId())); + } + } + return businessOriginalRecord; + } + + @Override + public ReturnDTO deleteOriginal(Long id) { + if (this.baseMapper.deleteById(id) > 0) + return ReturnUtil.success(); + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + @Override + public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { + return null; + } + + @Transactional + @Override + public ReturnDTO addOriginal(BusinessOriginalRecord businessOriginalRecord) { + initBusinessEnvironmentRecord(businessOriginalRecord); + if (baseMapper.insert(businessOriginalRecord) > 0) { + //加入技术文件绑定 + if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { + originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); + } + //加入所用设备绑定 + if (ObjectUtil.isNotEmpty(businessOriginalRecord.getEquipmentInfoList()) && businessOriginalRecord.getEquipmentInfoList().size() > 0) { + originalRecordEquipmentRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getEquipmentInfoList()); + } + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + @Override + public void originalExport(EnvironmentListRequest request, HttpServletResponse response) { + + } + + private void initBusinessEnvironmentRecord(BusinessOriginalRecord businessOriginalRecord) { + Long maxNo = this.baseMapper.selectMaxCode(); + String originNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.ORIGIN_PREFIX, maxNo); + AuthUser authUser = ShiroKit.getUser(); + businessOriginalRecord.setCreateUser(authUser.getId()); + businessOriginalRecord.setOriginalRecordCode(originNo); + } + } 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 9836945..d3fa36f 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 @@ -11,6 +11,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.FixedAssetRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentFixedAssetFileMapper; @@ -36,7 +37,7 @@ /** *

- * 固定资产service + * 固定资产service *

* * @author cuicheng @@ -57,6 +58,7 @@ /** * 分页查询 + * * @param page * @param request * @return @@ -67,7 +69,7 @@ // QueryWrapper wrapper = getWrapper(request); Page meterFixedAssetsPage = meterFixedAssetsMapper.listPage(page, request); // Page meterFixedAssetsPage = meterFixedAssetsMapper.selectPage(page, wrapper); - for (EquipmentFixedAssets meterFixedAssets:meterFixedAssetsPage.getRecords()) { + for (EquipmentFixedAssets meterFixedAssets : meterFixedAssetsPage.getRecords()) { // TODO 走guava本地缓存,减少跟redis的IO交互 DictCodeUtils.convertDictCodeToName(meterFixedAssets); } @@ -76,6 +78,7 @@ /** * 固定资产列表 + * * @param request * @return * @throws Exception @@ -89,7 +92,7 @@ Page meterFixedAssetsPage = meterFixedAssetsMapper.listPage(page, request); // QueryWrapper wrapper = getWrapper(request); // List meterFixedAssetsList = meterFixedAssetsMapper.selectList(wrapper); - for (EquipmentFixedAssets meterFixedAssets:meterFixedAssetsPage.getRecords()) { + for (EquipmentFixedAssets meterFixedAssets : meterFixedAssetsPage.getRecords()) { DictCodeUtils.convertDictCodeToName(meterFixedAssets); } return meterFixedAssetsPage.getRecords(); @@ -97,15 +100,16 @@ /** * 添加固定资产 + * * @param meterFixedAssets * @return */ @Override @Transactional public ReturnDTO addFixedAsset(EquipmentFixedAssets meterFixedAssets) { - if(meterFixedAssets.getCreateUser() == null){ + if (meterFixedAssets.getCreateUser() == null) { AuthUser authUser = ShiroKit.getUser(); - if(authUser != null){ + if (authUser != null) { meterFixedAssets.setCreateUser(authUser.getId()); } } @@ -124,6 +128,7 @@ /** * 批量添加固定资产 + * * @return */ @Override @@ -131,7 +136,7 @@ public ReturnDTO addFixedAssetList(List meterFixedAssetsList) throws Exception { //用于存储验证后的错误信息 Long maxNo = meterFixedAssetsMapper.selectMaxNo(); - for (EquipmentFixedAssets item:meterFixedAssetsList) { + for (EquipmentFixedAssets item : meterFixedAssetsList) { Set> validate = Validation.buildDefaultValidatorFactory().getValidator().validate(item); if (!CollectionUtils.isEmpty(validate)) { return ReturnUtil.failed(validate.iterator().next().getMessage()); @@ -155,7 +160,7 @@ wrapper.eq("is_del", 0); EquipmentFixedAssets result = meterFixedAssetsMapper.selectOne(wrapper); if (result != null) { - log.error("出厂编号:{},重复",result.getManufacturingNo()); + log.error("出厂编号:{},重复", result.getManufacturingNo()); throw new BusinessException(BusinessExceptionEnum.DUPLICATE_MANUFACTURE_NUMBER); } } @@ -163,6 +168,7 @@ /** * 更新固定资产 + * * @param meterFixedAssets * @return */ @@ -180,6 +186,7 @@ /** * 获取资产详情 + * * @param id * @return */ @@ -192,7 +199,7 @@ request.setId(id); Page meterFixedAssetsPage = meterFixedAssetsMapper.listPage(page, request); EquipmentFixedAssets meterFixedAssets = null; - if(!CollectionUtils.isEmpty(meterFixedAssetsPage.getRecords())) { + if (!CollectionUtils.isEmpty(meterFixedAssetsPage.getRecords())) { meterFixedAssets = meterFixedAssetsPage.getRecords().get(0); DictCodeUtils.convertDictCodeToName(meterFixedAssets); QueryWrapper wrapper = new QueryWrapper<>(); @@ -205,6 +212,7 @@ /** * 删除资产 + * * @param id * @return */ @@ -219,22 +227,23 @@ @Override public ReturnDTO removeStandardSupportEquipment(Long id) { - return removeTypeSign(id,"is_standard_support_equipment"); + return removeTypeSign(id, "is_standard_support_equipment"); } @Override public ReturnDTO removeCalibrationTestEquipment(Long id) { - return removeTypeSign(id,"is_calibration_test_equipment"); + return removeTypeSign(id, "is_calibration_test_equipment"); } @Override public ReturnDTO removeMeasureAccount(Long id) { - return removeTypeSign(id,"is_measure_account"); + return removeTypeSign(id, "is_measure_account"); } /** * 删除类型标记(更新字段) - * @param id 固定资产id + * + * @param id 固定资产id * @param signName 字段名 * @return 更新结果 */ @@ -242,14 +251,13 @@ private ReturnDTO removeTypeSign(Long id, String signName) { UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("id", id).set(signName, 0); - if(meterFixedAssetsMapper.update(null, updateWrapper)>0){ + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("删除失败"); } /** - * * @param meterFixedAssets */ public void batchSaveFile(EquipmentFixedAssets meterFixedAssets) { @@ -266,8 +274,23 @@ } } + + /** + * 查询equipment_fixed_asserts表资产类型为1的测量设备 + * + * @return + */ + @Override + public ReturnDTO querySelectList() { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("asset_type", MeterDictEnum.ASSET_TYPE_1); + wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE); + return ReturnUtil.success(this.baseMapper.selectList(wrapper)); + } + /** * 转换字典code + * * @param request * @return */ 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 6eeebd8..e24f67d 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 @@ -56,7 +56,7 @@ @Slf4j @Service public class MeterFileServiceImpl extends ServiceImpl implements IMeterFileService { - @Autowired + @Resource private MeterFileMapper meterFileMapper; @Resource private AbstractDictService dictService; @@ -333,6 +333,19 @@ return approvalList; } + + /*** + *查询文件为计量规程 和 已实施状态 的计量文件 + * @return + */ + @Override + public ReturnDTO querySelectList() { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("effective_status","1"); + wrapper.eq("file_type","10"); + return ReturnUtil.success(this.baseMapper.selectList(wrapper)); + } + private QueryWrapper getWrapper(FileListRequest request) { //flowable中已通过状态的业务id列表 List passedList = baseApprovalService.getPassedList(request.getFormId()); 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 4cc39cf..84b4522 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 @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; + +import java.util.List; /** *

@@ -12,5 +15,5 @@ * @since 2023-02-02 */ public interface IBusinessOriginalRecordEquipmentRelationService extends IService { - + boolean saveBatch(Long originId, List equipmentFixedAssetsList); } 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 c8f0b89..d41c6aa 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 @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.model.business.BusinessOriginalRecordFileRelation; +import com.casic.missiles.model.meter.MeterFile; + +import java.util.List; /** *

@@ -12,5 +15,6 @@ * @since 2023-02-02 */ public interface IBusinessOriginalRecordFileRelationService extends IService { + boolean saveBatch(Long originId, List meterFileList); } 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 84e358c..55cfd08 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 @@ -1,8 +1,14 @@ package com.casic.missiles.service.business; +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.model.business.BusinessOriginalRecord; +import javax.servlet.http.HttpServletResponse; + /** *

* 服务类 @@ -13,4 +19,17 @@ */ public interface IBusinessOriginalRecordService extends IService { + Page originListPage(Page page, OriginRecordRequest request) throws Exception; + + BusinessOriginalRecord originalDetail(Long id); + + ReturnDTO deleteOriginal(Long id); + + ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord); + + ReturnDTO addOriginal(BusinessOriginalRecord businessOriginalRecord); + + void originalExport(EnvironmentListRequest 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 ecf6534..f10f4c8 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 @@ -31,6 +31,8 @@ ReturnDTO updateFixedAsset(EquipmentFixedAssets meterFixedAssets); + ReturnDTO querySelectList(); + List list(FixedAssetRequest request) throws Exception; ReturnDTO addFixedAssetList(List meterFixedAssetsList) throws Exception; 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 5e6ed0b..3832417 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 @@ -41,4 +41,6 @@ ReturnDTO approvalDelete(ApprovalDeleteRequest request); ReturnDTO failUpdate(MeterFile meterFile); + + ReturnDTO querySelectList(); }