diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java new file mode 100644 index 0000000..0861213 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java @@ -0,0 +1,124 @@ +package com.casic.missiles.controller.meter; + +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.BaseApprovalSubmitRequest; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.MeterAcceptanceCheck; +import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.meter.MeterAcceptanceCheckService; +import com.casic.missiles.service.meter.MeterEquipmentApplyService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + +@Api(tags = "设备检修保养验收单") +@Slf4j +@RestController +@RequestMapping("/acceptanceCheck") +public class MeterAcceptanceCheckController extends ExportController { + + @Resource + private MeterAcceptanceCheckService meterAcceptanceCheckService; + + @Resource + private MeterEquipmentApplyService meterEquipmentApplyService; + + /** + * 设备检修保养验收单列表 + */ + @ApiOperation("设备检修保养验收单列表") + @PostMapping("/acceptanceCheckList") + @ResponseBody + public ReturnDTO> acceptanceCheckList(@RequestBody AcceptanceCheckRequest request) throws Exception{ + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(meterAcceptanceCheckService.acceptanceCheckList(page, request))); + } + + /** + * 设备检修保养验收单详细信息 + */ + @ApiOperation("设备检修保养验收单详细信息") + @PostMapping("/acceptanceCheckInfo") + @ResponseBody + public ReturnDTO acceptanceCheckInfo(@RequestBody IdDTO idDTO) throws Exception{ + return ReturnUtil.success(meterAcceptanceCheckService.acceptanceCheckInfo(idDTO)); + } + + /** + * 设备检修保养验收单新建 + */ + @ApiOperation("设备检修保养验收单新建") + @PostMapping("/addAcceptanceCheck") + @ResponseBody + public ReturnDTO addAcceptanceCheck(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) throws Exception{ + return meterAcceptanceCheckService.addAcceptanceCheck(meterEquipmentApply); + } + + /** + * + * 设备检修保养验收单提交(必须先保存) + */ + @ApiOperation("设备检修保养验收单提交(必须先保存)") + @PostMapping("/submitEquipmentApply") + @ResponseBody + public ReturnDTO submitEquipmentApply(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) { + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.submitEquipmentApply(request); + } + + /** + * 设设备检修保养验收单删除 + */ + @ApiOperation("设设备检修保养验收单审批操作-删除") + @PostMapping("deleteEquipmentApply") + @ResponseBody + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); + } + + /** + * 设设备检修保养验收单编辑 + */ + @ApiOperation("设设备检修保养验收单编辑") + @PostMapping("/updateAcceptanceCheckInfo") + @ResponseBody + public ReturnDTO updateAcceptanceCheckInfo(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) { + return meterAcceptanceCheckService.updateAcceptanceCheckInfo(meterEquipmentApply); + } + + /** + * 设设备检修保养验收单导出 + */ + @ApiOperation("设设备检修保养验收单导出") + @PostMapping("/exportList") + @ResponseBody + public void exportList(@RequestBody AcceptanceCheckRequest request, HttpServletResponse response) throws Exception{ + try { + meterAcceptanceCheckService.exportList(request,response); + }catch (Exception e){ + e.printStackTrace(); + } + } + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java new file mode 100644 index 0000000..0861213 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java @@ -0,0 +1,124 @@ +package com.casic.missiles.controller.meter; + +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.BaseApprovalSubmitRequest; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.MeterAcceptanceCheck; +import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.meter.MeterAcceptanceCheckService; +import com.casic.missiles.service.meter.MeterEquipmentApplyService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + +@Api(tags = "设备检修保养验收单") +@Slf4j +@RestController +@RequestMapping("/acceptanceCheck") +public class MeterAcceptanceCheckController extends ExportController { + + @Resource + private MeterAcceptanceCheckService meterAcceptanceCheckService; + + @Resource + private MeterEquipmentApplyService meterEquipmentApplyService; + + /** + * 设备检修保养验收单列表 + */ + @ApiOperation("设备检修保养验收单列表") + @PostMapping("/acceptanceCheckList") + @ResponseBody + public ReturnDTO> acceptanceCheckList(@RequestBody AcceptanceCheckRequest request) throws Exception{ + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(meterAcceptanceCheckService.acceptanceCheckList(page, request))); + } + + /** + * 设备检修保养验收单详细信息 + */ + @ApiOperation("设备检修保养验收单详细信息") + @PostMapping("/acceptanceCheckInfo") + @ResponseBody + public ReturnDTO acceptanceCheckInfo(@RequestBody IdDTO idDTO) throws Exception{ + return ReturnUtil.success(meterAcceptanceCheckService.acceptanceCheckInfo(idDTO)); + } + + /** + * 设备检修保养验收单新建 + */ + @ApiOperation("设备检修保养验收单新建") + @PostMapping("/addAcceptanceCheck") + @ResponseBody + public ReturnDTO addAcceptanceCheck(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) throws Exception{ + return meterAcceptanceCheckService.addAcceptanceCheck(meterEquipmentApply); + } + + /** + * + * 设备检修保养验收单提交(必须先保存) + */ + @ApiOperation("设备检修保养验收单提交(必须先保存)") + @PostMapping("/submitEquipmentApply") + @ResponseBody + public ReturnDTO submitEquipmentApply(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) { + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.submitEquipmentApply(request); + } + + /** + * 设设备检修保养验收单删除 + */ + @ApiOperation("设设备检修保养验收单审批操作-删除") + @PostMapping("deleteEquipmentApply") + @ResponseBody + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); + } + + /** + * 设设备检修保养验收单编辑 + */ + @ApiOperation("设设备检修保养验收单编辑") + @PostMapping("/updateAcceptanceCheckInfo") + @ResponseBody + public ReturnDTO updateAcceptanceCheckInfo(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) { + return meterAcceptanceCheckService.updateAcceptanceCheckInfo(meterEquipmentApply); + } + + /** + * 设设备检修保养验收单导出 + */ + @ApiOperation("设设备检修保养验收单导出") + @PostMapping("/exportList") + @ResponseBody + public void exportList(@RequestBody AcceptanceCheckRequest request, HttpServletResponse response) throws Exception{ + try { + meterAcceptanceCheckService.exportList(request,response); + }catch (Exception e){ + e.printStackTrace(); + } + } + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java index e00b6b9..6e2f38e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java @@ -9,6 +9,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyProcessRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; @@ -97,11 +98,14 @@ /** * 设备借用申请列表删除 */ - @ApiOperation("设备借用申请列表删除") - @PostMapping("/deleteEquipmentApply") + @ApiOperation("设备借用申请列表审批操作-删除") + @PostMapping("deleteEquipmentApply") @ResponseBody - public ReturnDTO deleteEquipmentApply(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java new file mode 100644 index 0000000..0861213 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java @@ -0,0 +1,124 @@ +package com.casic.missiles.controller.meter; + +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.BaseApprovalSubmitRequest; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.MeterAcceptanceCheck; +import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.meter.MeterAcceptanceCheckService; +import com.casic.missiles.service.meter.MeterEquipmentApplyService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + +@Api(tags = "设备检修保养验收单") +@Slf4j +@RestController +@RequestMapping("/acceptanceCheck") +public class MeterAcceptanceCheckController extends ExportController { + + @Resource + private MeterAcceptanceCheckService meterAcceptanceCheckService; + + @Resource + private MeterEquipmentApplyService meterEquipmentApplyService; + + /** + * 设备检修保养验收单列表 + */ + @ApiOperation("设备检修保养验收单列表") + @PostMapping("/acceptanceCheckList") + @ResponseBody + public ReturnDTO> acceptanceCheckList(@RequestBody AcceptanceCheckRequest request) throws Exception{ + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(meterAcceptanceCheckService.acceptanceCheckList(page, request))); + } + + /** + * 设备检修保养验收单详细信息 + */ + @ApiOperation("设备检修保养验收单详细信息") + @PostMapping("/acceptanceCheckInfo") + @ResponseBody + public ReturnDTO acceptanceCheckInfo(@RequestBody IdDTO idDTO) throws Exception{ + return ReturnUtil.success(meterAcceptanceCheckService.acceptanceCheckInfo(idDTO)); + } + + /** + * 设备检修保养验收单新建 + */ + @ApiOperation("设备检修保养验收单新建") + @PostMapping("/addAcceptanceCheck") + @ResponseBody + public ReturnDTO addAcceptanceCheck(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) throws Exception{ + return meterAcceptanceCheckService.addAcceptanceCheck(meterEquipmentApply); + } + + /** + * + * 设备检修保养验收单提交(必须先保存) + */ + @ApiOperation("设备检修保养验收单提交(必须先保存)") + @PostMapping("/submitEquipmentApply") + @ResponseBody + public ReturnDTO submitEquipmentApply(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) { + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.submitEquipmentApply(request); + } + + /** + * 设设备检修保养验收单删除 + */ + @ApiOperation("设设备检修保养验收单审批操作-删除") + @PostMapping("deleteEquipmentApply") + @ResponseBody + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); + } + + /** + * 设设备检修保养验收单编辑 + */ + @ApiOperation("设设备检修保养验收单编辑") + @PostMapping("/updateAcceptanceCheckInfo") + @ResponseBody + public ReturnDTO updateAcceptanceCheckInfo(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) { + return meterAcceptanceCheckService.updateAcceptanceCheckInfo(meterEquipmentApply); + } + + /** + * 设设备检修保养验收单导出 + */ + @ApiOperation("设设备检修保养验收单导出") + @PostMapping("/exportList") + @ResponseBody + public void exportList(@RequestBody AcceptanceCheckRequest request, HttpServletResponse response) throws Exception{ + try { + meterAcceptanceCheckService.exportList(request,response); + }catch (Exception e){ + e.printStackTrace(); + } + } + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java index e00b6b9..6e2f38e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java @@ -9,6 +9,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyProcessRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; @@ -97,11 +98,14 @@ /** * 设备借用申请列表删除 */ - @ApiOperation("设备借用申请列表删除") - @PostMapping("/deleteEquipmentApply") + @ApiOperation("设备借用申请列表审批操作-删除") + @PostMapping("deleteEquipmentApply") @ResponseBody - public ReturnDTO deleteEquipmentApply(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java index 052743c..03df967 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; import com.casic.missiles.exception.BusinessException; @@ -87,13 +88,17 @@ } /** - * 标准装置申请列表删除 + * 删除(发起者或具有删除权限的用户可以删除,已通过/未通过状态不可删除) + * 前端控制按钮权限 */ - @ApiOperation("标准装置申请列表删除") - @PostMapping("/deleteStandardEquipmentApply") + @ApiOperation("审批操作-删除") + @PostMapping("/approval/operate/delete") @ResponseBody - public ReturnDTO deleteStandardEquipmentApply(@RequestBody IdDTO idDto) { - return standardEquipmentApplyService.deleteStandardEquipmentApply(idDto); + public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return standardEquipmentApplyService.approvalDelete(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java new file mode 100644 index 0000000..0861213 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java @@ -0,0 +1,124 @@ +package com.casic.missiles.controller.meter; + +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.BaseApprovalSubmitRequest; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.MeterAcceptanceCheck; +import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.meter.MeterAcceptanceCheckService; +import com.casic.missiles.service.meter.MeterEquipmentApplyService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + +@Api(tags = "设备检修保养验收单") +@Slf4j +@RestController +@RequestMapping("/acceptanceCheck") +public class MeterAcceptanceCheckController extends ExportController { + + @Resource + private MeterAcceptanceCheckService meterAcceptanceCheckService; + + @Resource + private MeterEquipmentApplyService meterEquipmentApplyService; + + /** + * 设备检修保养验收单列表 + */ + @ApiOperation("设备检修保养验收单列表") + @PostMapping("/acceptanceCheckList") + @ResponseBody + public ReturnDTO> acceptanceCheckList(@RequestBody AcceptanceCheckRequest request) throws Exception{ + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(meterAcceptanceCheckService.acceptanceCheckList(page, request))); + } + + /** + * 设备检修保养验收单详细信息 + */ + @ApiOperation("设备检修保养验收单详细信息") + @PostMapping("/acceptanceCheckInfo") + @ResponseBody + public ReturnDTO acceptanceCheckInfo(@RequestBody IdDTO idDTO) throws Exception{ + return ReturnUtil.success(meterAcceptanceCheckService.acceptanceCheckInfo(idDTO)); + } + + /** + * 设备检修保养验收单新建 + */ + @ApiOperation("设备检修保养验收单新建") + @PostMapping("/addAcceptanceCheck") + @ResponseBody + public ReturnDTO addAcceptanceCheck(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) throws Exception{ + return meterAcceptanceCheckService.addAcceptanceCheck(meterEquipmentApply); + } + + /** + * + * 设备检修保养验收单提交(必须先保存) + */ + @ApiOperation("设备检修保养验收单提交(必须先保存)") + @PostMapping("/submitEquipmentApply") + @ResponseBody + public ReturnDTO submitEquipmentApply(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) { + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.submitEquipmentApply(request); + } + + /** + * 设设备检修保养验收单删除 + */ + @ApiOperation("设设备检修保养验收单审批操作-删除") + @PostMapping("deleteEquipmentApply") + @ResponseBody + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); + } + + /** + * 设设备检修保养验收单编辑 + */ + @ApiOperation("设设备检修保养验收单编辑") + @PostMapping("/updateAcceptanceCheckInfo") + @ResponseBody + public ReturnDTO updateAcceptanceCheckInfo(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) { + return meterAcceptanceCheckService.updateAcceptanceCheckInfo(meterEquipmentApply); + } + + /** + * 设设备检修保养验收单导出 + */ + @ApiOperation("设设备检修保养验收单导出") + @PostMapping("/exportList") + @ResponseBody + public void exportList(@RequestBody AcceptanceCheckRequest request, HttpServletResponse response) throws Exception{ + try { + meterAcceptanceCheckService.exportList(request,response); + }catch (Exception e){ + e.printStackTrace(); + } + } + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java index e00b6b9..6e2f38e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java @@ -9,6 +9,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyProcessRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; @@ -97,11 +98,14 @@ /** * 设备借用申请列表删除 */ - @ApiOperation("设备借用申请列表删除") - @PostMapping("/deleteEquipmentApply") + @ApiOperation("设备借用申请列表审批操作-删除") + @PostMapping("deleteEquipmentApply") @ResponseBody - public ReturnDTO deleteEquipmentApply(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java index 052743c..03df967 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; import com.casic.missiles.exception.BusinessException; @@ -87,13 +88,17 @@ } /** - * 标准装置申请列表删除 + * 删除(发起者或具有删除权限的用户可以删除,已通过/未通过状态不可删除) + * 前端控制按钮权限 */ - @ApiOperation("标准装置申请列表删除") - @PostMapping("/deleteStandardEquipmentApply") + @ApiOperation("审批操作-删除") + @PostMapping("/approval/operate/delete") @ResponseBody - public ReturnDTO deleteStandardEquipmentApply(@RequestBody IdDTO idDto) { - return standardEquipmentApplyService.deleteStandardEquipmentApply(idDto); + public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return standardEquipmentApplyService.approvalDelete(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java index cdd073f..b9542e4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java @@ -8,17 +8,21 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStateManageRequest; import com.casic.missiles.dto.meter.MeterStateManageResponse; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.MeterCertificate; import com.casic.missiles.model.MeterCheckInfo; import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.meter.IMeterStateManageService; import com.casic.missiles.service.meter.MeterEquipmentApplyService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -63,8 +67,11 @@ @ApiOperation("状态管理申请列表删除") @PostMapping("/deleteStateManageList") @ResponseBody - public ReturnDTO deleteStateManageList(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteStateManageList(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java new file mode 100644 index 0000000..0861213 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java @@ -0,0 +1,124 @@ +package com.casic.missiles.controller.meter; + +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.BaseApprovalSubmitRequest; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.MeterAcceptanceCheck; +import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.meter.MeterAcceptanceCheckService; +import com.casic.missiles.service.meter.MeterEquipmentApplyService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + +@Api(tags = "设备检修保养验收单") +@Slf4j +@RestController +@RequestMapping("/acceptanceCheck") +public class MeterAcceptanceCheckController extends ExportController { + + @Resource + private MeterAcceptanceCheckService meterAcceptanceCheckService; + + @Resource + private MeterEquipmentApplyService meterEquipmentApplyService; + + /** + * 设备检修保养验收单列表 + */ + @ApiOperation("设备检修保养验收单列表") + @PostMapping("/acceptanceCheckList") + @ResponseBody + public ReturnDTO> acceptanceCheckList(@RequestBody AcceptanceCheckRequest request) throws Exception{ + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(meterAcceptanceCheckService.acceptanceCheckList(page, request))); + } + + /** + * 设备检修保养验收单详细信息 + */ + @ApiOperation("设备检修保养验收单详细信息") + @PostMapping("/acceptanceCheckInfo") + @ResponseBody + public ReturnDTO acceptanceCheckInfo(@RequestBody IdDTO idDTO) throws Exception{ + return ReturnUtil.success(meterAcceptanceCheckService.acceptanceCheckInfo(idDTO)); + } + + /** + * 设备检修保养验收单新建 + */ + @ApiOperation("设备检修保养验收单新建") + @PostMapping("/addAcceptanceCheck") + @ResponseBody + public ReturnDTO addAcceptanceCheck(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) throws Exception{ + return meterAcceptanceCheckService.addAcceptanceCheck(meterEquipmentApply); + } + + /** + * + * 设备检修保养验收单提交(必须先保存) + */ + @ApiOperation("设备检修保养验收单提交(必须先保存)") + @PostMapping("/submitEquipmentApply") + @ResponseBody + public ReturnDTO submitEquipmentApply(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) { + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.submitEquipmentApply(request); + } + + /** + * 设设备检修保养验收单删除 + */ + @ApiOperation("设设备检修保养验收单审批操作-删除") + @PostMapping("deleteEquipmentApply") + @ResponseBody + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); + } + + /** + * 设设备检修保养验收单编辑 + */ + @ApiOperation("设设备检修保养验收单编辑") + @PostMapping("/updateAcceptanceCheckInfo") + @ResponseBody + public ReturnDTO updateAcceptanceCheckInfo(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) { + return meterAcceptanceCheckService.updateAcceptanceCheckInfo(meterEquipmentApply); + } + + /** + * 设设备检修保养验收单导出 + */ + @ApiOperation("设设备检修保养验收单导出") + @PostMapping("/exportList") + @ResponseBody + public void exportList(@RequestBody AcceptanceCheckRequest request, HttpServletResponse response) throws Exception{ + try { + meterAcceptanceCheckService.exportList(request,response); + }catch (Exception e){ + e.printStackTrace(); + } + } + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java index e00b6b9..6e2f38e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java @@ -9,6 +9,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyProcessRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; @@ -97,11 +98,14 @@ /** * 设备借用申请列表删除 */ - @ApiOperation("设备借用申请列表删除") - @PostMapping("/deleteEquipmentApply") + @ApiOperation("设备借用申请列表审批操作-删除") + @PostMapping("deleteEquipmentApply") @ResponseBody - public ReturnDTO deleteEquipmentApply(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java index 052743c..03df967 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; import com.casic.missiles.exception.BusinessException; @@ -87,13 +88,17 @@ } /** - * 标准装置申请列表删除 + * 删除(发起者或具有删除权限的用户可以删除,已通过/未通过状态不可删除) + * 前端控制按钮权限 */ - @ApiOperation("标准装置申请列表删除") - @PostMapping("/deleteStandardEquipmentApply") + @ApiOperation("审批操作-删除") + @PostMapping("/approval/operate/delete") @ResponseBody - public ReturnDTO deleteStandardEquipmentApply(@RequestBody IdDTO idDto) { - return standardEquipmentApplyService.deleteStandardEquipmentApply(idDto); + public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return standardEquipmentApplyService.approvalDelete(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java index cdd073f..b9542e4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java @@ -8,17 +8,21 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStateManageRequest; import com.casic.missiles.dto.meter.MeterStateManageResponse; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.MeterCertificate; import com.casic.missiles.model.MeterCheckInfo; import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.meter.IMeterStateManageService; import com.casic.missiles.service.meter.MeterEquipmentApplyService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -63,8 +67,11 @@ @ApiOperation("状态管理申请列表删除") @PostMapping("/deleteStateManageList") @ResponseBody - public ReturnDTO deleteStateManageList(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteStateManageList(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 5c31709..b7bd107 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -26,7 +26,8 @@ METER_PRICE("meterPrice", "meterPrice", "价格库"), METER_STAFF("meterStaff", "meterStaff", "计量人员"), STANDARD_EQUIPMENT_APPLY("standardEquipmentApply", "standardEquipmentApply", "标准装置申请"), - STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"); + STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"), + METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java new file mode 100644 index 0000000..0861213 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java @@ -0,0 +1,124 @@ +package com.casic.missiles.controller.meter; + +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.BaseApprovalSubmitRequest; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.MeterAcceptanceCheck; +import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.meter.MeterAcceptanceCheckService; +import com.casic.missiles.service.meter.MeterEquipmentApplyService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + +@Api(tags = "设备检修保养验收单") +@Slf4j +@RestController +@RequestMapping("/acceptanceCheck") +public class MeterAcceptanceCheckController extends ExportController { + + @Resource + private MeterAcceptanceCheckService meterAcceptanceCheckService; + + @Resource + private MeterEquipmentApplyService meterEquipmentApplyService; + + /** + * 设备检修保养验收单列表 + */ + @ApiOperation("设备检修保养验收单列表") + @PostMapping("/acceptanceCheckList") + @ResponseBody + public ReturnDTO> acceptanceCheckList(@RequestBody AcceptanceCheckRequest request) throws Exception{ + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(meterAcceptanceCheckService.acceptanceCheckList(page, request))); + } + + /** + * 设备检修保养验收单详细信息 + */ + @ApiOperation("设备检修保养验收单详细信息") + @PostMapping("/acceptanceCheckInfo") + @ResponseBody + public ReturnDTO acceptanceCheckInfo(@RequestBody IdDTO idDTO) throws Exception{ + return ReturnUtil.success(meterAcceptanceCheckService.acceptanceCheckInfo(idDTO)); + } + + /** + * 设备检修保养验收单新建 + */ + @ApiOperation("设备检修保养验收单新建") + @PostMapping("/addAcceptanceCheck") + @ResponseBody + public ReturnDTO addAcceptanceCheck(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) throws Exception{ + return meterAcceptanceCheckService.addAcceptanceCheck(meterEquipmentApply); + } + + /** + * + * 设备检修保养验收单提交(必须先保存) + */ + @ApiOperation("设备检修保养验收单提交(必须先保存)") + @PostMapping("/submitEquipmentApply") + @ResponseBody + public ReturnDTO submitEquipmentApply(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) { + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.submitEquipmentApply(request); + } + + /** + * 设设备检修保养验收单删除 + */ + @ApiOperation("设设备检修保养验收单审批操作-删除") + @PostMapping("deleteEquipmentApply") + @ResponseBody + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); + } + + /** + * 设设备检修保养验收单编辑 + */ + @ApiOperation("设设备检修保养验收单编辑") + @PostMapping("/updateAcceptanceCheckInfo") + @ResponseBody + public ReturnDTO updateAcceptanceCheckInfo(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) { + return meterAcceptanceCheckService.updateAcceptanceCheckInfo(meterEquipmentApply); + } + + /** + * 设设备检修保养验收单导出 + */ + @ApiOperation("设设备检修保养验收单导出") + @PostMapping("/exportList") + @ResponseBody + public void exportList(@RequestBody AcceptanceCheckRequest request, HttpServletResponse response) throws Exception{ + try { + meterAcceptanceCheckService.exportList(request,response); + }catch (Exception e){ + e.printStackTrace(); + } + } + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java index e00b6b9..6e2f38e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java @@ -9,6 +9,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyProcessRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; @@ -97,11 +98,14 @@ /** * 设备借用申请列表删除 */ - @ApiOperation("设备借用申请列表删除") - @PostMapping("/deleteEquipmentApply") + @ApiOperation("设备借用申请列表审批操作-删除") + @PostMapping("deleteEquipmentApply") @ResponseBody - public ReturnDTO deleteEquipmentApply(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java index 052743c..03df967 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; import com.casic.missiles.exception.BusinessException; @@ -87,13 +88,17 @@ } /** - * 标准装置申请列表删除 + * 删除(发起者或具有删除权限的用户可以删除,已通过/未通过状态不可删除) + * 前端控制按钮权限 */ - @ApiOperation("标准装置申请列表删除") - @PostMapping("/deleteStandardEquipmentApply") + @ApiOperation("审批操作-删除") + @PostMapping("/approval/operate/delete") @ResponseBody - public ReturnDTO deleteStandardEquipmentApply(@RequestBody IdDTO idDto) { - return standardEquipmentApplyService.deleteStandardEquipmentApply(idDto); + public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return standardEquipmentApplyService.approvalDelete(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java index cdd073f..b9542e4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java @@ -8,17 +8,21 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStateManageRequest; import com.casic.missiles.dto.meter.MeterStateManageResponse; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.MeterCertificate; import com.casic.missiles.model.MeterCheckInfo; import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.meter.IMeterStateManageService; import com.casic.missiles.service.meter.MeterEquipmentApplyService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -63,8 +67,11 @@ @ApiOperation("状态管理申请列表删除") @PostMapping("/deleteStateManageList") @ResponseBody - public ReturnDTO deleteStateManageList(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteStateManageList(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 5c31709..b7bd107 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -26,7 +26,8 @@ METER_PRICE("meterPrice", "meterPrice", "价格库"), METER_STAFF("meterStaff", "meterStaff", "计量人员"), STANDARD_EQUIPMENT_APPLY("standardEquipmentApply", "standardEquipmentApply", "标准装置申请"), - STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"); + STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"), + METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java new file mode 100644 index 0000000..45bf56e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java @@ -0,0 +1,17 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.model.MeterAcceptanceCheck; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface MeterAcceptanceCheckMapper { + + Page acceptanceCheckList(Page page,@Param("request") AcceptanceCheckRequest request); + + List acceptanceCheckList(@Param("request") AcceptanceCheckRequest request); + + MeterAcceptanceCheck acceptanceCheckInfo(@Param("id") Long id); +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java new file mode 100644 index 0000000..0861213 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java @@ -0,0 +1,124 @@ +package com.casic.missiles.controller.meter; + +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.BaseApprovalSubmitRequest; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.MeterAcceptanceCheck; +import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.meter.MeterAcceptanceCheckService; +import com.casic.missiles.service.meter.MeterEquipmentApplyService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + +@Api(tags = "设备检修保养验收单") +@Slf4j +@RestController +@RequestMapping("/acceptanceCheck") +public class MeterAcceptanceCheckController extends ExportController { + + @Resource + private MeterAcceptanceCheckService meterAcceptanceCheckService; + + @Resource + private MeterEquipmentApplyService meterEquipmentApplyService; + + /** + * 设备检修保养验收单列表 + */ + @ApiOperation("设备检修保养验收单列表") + @PostMapping("/acceptanceCheckList") + @ResponseBody + public ReturnDTO> acceptanceCheckList(@RequestBody AcceptanceCheckRequest request) throws Exception{ + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(meterAcceptanceCheckService.acceptanceCheckList(page, request))); + } + + /** + * 设备检修保养验收单详细信息 + */ + @ApiOperation("设备检修保养验收单详细信息") + @PostMapping("/acceptanceCheckInfo") + @ResponseBody + public ReturnDTO acceptanceCheckInfo(@RequestBody IdDTO idDTO) throws Exception{ + return ReturnUtil.success(meterAcceptanceCheckService.acceptanceCheckInfo(idDTO)); + } + + /** + * 设备检修保养验收单新建 + */ + @ApiOperation("设备检修保养验收单新建") + @PostMapping("/addAcceptanceCheck") + @ResponseBody + public ReturnDTO addAcceptanceCheck(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) throws Exception{ + return meterAcceptanceCheckService.addAcceptanceCheck(meterEquipmentApply); + } + + /** + * + * 设备检修保养验收单提交(必须先保存) + */ + @ApiOperation("设备检修保养验收单提交(必须先保存)") + @PostMapping("/submitEquipmentApply") + @ResponseBody + public ReturnDTO submitEquipmentApply(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) { + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.submitEquipmentApply(request); + } + + /** + * 设设备检修保养验收单删除 + */ + @ApiOperation("设设备检修保养验收单审批操作-删除") + @PostMapping("deleteEquipmentApply") + @ResponseBody + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); + } + + /** + * 设设备检修保养验收单编辑 + */ + @ApiOperation("设设备检修保养验收单编辑") + @PostMapping("/updateAcceptanceCheckInfo") + @ResponseBody + public ReturnDTO updateAcceptanceCheckInfo(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) { + return meterAcceptanceCheckService.updateAcceptanceCheckInfo(meterEquipmentApply); + } + + /** + * 设设备检修保养验收单导出 + */ + @ApiOperation("设设备检修保养验收单导出") + @PostMapping("/exportList") + @ResponseBody + public void exportList(@RequestBody AcceptanceCheckRequest request, HttpServletResponse response) throws Exception{ + try { + meterAcceptanceCheckService.exportList(request,response); + }catch (Exception e){ + e.printStackTrace(); + } + } + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java index e00b6b9..6e2f38e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java @@ -9,6 +9,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyProcessRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; @@ -97,11 +98,14 @@ /** * 设备借用申请列表删除 */ - @ApiOperation("设备借用申请列表删除") - @PostMapping("/deleteEquipmentApply") + @ApiOperation("设备借用申请列表审批操作-删除") + @PostMapping("deleteEquipmentApply") @ResponseBody - public ReturnDTO deleteEquipmentApply(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java index 052743c..03df967 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; import com.casic.missiles.exception.BusinessException; @@ -87,13 +88,17 @@ } /** - * 标准装置申请列表删除 + * 删除(发起者或具有删除权限的用户可以删除,已通过/未通过状态不可删除) + * 前端控制按钮权限 */ - @ApiOperation("标准装置申请列表删除") - @PostMapping("/deleteStandardEquipmentApply") + @ApiOperation("审批操作-删除") + @PostMapping("/approval/operate/delete") @ResponseBody - public ReturnDTO deleteStandardEquipmentApply(@RequestBody IdDTO idDto) { - return standardEquipmentApplyService.deleteStandardEquipmentApply(idDto); + public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return standardEquipmentApplyService.approvalDelete(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java index cdd073f..b9542e4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java @@ -8,17 +8,21 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStateManageRequest; import com.casic.missiles.dto.meter.MeterStateManageResponse; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.MeterCertificate; import com.casic.missiles.model.MeterCheckInfo; import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.meter.IMeterStateManageService; import com.casic.missiles.service.meter.MeterEquipmentApplyService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -63,8 +67,11 @@ @ApiOperation("状态管理申请列表删除") @PostMapping("/deleteStateManageList") @ResponseBody - public ReturnDTO deleteStateManageList(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteStateManageList(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 5c31709..b7bd107 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -26,7 +26,8 @@ METER_PRICE("meterPrice", "meterPrice", "价格库"), METER_STAFF("meterStaff", "meterStaff", "计量人员"), STANDARD_EQUIPMENT_APPLY("standardEquipmentApply", "standardEquipmentApply", "标准装置申请"), - STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"); + STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"), + METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java new file mode 100644 index 0000000..45bf56e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java @@ -0,0 +1,17 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.model.MeterAcceptanceCheck; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface MeterAcceptanceCheckMapper { + + Page acceptanceCheckList(Page page,@Param("request") AcceptanceCheckRequest request); + + List acceptanceCheckList(@Param("request") AcceptanceCheckRequest request); + + MeterAcceptanceCheck acceptanceCheckInfo(@Param("id") Long id); +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java index edac309..bb79e37 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java @@ -11,4 +11,5 @@ List queryEquipmentList(@Param("id") Long id); + List queryCheckList(@Param("acceptanceCheckId")String acceptanceCheckId); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java new file mode 100644 index 0000000..0861213 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java @@ -0,0 +1,124 @@ +package com.casic.missiles.controller.meter; + +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.BaseApprovalSubmitRequest; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.MeterAcceptanceCheck; +import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.meter.MeterAcceptanceCheckService; +import com.casic.missiles.service.meter.MeterEquipmentApplyService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + +@Api(tags = "设备检修保养验收单") +@Slf4j +@RestController +@RequestMapping("/acceptanceCheck") +public class MeterAcceptanceCheckController extends ExportController { + + @Resource + private MeterAcceptanceCheckService meterAcceptanceCheckService; + + @Resource + private MeterEquipmentApplyService meterEquipmentApplyService; + + /** + * 设备检修保养验收单列表 + */ + @ApiOperation("设备检修保养验收单列表") + @PostMapping("/acceptanceCheckList") + @ResponseBody + public ReturnDTO> acceptanceCheckList(@RequestBody AcceptanceCheckRequest request) throws Exception{ + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(meterAcceptanceCheckService.acceptanceCheckList(page, request))); + } + + /** + * 设备检修保养验收单详细信息 + */ + @ApiOperation("设备检修保养验收单详细信息") + @PostMapping("/acceptanceCheckInfo") + @ResponseBody + public ReturnDTO acceptanceCheckInfo(@RequestBody IdDTO idDTO) throws Exception{ + return ReturnUtil.success(meterAcceptanceCheckService.acceptanceCheckInfo(idDTO)); + } + + /** + * 设备检修保养验收单新建 + */ + @ApiOperation("设备检修保养验收单新建") + @PostMapping("/addAcceptanceCheck") + @ResponseBody + public ReturnDTO addAcceptanceCheck(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) throws Exception{ + return meterAcceptanceCheckService.addAcceptanceCheck(meterEquipmentApply); + } + + /** + * + * 设备检修保养验收单提交(必须先保存) + */ + @ApiOperation("设备检修保养验收单提交(必须先保存)") + @PostMapping("/submitEquipmentApply") + @ResponseBody + public ReturnDTO submitEquipmentApply(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) { + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.submitEquipmentApply(request); + } + + /** + * 设设备检修保养验收单删除 + */ + @ApiOperation("设设备检修保养验收单审批操作-删除") + @PostMapping("deleteEquipmentApply") + @ResponseBody + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); + } + + /** + * 设设备检修保养验收单编辑 + */ + @ApiOperation("设设备检修保养验收单编辑") + @PostMapping("/updateAcceptanceCheckInfo") + @ResponseBody + public ReturnDTO updateAcceptanceCheckInfo(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) { + return meterAcceptanceCheckService.updateAcceptanceCheckInfo(meterEquipmentApply); + } + + /** + * 设设备检修保养验收单导出 + */ + @ApiOperation("设设备检修保养验收单导出") + @PostMapping("/exportList") + @ResponseBody + public void exportList(@RequestBody AcceptanceCheckRequest request, HttpServletResponse response) throws Exception{ + try { + meterAcceptanceCheckService.exportList(request,response); + }catch (Exception e){ + e.printStackTrace(); + } + } + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java index e00b6b9..6e2f38e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java @@ -9,6 +9,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyProcessRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; @@ -97,11 +98,14 @@ /** * 设备借用申请列表删除 */ - @ApiOperation("设备借用申请列表删除") - @PostMapping("/deleteEquipmentApply") + @ApiOperation("设备借用申请列表审批操作-删除") + @PostMapping("deleteEquipmentApply") @ResponseBody - public ReturnDTO deleteEquipmentApply(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java index 052743c..03df967 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; import com.casic.missiles.exception.BusinessException; @@ -87,13 +88,17 @@ } /** - * 标准装置申请列表删除 + * 删除(发起者或具有删除权限的用户可以删除,已通过/未通过状态不可删除) + * 前端控制按钮权限 */ - @ApiOperation("标准装置申请列表删除") - @PostMapping("/deleteStandardEquipmentApply") + @ApiOperation("审批操作-删除") + @PostMapping("/approval/operate/delete") @ResponseBody - public ReturnDTO deleteStandardEquipmentApply(@RequestBody IdDTO idDto) { - return standardEquipmentApplyService.deleteStandardEquipmentApply(idDto); + public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return standardEquipmentApplyService.approvalDelete(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java index cdd073f..b9542e4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java @@ -8,17 +8,21 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStateManageRequest; import com.casic.missiles.dto.meter.MeterStateManageResponse; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.MeterCertificate; import com.casic.missiles.model.MeterCheckInfo; import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.meter.IMeterStateManageService; import com.casic.missiles.service.meter.MeterEquipmentApplyService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -63,8 +67,11 @@ @ApiOperation("状态管理申请列表删除") @PostMapping("/deleteStateManageList") @ResponseBody - public ReturnDTO deleteStateManageList(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteStateManageList(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 5c31709..b7bd107 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -26,7 +26,8 @@ METER_PRICE("meterPrice", "meterPrice", "价格库"), METER_STAFF("meterStaff", "meterStaff", "计量人员"), STANDARD_EQUIPMENT_APPLY("standardEquipmentApply", "standardEquipmentApply", "标准装置申请"), - STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"); + STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"), + METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java new file mode 100644 index 0000000..45bf56e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java @@ -0,0 +1,17 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.model.MeterAcceptanceCheck; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface MeterAcceptanceCheckMapper { + + Page acceptanceCheckList(Page page,@Param("request") AcceptanceCheckRequest request); + + List acceptanceCheckList(@Param("request") AcceptanceCheckRequest request); + + MeterAcceptanceCheck acceptanceCheckInfo(@Param("id") Long id); +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java index edac309..bb79e37 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java @@ -11,4 +11,5 @@ List queryEquipmentList(@Param("id") Long id); + List queryCheckList(@Param("acceptanceCheckId")String acceptanceCheckId); } diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml new file mode 100644 index 0000000..845c84d --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml @@ -0,0 +1,73 @@ + + + + + + SELECT + msa.id, + msa.apply_no, + msa.apply_type, + msa.approval_status, + msa.apply_name, + cmsa.apply_no AS checkApplyNo, + cmsa.apply_name AS checkApplyName, + DATE_FORMAT( msa.time, '%Y-%m-%d %H:%i' ) as checkDate, + msa.overhaul_person, + msa.apply_desc, + msa.process_id, + msa.process_result, + msa.remark, + cmsa.acceptance_check_id + FROM + meter_equipment_apply msa + LEFT JOIN meter_equipment_apply cmsa ON msa.id = cmsa.acceptance_check_id + where 1=1 and msa.is_del = 0 + + + + + + + + diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java new file mode 100644 index 0000000..0861213 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java @@ -0,0 +1,124 @@ +package com.casic.missiles.controller.meter; + +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.BaseApprovalSubmitRequest; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.MeterAcceptanceCheck; +import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.meter.MeterAcceptanceCheckService; +import com.casic.missiles.service.meter.MeterEquipmentApplyService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + +@Api(tags = "设备检修保养验收单") +@Slf4j +@RestController +@RequestMapping("/acceptanceCheck") +public class MeterAcceptanceCheckController extends ExportController { + + @Resource + private MeterAcceptanceCheckService meterAcceptanceCheckService; + + @Resource + private MeterEquipmentApplyService meterEquipmentApplyService; + + /** + * 设备检修保养验收单列表 + */ + @ApiOperation("设备检修保养验收单列表") + @PostMapping("/acceptanceCheckList") + @ResponseBody + public ReturnDTO> acceptanceCheckList(@RequestBody AcceptanceCheckRequest request) throws Exception{ + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(meterAcceptanceCheckService.acceptanceCheckList(page, request))); + } + + /** + * 设备检修保养验收单详细信息 + */ + @ApiOperation("设备检修保养验收单详细信息") + @PostMapping("/acceptanceCheckInfo") + @ResponseBody + public ReturnDTO acceptanceCheckInfo(@RequestBody IdDTO idDTO) throws Exception{ + return ReturnUtil.success(meterAcceptanceCheckService.acceptanceCheckInfo(idDTO)); + } + + /** + * 设备检修保养验收单新建 + */ + @ApiOperation("设备检修保养验收单新建") + @PostMapping("/addAcceptanceCheck") + @ResponseBody + public ReturnDTO addAcceptanceCheck(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) throws Exception{ + return meterAcceptanceCheckService.addAcceptanceCheck(meterEquipmentApply); + } + + /** + * + * 设备检修保养验收单提交(必须先保存) + */ + @ApiOperation("设备检修保养验收单提交(必须先保存)") + @PostMapping("/submitEquipmentApply") + @ResponseBody + public ReturnDTO submitEquipmentApply(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) { + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.submitEquipmentApply(request); + } + + /** + * 设设备检修保养验收单删除 + */ + @ApiOperation("设设备检修保养验收单审批操作-删除") + @PostMapping("deleteEquipmentApply") + @ResponseBody + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); + } + + /** + * 设设备检修保养验收单编辑 + */ + @ApiOperation("设设备检修保养验收单编辑") + @PostMapping("/updateAcceptanceCheckInfo") + @ResponseBody + public ReturnDTO updateAcceptanceCheckInfo(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) { + return meterAcceptanceCheckService.updateAcceptanceCheckInfo(meterEquipmentApply); + } + + /** + * 设设备检修保养验收单导出 + */ + @ApiOperation("设设备检修保养验收单导出") + @PostMapping("/exportList") + @ResponseBody + public void exportList(@RequestBody AcceptanceCheckRequest request, HttpServletResponse response) throws Exception{ + try { + meterAcceptanceCheckService.exportList(request,response); + }catch (Exception e){ + e.printStackTrace(); + } + } + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java index e00b6b9..6e2f38e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java @@ -9,6 +9,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyProcessRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; @@ -97,11 +98,14 @@ /** * 设备借用申请列表删除 */ - @ApiOperation("设备借用申请列表删除") - @PostMapping("/deleteEquipmentApply") + @ApiOperation("设备借用申请列表审批操作-删除") + @PostMapping("deleteEquipmentApply") @ResponseBody - public ReturnDTO deleteEquipmentApply(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java index 052743c..03df967 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; import com.casic.missiles.exception.BusinessException; @@ -87,13 +88,17 @@ } /** - * 标准装置申请列表删除 + * 删除(发起者或具有删除权限的用户可以删除,已通过/未通过状态不可删除) + * 前端控制按钮权限 */ - @ApiOperation("标准装置申请列表删除") - @PostMapping("/deleteStandardEquipmentApply") + @ApiOperation("审批操作-删除") + @PostMapping("/approval/operate/delete") @ResponseBody - public ReturnDTO deleteStandardEquipmentApply(@RequestBody IdDTO idDto) { - return standardEquipmentApplyService.deleteStandardEquipmentApply(idDto); + public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return standardEquipmentApplyService.approvalDelete(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java index cdd073f..b9542e4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java @@ -8,17 +8,21 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStateManageRequest; import com.casic.missiles.dto.meter.MeterStateManageResponse; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.MeterCertificate; import com.casic.missiles.model.MeterCheckInfo; import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.meter.IMeterStateManageService; import com.casic.missiles.service.meter.MeterEquipmentApplyService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -63,8 +67,11 @@ @ApiOperation("状态管理申请列表删除") @PostMapping("/deleteStateManageList") @ResponseBody - public ReturnDTO deleteStateManageList(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteStateManageList(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 5c31709..b7bd107 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -26,7 +26,8 @@ METER_PRICE("meterPrice", "meterPrice", "价格库"), METER_STAFF("meterStaff", "meterStaff", "计量人员"), STANDARD_EQUIPMENT_APPLY("standardEquipmentApply", "standardEquipmentApply", "标准装置申请"), - STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"); + STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"), + METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java new file mode 100644 index 0000000..45bf56e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java @@ -0,0 +1,17 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.model.MeterAcceptanceCheck; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface MeterAcceptanceCheckMapper { + + Page acceptanceCheckList(Page page,@Param("request") AcceptanceCheckRequest request); + + List acceptanceCheckList(@Param("request") AcceptanceCheckRequest request); + + MeterAcceptanceCheck acceptanceCheckInfo(@Param("id") Long id); +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java index edac309..bb79e37 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java @@ -11,4 +11,5 @@ List queryEquipmentList(@Param("id") Long id); + List queryCheckList(@Param("acceptanceCheckId")String acceptanceCheckId); } diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml new file mode 100644 index 0000000..845c84d --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml @@ -0,0 +1,73 @@ + + + + + + SELECT + msa.id, + msa.apply_no, + msa.apply_type, + msa.approval_status, + msa.apply_name, + cmsa.apply_no AS checkApplyNo, + cmsa.apply_name AS checkApplyName, + DATE_FORMAT( msa.time, '%Y-%m-%d %H:%i' ) as checkDate, + msa.overhaul_person, + msa.apply_desc, + msa.process_id, + msa.process_result, + msa.remark, + cmsa.acceptance_check_id + FROM + meter_equipment_apply msa + LEFT JOIN meter_equipment_apply cmsa ON msa.id = cmsa.acceptance_check_id + where 1=1 and msa.is_del = 0 + + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml index a74e9f4..abddec6 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml @@ -19,5 +19,17 @@ and msae.apply_id = #{id} + + diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java new file mode 100644 index 0000000..0861213 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java @@ -0,0 +1,124 @@ +package com.casic.missiles.controller.meter; + +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.BaseApprovalSubmitRequest; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.MeterAcceptanceCheck; +import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.meter.MeterAcceptanceCheckService; +import com.casic.missiles.service.meter.MeterEquipmentApplyService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + +@Api(tags = "设备检修保养验收单") +@Slf4j +@RestController +@RequestMapping("/acceptanceCheck") +public class MeterAcceptanceCheckController extends ExportController { + + @Resource + private MeterAcceptanceCheckService meterAcceptanceCheckService; + + @Resource + private MeterEquipmentApplyService meterEquipmentApplyService; + + /** + * 设备检修保养验收单列表 + */ + @ApiOperation("设备检修保养验收单列表") + @PostMapping("/acceptanceCheckList") + @ResponseBody + public ReturnDTO> acceptanceCheckList(@RequestBody AcceptanceCheckRequest request) throws Exception{ + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(meterAcceptanceCheckService.acceptanceCheckList(page, request))); + } + + /** + * 设备检修保养验收单详细信息 + */ + @ApiOperation("设备检修保养验收单详细信息") + @PostMapping("/acceptanceCheckInfo") + @ResponseBody + public ReturnDTO acceptanceCheckInfo(@RequestBody IdDTO idDTO) throws Exception{ + return ReturnUtil.success(meterAcceptanceCheckService.acceptanceCheckInfo(idDTO)); + } + + /** + * 设备检修保养验收单新建 + */ + @ApiOperation("设备检修保养验收单新建") + @PostMapping("/addAcceptanceCheck") + @ResponseBody + public ReturnDTO addAcceptanceCheck(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) throws Exception{ + return meterAcceptanceCheckService.addAcceptanceCheck(meterEquipmentApply); + } + + /** + * + * 设备检修保养验收单提交(必须先保存) + */ + @ApiOperation("设备检修保养验收单提交(必须先保存)") + @PostMapping("/submitEquipmentApply") + @ResponseBody + public ReturnDTO submitEquipmentApply(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) { + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.submitEquipmentApply(request); + } + + /** + * 设设备检修保养验收单删除 + */ + @ApiOperation("设设备检修保养验收单审批操作-删除") + @PostMapping("deleteEquipmentApply") + @ResponseBody + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); + } + + /** + * 设设备检修保养验收单编辑 + */ + @ApiOperation("设设备检修保养验收单编辑") + @PostMapping("/updateAcceptanceCheckInfo") + @ResponseBody + public ReturnDTO updateAcceptanceCheckInfo(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) { + return meterAcceptanceCheckService.updateAcceptanceCheckInfo(meterEquipmentApply); + } + + /** + * 设设备检修保养验收单导出 + */ + @ApiOperation("设设备检修保养验收单导出") + @PostMapping("/exportList") + @ResponseBody + public void exportList(@RequestBody AcceptanceCheckRequest request, HttpServletResponse response) throws Exception{ + try { + meterAcceptanceCheckService.exportList(request,response); + }catch (Exception e){ + e.printStackTrace(); + } + } + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java index e00b6b9..6e2f38e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java @@ -9,6 +9,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyProcessRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; @@ -97,11 +98,14 @@ /** * 设备借用申请列表删除 */ - @ApiOperation("设备借用申请列表删除") - @PostMapping("/deleteEquipmentApply") + @ApiOperation("设备借用申请列表审批操作-删除") + @PostMapping("deleteEquipmentApply") @ResponseBody - public ReturnDTO deleteEquipmentApply(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java index 052743c..03df967 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; import com.casic.missiles.exception.BusinessException; @@ -87,13 +88,17 @@ } /** - * 标准装置申请列表删除 + * 删除(发起者或具有删除权限的用户可以删除,已通过/未通过状态不可删除) + * 前端控制按钮权限 */ - @ApiOperation("标准装置申请列表删除") - @PostMapping("/deleteStandardEquipmentApply") + @ApiOperation("审批操作-删除") + @PostMapping("/approval/operate/delete") @ResponseBody - public ReturnDTO deleteStandardEquipmentApply(@RequestBody IdDTO idDto) { - return standardEquipmentApplyService.deleteStandardEquipmentApply(idDto); + public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return standardEquipmentApplyService.approvalDelete(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java index cdd073f..b9542e4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java @@ -8,17 +8,21 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStateManageRequest; import com.casic.missiles.dto.meter.MeterStateManageResponse; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.MeterCertificate; import com.casic.missiles.model.MeterCheckInfo; import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.meter.IMeterStateManageService; import com.casic.missiles.service.meter.MeterEquipmentApplyService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -63,8 +67,11 @@ @ApiOperation("状态管理申请列表删除") @PostMapping("/deleteStateManageList") @ResponseBody - public ReturnDTO deleteStateManageList(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteStateManageList(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 5c31709..b7bd107 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -26,7 +26,8 @@ METER_PRICE("meterPrice", "meterPrice", "价格库"), METER_STAFF("meterStaff", "meterStaff", "计量人员"), STANDARD_EQUIPMENT_APPLY("standardEquipmentApply", "standardEquipmentApply", "标准装置申请"), - STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"); + STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"), + METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java new file mode 100644 index 0000000..45bf56e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java @@ -0,0 +1,17 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.model.MeterAcceptanceCheck; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface MeterAcceptanceCheckMapper { + + Page acceptanceCheckList(Page page,@Param("request") AcceptanceCheckRequest request); + + List acceptanceCheckList(@Param("request") AcceptanceCheckRequest request); + + MeterAcceptanceCheck acceptanceCheckInfo(@Param("id") Long id); +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java index edac309..bb79e37 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java @@ -11,4 +11,5 @@ List queryEquipmentList(@Param("id") Long id); + List queryCheckList(@Param("acceptanceCheckId")String acceptanceCheckId); } diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml new file mode 100644 index 0000000..845c84d --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml @@ -0,0 +1,73 @@ + + + + + + SELECT + msa.id, + msa.apply_no, + msa.apply_type, + msa.approval_status, + msa.apply_name, + cmsa.apply_no AS checkApplyNo, + cmsa.apply_name AS checkApplyName, + DATE_FORMAT( msa.time, '%Y-%m-%d %H:%i' ) as checkDate, + msa.overhaul_person, + msa.apply_desc, + msa.process_id, + msa.process_result, + msa.remark, + cmsa.acceptance_check_id + FROM + meter_equipment_apply msa + LEFT JOIN meter_equipment_apply cmsa ON msa.id = cmsa.acceptance_check_id + where 1=1 and msa.is_del = 0 + + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml index a74e9f4..abddec6 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml @@ -19,5 +19,17 @@ and msae.apply_id = #{id} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml index 68882b9..caf811c 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml @@ -64,6 +64,12 @@ #{id} + + and msa.id in + + #{id} + + ORDER BY msa.create_time DESC diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java new file mode 100644 index 0000000..0861213 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java @@ -0,0 +1,124 @@ +package com.casic.missiles.controller.meter; + +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.BaseApprovalSubmitRequest; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.MeterAcceptanceCheck; +import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.meter.MeterAcceptanceCheckService; +import com.casic.missiles.service.meter.MeterEquipmentApplyService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + +@Api(tags = "设备检修保养验收单") +@Slf4j +@RestController +@RequestMapping("/acceptanceCheck") +public class MeterAcceptanceCheckController extends ExportController { + + @Resource + private MeterAcceptanceCheckService meterAcceptanceCheckService; + + @Resource + private MeterEquipmentApplyService meterEquipmentApplyService; + + /** + * 设备检修保养验收单列表 + */ + @ApiOperation("设备检修保养验收单列表") + @PostMapping("/acceptanceCheckList") + @ResponseBody + public ReturnDTO> acceptanceCheckList(@RequestBody AcceptanceCheckRequest request) throws Exception{ + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(meterAcceptanceCheckService.acceptanceCheckList(page, request))); + } + + /** + * 设备检修保养验收单详细信息 + */ + @ApiOperation("设备检修保养验收单详细信息") + @PostMapping("/acceptanceCheckInfo") + @ResponseBody + public ReturnDTO acceptanceCheckInfo(@RequestBody IdDTO idDTO) throws Exception{ + return ReturnUtil.success(meterAcceptanceCheckService.acceptanceCheckInfo(idDTO)); + } + + /** + * 设备检修保养验收单新建 + */ + @ApiOperation("设备检修保养验收单新建") + @PostMapping("/addAcceptanceCheck") + @ResponseBody + public ReturnDTO addAcceptanceCheck(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) throws Exception{ + return meterAcceptanceCheckService.addAcceptanceCheck(meterEquipmentApply); + } + + /** + * + * 设备检修保养验收单提交(必须先保存) + */ + @ApiOperation("设备检修保养验收单提交(必须先保存)") + @PostMapping("/submitEquipmentApply") + @ResponseBody + public ReturnDTO submitEquipmentApply(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) { + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.submitEquipmentApply(request); + } + + /** + * 设设备检修保养验收单删除 + */ + @ApiOperation("设设备检修保养验收单审批操作-删除") + @PostMapping("deleteEquipmentApply") + @ResponseBody + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); + } + + /** + * 设设备检修保养验收单编辑 + */ + @ApiOperation("设设备检修保养验收单编辑") + @PostMapping("/updateAcceptanceCheckInfo") + @ResponseBody + public ReturnDTO updateAcceptanceCheckInfo(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) { + return meterAcceptanceCheckService.updateAcceptanceCheckInfo(meterEquipmentApply); + } + + /** + * 设设备检修保养验收单导出 + */ + @ApiOperation("设设备检修保养验收单导出") + @PostMapping("/exportList") + @ResponseBody + public void exportList(@RequestBody AcceptanceCheckRequest request, HttpServletResponse response) throws Exception{ + try { + meterAcceptanceCheckService.exportList(request,response); + }catch (Exception e){ + e.printStackTrace(); + } + } + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java index e00b6b9..6e2f38e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java @@ -9,6 +9,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyProcessRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; @@ -97,11 +98,14 @@ /** * 设备借用申请列表删除 */ - @ApiOperation("设备借用申请列表删除") - @PostMapping("/deleteEquipmentApply") + @ApiOperation("设备借用申请列表审批操作-删除") + @PostMapping("deleteEquipmentApply") @ResponseBody - public ReturnDTO deleteEquipmentApply(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java index 052743c..03df967 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; import com.casic.missiles.exception.BusinessException; @@ -87,13 +88,17 @@ } /** - * 标准装置申请列表删除 + * 删除(发起者或具有删除权限的用户可以删除,已通过/未通过状态不可删除) + * 前端控制按钮权限 */ - @ApiOperation("标准装置申请列表删除") - @PostMapping("/deleteStandardEquipmentApply") + @ApiOperation("审批操作-删除") + @PostMapping("/approval/operate/delete") @ResponseBody - public ReturnDTO deleteStandardEquipmentApply(@RequestBody IdDTO idDto) { - return standardEquipmentApplyService.deleteStandardEquipmentApply(idDto); + public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return standardEquipmentApplyService.approvalDelete(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java index cdd073f..b9542e4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java @@ -8,17 +8,21 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStateManageRequest; import com.casic.missiles.dto.meter.MeterStateManageResponse; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.MeterCertificate; import com.casic.missiles.model.MeterCheckInfo; import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.meter.IMeterStateManageService; import com.casic.missiles.service.meter.MeterEquipmentApplyService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -63,8 +67,11 @@ @ApiOperation("状态管理申请列表删除") @PostMapping("/deleteStateManageList") @ResponseBody - public ReturnDTO deleteStateManageList(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteStateManageList(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 5c31709..b7bd107 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -26,7 +26,8 @@ METER_PRICE("meterPrice", "meterPrice", "价格库"), METER_STAFF("meterStaff", "meterStaff", "计量人员"), STANDARD_EQUIPMENT_APPLY("standardEquipmentApply", "standardEquipmentApply", "标准装置申请"), - STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"); + STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"), + METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java new file mode 100644 index 0000000..45bf56e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java @@ -0,0 +1,17 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.model.MeterAcceptanceCheck; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface MeterAcceptanceCheckMapper { + + Page acceptanceCheckList(Page page,@Param("request") AcceptanceCheckRequest request); + + List acceptanceCheckList(@Param("request") AcceptanceCheckRequest request); + + MeterAcceptanceCheck acceptanceCheckInfo(@Param("id") Long id); +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java index edac309..bb79e37 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java @@ -11,4 +11,5 @@ List queryEquipmentList(@Param("id") Long id); + List queryCheckList(@Param("acceptanceCheckId")String acceptanceCheckId); } diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml new file mode 100644 index 0000000..845c84d --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml @@ -0,0 +1,73 @@ + + + + + + SELECT + msa.id, + msa.apply_no, + msa.apply_type, + msa.approval_status, + msa.apply_name, + cmsa.apply_no AS checkApplyNo, + cmsa.apply_name AS checkApplyName, + DATE_FORMAT( msa.time, '%Y-%m-%d %H:%i' ) as checkDate, + msa.overhaul_person, + msa.apply_desc, + msa.process_id, + msa.process_result, + msa.remark, + cmsa.acceptance_check_id + FROM + meter_equipment_apply msa + LEFT JOIN meter_equipment_apply cmsa ON msa.id = cmsa.acceptance_check_id + where 1=1 and msa.is_del = 0 + + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml index a74e9f4..abddec6 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml @@ -19,5 +19,17 @@ and msae.apply_id = #{id} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml index 68882b9..caf811c 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml @@ -64,6 +64,12 @@ #{id} + + and msa.id in + + #{id} + + ORDER BY msa.create_time DESC diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index b27c287..ab1f7fa 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -78,4 +78,6 @@ String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; //检查结果 String CHECK_RESULT = "checkResult"; + //检查结果 + String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java new file mode 100644 index 0000000..0861213 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java @@ -0,0 +1,124 @@ +package com.casic.missiles.controller.meter; + +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.BaseApprovalSubmitRequest; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.MeterAcceptanceCheck; +import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.meter.MeterAcceptanceCheckService; +import com.casic.missiles.service.meter.MeterEquipmentApplyService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + +@Api(tags = "设备检修保养验收单") +@Slf4j +@RestController +@RequestMapping("/acceptanceCheck") +public class MeterAcceptanceCheckController extends ExportController { + + @Resource + private MeterAcceptanceCheckService meterAcceptanceCheckService; + + @Resource + private MeterEquipmentApplyService meterEquipmentApplyService; + + /** + * 设备检修保养验收单列表 + */ + @ApiOperation("设备检修保养验收单列表") + @PostMapping("/acceptanceCheckList") + @ResponseBody + public ReturnDTO> acceptanceCheckList(@RequestBody AcceptanceCheckRequest request) throws Exception{ + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(meterAcceptanceCheckService.acceptanceCheckList(page, request))); + } + + /** + * 设备检修保养验收单详细信息 + */ + @ApiOperation("设备检修保养验收单详细信息") + @PostMapping("/acceptanceCheckInfo") + @ResponseBody + public ReturnDTO acceptanceCheckInfo(@RequestBody IdDTO idDTO) throws Exception{ + return ReturnUtil.success(meterAcceptanceCheckService.acceptanceCheckInfo(idDTO)); + } + + /** + * 设备检修保养验收单新建 + */ + @ApiOperation("设备检修保养验收单新建") + @PostMapping("/addAcceptanceCheck") + @ResponseBody + public ReturnDTO addAcceptanceCheck(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) throws Exception{ + return meterAcceptanceCheckService.addAcceptanceCheck(meterEquipmentApply); + } + + /** + * + * 设备检修保养验收单提交(必须先保存) + */ + @ApiOperation("设备检修保养验收单提交(必须先保存)") + @PostMapping("/submitEquipmentApply") + @ResponseBody + public ReturnDTO submitEquipmentApply(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) { + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.submitEquipmentApply(request); + } + + /** + * 设设备检修保养验收单删除 + */ + @ApiOperation("设设备检修保养验收单审批操作-删除") + @PostMapping("deleteEquipmentApply") + @ResponseBody + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); + } + + /** + * 设设备检修保养验收单编辑 + */ + @ApiOperation("设设备检修保养验收单编辑") + @PostMapping("/updateAcceptanceCheckInfo") + @ResponseBody + public ReturnDTO updateAcceptanceCheckInfo(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) { + return meterAcceptanceCheckService.updateAcceptanceCheckInfo(meterEquipmentApply); + } + + /** + * 设设备检修保养验收单导出 + */ + @ApiOperation("设设备检修保养验收单导出") + @PostMapping("/exportList") + @ResponseBody + public void exportList(@RequestBody AcceptanceCheckRequest request, HttpServletResponse response) throws Exception{ + try { + meterAcceptanceCheckService.exportList(request,response); + }catch (Exception e){ + e.printStackTrace(); + } + } + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java index e00b6b9..6e2f38e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java @@ -9,6 +9,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyProcessRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; @@ -97,11 +98,14 @@ /** * 设备借用申请列表删除 */ - @ApiOperation("设备借用申请列表删除") - @PostMapping("/deleteEquipmentApply") + @ApiOperation("设备借用申请列表审批操作-删除") + @PostMapping("deleteEquipmentApply") @ResponseBody - public ReturnDTO deleteEquipmentApply(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java index 052743c..03df967 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; import com.casic.missiles.exception.BusinessException; @@ -87,13 +88,17 @@ } /** - * 标准装置申请列表删除 + * 删除(发起者或具有删除权限的用户可以删除,已通过/未通过状态不可删除) + * 前端控制按钮权限 */ - @ApiOperation("标准装置申请列表删除") - @PostMapping("/deleteStandardEquipmentApply") + @ApiOperation("审批操作-删除") + @PostMapping("/approval/operate/delete") @ResponseBody - public ReturnDTO deleteStandardEquipmentApply(@RequestBody IdDTO idDto) { - return standardEquipmentApplyService.deleteStandardEquipmentApply(idDto); + public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return standardEquipmentApplyService.approvalDelete(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java index cdd073f..b9542e4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java @@ -8,17 +8,21 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStateManageRequest; import com.casic.missiles.dto.meter.MeterStateManageResponse; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.MeterCertificate; import com.casic.missiles.model.MeterCheckInfo; import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.meter.IMeterStateManageService; import com.casic.missiles.service.meter.MeterEquipmentApplyService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -63,8 +67,11 @@ @ApiOperation("状态管理申请列表删除") @PostMapping("/deleteStateManageList") @ResponseBody - public ReturnDTO deleteStateManageList(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteStateManageList(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 5c31709..b7bd107 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -26,7 +26,8 @@ METER_PRICE("meterPrice", "meterPrice", "价格库"), METER_STAFF("meterStaff", "meterStaff", "计量人员"), STANDARD_EQUIPMENT_APPLY("standardEquipmentApply", "standardEquipmentApply", "标准装置申请"), - STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"); + STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"), + METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java new file mode 100644 index 0000000..45bf56e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java @@ -0,0 +1,17 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.model.MeterAcceptanceCheck; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface MeterAcceptanceCheckMapper { + + Page acceptanceCheckList(Page page,@Param("request") AcceptanceCheckRequest request); + + List acceptanceCheckList(@Param("request") AcceptanceCheckRequest request); + + MeterAcceptanceCheck acceptanceCheckInfo(@Param("id") Long id); +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java index edac309..bb79e37 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java @@ -11,4 +11,5 @@ List queryEquipmentList(@Param("id") Long id); + List queryCheckList(@Param("acceptanceCheckId")String acceptanceCheckId); } diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml new file mode 100644 index 0000000..845c84d --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml @@ -0,0 +1,73 @@ + + + + + + SELECT + msa.id, + msa.apply_no, + msa.apply_type, + msa.approval_status, + msa.apply_name, + cmsa.apply_no AS checkApplyNo, + cmsa.apply_name AS checkApplyName, + DATE_FORMAT( msa.time, '%Y-%m-%d %H:%i' ) as checkDate, + msa.overhaul_person, + msa.apply_desc, + msa.process_id, + msa.process_result, + msa.remark, + cmsa.acceptance_check_id + FROM + meter_equipment_apply msa + LEFT JOIN meter_equipment_apply cmsa ON msa.id = cmsa.acceptance_check_id + where 1=1 and msa.is_del = 0 + + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml index a74e9f4..abddec6 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml @@ -19,5 +19,17 @@ and msae.apply_id = #{id} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml index 68882b9..caf811c 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml @@ -64,6 +64,12 @@ #{id} + + and msa.id in + + #{id} + + ORDER BY msa.create_time DESC diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index b27c287..ab1f7fa 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -78,4 +78,6 @@ String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; //检查结果 String CHECK_RESULT = "checkResult"; + //检查结果 + String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java new file mode 100644 index 0000000..9c338f8 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java @@ -0,0 +1,86 @@ +package com.casic.missiles.dto.meter; + +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@ApiModel +@Data +public class AcceptanceCheckRequest { + + /** + * 申请类型 + */ + @ApiModelProperty(value = "申请类型", dataType = "String",required = true) + private String applyType; + + /** + * 验收单编号 + */ + @ApiModelProperty(value = "验收单编号", dataType = "String") + private String applyNo; + + /** + * 验收单名称 + */ + @ApiModelProperty(value = "验收单名称", dataType = "String") + private String applyName; + + /** + * 检修单编号 + */ + @ApiModelProperty(value = "检修单编号", dataType = "String") + private String checkApplyNo; + + /** + * 检修保养人 + */ + @ApiModelProperty(value = "检修保养人", dataType = "String") + private String overhaulPerson; + + /** + * 检查日期开始时间 + */ + @ApiModelProperty(value = "检查日期开始时间", dataType = "String") + private String checkStartDate; + + /** + * 检查日期结束时间 + */ + @ApiModelProperty(value = "检查日期结束时间", dataType = "String") + private String checkEndDate; + + /** + * 审批状态 + */ + @ApiModelProperty(value = "审批状态", dataType = "String", required = true) + private String approvalStatus; + + /** + * 表单id + */ + @ApiModelProperty(value = "表单id", dataType = "String") + private String formId; + + /** + * 创建人 + */ + @ApiModelProperty(value = "创建人", dataType = "String", required = true) + private String createUser; + + /** + * 导出ids + */ + @ApiModelProperty(value = "导出ids", dataType = "List") + private List ids; + + /** + * 业务主键列表 + */ + @ApiModelProperty(value = "业务主键列表(工作流查询用,不用前端传)", dataType = "List") + private List businessKeys; + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java new file mode 100644 index 0000000..0861213 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java @@ -0,0 +1,124 @@ +package com.casic.missiles.controller.meter; + +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.BaseApprovalSubmitRequest; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.MeterAcceptanceCheck; +import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.meter.MeterAcceptanceCheckService; +import com.casic.missiles.service.meter.MeterEquipmentApplyService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + +@Api(tags = "设备检修保养验收单") +@Slf4j +@RestController +@RequestMapping("/acceptanceCheck") +public class MeterAcceptanceCheckController extends ExportController { + + @Resource + private MeterAcceptanceCheckService meterAcceptanceCheckService; + + @Resource + private MeterEquipmentApplyService meterEquipmentApplyService; + + /** + * 设备检修保养验收单列表 + */ + @ApiOperation("设备检修保养验收单列表") + @PostMapping("/acceptanceCheckList") + @ResponseBody + public ReturnDTO> acceptanceCheckList(@RequestBody AcceptanceCheckRequest request) throws Exception{ + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(meterAcceptanceCheckService.acceptanceCheckList(page, request))); + } + + /** + * 设备检修保养验收单详细信息 + */ + @ApiOperation("设备检修保养验收单详细信息") + @PostMapping("/acceptanceCheckInfo") + @ResponseBody + public ReturnDTO acceptanceCheckInfo(@RequestBody IdDTO idDTO) throws Exception{ + return ReturnUtil.success(meterAcceptanceCheckService.acceptanceCheckInfo(idDTO)); + } + + /** + * 设备检修保养验收单新建 + */ + @ApiOperation("设备检修保养验收单新建") + @PostMapping("/addAcceptanceCheck") + @ResponseBody + public ReturnDTO addAcceptanceCheck(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) throws Exception{ + return meterAcceptanceCheckService.addAcceptanceCheck(meterEquipmentApply); + } + + /** + * + * 设备检修保养验收单提交(必须先保存) + */ + @ApiOperation("设备检修保养验收单提交(必须先保存)") + @PostMapping("/submitEquipmentApply") + @ResponseBody + public ReturnDTO submitEquipmentApply(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) { + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.submitEquipmentApply(request); + } + + /** + * 设设备检修保养验收单删除 + */ + @ApiOperation("设设备检修保养验收单审批操作-删除") + @PostMapping("deleteEquipmentApply") + @ResponseBody + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); + } + + /** + * 设设备检修保养验收单编辑 + */ + @ApiOperation("设设备检修保养验收单编辑") + @PostMapping("/updateAcceptanceCheckInfo") + @ResponseBody + public ReturnDTO updateAcceptanceCheckInfo(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) { + return meterAcceptanceCheckService.updateAcceptanceCheckInfo(meterEquipmentApply); + } + + /** + * 设设备检修保养验收单导出 + */ + @ApiOperation("设设备检修保养验收单导出") + @PostMapping("/exportList") + @ResponseBody + public void exportList(@RequestBody AcceptanceCheckRequest request, HttpServletResponse response) throws Exception{ + try { + meterAcceptanceCheckService.exportList(request,response); + }catch (Exception e){ + e.printStackTrace(); + } + } + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java index e00b6b9..6e2f38e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java @@ -9,6 +9,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyProcessRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; @@ -97,11 +98,14 @@ /** * 设备借用申请列表删除 */ - @ApiOperation("设备借用申请列表删除") - @PostMapping("/deleteEquipmentApply") + @ApiOperation("设备借用申请列表审批操作-删除") + @PostMapping("deleteEquipmentApply") @ResponseBody - public ReturnDTO deleteEquipmentApply(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java index 052743c..03df967 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; import com.casic.missiles.exception.BusinessException; @@ -87,13 +88,17 @@ } /** - * 标准装置申请列表删除 + * 删除(发起者或具有删除权限的用户可以删除,已通过/未通过状态不可删除) + * 前端控制按钮权限 */ - @ApiOperation("标准装置申请列表删除") - @PostMapping("/deleteStandardEquipmentApply") + @ApiOperation("审批操作-删除") + @PostMapping("/approval/operate/delete") @ResponseBody - public ReturnDTO deleteStandardEquipmentApply(@RequestBody IdDTO idDto) { - return standardEquipmentApplyService.deleteStandardEquipmentApply(idDto); + public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return standardEquipmentApplyService.approvalDelete(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java index cdd073f..b9542e4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java @@ -8,17 +8,21 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStateManageRequest; import com.casic.missiles.dto.meter.MeterStateManageResponse; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.MeterCertificate; import com.casic.missiles.model.MeterCheckInfo; import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.meter.IMeterStateManageService; import com.casic.missiles.service.meter.MeterEquipmentApplyService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -63,8 +67,11 @@ @ApiOperation("状态管理申请列表删除") @PostMapping("/deleteStateManageList") @ResponseBody - public ReturnDTO deleteStateManageList(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteStateManageList(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 5c31709..b7bd107 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -26,7 +26,8 @@ METER_PRICE("meterPrice", "meterPrice", "价格库"), METER_STAFF("meterStaff", "meterStaff", "计量人员"), STANDARD_EQUIPMENT_APPLY("standardEquipmentApply", "standardEquipmentApply", "标准装置申请"), - STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"); + STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"), + METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java new file mode 100644 index 0000000..45bf56e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java @@ -0,0 +1,17 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.model.MeterAcceptanceCheck; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface MeterAcceptanceCheckMapper { + + Page acceptanceCheckList(Page page,@Param("request") AcceptanceCheckRequest request); + + List acceptanceCheckList(@Param("request") AcceptanceCheckRequest request); + + MeterAcceptanceCheck acceptanceCheckInfo(@Param("id") Long id); +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java index edac309..bb79e37 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java @@ -11,4 +11,5 @@ List queryEquipmentList(@Param("id") Long id); + List queryCheckList(@Param("acceptanceCheckId")String acceptanceCheckId); } diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml new file mode 100644 index 0000000..845c84d --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml @@ -0,0 +1,73 @@ + + + + + + SELECT + msa.id, + msa.apply_no, + msa.apply_type, + msa.approval_status, + msa.apply_name, + cmsa.apply_no AS checkApplyNo, + cmsa.apply_name AS checkApplyName, + DATE_FORMAT( msa.time, '%Y-%m-%d %H:%i' ) as checkDate, + msa.overhaul_person, + msa.apply_desc, + msa.process_id, + msa.process_result, + msa.remark, + cmsa.acceptance_check_id + FROM + meter_equipment_apply msa + LEFT JOIN meter_equipment_apply cmsa ON msa.id = cmsa.acceptance_check_id + where 1=1 and msa.is_del = 0 + + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml index a74e9f4..abddec6 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml @@ -19,5 +19,17 @@ and msae.apply_id = #{id} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml index 68882b9..caf811c 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml @@ -64,6 +64,12 @@ #{id} + + and msa.id in + + #{id} + + ORDER BY msa.create_time DESC diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index b27c287..ab1f7fa 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -78,4 +78,6 @@ String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; //检查结果 String CHECK_RESULT = "checkResult"; + //检查结果 + String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java new file mode 100644 index 0000000..9c338f8 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java @@ -0,0 +1,86 @@ +package com.casic.missiles.dto.meter; + +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@ApiModel +@Data +public class AcceptanceCheckRequest { + + /** + * 申请类型 + */ + @ApiModelProperty(value = "申请类型", dataType = "String",required = true) + private String applyType; + + /** + * 验收单编号 + */ + @ApiModelProperty(value = "验收单编号", dataType = "String") + private String applyNo; + + /** + * 验收单名称 + */ + @ApiModelProperty(value = "验收单名称", dataType = "String") + private String applyName; + + /** + * 检修单编号 + */ + @ApiModelProperty(value = "检修单编号", dataType = "String") + private String checkApplyNo; + + /** + * 检修保养人 + */ + @ApiModelProperty(value = "检修保养人", dataType = "String") + private String overhaulPerson; + + /** + * 检查日期开始时间 + */ + @ApiModelProperty(value = "检查日期开始时间", dataType = "String") + private String checkStartDate; + + /** + * 检查日期结束时间 + */ + @ApiModelProperty(value = "检查日期结束时间", dataType = "String") + private String checkEndDate; + + /** + * 审批状态 + */ + @ApiModelProperty(value = "审批状态", dataType = "String", required = true) + private String approvalStatus; + + /** + * 表单id + */ + @ApiModelProperty(value = "表单id", dataType = "String") + private String formId; + + /** + * 创建人 + */ + @ApiModelProperty(value = "创建人", dataType = "String", required = true) + private String createUser; + + /** + * 导出ids + */ + @ApiModelProperty(value = "导出ids", dataType = "List") + private List ids; + + /** + * 业务主键列表 + */ + @ApiModelProperty(value = "业务主键列表(工作流查询用,不用前端传)", dataType = "List") + private List businessKeys; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java index 8918886..850e04f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java @@ -18,7 +18,7 @@ @Data public class MeterEquipmentApplyRequest { /** - * 申请编号 + * 表单id */ @ApiModelProperty(value = "表单id", dataType = "String") private String formId; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java new file mode 100644 index 0000000..0861213 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java @@ -0,0 +1,124 @@ +package com.casic.missiles.controller.meter; + +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.BaseApprovalSubmitRequest; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.MeterAcceptanceCheck; +import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.meter.MeterAcceptanceCheckService; +import com.casic.missiles.service.meter.MeterEquipmentApplyService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + +@Api(tags = "设备检修保养验收单") +@Slf4j +@RestController +@RequestMapping("/acceptanceCheck") +public class MeterAcceptanceCheckController extends ExportController { + + @Resource + private MeterAcceptanceCheckService meterAcceptanceCheckService; + + @Resource + private MeterEquipmentApplyService meterEquipmentApplyService; + + /** + * 设备检修保养验收单列表 + */ + @ApiOperation("设备检修保养验收单列表") + @PostMapping("/acceptanceCheckList") + @ResponseBody + public ReturnDTO> acceptanceCheckList(@RequestBody AcceptanceCheckRequest request) throws Exception{ + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(meterAcceptanceCheckService.acceptanceCheckList(page, request))); + } + + /** + * 设备检修保养验收单详细信息 + */ + @ApiOperation("设备检修保养验收单详细信息") + @PostMapping("/acceptanceCheckInfo") + @ResponseBody + public ReturnDTO acceptanceCheckInfo(@RequestBody IdDTO idDTO) throws Exception{ + return ReturnUtil.success(meterAcceptanceCheckService.acceptanceCheckInfo(idDTO)); + } + + /** + * 设备检修保养验收单新建 + */ + @ApiOperation("设备检修保养验收单新建") + @PostMapping("/addAcceptanceCheck") + @ResponseBody + public ReturnDTO addAcceptanceCheck(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) throws Exception{ + return meterAcceptanceCheckService.addAcceptanceCheck(meterEquipmentApply); + } + + /** + * + * 设备检修保养验收单提交(必须先保存) + */ + @ApiOperation("设备检修保养验收单提交(必须先保存)") + @PostMapping("/submitEquipmentApply") + @ResponseBody + public ReturnDTO submitEquipmentApply(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) { + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.submitEquipmentApply(request); + } + + /** + * 设设备检修保养验收单删除 + */ + @ApiOperation("设设备检修保养验收单审批操作-删除") + @PostMapping("deleteEquipmentApply") + @ResponseBody + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); + } + + /** + * 设设备检修保养验收单编辑 + */ + @ApiOperation("设设备检修保养验收单编辑") + @PostMapping("/updateAcceptanceCheckInfo") + @ResponseBody + public ReturnDTO updateAcceptanceCheckInfo(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) { + return meterAcceptanceCheckService.updateAcceptanceCheckInfo(meterEquipmentApply); + } + + /** + * 设设备检修保养验收单导出 + */ + @ApiOperation("设设备检修保养验收单导出") + @PostMapping("/exportList") + @ResponseBody + public void exportList(@RequestBody AcceptanceCheckRequest request, HttpServletResponse response) throws Exception{ + try { + meterAcceptanceCheckService.exportList(request,response); + }catch (Exception e){ + e.printStackTrace(); + } + } + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java index e00b6b9..6e2f38e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java @@ -9,6 +9,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyProcessRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; @@ -97,11 +98,14 @@ /** * 设备借用申请列表删除 */ - @ApiOperation("设备借用申请列表删除") - @PostMapping("/deleteEquipmentApply") + @ApiOperation("设备借用申请列表审批操作-删除") + @PostMapping("deleteEquipmentApply") @ResponseBody - public ReturnDTO deleteEquipmentApply(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java index 052743c..03df967 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; import com.casic.missiles.exception.BusinessException; @@ -87,13 +88,17 @@ } /** - * 标准装置申请列表删除 + * 删除(发起者或具有删除权限的用户可以删除,已通过/未通过状态不可删除) + * 前端控制按钮权限 */ - @ApiOperation("标准装置申请列表删除") - @PostMapping("/deleteStandardEquipmentApply") + @ApiOperation("审批操作-删除") + @PostMapping("/approval/operate/delete") @ResponseBody - public ReturnDTO deleteStandardEquipmentApply(@RequestBody IdDTO idDto) { - return standardEquipmentApplyService.deleteStandardEquipmentApply(idDto); + public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return standardEquipmentApplyService.approvalDelete(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java index cdd073f..b9542e4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java @@ -8,17 +8,21 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStateManageRequest; import com.casic.missiles.dto.meter.MeterStateManageResponse; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.MeterCertificate; import com.casic.missiles.model.MeterCheckInfo; import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.meter.IMeterStateManageService; import com.casic.missiles.service.meter.MeterEquipmentApplyService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -63,8 +67,11 @@ @ApiOperation("状态管理申请列表删除") @PostMapping("/deleteStateManageList") @ResponseBody - public ReturnDTO deleteStateManageList(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteStateManageList(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 5c31709..b7bd107 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -26,7 +26,8 @@ METER_PRICE("meterPrice", "meterPrice", "价格库"), METER_STAFF("meterStaff", "meterStaff", "计量人员"), STANDARD_EQUIPMENT_APPLY("standardEquipmentApply", "standardEquipmentApply", "标准装置申请"), - STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"); + STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"), + METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java new file mode 100644 index 0000000..45bf56e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java @@ -0,0 +1,17 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.model.MeterAcceptanceCheck; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface MeterAcceptanceCheckMapper { + + Page acceptanceCheckList(Page page,@Param("request") AcceptanceCheckRequest request); + + List acceptanceCheckList(@Param("request") AcceptanceCheckRequest request); + + MeterAcceptanceCheck acceptanceCheckInfo(@Param("id") Long id); +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java index edac309..bb79e37 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java @@ -11,4 +11,5 @@ List queryEquipmentList(@Param("id") Long id); + List queryCheckList(@Param("acceptanceCheckId")String acceptanceCheckId); } diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml new file mode 100644 index 0000000..845c84d --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml @@ -0,0 +1,73 @@ + + + + + + SELECT + msa.id, + msa.apply_no, + msa.apply_type, + msa.approval_status, + msa.apply_name, + cmsa.apply_no AS checkApplyNo, + cmsa.apply_name AS checkApplyName, + DATE_FORMAT( msa.time, '%Y-%m-%d %H:%i' ) as checkDate, + msa.overhaul_person, + msa.apply_desc, + msa.process_id, + msa.process_result, + msa.remark, + cmsa.acceptance_check_id + FROM + meter_equipment_apply msa + LEFT JOIN meter_equipment_apply cmsa ON msa.id = cmsa.acceptance_check_id + where 1=1 and msa.is_del = 0 + + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml index a74e9f4..abddec6 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml @@ -19,5 +19,17 @@ and msae.apply_id = #{id} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml index 68882b9..caf811c 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml @@ -64,6 +64,12 @@ #{id} + + and msa.id in + + #{id} + + ORDER BY msa.create_time DESC diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index b27c287..ab1f7fa 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -78,4 +78,6 @@ String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; //检查结果 String CHECK_RESULT = "checkResult"; + //检查结果 + String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java new file mode 100644 index 0000000..9c338f8 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java @@ -0,0 +1,86 @@ +package com.casic.missiles.dto.meter; + +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@ApiModel +@Data +public class AcceptanceCheckRequest { + + /** + * 申请类型 + */ + @ApiModelProperty(value = "申请类型", dataType = "String",required = true) + private String applyType; + + /** + * 验收单编号 + */ + @ApiModelProperty(value = "验收单编号", dataType = "String") + private String applyNo; + + /** + * 验收单名称 + */ + @ApiModelProperty(value = "验收单名称", dataType = "String") + private String applyName; + + /** + * 检修单编号 + */ + @ApiModelProperty(value = "检修单编号", dataType = "String") + private String checkApplyNo; + + /** + * 检修保养人 + */ + @ApiModelProperty(value = "检修保养人", dataType = "String") + private String overhaulPerson; + + /** + * 检查日期开始时间 + */ + @ApiModelProperty(value = "检查日期开始时间", dataType = "String") + private String checkStartDate; + + /** + * 检查日期结束时间 + */ + @ApiModelProperty(value = "检查日期结束时间", dataType = "String") + private String checkEndDate; + + /** + * 审批状态 + */ + @ApiModelProperty(value = "审批状态", dataType = "String", required = true) + private String approvalStatus; + + /** + * 表单id + */ + @ApiModelProperty(value = "表单id", dataType = "String") + private String formId; + + /** + * 创建人 + */ + @ApiModelProperty(value = "创建人", dataType = "String", required = true) + private String createUser; + + /** + * 导出ids + */ + @ApiModelProperty(value = "导出ids", dataType = "List") + private List ids; + + /** + * 业务主键列表 + */ + @ApiModelProperty(value = "业务主键列表(工作流查询用,不用前端传)", dataType = "List") + private List businessKeys; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java index 8918886..850e04f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java @@ -18,7 +18,7 @@ @Data public class MeterEquipmentApplyRequest { /** - * 申请编号 + * 表单id */ @ApiModelProperty(value = "表单id", dataType = "String") private String formId; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java new file mode 100644 index 0000000..b0586b3 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java @@ -0,0 +1,154 @@ +package com.casic.missiles.model; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + + +@Data +@ApiModel +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +public class MeterAcceptanceCheck { + /** + * 主键 + */ + @ApiModelProperty(value = "主键", dataType = "Long") + private Long id; + + /** + * 检修申请id + */ + @ApiModelProperty(value = "检修申请id", dataType = "String") + private String acceptanceCheckId; + + /** + * 验收单编号 + */ + @ExcelProperty(value = "验收单编号",order = 0) + @ApiModelProperty(value = "验收单编号", dataType = "String") + private String applyNo; + + /** + * 验收单名称 + */ + @ExcelProperty(value = "验收单名称",order = 1) + @ApiModelProperty(value = "验收单名称", dataType = "String") + private String applyName; + + /** + * 检修单编号 + */ + @ExcelProperty(value = "检修单编号",order = 2) + @ApiModelProperty(value = "检修单编号", dataType = "String") + private String checkApplyNo; + + /** + * 检修单名称 + */ + @ExcelProperty(value = "检修单名称",order = 3) + @ApiModelProperty(value = "检修单名称", dataType = "String") + private String checkApplyName; + + /** + * 检修保养人 + */ + @ExcelProperty(value = "检修保养人",order = 4) + @ApiModelProperty(value = "检修保养人", dataType = "String") + private String overhaulPerson; + + /** + * 检修日期 + */ + @ExcelProperty(value = "检修日期",order = 5) + @ApiModelProperty(value = "检修日期", dataType = "String") + private String checkDate; + + /** + * 审批状态-字典code + */ + @TableField("approval_status") + @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) + @ApiModelProperty(value = "审批状态-字典code", dataType = "String") + private String approvalStatus; + + /** + * 审批状态名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "审批状态名称", dataType = "String") + private String approvalStatusName; + + /** + * 任务id + */ + @TableField(exist = false) + @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") + private String taskId; + + /** + * 备注 + */ + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String") + private String remark; + + /** + * 删除标记 + */ + @TableField("is_del") + @ApiModelProperty(value = "删除标记", dataType = "Integer") + private Integer isDel; + + + /** + * 创建人 + */ + @TableField("create_user") + @ApiModelProperty(value = "创建人", dataType = "String") + private String createUser; + + /** + * 创建时间 + */ + @TableField("create_time") + @ApiModelProperty(value = "创建时间", dataType = "String") + private String createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + @ApiModelProperty(value = "更新时间", dataType = "String") + private String updateTime; + + /** + * 检修设备列表 + */ + @TableField(exist = false) + @ApiModelProperty(value = "检修设备列表", dataType = "List") + List checkList; + + /** + * 附件列表 + */ + @TableField(exist = false) + @ApiModelProperty(value = "附件列表", dataType = "List") + List fileList; + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java new file mode 100644 index 0000000..0861213 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java @@ -0,0 +1,124 @@ +package com.casic.missiles.controller.meter; + +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.BaseApprovalSubmitRequest; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.MeterAcceptanceCheck; +import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.meter.MeterAcceptanceCheckService; +import com.casic.missiles.service.meter.MeterEquipmentApplyService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + +@Api(tags = "设备检修保养验收单") +@Slf4j +@RestController +@RequestMapping("/acceptanceCheck") +public class MeterAcceptanceCheckController extends ExportController { + + @Resource + private MeterAcceptanceCheckService meterAcceptanceCheckService; + + @Resource + private MeterEquipmentApplyService meterEquipmentApplyService; + + /** + * 设备检修保养验收单列表 + */ + @ApiOperation("设备检修保养验收单列表") + @PostMapping("/acceptanceCheckList") + @ResponseBody + public ReturnDTO> acceptanceCheckList(@RequestBody AcceptanceCheckRequest request) throws Exception{ + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(meterAcceptanceCheckService.acceptanceCheckList(page, request))); + } + + /** + * 设备检修保养验收单详细信息 + */ + @ApiOperation("设备检修保养验收单详细信息") + @PostMapping("/acceptanceCheckInfo") + @ResponseBody + public ReturnDTO acceptanceCheckInfo(@RequestBody IdDTO idDTO) throws Exception{ + return ReturnUtil.success(meterAcceptanceCheckService.acceptanceCheckInfo(idDTO)); + } + + /** + * 设备检修保养验收单新建 + */ + @ApiOperation("设备检修保养验收单新建") + @PostMapping("/addAcceptanceCheck") + @ResponseBody + public ReturnDTO addAcceptanceCheck(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) throws Exception{ + return meterAcceptanceCheckService.addAcceptanceCheck(meterEquipmentApply); + } + + /** + * + * 设备检修保养验收单提交(必须先保存) + */ + @ApiOperation("设备检修保养验收单提交(必须先保存)") + @PostMapping("/submitEquipmentApply") + @ResponseBody + public ReturnDTO submitEquipmentApply(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) { + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.submitEquipmentApply(request); + } + + /** + * 设设备检修保养验收单删除 + */ + @ApiOperation("设设备检修保养验收单审批操作-删除") + @PostMapping("deleteEquipmentApply") + @ResponseBody + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); + } + + /** + * 设设备检修保养验收单编辑 + */ + @ApiOperation("设设备检修保养验收单编辑") + @PostMapping("/updateAcceptanceCheckInfo") + @ResponseBody + public ReturnDTO updateAcceptanceCheckInfo(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) { + return meterAcceptanceCheckService.updateAcceptanceCheckInfo(meterEquipmentApply); + } + + /** + * 设设备检修保养验收单导出 + */ + @ApiOperation("设设备检修保养验收单导出") + @PostMapping("/exportList") + @ResponseBody + public void exportList(@RequestBody AcceptanceCheckRequest request, HttpServletResponse response) throws Exception{ + try { + meterAcceptanceCheckService.exportList(request,response); + }catch (Exception e){ + e.printStackTrace(); + } + } + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java index e00b6b9..6e2f38e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java @@ -9,6 +9,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyProcessRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; @@ -97,11 +98,14 @@ /** * 设备借用申请列表删除 */ - @ApiOperation("设备借用申请列表删除") - @PostMapping("/deleteEquipmentApply") + @ApiOperation("设备借用申请列表审批操作-删除") + @PostMapping("deleteEquipmentApply") @ResponseBody - public ReturnDTO deleteEquipmentApply(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java index 052743c..03df967 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; import com.casic.missiles.exception.BusinessException; @@ -87,13 +88,17 @@ } /** - * 标准装置申请列表删除 + * 删除(发起者或具有删除权限的用户可以删除,已通过/未通过状态不可删除) + * 前端控制按钮权限 */ - @ApiOperation("标准装置申请列表删除") - @PostMapping("/deleteStandardEquipmentApply") + @ApiOperation("审批操作-删除") + @PostMapping("/approval/operate/delete") @ResponseBody - public ReturnDTO deleteStandardEquipmentApply(@RequestBody IdDTO idDto) { - return standardEquipmentApplyService.deleteStandardEquipmentApply(idDto); + public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return standardEquipmentApplyService.approvalDelete(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java index cdd073f..b9542e4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java @@ -8,17 +8,21 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStateManageRequest; import com.casic.missiles.dto.meter.MeterStateManageResponse; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.MeterCertificate; import com.casic.missiles.model.MeterCheckInfo; import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.meter.IMeterStateManageService; import com.casic.missiles.service.meter.MeterEquipmentApplyService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -63,8 +67,11 @@ @ApiOperation("状态管理申请列表删除") @PostMapping("/deleteStateManageList") @ResponseBody - public ReturnDTO deleteStateManageList(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteStateManageList(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 5c31709..b7bd107 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -26,7 +26,8 @@ METER_PRICE("meterPrice", "meterPrice", "价格库"), METER_STAFF("meterStaff", "meterStaff", "计量人员"), STANDARD_EQUIPMENT_APPLY("standardEquipmentApply", "standardEquipmentApply", "标准装置申请"), - STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"); + STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"), + METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java new file mode 100644 index 0000000..45bf56e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java @@ -0,0 +1,17 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.model.MeterAcceptanceCheck; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface MeterAcceptanceCheckMapper { + + Page acceptanceCheckList(Page page,@Param("request") AcceptanceCheckRequest request); + + List acceptanceCheckList(@Param("request") AcceptanceCheckRequest request); + + MeterAcceptanceCheck acceptanceCheckInfo(@Param("id") Long id); +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java index edac309..bb79e37 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java @@ -11,4 +11,5 @@ List queryEquipmentList(@Param("id") Long id); + List queryCheckList(@Param("acceptanceCheckId")String acceptanceCheckId); } diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml new file mode 100644 index 0000000..845c84d --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml @@ -0,0 +1,73 @@ + + + + + + SELECT + msa.id, + msa.apply_no, + msa.apply_type, + msa.approval_status, + msa.apply_name, + cmsa.apply_no AS checkApplyNo, + cmsa.apply_name AS checkApplyName, + DATE_FORMAT( msa.time, '%Y-%m-%d %H:%i' ) as checkDate, + msa.overhaul_person, + msa.apply_desc, + msa.process_id, + msa.process_result, + msa.remark, + cmsa.acceptance_check_id + FROM + meter_equipment_apply msa + LEFT JOIN meter_equipment_apply cmsa ON msa.id = cmsa.acceptance_check_id + where 1=1 and msa.is_del = 0 + + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml index a74e9f4..abddec6 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml @@ -19,5 +19,17 @@ and msae.apply_id = #{id} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml index 68882b9..caf811c 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml @@ -64,6 +64,12 @@ #{id} + + and msa.id in + + #{id} + + ORDER BY msa.create_time DESC diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index b27c287..ab1f7fa 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -78,4 +78,6 @@ String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; //检查结果 String CHECK_RESULT = "checkResult"; + //检查结果 + String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java new file mode 100644 index 0000000..9c338f8 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java @@ -0,0 +1,86 @@ +package com.casic.missiles.dto.meter; + +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@ApiModel +@Data +public class AcceptanceCheckRequest { + + /** + * 申请类型 + */ + @ApiModelProperty(value = "申请类型", dataType = "String",required = true) + private String applyType; + + /** + * 验收单编号 + */ + @ApiModelProperty(value = "验收单编号", dataType = "String") + private String applyNo; + + /** + * 验收单名称 + */ + @ApiModelProperty(value = "验收单名称", dataType = "String") + private String applyName; + + /** + * 检修单编号 + */ + @ApiModelProperty(value = "检修单编号", dataType = "String") + private String checkApplyNo; + + /** + * 检修保养人 + */ + @ApiModelProperty(value = "检修保养人", dataType = "String") + private String overhaulPerson; + + /** + * 检查日期开始时间 + */ + @ApiModelProperty(value = "检查日期开始时间", dataType = "String") + private String checkStartDate; + + /** + * 检查日期结束时间 + */ + @ApiModelProperty(value = "检查日期结束时间", dataType = "String") + private String checkEndDate; + + /** + * 审批状态 + */ + @ApiModelProperty(value = "审批状态", dataType = "String", required = true) + private String approvalStatus; + + /** + * 表单id + */ + @ApiModelProperty(value = "表单id", dataType = "String") + private String formId; + + /** + * 创建人 + */ + @ApiModelProperty(value = "创建人", dataType = "String", required = true) + private String createUser; + + /** + * 导出ids + */ + @ApiModelProperty(value = "导出ids", dataType = "List") + private List ids; + + /** + * 业务主键列表 + */ + @ApiModelProperty(value = "业务主键列表(工作流查询用,不用前端传)", dataType = "List") + private List businessKeys; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java index 8918886..850e04f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java @@ -18,7 +18,7 @@ @Data public class MeterEquipmentApplyRequest { /** - * 申请编号 + * 表单id */ @ApiModelProperty(value = "表单id", dataType = "String") private String formId; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java new file mode 100644 index 0000000..b0586b3 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java @@ -0,0 +1,154 @@ +package com.casic.missiles.model; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + + +@Data +@ApiModel +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +public class MeterAcceptanceCheck { + /** + * 主键 + */ + @ApiModelProperty(value = "主键", dataType = "Long") + private Long id; + + /** + * 检修申请id + */ + @ApiModelProperty(value = "检修申请id", dataType = "String") + private String acceptanceCheckId; + + /** + * 验收单编号 + */ + @ExcelProperty(value = "验收单编号",order = 0) + @ApiModelProperty(value = "验收单编号", dataType = "String") + private String applyNo; + + /** + * 验收单名称 + */ + @ExcelProperty(value = "验收单名称",order = 1) + @ApiModelProperty(value = "验收单名称", dataType = "String") + private String applyName; + + /** + * 检修单编号 + */ + @ExcelProperty(value = "检修单编号",order = 2) + @ApiModelProperty(value = "检修单编号", dataType = "String") + private String checkApplyNo; + + /** + * 检修单名称 + */ + @ExcelProperty(value = "检修单名称",order = 3) + @ApiModelProperty(value = "检修单名称", dataType = "String") + private String checkApplyName; + + /** + * 检修保养人 + */ + @ExcelProperty(value = "检修保养人",order = 4) + @ApiModelProperty(value = "检修保养人", dataType = "String") + private String overhaulPerson; + + /** + * 检修日期 + */ + @ExcelProperty(value = "检修日期",order = 5) + @ApiModelProperty(value = "检修日期", dataType = "String") + private String checkDate; + + /** + * 审批状态-字典code + */ + @TableField("approval_status") + @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) + @ApiModelProperty(value = "审批状态-字典code", dataType = "String") + private String approvalStatus; + + /** + * 审批状态名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "审批状态名称", dataType = "String") + private String approvalStatusName; + + /** + * 任务id + */ + @TableField(exist = false) + @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") + private String taskId; + + /** + * 备注 + */ + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String") + private String remark; + + /** + * 删除标记 + */ + @TableField("is_del") + @ApiModelProperty(value = "删除标记", dataType = "Integer") + private Integer isDel; + + + /** + * 创建人 + */ + @TableField("create_user") + @ApiModelProperty(value = "创建人", dataType = "String") + private String createUser; + + /** + * 创建时间 + */ + @TableField("create_time") + @ApiModelProperty(value = "创建时间", dataType = "String") + private String createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + @ApiModelProperty(value = "更新时间", dataType = "String") + private String updateTime; + + /** + * 检修设备列表 + */ + @TableField(exist = false) + @ApiModelProperty(value = "检修设备列表", dataType = "List") + List checkList; + + /** + * 附件列表 + */ + @TableField(exist = false) + @ApiModelProperty(value = "附件列表", dataType = "List") + List fileList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java index 1f0a575..59bbf54 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java @@ -225,4 +225,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + + /** + * 检修申请id + */ + @TableField("acceptance_check_id") + @ApiModelProperty(value = "检修申请id", dataType = "String") + private String acceptanceCheckId; + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java new file mode 100644 index 0000000..0861213 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java @@ -0,0 +1,124 @@ +package com.casic.missiles.controller.meter; + +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.BaseApprovalSubmitRequest; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.MeterAcceptanceCheck; +import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.meter.MeterAcceptanceCheckService; +import com.casic.missiles.service.meter.MeterEquipmentApplyService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + +@Api(tags = "设备检修保养验收单") +@Slf4j +@RestController +@RequestMapping("/acceptanceCheck") +public class MeterAcceptanceCheckController extends ExportController { + + @Resource + private MeterAcceptanceCheckService meterAcceptanceCheckService; + + @Resource + private MeterEquipmentApplyService meterEquipmentApplyService; + + /** + * 设备检修保养验收单列表 + */ + @ApiOperation("设备检修保养验收单列表") + @PostMapping("/acceptanceCheckList") + @ResponseBody + public ReturnDTO> acceptanceCheckList(@RequestBody AcceptanceCheckRequest request) throws Exception{ + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(meterAcceptanceCheckService.acceptanceCheckList(page, request))); + } + + /** + * 设备检修保养验收单详细信息 + */ + @ApiOperation("设备检修保养验收单详细信息") + @PostMapping("/acceptanceCheckInfo") + @ResponseBody + public ReturnDTO acceptanceCheckInfo(@RequestBody IdDTO idDTO) throws Exception{ + return ReturnUtil.success(meterAcceptanceCheckService.acceptanceCheckInfo(idDTO)); + } + + /** + * 设备检修保养验收单新建 + */ + @ApiOperation("设备检修保养验收单新建") + @PostMapping("/addAcceptanceCheck") + @ResponseBody + public ReturnDTO addAcceptanceCheck(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) throws Exception{ + return meterAcceptanceCheckService.addAcceptanceCheck(meterEquipmentApply); + } + + /** + * + * 设备检修保养验收单提交(必须先保存) + */ + @ApiOperation("设备检修保养验收单提交(必须先保存)") + @PostMapping("/submitEquipmentApply") + @ResponseBody + public ReturnDTO submitEquipmentApply(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) { + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.submitEquipmentApply(request); + } + + /** + * 设设备检修保养验收单删除 + */ + @ApiOperation("设设备检修保养验收单审批操作-删除") + @PostMapping("deleteEquipmentApply") + @ResponseBody + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); + } + + /** + * 设设备检修保养验收单编辑 + */ + @ApiOperation("设设备检修保养验收单编辑") + @PostMapping("/updateAcceptanceCheckInfo") + @ResponseBody + public ReturnDTO updateAcceptanceCheckInfo(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) { + return meterAcceptanceCheckService.updateAcceptanceCheckInfo(meterEquipmentApply); + } + + /** + * 设设备检修保养验收单导出 + */ + @ApiOperation("设设备检修保养验收单导出") + @PostMapping("/exportList") + @ResponseBody + public void exportList(@RequestBody AcceptanceCheckRequest request, HttpServletResponse response) throws Exception{ + try { + meterAcceptanceCheckService.exportList(request,response); + }catch (Exception e){ + e.printStackTrace(); + } + } + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java index e00b6b9..6e2f38e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java @@ -9,6 +9,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyProcessRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; @@ -97,11 +98,14 @@ /** * 设备借用申请列表删除 */ - @ApiOperation("设备借用申请列表删除") - @PostMapping("/deleteEquipmentApply") + @ApiOperation("设备借用申请列表审批操作-删除") + @PostMapping("deleteEquipmentApply") @ResponseBody - public ReturnDTO deleteEquipmentApply(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java index 052743c..03df967 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; import com.casic.missiles.exception.BusinessException; @@ -87,13 +88,17 @@ } /** - * 标准装置申请列表删除 + * 删除(发起者或具有删除权限的用户可以删除,已通过/未通过状态不可删除) + * 前端控制按钮权限 */ - @ApiOperation("标准装置申请列表删除") - @PostMapping("/deleteStandardEquipmentApply") + @ApiOperation("审批操作-删除") + @PostMapping("/approval/operate/delete") @ResponseBody - public ReturnDTO deleteStandardEquipmentApply(@RequestBody IdDTO idDto) { - return standardEquipmentApplyService.deleteStandardEquipmentApply(idDto); + public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return standardEquipmentApplyService.approvalDelete(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java index cdd073f..b9542e4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java @@ -8,17 +8,21 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStateManageRequest; import com.casic.missiles.dto.meter.MeterStateManageResponse; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.MeterCertificate; import com.casic.missiles.model.MeterCheckInfo; import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.meter.IMeterStateManageService; import com.casic.missiles.service.meter.MeterEquipmentApplyService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -63,8 +67,11 @@ @ApiOperation("状态管理申请列表删除") @PostMapping("/deleteStateManageList") @ResponseBody - public ReturnDTO deleteStateManageList(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteStateManageList(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 5c31709..b7bd107 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -26,7 +26,8 @@ METER_PRICE("meterPrice", "meterPrice", "价格库"), METER_STAFF("meterStaff", "meterStaff", "计量人员"), STANDARD_EQUIPMENT_APPLY("standardEquipmentApply", "standardEquipmentApply", "标准装置申请"), - STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"); + STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"), + METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java new file mode 100644 index 0000000..45bf56e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java @@ -0,0 +1,17 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.model.MeterAcceptanceCheck; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface MeterAcceptanceCheckMapper { + + Page acceptanceCheckList(Page page,@Param("request") AcceptanceCheckRequest request); + + List acceptanceCheckList(@Param("request") AcceptanceCheckRequest request); + + MeterAcceptanceCheck acceptanceCheckInfo(@Param("id") Long id); +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java index edac309..bb79e37 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java @@ -11,4 +11,5 @@ List queryEquipmentList(@Param("id") Long id); + List queryCheckList(@Param("acceptanceCheckId")String acceptanceCheckId); } diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml new file mode 100644 index 0000000..845c84d --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml @@ -0,0 +1,73 @@ + + + + + + SELECT + msa.id, + msa.apply_no, + msa.apply_type, + msa.approval_status, + msa.apply_name, + cmsa.apply_no AS checkApplyNo, + cmsa.apply_name AS checkApplyName, + DATE_FORMAT( msa.time, '%Y-%m-%d %H:%i' ) as checkDate, + msa.overhaul_person, + msa.apply_desc, + msa.process_id, + msa.process_result, + msa.remark, + cmsa.acceptance_check_id + FROM + meter_equipment_apply msa + LEFT JOIN meter_equipment_apply cmsa ON msa.id = cmsa.acceptance_check_id + where 1=1 and msa.is_del = 0 + + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml index a74e9f4..abddec6 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml @@ -19,5 +19,17 @@ and msae.apply_id = #{id} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml index 68882b9..caf811c 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml @@ -64,6 +64,12 @@ #{id} + + and msa.id in + + #{id} + + ORDER BY msa.create_time DESC diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index b27c287..ab1f7fa 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -78,4 +78,6 @@ String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; //检查结果 String CHECK_RESULT = "checkResult"; + //检查结果 + String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java new file mode 100644 index 0000000..9c338f8 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java @@ -0,0 +1,86 @@ +package com.casic.missiles.dto.meter; + +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@ApiModel +@Data +public class AcceptanceCheckRequest { + + /** + * 申请类型 + */ + @ApiModelProperty(value = "申请类型", dataType = "String",required = true) + private String applyType; + + /** + * 验收单编号 + */ + @ApiModelProperty(value = "验收单编号", dataType = "String") + private String applyNo; + + /** + * 验收单名称 + */ + @ApiModelProperty(value = "验收单名称", dataType = "String") + private String applyName; + + /** + * 检修单编号 + */ + @ApiModelProperty(value = "检修单编号", dataType = "String") + private String checkApplyNo; + + /** + * 检修保养人 + */ + @ApiModelProperty(value = "检修保养人", dataType = "String") + private String overhaulPerson; + + /** + * 检查日期开始时间 + */ + @ApiModelProperty(value = "检查日期开始时间", dataType = "String") + private String checkStartDate; + + /** + * 检查日期结束时间 + */ + @ApiModelProperty(value = "检查日期结束时间", dataType = "String") + private String checkEndDate; + + /** + * 审批状态 + */ + @ApiModelProperty(value = "审批状态", dataType = "String", required = true) + private String approvalStatus; + + /** + * 表单id + */ + @ApiModelProperty(value = "表单id", dataType = "String") + private String formId; + + /** + * 创建人 + */ + @ApiModelProperty(value = "创建人", dataType = "String", required = true) + private String createUser; + + /** + * 导出ids + */ + @ApiModelProperty(value = "导出ids", dataType = "List") + private List ids; + + /** + * 业务主键列表 + */ + @ApiModelProperty(value = "业务主键列表(工作流查询用,不用前端传)", dataType = "List") + private List businessKeys; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java index 8918886..850e04f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java @@ -18,7 +18,7 @@ @Data public class MeterEquipmentApplyRequest { /** - * 申请编号 + * 表单id */ @ApiModelProperty(value = "表单id", dataType = "String") private String formId; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java new file mode 100644 index 0000000..b0586b3 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java @@ -0,0 +1,154 @@ +package com.casic.missiles.model; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + + +@Data +@ApiModel +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +public class MeterAcceptanceCheck { + /** + * 主键 + */ + @ApiModelProperty(value = "主键", dataType = "Long") + private Long id; + + /** + * 检修申请id + */ + @ApiModelProperty(value = "检修申请id", dataType = "String") + private String acceptanceCheckId; + + /** + * 验收单编号 + */ + @ExcelProperty(value = "验收单编号",order = 0) + @ApiModelProperty(value = "验收单编号", dataType = "String") + private String applyNo; + + /** + * 验收单名称 + */ + @ExcelProperty(value = "验收单名称",order = 1) + @ApiModelProperty(value = "验收单名称", dataType = "String") + private String applyName; + + /** + * 检修单编号 + */ + @ExcelProperty(value = "检修单编号",order = 2) + @ApiModelProperty(value = "检修单编号", dataType = "String") + private String checkApplyNo; + + /** + * 检修单名称 + */ + @ExcelProperty(value = "检修单名称",order = 3) + @ApiModelProperty(value = "检修单名称", dataType = "String") + private String checkApplyName; + + /** + * 检修保养人 + */ + @ExcelProperty(value = "检修保养人",order = 4) + @ApiModelProperty(value = "检修保养人", dataType = "String") + private String overhaulPerson; + + /** + * 检修日期 + */ + @ExcelProperty(value = "检修日期",order = 5) + @ApiModelProperty(value = "检修日期", dataType = "String") + private String checkDate; + + /** + * 审批状态-字典code + */ + @TableField("approval_status") + @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) + @ApiModelProperty(value = "审批状态-字典code", dataType = "String") + private String approvalStatus; + + /** + * 审批状态名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "审批状态名称", dataType = "String") + private String approvalStatusName; + + /** + * 任务id + */ + @TableField(exist = false) + @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") + private String taskId; + + /** + * 备注 + */ + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String") + private String remark; + + /** + * 删除标记 + */ + @TableField("is_del") + @ApiModelProperty(value = "删除标记", dataType = "Integer") + private Integer isDel; + + + /** + * 创建人 + */ + @TableField("create_user") + @ApiModelProperty(value = "创建人", dataType = "String") + private String createUser; + + /** + * 创建时间 + */ + @TableField("create_time") + @ApiModelProperty(value = "创建时间", dataType = "String") + private String createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + @ApiModelProperty(value = "更新时间", dataType = "String") + private String updateTime; + + /** + * 检修设备列表 + */ + @TableField(exist = false) + @ApiModelProperty(value = "检修设备列表", dataType = "List") + List checkList; + + /** + * 附件列表 + */ + @TableField(exist = false) + @ApiModelProperty(value = "附件列表", dataType = "List") + List fileList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java index 1f0a575..59bbf54 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java @@ -225,4 +225,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + + /** + * 检修申请id + */ + @TableField("acceptance_check_id") + @ApiModelProperty(value = "检修申请id", dataType = "String") + private String acceptanceCheckId; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java index 67cac45..5453c95 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -85,10 +87,18 @@ * 检修结果-字典code(设备检修保养验收申请) */ @TableField("overhaul_result") + @DictCodeField(message = "检修结果不合法", cacheName = MeterDictCode.ACCEPTANCE_CHECK_RESULT) @ApiModelProperty(value = "检修结果-字典code(设备检修保养验收申请)", dataType = "String") private String overhaulResult; /** + * 检修结果名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "检修结果名称", dataType = "String") + private String overhaulResultName; + + /** * 检修意见(设备检修保养验收申请) */ @TableField("overhaul_idea") @@ -136,4 +146,11 @@ @TableField(exist = false) @ApiModelProperty(value = "设备编号", dataType = "String") private String equipmentNo; + + /** + * 设备名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "设备名称", dataType = "String") + private String equipmentName; } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java new file mode 100644 index 0000000..0861213 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java @@ -0,0 +1,124 @@ +package com.casic.missiles.controller.meter; + +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.BaseApprovalSubmitRequest; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.MeterAcceptanceCheck; +import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.meter.MeterAcceptanceCheckService; +import com.casic.missiles.service.meter.MeterEquipmentApplyService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + +@Api(tags = "设备检修保养验收单") +@Slf4j +@RestController +@RequestMapping("/acceptanceCheck") +public class MeterAcceptanceCheckController extends ExportController { + + @Resource + private MeterAcceptanceCheckService meterAcceptanceCheckService; + + @Resource + private MeterEquipmentApplyService meterEquipmentApplyService; + + /** + * 设备检修保养验收单列表 + */ + @ApiOperation("设备检修保养验收单列表") + @PostMapping("/acceptanceCheckList") + @ResponseBody + public ReturnDTO> acceptanceCheckList(@RequestBody AcceptanceCheckRequest request) throws Exception{ + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(meterAcceptanceCheckService.acceptanceCheckList(page, request))); + } + + /** + * 设备检修保养验收单详细信息 + */ + @ApiOperation("设备检修保养验收单详细信息") + @PostMapping("/acceptanceCheckInfo") + @ResponseBody + public ReturnDTO acceptanceCheckInfo(@RequestBody IdDTO idDTO) throws Exception{ + return ReturnUtil.success(meterAcceptanceCheckService.acceptanceCheckInfo(idDTO)); + } + + /** + * 设备检修保养验收单新建 + */ + @ApiOperation("设备检修保养验收单新建") + @PostMapping("/addAcceptanceCheck") + @ResponseBody + public ReturnDTO addAcceptanceCheck(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) throws Exception{ + return meterAcceptanceCheckService.addAcceptanceCheck(meterEquipmentApply); + } + + /** + * + * 设备检修保养验收单提交(必须先保存) + */ + @ApiOperation("设备检修保养验收单提交(必须先保存)") + @PostMapping("/submitEquipmentApply") + @ResponseBody + public ReturnDTO submitEquipmentApply(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) { + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.submitEquipmentApply(request); + } + + /** + * 设设备检修保养验收单删除 + */ + @ApiOperation("设设备检修保养验收单审批操作-删除") + @PostMapping("deleteEquipmentApply") + @ResponseBody + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); + } + + /** + * 设设备检修保养验收单编辑 + */ + @ApiOperation("设设备检修保养验收单编辑") + @PostMapping("/updateAcceptanceCheckInfo") + @ResponseBody + public ReturnDTO updateAcceptanceCheckInfo(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) { + return meterAcceptanceCheckService.updateAcceptanceCheckInfo(meterEquipmentApply); + } + + /** + * 设设备检修保养验收单导出 + */ + @ApiOperation("设设备检修保养验收单导出") + @PostMapping("/exportList") + @ResponseBody + public void exportList(@RequestBody AcceptanceCheckRequest request, HttpServletResponse response) throws Exception{ + try { + meterAcceptanceCheckService.exportList(request,response); + }catch (Exception e){ + e.printStackTrace(); + } + } + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java index e00b6b9..6e2f38e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java @@ -9,6 +9,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyProcessRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; @@ -97,11 +98,14 @@ /** * 设备借用申请列表删除 */ - @ApiOperation("设备借用申请列表删除") - @PostMapping("/deleteEquipmentApply") + @ApiOperation("设备借用申请列表审批操作-删除") + @PostMapping("deleteEquipmentApply") @ResponseBody - public ReturnDTO deleteEquipmentApply(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java index 052743c..03df967 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; import com.casic.missiles.exception.BusinessException; @@ -87,13 +88,17 @@ } /** - * 标准装置申请列表删除 + * 删除(发起者或具有删除权限的用户可以删除,已通过/未通过状态不可删除) + * 前端控制按钮权限 */ - @ApiOperation("标准装置申请列表删除") - @PostMapping("/deleteStandardEquipmentApply") + @ApiOperation("审批操作-删除") + @PostMapping("/approval/operate/delete") @ResponseBody - public ReturnDTO deleteStandardEquipmentApply(@RequestBody IdDTO idDto) { - return standardEquipmentApplyService.deleteStandardEquipmentApply(idDto); + public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return standardEquipmentApplyService.approvalDelete(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java index cdd073f..b9542e4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java @@ -8,17 +8,21 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStateManageRequest; import com.casic.missiles.dto.meter.MeterStateManageResponse; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.MeterCertificate; import com.casic.missiles.model.MeterCheckInfo; import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.meter.IMeterStateManageService; import com.casic.missiles.service.meter.MeterEquipmentApplyService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -63,8 +67,11 @@ @ApiOperation("状态管理申请列表删除") @PostMapping("/deleteStateManageList") @ResponseBody - public ReturnDTO deleteStateManageList(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteStateManageList(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 5c31709..b7bd107 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -26,7 +26,8 @@ METER_PRICE("meterPrice", "meterPrice", "价格库"), METER_STAFF("meterStaff", "meterStaff", "计量人员"), STANDARD_EQUIPMENT_APPLY("standardEquipmentApply", "standardEquipmentApply", "标准装置申请"), - STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"); + STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"), + METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java new file mode 100644 index 0000000..45bf56e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java @@ -0,0 +1,17 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.model.MeterAcceptanceCheck; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface MeterAcceptanceCheckMapper { + + Page acceptanceCheckList(Page page,@Param("request") AcceptanceCheckRequest request); + + List acceptanceCheckList(@Param("request") AcceptanceCheckRequest request); + + MeterAcceptanceCheck acceptanceCheckInfo(@Param("id") Long id); +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java index edac309..bb79e37 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java @@ -11,4 +11,5 @@ List queryEquipmentList(@Param("id") Long id); + List queryCheckList(@Param("acceptanceCheckId")String acceptanceCheckId); } diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml new file mode 100644 index 0000000..845c84d --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml @@ -0,0 +1,73 @@ + + + + + + SELECT + msa.id, + msa.apply_no, + msa.apply_type, + msa.approval_status, + msa.apply_name, + cmsa.apply_no AS checkApplyNo, + cmsa.apply_name AS checkApplyName, + DATE_FORMAT( msa.time, '%Y-%m-%d %H:%i' ) as checkDate, + msa.overhaul_person, + msa.apply_desc, + msa.process_id, + msa.process_result, + msa.remark, + cmsa.acceptance_check_id + FROM + meter_equipment_apply msa + LEFT JOIN meter_equipment_apply cmsa ON msa.id = cmsa.acceptance_check_id + where 1=1 and msa.is_del = 0 + + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml index a74e9f4..abddec6 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml @@ -19,5 +19,17 @@ and msae.apply_id = #{id} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml index 68882b9..caf811c 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml @@ -64,6 +64,12 @@ #{id} + + and msa.id in + + #{id} + + ORDER BY msa.create_time DESC diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index b27c287..ab1f7fa 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -78,4 +78,6 @@ String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; //检查结果 String CHECK_RESULT = "checkResult"; + //检查结果 + String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java new file mode 100644 index 0000000..9c338f8 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java @@ -0,0 +1,86 @@ +package com.casic.missiles.dto.meter; + +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@ApiModel +@Data +public class AcceptanceCheckRequest { + + /** + * 申请类型 + */ + @ApiModelProperty(value = "申请类型", dataType = "String",required = true) + private String applyType; + + /** + * 验收单编号 + */ + @ApiModelProperty(value = "验收单编号", dataType = "String") + private String applyNo; + + /** + * 验收单名称 + */ + @ApiModelProperty(value = "验收单名称", dataType = "String") + private String applyName; + + /** + * 检修单编号 + */ + @ApiModelProperty(value = "检修单编号", dataType = "String") + private String checkApplyNo; + + /** + * 检修保养人 + */ + @ApiModelProperty(value = "检修保养人", dataType = "String") + private String overhaulPerson; + + /** + * 检查日期开始时间 + */ + @ApiModelProperty(value = "检查日期开始时间", dataType = "String") + private String checkStartDate; + + /** + * 检查日期结束时间 + */ + @ApiModelProperty(value = "检查日期结束时间", dataType = "String") + private String checkEndDate; + + /** + * 审批状态 + */ + @ApiModelProperty(value = "审批状态", dataType = "String", required = true) + private String approvalStatus; + + /** + * 表单id + */ + @ApiModelProperty(value = "表单id", dataType = "String") + private String formId; + + /** + * 创建人 + */ + @ApiModelProperty(value = "创建人", dataType = "String", required = true) + private String createUser; + + /** + * 导出ids + */ + @ApiModelProperty(value = "导出ids", dataType = "List") + private List ids; + + /** + * 业务主键列表 + */ + @ApiModelProperty(value = "业务主键列表(工作流查询用,不用前端传)", dataType = "List") + private List businessKeys; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java index 8918886..850e04f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java @@ -18,7 +18,7 @@ @Data public class MeterEquipmentApplyRequest { /** - * 申请编号 + * 表单id */ @ApiModelProperty(value = "表单id", dataType = "String") private String formId; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java new file mode 100644 index 0000000..b0586b3 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java @@ -0,0 +1,154 @@ +package com.casic.missiles.model; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + + +@Data +@ApiModel +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +public class MeterAcceptanceCheck { + /** + * 主键 + */ + @ApiModelProperty(value = "主键", dataType = "Long") + private Long id; + + /** + * 检修申请id + */ + @ApiModelProperty(value = "检修申请id", dataType = "String") + private String acceptanceCheckId; + + /** + * 验收单编号 + */ + @ExcelProperty(value = "验收单编号",order = 0) + @ApiModelProperty(value = "验收单编号", dataType = "String") + private String applyNo; + + /** + * 验收单名称 + */ + @ExcelProperty(value = "验收单名称",order = 1) + @ApiModelProperty(value = "验收单名称", dataType = "String") + private String applyName; + + /** + * 检修单编号 + */ + @ExcelProperty(value = "检修单编号",order = 2) + @ApiModelProperty(value = "检修单编号", dataType = "String") + private String checkApplyNo; + + /** + * 检修单名称 + */ + @ExcelProperty(value = "检修单名称",order = 3) + @ApiModelProperty(value = "检修单名称", dataType = "String") + private String checkApplyName; + + /** + * 检修保养人 + */ + @ExcelProperty(value = "检修保养人",order = 4) + @ApiModelProperty(value = "检修保养人", dataType = "String") + private String overhaulPerson; + + /** + * 检修日期 + */ + @ExcelProperty(value = "检修日期",order = 5) + @ApiModelProperty(value = "检修日期", dataType = "String") + private String checkDate; + + /** + * 审批状态-字典code + */ + @TableField("approval_status") + @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) + @ApiModelProperty(value = "审批状态-字典code", dataType = "String") + private String approvalStatus; + + /** + * 审批状态名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "审批状态名称", dataType = "String") + private String approvalStatusName; + + /** + * 任务id + */ + @TableField(exist = false) + @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") + private String taskId; + + /** + * 备注 + */ + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String") + private String remark; + + /** + * 删除标记 + */ + @TableField("is_del") + @ApiModelProperty(value = "删除标记", dataType = "Integer") + private Integer isDel; + + + /** + * 创建人 + */ + @TableField("create_user") + @ApiModelProperty(value = "创建人", dataType = "String") + private String createUser; + + /** + * 创建时间 + */ + @TableField("create_time") + @ApiModelProperty(value = "创建时间", dataType = "String") + private String createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + @ApiModelProperty(value = "更新时间", dataType = "String") + private String updateTime; + + /** + * 检修设备列表 + */ + @TableField(exist = false) + @ApiModelProperty(value = "检修设备列表", dataType = "List") + List checkList; + + /** + * 附件列表 + */ + @TableField(exist = false) + @ApiModelProperty(value = "附件列表", dataType = "List") + List fileList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java index 1f0a575..59bbf54 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java @@ -225,4 +225,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + + /** + * 检修申请id + */ + @TableField("acceptance_check_id") + @ApiModelProperty(value = "检修申请id", dataType = "String") + private String acceptanceCheckId; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java index 67cac45..5453c95 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -85,10 +87,18 @@ * 检修结果-字典code(设备检修保养验收申请) */ @TableField("overhaul_result") + @DictCodeField(message = "检修结果不合法", cacheName = MeterDictCode.ACCEPTANCE_CHECK_RESULT) @ApiModelProperty(value = "检修结果-字典code(设备检修保养验收申请)", dataType = "String") private String overhaulResult; /** + * 检修结果名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "检修结果名称", dataType = "String") + private String overhaulResultName; + + /** * 检修意见(设备检修保养验收申请) */ @TableField("overhaul_idea") @@ -136,4 +146,11 @@ @TableField(exist = false) @ApiModelProperty(value = "设备编号", dataType = "String") private String equipmentNo; + + /** + * 设备名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "设备名称", dataType = "String") + private String equipmentName; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/UserInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/UserInfo.java index c80e72d..92a2c6a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/UserInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/UserInfo.java @@ -15,6 +15,9 @@ private static final long serialVersionUID = 1L; + @TableId("id") + private Long id; + @TableField("dept_id") @ApiModelProperty(value = "部门id", dataType = "String") private String deptId; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java new file mode 100644 index 0000000..0861213 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java @@ -0,0 +1,124 @@ +package com.casic.missiles.controller.meter; + +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.BaseApprovalSubmitRequest; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.MeterAcceptanceCheck; +import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.meter.MeterAcceptanceCheckService; +import com.casic.missiles.service.meter.MeterEquipmentApplyService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + +@Api(tags = "设备检修保养验收单") +@Slf4j +@RestController +@RequestMapping("/acceptanceCheck") +public class MeterAcceptanceCheckController extends ExportController { + + @Resource + private MeterAcceptanceCheckService meterAcceptanceCheckService; + + @Resource + private MeterEquipmentApplyService meterEquipmentApplyService; + + /** + * 设备检修保养验收单列表 + */ + @ApiOperation("设备检修保养验收单列表") + @PostMapping("/acceptanceCheckList") + @ResponseBody + public ReturnDTO> acceptanceCheckList(@RequestBody AcceptanceCheckRequest request) throws Exception{ + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(meterAcceptanceCheckService.acceptanceCheckList(page, request))); + } + + /** + * 设备检修保养验收单详细信息 + */ + @ApiOperation("设备检修保养验收单详细信息") + @PostMapping("/acceptanceCheckInfo") + @ResponseBody + public ReturnDTO acceptanceCheckInfo(@RequestBody IdDTO idDTO) throws Exception{ + return ReturnUtil.success(meterAcceptanceCheckService.acceptanceCheckInfo(idDTO)); + } + + /** + * 设备检修保养验收单新建 + */ + @ApiOperation("设备检修保养验收单新建") + @PostMapping("/addAcceptanceCheck") + @ResponseBody + public ReturnDTO addAcceptanceCheck(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) throws Exception{ + return meterAcceptanceCheckService.addAcceptanceCheck(meterEquipmentApply); + } + + /** + * + * 设备检修保养验收单提交(必须先保存) + */ + @ApiOperation("设备检修保养验收单提交(必须先保存)") + @PostMapping("/submitEquipmentApply") + @ResponseBody + public ReturnDTO submitEquipmentApply(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) { + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.submitEquipmentApply(request); + } + + /** + * 设设备检修保养验收单删除 + */ + @ApiOperation("设设备检修保养验收单审批操作-删除") + @PostMapping("deleteEquipmentApply") + @ResponseBody + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); + } + + /** + * 设设备检修保养验收单编辑 + */ + @ApiOperation("设设备检修保养验收单编辑") + @PostMapping("/updateAcceptanceCheckInfo") + @ResponseBody + public ReturnDTO updateAcceptanceCheckInfo(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) { + return meterAcceptanceCheckService.updateAcceptanceCheckInfo(meterEquipmentApply); + } + + /** + * 设设备检修保养验收单导出 + */ + @ApiOperation("设设备检修保养验收单导出") + @PostMapping("/exportList") + @ResponseBody + public void exportList(@RequestBody AcceptanceCheckRequest request, HttpServletResponse response) throws Exception{ + try { + meterAcceptanceCheckService.exportList(request,response); + }catch (Exception e){ + e.printStackTrace(); + } + } + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java index e00b6b9..6e2f38e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java @@ -9,6 +9,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyProcessRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; @@ -97,11 +98,14 @@ /** * 设备借用申请列表删除 */ - @ApiOperation("设备借用申请列表删除") - @PostMapping("/deleteEquipmentApply") + @ApiOperation("设备借用申请列表审批操作-删除") + @PostMapping("deleteEquipmentApply") @ResponseBody - public ReturnDTO deleteEquipmentApply(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java index 052743c..03df967 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; import com.casic.missiles.exception.BusinessException; @@ -87,13 +88,17 @@ } /** - * 标准装置申请列表删除 + * 删除(发起者或具有删除权限的用户可以删除,已通过/未通过状态不可删除) + * 前端控制按钮权限 */ - @ApiOperation("标准装置申请列表删除") - @PostMapping("/deleteStandardEquipmentApply") + @ApiOperation("审批操作-删除") + @PostMapping("/approval/operate/delete") @ResponseBody - public ReturnDTO deleteStandardEquipmentApply(@RequestBody IdDTO idDto) { - return standardEquipmentApplyService.deleteStandardEquipmentApply(idDto); + public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return standardEquipmentApplyService.approvalDelete(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java index cdd073f..b9542e4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java @@ -8,17 +8,21 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStateManageRequest; import com.casic.missiles.dto.meter.MeterStateManageResponse; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.MeterCertificate; import com.casic.missiles.model.MeterCheckInfo; import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.meter.IMeterStateManageService; import com.casic.missiles.service.meter.MeterEquipmentApplyService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -63,8 +67,11 @@ @ApiOperation("状态管理申请列表删除") @PostMapping("/deleteStateManageList") @ResponseBody - public ReturnDTO deleteStateManageList(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteStateManageList(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 5c31709..b7bd107 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -26,7 +26,8 @@ METER_PRICE("meterPrice", "meterPrice", "价格库"), METER_STAFF("meterStaff", "meterStaff", "计量人员"), STANDARD_EQUIPMENT_APPLY("standardEquipmentApply", "standardEquipmentApply", "标准装置申请"), - STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"); + STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"), + METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java new file mode 100644 index 0000000..45bf56e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java @@ -0,0 +1,17 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.model.MeterAcceptanceCheck; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface MeterAcceptanceCheckMapper { + + Page acceptanceCheckList(Page page,@Param("request") AcceptanceCheckRequest request); + + List acceptanceCheckList(@Param("request") AcceptanceCheckRequest request); + + MeterAcceptanceCheck acceptanceCheckInfo(@Param("id") Long id); +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java index edac309..bb79e37 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java @@ -11,4 +11,5 @@ List queryEquipmentList(@Param("id") Long id); + List queryCheckList(@Param("acceptanceCheckId")String acceptanceCheckId); } diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml new file mode 100644 index 0000000..845c84d --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml @@ -0,0 +1,73 @@ + + + + + + SELECT + msa.id, + msa.apply_no, + msa.apply_type, + msa.approval_status, + msa.apply_name, + cmsa.apply_no AS checkApplyNo, + cmsa.apply_name AS checkApplyName, + DATE_FORMAT( msa.time, '%Y-%m-%d %H:%i' ) as checkDate, + msa.overhaul_person, + msa.apply_desc, + msa.process_id, + msa.process_result, + msa.remark, + cmsa.acceptance_check_id + FROM + meter_equipment_apply msa + LEFT JOIN meter_equipment_apply cmsa ON msa.id = cmsa.acceptance_check_id + where 1=1 and msa.is_del = 0 + + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml index a74e9f4..abddec6 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml @@ -19,5 +19,17 @@ and msae.apply_id = #{id} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml index 68882b9..caf811c 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml @@ -64,6 +64,12 @@ #{id} + + and msa.id in + + #{id} + + ORDER BY msa.create_time DESC diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index b27c287..ab1f7fa 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -78,4 +78,6 @@ String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; //检查结果 String CHECK_RESULT = "checkResult"; + //检查结果 + String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java new file mode 100644 index 0000000..9c338f8 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java @@ -0,0 +1,86 @@ +package com.casic.missiles.dto.meter; + +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@ApiModel +@Data +public class AcceptanceCheckRequest { + + /** + * 申请类型 + */ + @ApiModelProperty(value = "申请类型", dataType = "String",required = true) + private String applyType; + + /** + * 验收单编号 + */ + @ApiModelProperty(value = "验收单编号", dataType = "String") + private String applyNo; + + /** + * 验收单名称 + */ + @ApiModelProperty(value = "验收单名称", dataType = "String") + private String applyName; + + /** + * 检修单编号 + */ + @ApiModelProperty(value = "检修单编号", dataType = "String") + private String checkApplyNo; + + /** + * 检修保养人 + */ + @ApiModelProperty(value = "检修保养人", dataType = "String") + private String overhaulPerson; + + /** + * 检查日期开始时间 + */ + @ApiModelProperty(value = "检查日期开始时间", dataType = "String") + private String checkStartDate; + + /** + * 检查日期结束时间 + */ + @ApiModelProperty(value = "检查日期结束时间", dataType = "String") + private String checkEndDate; + + /** + * 审批状态 + */ + @ApiModelProperty(value = "审批状态", dataType = "String", required = true) + private String approvalStatus; + + /** + * 表单id + */ + @ApiModelProperty(value = "表单id", dataType = "String") + private String formId; + + /** + * 创建人 + */ + @ApiModelProperty(value = "创建人", dataType = "String", required = true) + private String createUser; + + /** + * 导出ids + */ + @ApiModelProperty(value = "导出ids", dataType = "List") + private List ids; + + /** + * 业务主键列表 + */ + @ApiModelProperty(value = "业务主键列表(工作流查询用,不用前端传)", dataType = "List") + private List businessKeys; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java index 8918886..850e04f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java @@ -18,7 +18,7 @@ @Data public class MeterEquipmentApplyRequest { /** - * 申请编号 + * 表单id */ @ApiModelProperty(value = "表单id", dataType = "String") private String formId; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java new file mode 100644 index 0000000..b0586b3 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java @@ -0,0 +1,154 @@ +package com.casic.missiles.model; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + + +@Data +@ApiModel +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +public class MeterAcceptanceCheck { + /** + * 主键 + */ + @ApiModelProperty(value = "主键", dataType = "Long") + private Long id; + + /** + * 检修申请id + */ + @ApiModelProperty(value = "检修申请id", dataType = "String") + private String acceptanceCheckId; + + /** + * 验收单编号 + */ + @ExcelProperty(value = "验收单编号",order = 0) + @ApiModelProperty(value = "验收单编号", dataType = "String") + private String applyNo; + + /** + * 验收单名称 + */ + @ExcelProperty(value = "验收单名称",order = 1) + @ApiModelProperty(value = "验收单名称", dataType = "String") + private String applyName; + + /** + * 检修单编号 + */ + @ExcelProperty(value = "检修单编号",order = 2) + @ApiModelProperty(value = "检修单编号", dataType = "String") + private String checkApplyNo; + + /** + * 检修单名称 + */ + @ExcelProperty(value = "检修单名称",order = 3) + @ApiModelProperty(value = "检修单名称", dataType = "String") + private String checkApplyName; + + /** + * 检修保养人 + */ + @ExcelProperty(value = "检修保养人",order = 4) + @ApiModelProperty(value = "检修保养人", dataType = "String") + private String overhaulPerson; + + /** + * 检修日期 + */ + @ExcelProperty(value = "检修日期",order = 5) + @ApiModelProperty(value = "检修日期", dataType = "String") + private String checkDate; + + /** + * 审批状态-字典code + */ + @TableField("approval_status") + @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) + @ApiModelProperty(value = "审批状态-字典code", dataType = "String") + private String approvalStatus; + + /** + * 审批状态名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "审批状态名称", dataType = "String") + private String approvalStatusName; + + /** + * 任务id + */ + @TableField(exist = false) + @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") + private String taskId; + + /** + * 备注 + */ + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String") + private String remark; + + /** + * 删除标记 + */ + @TableField("is_del") + @ApiModelProperty(value = "删除标记", dataType = "Integer") + private Integer isDel; + + + /** + * 创建人 + */ + @TableField("create_user") + @ApiModelProperty(value = "创建人", dataType = "String") + private String createUser; + + /** + * 创建时间 + */ + @TableField("create_time") + @ApiModelProperty(value = "创建时间", dataType = "String") + private String createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + @ApiModelProperty(value = "更新时间", dataType = "String") + private String updateTime; + + /** + * 检修设备列表 + */ + @TableField(exist = false) + @ApiModelProperty(value = "检修设备列表", dataType = "List") + List checkList; + + /** + * 附件列表 + */ + @TableField(exist = false) + @ApiModelProperty(value = "附件列表", dataType = "List") + List fileList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java index 1f0a575..59bbf54 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java @@ -225,4 +225,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + + /** + * 检修申请id + */ + @TableField("acceptance_check_id") + @ApiModelProperty(value = "检修申请id", dataType = "String") + private String acceptanceCheckId; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java index 67cac45..5453c95 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -85,10 +87,18 @@ * 检修结果-字典code(设备检修保养验收申请) */ @TableField("overhaul_result") + @DictCodeField(message = "检修结果不合法", cacheName = MeterDictCode.ACCEPTANCE_CHECK_RESULT) @ApiModelProperty(value = "检修结果-字典code(设备检修保养验收申请)", dataType = "String") private String overhaulResult; /** + * 检修结果名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "检修结果名称", dataType = "String") + private String overhaulResultName; + + /** * 检修意见(设备检修保养验收申请) */ @TableField("overhaul_idea") @@ -136,4 +146,11 @@ @TableField(exist = false) @ApiModelProperty(value = "设备编号", dataType = "String") private String equipmentNo; + + /** + * 设备名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "设备名称", dataType = "String") + private String equipmentName; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/UserInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/UserInfo.java index c80e72d..92a2c6a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/UserInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/UserInfo.java @@ -15,6 +15,9 @@ private static final long serialVersionUID = 1L; + @TableId("id") + private Long id; + @TableField("dept_id") @ApiModelProperty(value = "部门id", dataType = "String") private String deptId; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterAcceptanceCheckServiceImpl.java new file mode 100644 index 0000000..463993e --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterAcceptanceCheckServiceImpl.java @@ -0,0 +1,172 @@ +package com.casic.missiles.service.Impl.meter; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.service.IBaseExportService; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ToBeApprovedDTO; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.mapper.meter.MeterAcceptanceCheckMapper; +import com.casic.missiles.mapper.meter.MeterEquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.meter.MeterEquipmentApplyFileMapper; +import com.casic.missiles.mapper.meter.MeterEquipmentApplyMapper; +import com.casic.missiles.model.*; +import com.casic.missiles.service.IBaseApprovalService; +import com.casic.missiles.service.meter.IMeterEquipmentApplyEquipmentService; +import com.casic.missiles.service.meter.IMeterEquipmentApplyFileService; +import com.casic.missiles.service.meter.MeterAcceptanceCheckService; +import com.casic.missiles.service.meter.MeterEquipmentApplyService; +import com.casic.missiles.utils.DictCodeUtils; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service("MeterAcceptanceCheckService") +public class MeterAcceptanceCheckServiceImpl implements MeterAcceptanceCheckService { + + @Resource + private MeterEquipmentApplyMapper meterEquipmentApplyMapper; + + @Resource + private MeterAcceptanceCheckMapper meterAcceptanceCheckMapper; + + @Resource + private IBaseApprovalService baseApprovalService; + + @Resource + private MeterEquipmentApplyEquipmentMapper equipmentApplyEquipmentMapper; + + @Resource + private MeterEquipmentApplyFileMapper equipmentApplyFileMapper; + + @Resource + private IMeterEquipmentApplyEquipmentService equipmentApplyEquipmentService; + + @Resource + private IMeterEquipmentApplyFileService equipmentApplyFileService; + + @Resource + private IBaseExportService iBaseExportService; + + @Override + public Page acceptanceCheckList(Page page, AcceptanceCheckRequest request) { + List businessKeys = new ArrayList<>(); + boolean searchBusinessKey = true; + String status = request.getApprovalStatus(); + Map taskMap = new HashMap<>(); // businessKey-taskId, 待审批列表用 + switch (status){ + case ApprovalStatusEnum.TO_BE_APPROVED: + List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); + businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); + toBeApprovedList.forEach(toBeApprovedDTO -> {taskMap.put(toBeApprovedDTO.getBusinessKey(),toBeApprovedDTO.getTaskId());}); + break; + case ApprovalStatusEnum.IN_APPROVED: + businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); + break; + case ApprovalStatusEnum.PASSED: + businessKeys = baseApprovalService.getPassedList(request.getFormId()); + break; + case ApprovalStatusEnum.FAILED: + businessKeys = baseApprovalService.getFailedList(request.getFormId()); + break; + case ApprovalStatusEnum.CANCELED: + businessKeys = baseApprovalService.getCanceledList(request.getFormId()); + break; + default: + // 全部 或 草稿箱,直接查表,不用查工作流 + searchBusinessKey = false; + break; + } + + if(searchBusinessKey){ + if(CollectionUtils.isEmpty(businessKeys)){ + return page; + }else { + request.setApprovalStatus(null); + request.setBusinessKeys(businessKeys); + } + } + request.setApplyType(EquipmentApplyTypeEnum.REPAIR_APPLY); + Page resultPage = meterAcceptanceCheckMapper.acceptanceCheckList(page, request); + for (MeterAcceptanceCheck meterEquipmentApply : resultPage.getRecords()) { + if(searchBusinessKey){ + meterEquipmentApply.setApprovalStatus(status); + } + if(ApprovalStatusEnum.TO_BE_APPROVED.equals(status)){ + meterEquipmentApply.setTaskId(taskMap.get(meterEquipmentApply.getId().toString())); + } + } + return resultPage; + } + + @Override + public Object acceptanceCheckInfo(IdDTO idDTO) throws Exception { + MeterAcceptanceCheck acceptanceCheckInfo = meterAcceptanceCheckMapper.acceptanceCheckInfo(idDTO.getId()); + List checkList = equipmentApplyEquipmentMapper.queryCheckList(acceptanceCheckInfo.getAcceptanceCheckId()); + for (MeterEquipmentApplyEquipment applyEquipment : checkList) { + DictCodeUtils.convertDictCodeToName(applyEquipment); + } + acceptanceCheckInfo.setCheckList(checkList); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id",idDTO.getId()); + List equipmentApplyFiles = equipmentApplyFileMapper.selectList(wrapper); + acceptanceCheckInfo.setFileList(equipmentApplyFiles); + return acceptanceCheckInfo; + } + + @Override + public ReturnDTO addAcceptanceCheck(MeterEquipmentApply meterEquipmentApply) { + if(meterEquipmentApplyMapper.insert(meterEquipmentApply)>0){ + meterEquipmentApply.getFileList().forEach(bean->bean.setApplyId(meterEquipmentApply.getId())); + boolean flg = equipmentApplyFileService.saveBatch(meterEquipmentApply.getFileList()); + if(flg){ + return ReturnUtil.success(); + }else{ + return ReturnUtil.failed("新增失败"); + } + } + return ReturnUtil.failed("操作失败"); + } + + @Override + public ReturnDTO updateAcceptanceCheckInfo(MeterEquipmentApply meterEquipmentApply) { + int updateFlg = meterEquipmentApplyMapper.updateById(meterEquipmentApply); + boolean saveOrUpdateBatch = equipmentApplyEquipmentService.saveOrUpdateBatch(meterEquipmentApply.getEquipmentList()); + if(updateFlg>0 && saveOrUpdateBatch){ + return ReturnUtil.success(); + } + return ReturnUtil.failed("操作失败"); + } + + @Override + public void exportList(AcceptanceCheckRequest request, HttpServletResponse response) { + try { + List resultList; + if(!CollectionUtils.isEmpty(request.getIds())){ + AcceptanceCheckRequest checkRequest = new AcceptanceCheckRequest(); + checkRequest.setIds(request.getIds()); + resultList = meterAcceptanceCheckMapper.acceptanceCheckList(checkRequest); + }else{ + resultList = meterAcceptanceCheckMapper.acceptanceCheckList(request); + } + iBaseExportService.exportExcel(response, MeterAcceptanceCheck.class,resultList, ExportEnum.METER_ACCEPTANCE_CHECK.getSheetName()); + } catch (IOException e) { + e.printStackTrace(); + } + + } + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java new file mode 100644 index 0000000..0861213 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java @@ -0,0 +1,124 @@ +package com.casic.missiles.controller.meter; + +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.BaseApprovalSubmitRequest; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.MeterAcceptanceCheck; +import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.meter.MeterAcceptanceCheckService; +import com.casic.missiles.service.meter.MeterEquipmentApplyService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + +@Api(tags = "设备检修保养验收单") +@Slf4j +@RestController +@RequestMapping("/acceptanceCheck") +public class MeterAcceptanceCheckController extends ExportController { + + @Resource + private MeterAcceptanceCheckService meterAcceptanceCheckService; + + @Resource + private MeterEquipmentApplyService meterEquipmentApplyService; + + /** + * 设备检修保养验收单列表 + */ + @ApiOperation("设备检修保养验收单列表") + @PostMapping("/acceptanceCheckList") + @ResponseBody + public ReturnDTO> acceptanceCheckList(@RequestBody AcceptanceCheckRequest request) throws Exception{ + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(meterAcceptanceCheckService.acceptanceCheckList(page, request))); + } + + /** + * 设备检修保养验收单详细信息 + */ + @ApiOperation("设备检修保养验收单详细信息") + @PostMapping("/acceptanceCheckInfo") + @ResponseBody + public ReturnDTO acceptanceCheckInfo(@RequestBody IdDTO idDTO) throws Exception{ + return ReturnUtil.success(meterAcceptanceCheckService.acceptanceCheckInfo(idDTO)); + } + + /** + * 设备检修保养验收单新建 + */ + @ApiOperation("设备检修保养验收单新建") + @PostMapping("/addAcceptanceCheck") + @ResponseBody + public ReturnDTO addAcceptanceCheck(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) throws Exception{ + return meterAcceptanceCheckService.addAcceptanceCheck(meterEquipmentApply); + } + + /** + * + * 设备检修保养验收单提交(必须先保存) + */ + @ApiOperation("设备检修保养验收单提交(必须先保存)") + @PostMapping("/submitEquipmentApply") + @ResponseBody + public ReturnDTO submitEquipmentApply(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) { + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.submitEquipmentApply(request); + } + + /** + * 设设备检修保养验收单删除 + */ + @ApiOperation("设设备检修保养验收单审批操作-删除") + @PostMapping("deleteEquipmentApply") + @ResponseBody + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); + } + + /** + * 设设备检修保养验收单编辑 + */ + @ApiOperation("设设备检修保养验收单编辑") + @PostMapping("/updateAcceptanceCheckInfo") + @ResponseBody + public ReturnDTO updateAcceptanceCheckInfo(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) { + return meterAcceptanceCheckService.updateAcceptanceCheckInfo(meterEquipmentApply); + } + + /** + * 设设备检修保养验收单导出 + */ + @ApiOperation("设设备检修保养验收单导出") + @PostMapping("/exportList") + @ResponseBody + public void exportList(@RequestBody AcceptanceCheckRequest request, HttpServletResponse response) throws Exception{ + try { + meterAcceptanceCheckService.exportList(request,response); + }catch (Exception e){ + e.printStackTrace(); + } + } + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java index e00b6b9..6e2f38e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java @@ -9,6 +9,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyProcessRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; @@ -97,11 +98,14 @@ /** * 设备借用申请列表删除 */ - @ApiOperation("设备借用申请列表删除") - @PostMapping("/deleteEquipmentApply") + @ApiOperation("设备借用申请列表审批操作-删除") + @PostMapping("deleteEquipmentApply") @ResponseBody - public ReturnDTO deleteEquipmentApply(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java index 052743c..03df967 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; import com.casic.missiles.exception.BusinessException; @@ -87,13 +88,17 @@ } /** - * 标准装置申请列表删除 + * 删除(发起者或具有删除权限的用户可以删除,已通过/未通过状态不可删除) + * 前端控制按钮权限 */ - @ApiOperation("标准装置申请列表删除") - @PostMapping("/deleteStandardEquipmentApply") + @ApiOperation("审批操作-删除") + @PostMapping("/approval/operate/delete") @ResponseBody - public ReturnDTO deleteStandardEquipmentApply(@RequestBody IdDTO idDto) { - return standardEquipmentApplyService.deleteStandardEquipmentApply(idDto); + public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return standardEquipmentApplyService.approvalDelete(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java index cdd073f..b9542e4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java @@ -8,17 +8,21 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStateManageRequest; import com.casic.missiles.dto.meter.MeterStateManageResponse; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.MeterCertificate; import com.casic.missiles.model.MeterCheckInfo; import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.meter.IMeterStateManageService; import com.casic.missiles.service.meter.MeterEquipmentApplyService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -63,8 +67,11 @@ @ApiOperation("状态管理申请列表删除") @PostMapping("/deleteStateManageList") @ResponseBody - public ReturnDTO deleteStateManageList(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteStateManageList(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 5c31709..b7bd107 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -26,7 +26,8 @@ METER_PRICE("meterPrice", "meterPrice", "价格库"), METER_STAFF("meterStaff", "meterStaff", "计量人员"), STANDARD_EQUIPMENT_APPLY("standardEquipmentApply", "standardEquipmentApply", "标准装置申请"), - STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"); + STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"), + METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java new file mode 100644 index 0000000..45bf56e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java @@ -0,0 +1,17 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.model.MeterAcceptanceCheck; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface MeterAcceptanceCheckMapper { + + Page acceptanceCheckList(Page page,@Param("request") AcceptanceCheckRequest request); + + List acceptanceCheckList(@Param("request") AcceptanceCheckRequest request); + + MeterAcceptanceCheck acceptanceCheckInfo(@Param("id") Long id); +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java index edac309..bb79e37 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java @@ -11,4 +11,5 @@ List queryEquipmentList(@Param("id") Long id); + List queryCheckList(@Param("acceptanceCheckId")String acceptanceCheckId); } diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml new file mode 100644 index 0000000..845c84d --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml @@ -0,0 +1,73 @@ + + + + + + SELECT + msa.id, + msa.apply_no, + msa.apply_type, + msa.approval_status, + msa.apply_name, + cmsa.apply_no AS checkApplyNo, + cmsa.apply_name AS checkApplyName, + DATE_FORMAT( msa.time, '%Y-%m-%d %H:%i' ) as checkDate, + msa.overhaul_person, + msa.apply_desc, + msa.process_id, + msa.process_result, + msa.remark, + cmsa.acceptance_check_id + FROM + meter_equipment_apply msa + LEFT JOIN meter_equipment_apply cmsa ON msa.id = cmsa.acceptance_check_id + where 1=1 and msa.is_del = 0 + + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml index a74e9f4..abddec6 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml @@ -19,5 +19,17 @@ and msae.apply_id = #{id} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml index 68882b9..caf811c 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml @@ -64,6 +64,12 @@ #{id} + + and msa.id in + + #{id} + + ORDER BY msa.create_time DESC diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index b27c287..ab1f7fa 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -78,4 +78,6 @@ String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; //检查结果 String CHECK_RESULT = "checkResult"; + //检查结果 + String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java new file mode 100644 index 0000000..9c338f8 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java @@ -0,0 +1,86 @@ +package com.casic.missiles.dto.meter; + +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@ApiModel +@Data +public class AcceptanceCheckRequest { + + /** + * 申请类型 + */ + @ApiModelProperty(value = "申请类型", dataType = "String",required = true) + private String applyType; + + /** + * 验收单编号 + */ + @ApiModelProperty(value = "验收单编号", dataType = "String") + private String applyNo; + + /** + * 验收单名称 + */ + @ApiModelProperty(value = "验收单名称", dataType = "String") + private String applyName; + + /** + * 检修单编号 + */ + @ApiModelProperty(value = "检修单编号", dataType = "String") + private String checkApplyNo; + + /** + * 检修保养人 + */ + @ApiModelProperty(value = "检修保养人", dataType = "String") + private String overhaulPerson; + + /** + * 检查日期开始时间 + */ + @ApiModelProperty(value = "检查日期开始时间", dataType = "String") + private String checkStartDate; + + /** + * 检查日期结束时间 + */ + @ApiModelProperty(value = "检查日期结束时间", dataType = "String") + private String checkEndDate; + + /** + * 审批状态 + */ + @ApiModelProperty(value = "审批状态", dataType = "String", required = true) + private String approvalStatus; + + /** + * 表单id + */ + @ApiModelProperty(value = "表单id", dataType = "String") + private String formId; + + /** + * 创建人 + */ + @ApiModelProperty(value = "创建人", dataType = "String", required = true) + private String createUser; + + /** + * 导出ids + */ + @ApiModelProperty(value = "导出ids", dataType = "List") + private List ids; + + /** + * 业务主键列表 + */ + @ApiModelProperty(value = "业务主键列表(工作流查询用,不用前端传)", dataType = "List") + private List businessKeys; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java index 8918886..850e04f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java @@ -18,7 +18,7 @@ @Data public class MeterEquipmentApplyRequest { /** - * 申请编号 + * 表单id */ @ApiModelProperty(value = "表单id", dataType = "String") private String formId; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java new file mode 100644 index 0000000..b0586b3 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java @@ -0,0 +1,154 @@ +package com.casic.missiles.model; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + + +@Data +@ApiModel +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +public class MeterAcceptanceCheck { + /** + * 主键 + */ + @ApiModelProperty(value = "主键", dataType = "Long") + private Long id; + + /** + * 检修申请id + */ + @ApiModelProperty(value = "检修申请id", dataType = "String") + private String acceptanceCheckId; + + /** + * 验收单编号 + */ + @ExcelProperty(value = "验收单编号",order = 0) + @ApiModelProperty(value = "验收单编号", dataType = "String") + private String applyNo; + + /** + * 验收单名称 + */ + @ExcelProperty(value = "验收单名称",order = 1) + @ApiModelProperty(value = "验收单名称", dataType = "String") + private String applyName; + + /** + * 检修单编号 + */ + @ExcelProperty(value = "检修单编号",order = 2) + @ApiModelProperty(value = "检修单编号", dataType = "String") + private String checkApplyNo; + + /** + * 检修单名称 + */ + @ExcelProperty(value = "检修单名称",order = 3) + @ApiModelProperty(value = "检修单名称", dataType = "String") + private String checkApplyName; + + /** + * 检修保养人 + */ + @ExcelProperty(value = "检修保养人",order = 4) + @ApiModelProperty(value = "检修保养人", dataType = "String") + private String overhaulPerson; + + /** + * 检修日期 + */ + @ExcelProperty(value = "检修日期",order = 5) + @ApiModelProperty(value = "检修日期", dataType = "String") + private String checkDate; + + /** + * 审批状态-字典code + */ + @TableField("approval_status") + @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) + @ApiModelProperty(value = "审批状态-字典code", dataType = "String") + private String approvalStatus; + + /** + * 审批状态名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "审批状态名称", dataType = "String") + private String approvalStatusName; + + /** + * 任务id + */ + @TableField(exist = false) + @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") + private String taskId; + + /** + * 备注 + */ + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String") + private String remark; + + /** + * 删除标记 + */ + @TableField("is_del") + @ApiModelProperty(value = "删除标记", dataType = "Integer") + private Integer isDel; + + + /** + * 创建人 + */ + @TableField("create_user") + @ApiModelProperty(value = "创建人", dataType = "String") + private String createUser; + + /** + * 创建时间 + */ + @TableField("create_time") + @ApiModelProperty(value = "创建时间", dataType = "String") + private String createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + @ApiModelProperty(value = "更新时间", dataType = "String") + private String updateTime; + + /** + * 检修设备列表 + */ + @TableField(exist = false) + @ApiModelProperty(value = "检修设备列表", dataType = "List") + List checkList; + + /** + * 附件列表 + */ + @TableField(exist = false) + @ApiModelProperty(value = "附件列表", dataType = "List") + List fileList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java index 1f0a575..59bbf54 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java @@ -225,4 +225,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + + /** + * 检修申请id + */ + @TableField("acceptance_check_id") + @ApiModelProperty(value = "检修申请id", dataType = "String") + private String acceptanceCheckId; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java index 67cac45..5453c95 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -85,10 +87,18 @@ * 检修结果-字典code(设备检修保养验收申请) */ @TableField("overhaul_result") + @DictCodeField(message = "检修结果不合法", cacheName = MeterDictCode.ACCEPTANCE_CHECK_RESULT) @ApiModelProperty(value = "检修结果-字典code(设备检修保养验收申请)", dataType = "String") private String overhaulResult; /** + * 检修结果名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "检修结果名称", dataType = "String") + private String overhaulResultName; + + /** * 检修意见(设备检修保养验收申请) */ @TableField("overhaul_idea") @@ -136,4 +146,11 @@ @TableField(exist = false) @ApiModelProperty(value = "设备编号", dataType = "String") private String equipmentNo; + + /** + * 设备名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "设备名称", dataType = "String") + private String equipmentName; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/UserInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/UserInfo.java index c80e72d..92a2c6a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/UserInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/UserInfo.java @@ -15,6 +15,9 @@ private static final long serialVersionUID = 1L; + @TableId("id") + private Long id; + @TableField("dept_id") @ApiModelProperty(value = "部门id", dataType = "String") private String deptId; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterAcceptanceCheckServiceImpl.java new file mode 100644 index 0000000..463993e --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterAcceptanceCheckServiceImpl.java @@ -0,0 +1,172 @@ +package com.casic.missiles.service.Impl.meter; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.service.IBaseExportService; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ToBeApprovedDTO; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.mapper.meter.MeterAcceptanceCheckMapper; +import com.casic.missiles.mapper.meter.MeterEquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.meter.MeterEquipmentApplyFileMapper; +import com.casic.missiles.mapper.meter.MeterEquipmentApplyMapper; +import com.casic.missiles.model.*; +import com.casic.missiles.service.IBaseApprovalService; +import com.casic.missiles.service.meter.IMeterEquipmentApplyEquipmentService; +import com.casic.missiles.service.meter.IMeterEquipmentApplyFileService; +import com.casic.missiles.service.meter.MeterAcceptanceCheckService; +import com.casic.missiles.service.meter.MeterEquipmentApplyService; +import com.casic.missiles.utils.DictCodeUtils; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service("MeterAcceptanceCheckService") +public class MeterAcceptanceCheckServiceImpl implements MeterAcceptanceCheckService { + + @Resource + private MeterEquipmentApplyMapper meterEquipmentApplyMapper; + + @Resource + private MeterAcceptanceCheckMapper meterAcceptanceCheckMapper; + + @Resource + private IBaseApprovalService baseApprovalService; + + @Resource + private MeterEquipmentApplyEquipmentMapper equipmentApplyEquipmentMapper; + + @Resource + private MeterEquipmentApplyFileMapper equipmentApplyFileMapper; + + @Resource + private IMeterEquipmentApplyEquipmentService equipmentApplyEquipmentService; + + @Resource + private IMeterEquipmentApplyFileService equipmentApplyFileService; + + @Resource + private IBaseExportService iBaseExportService; + + @Override + public Page acceptanceCheckList(Page page, AcceptanceCheckRequest request) { + List businessKeys = new ArrayList<>(); + boolean searchBusinessKey = true; + String status = request.getApprovalStatus(); + Map taskMap = new HashMap<>(); // businessKey-taskId, 待审批列表用 + switch (status){ + case ApprovalStatusEnum.TO_BE_APPROVED: + List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); + businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); + toBeApprovedList.forEach(toBeApprovedDTO -> {taskMap.put(toBeApprovedDTO.getBusinessKey(),toBeApprovedDTO.getTaskId());}); + break; + case ApprovalStatusEnum.IN_APPROVED: + businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); + break; + case ApprovalStatusEnum.PASSED: + businessKeys = baseApprovalService.getPassedList(request.getFormId()); + break; + case ApprovalStatusEnum.FAILED: + businessKeys = baseApprovalService.getFailedList(request.getFormId()); + break; + case ApprovalStatusEnum.CANCELED: + businessKeys = baseApprovalService.getCanceledList(request.getFormId()); + break; + default: + // 全部 或 草稿箱,直接查表,不用查工作流 + searchBusinessKey = false; + break; + } + + if(searchBusinessKey){ + if(CollectionUtils.isEmpty(businessKeys)){ + return page; + }else { + request.setApprovalStatus(null); + request.setBusinessKeys(businessKeys); + } + } + request.setApplyType(EquipmentApplyTypeEnum.REPAIR_APPLY); + Page resultPage = meterAcceptanceCheckMapper.acceptanceCheckList(page, request); + for (MeterAcceptanceCheck meterEquipmentApply : resultPage.getRecords()) { + if(searchBusinessKey){ + meterEquipmentApply.setApprovalStatus(status); + } + if(ApprovalStatusEnum.TO_BE_APPROVED.equals(status)){ + meterEquipmentApply.setTaskId(taskMap.get(meterEquipmentApply.getId().toString())); + } + } + return resultPage; + } + + @Override + public Object acceptanceCheckInfo(IdDTO idDTO) throws Exception { + MeterAcceptanceCheck acceptanceCheckInfo = meterAcceptanceCheckMapper.acceptanceCheckInfo(idDTO.getId()); + List checkList = equipmentApplyEquipmentMapper.queryCheckList(acceptanceCheckInfo.getAcceptanceCheckId()); + for (MeterEquipmentApplyEquipment applyEquipment : checkList) { + DictCodeUtils.convertDictCodeToName(applyEquipment); + } + acceptanceCheckInfo.setCheckList(checkList); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id",idDTO.getId()); + List equipmentApplyFiles = equipmentApplyFileMapper.selectList(wrapper); + acceptanceCheckInfo.setFileList(equipmentApplyFiles); + return acceptanceCheckInfo; + } + + @Override + public ReturnDTO addAcceptanceCheck(MeterEquipmentApply meterEquipmentApply) { + if(meterEquipmentApplyMapper.insert(meterEquipmentApply)>0){ + meterEquipmentApply.getFileList().forEach(bean->bean.setApplyId(meterEquipmentApply.getId())); + boolean flg = equipmentApplyFileService.saveBatch(meterEquipmentApply.getFileList()); + if(flg){ + return ReturnUtil.success(); + }else{ + return ReturnUtil.failed("新增失败"); + } + } + return ReturnUtil.failed("操作失败"); + } + + @Override + public ReturnDTO updateAcceptanceCheckInfo(MeterEquipmentApply meterEquipmentApply) { + int updateFlg = meterEquipmentApplyMapper.updateById(meterEquipmentApply); + boolean saveOrUpdateBatch = equipmentApplyEquipmentService.saveOrUpdateBatch(meterEquipmentApply.getEquipmentList()); + if(updateFlg>0 && saveOrUpdateBatch){ + return ReturnUtil.success(); + } + return ReturnUtil.failed("操作失败"); + } + + @Override + public void exportList(AcceptanceCheckRequest request, HttpServletResponse response) { + try { + List resultList; + if(!CollectionUtils.isEmpty(request.getIds())){ + AcceptanceCheckRequest checkRequest = new AcceptanceCheckRequest(); + checkRequest.setIds(request.getIds()); + resultList = meterAcceptanceCheckMapper.acceptanceCheckList(checkRequest); + }else{ + resultList = meterAcceptanceCheckMapper.acceptanceCheckList(request); + } + iBaseExportService.exportExcel(response, MeterAcceptanceCheck.class,resultList, ExportEnum.METER_ACCEPTANCE_CHECK.getSheetName()); + } catch (IOException e) { + e.printStackTrace(); + } + + } + +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterEquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterEquipmentApplyServiceImpl.java index 531bde7..2abdac8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterEquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterEquipmentApplyServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.MeterEquipmentApplyProcessRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; @@ -22,6 +23,7 @@ import com.casic.missiles.model.*; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.service.IBaseApprovalService; +import com.casic.missiles.service.flowable.ApprovalOperateService; import com.casic.missiles.service.meter.IMeterEquipmentApplyEquipmentService; import com.casic.missiles.service.meter.IMeterEquipmentApplyFileService; import com.casic.missiles.service.meter.MeterEquipmentApplyService; @@ -61,6 +63,9 @@ @Resource private IBaseApprovalService baseApprovalService; + @Resource + private ApprovalOperateService approvalOperateService; + @Override public Page equipmentApplyList(Page page, MeterEquipmentApplyRequest request) throws Exception { List businessKeys = new ArrayList<>(); @@ -183,9 +188,13 @@ } @Override - public ReturnDTO deleteEquipmentApply(IdDTO idDto) { - if(equipmentApplyMapper.deleteById(idDto.getId())>0){ - return ReturnUtil.success(); + public ReturnDTO deleteEquipmentApply(ApprovalDeleteRequest request) { + ReturnDTO returnDTO = approvalOperateService.delete(request); + if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + //本地删除 + if(equipmentApplyMapper.deleteById(request.getId())>0){ + return ReturnUtil.success(); + } } return ReturnUtil.failed("删除失败"); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java new file mode 100644 index 0000000..0861213 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java @@ -0,0 +1,124 @@ +package com.casic.missiles.controller.meter; + +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.BaseApprovalSubmitRequest; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.MeterAcceptanceCheck; +import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.meter.MeterAcceptanceCheckService; +import com.casic.missiles.service.meter.MeterEquipmentApplyService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + +@Api(tags = "设备检修保养验收单") +@Slf4j +@RestController +@RequestMapping("/acceptanceCheck") +public class MeterAcceptanceCheckController extends ExportController { + + @Resource + private MeterAcceptanceCheckService meterAcceptanceCheckService; + + @Resource + private MeterEquipmentApplyService meterEquipmentApplyService; + + /** + * 设备检修保养验收单列表 + */ + @ApiOperation("设备检修保养验收单列表") + @PostMapping("/acceptanceCheckList") + @ResponseBody + public ReturnDTO> acceptanceCheckList(@RequestBody AcceptanceCheckRequest request) throws Exception{ + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(meterAcceptanceCheckService.acceptanceCheckList(page, request))); + } + + /** + * 设备检修保养验收单详细信息 + */ + @ApiOperation("设备检修保养验收单详细信息") + @PostMapping("/acceptanceCheckInfo") + @ResponseBody + public ReturnDTO acceptanceCheckInfo(@RequestBody IdDTO idDTO) throws Exception{ + return ReturnUtil.success(meterAcceptanceCheckService.acceptanceCheckInfo(idDTO)); + } + + /** + * 设备检修保养验收单新建 + */ + @ApiOperation("设备检修保养验收单新建") + @PostMapping("/addAcceptanceCheck") + @ResponseBody + public ReturnDTO addAcceptanceCheck(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) throws Exception{ + return meterAcceptanceCheckService.addAcceptanceCheck(meterEquipmentApply); + } + + /** + * + * 设备检修保养验收单提交(必须先保存) + */ + @ApiOperation("设备检修保养验收单提交(必须先保存)") + @PostMapping("/submitEquipmentApply") + @ResponseBody + public ReturnDTO submitEquipmentApply(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) { + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.submitEquipmentApply(request); + } + + /** + * 设设备检修保养验收单删除 + */ + @ApiOperation("设设备检修保养验收单审批操作-删除") + @PostMapping("deleteEquipmentApply") + @ResponseBody + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); + } + + /** + * 设设备检修保养验收单编辑 + */ + @ApiOperation("设设备检修保养验收单编辑") + @PostMapping("/updateAcceptanceCheckInfo") + @ResponseBody + public ReturnDTO updateAcceptanceCheckInfo(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) { + return meterAcceptanceCheckService.updateAcceptanceCheckInfo(meterEquipmentApply); + } + + /** + * 设设备检修保养验收单导出 + */ + @ApiOperation("设设备检修保养验收单导出") + @PostMapping("/exportList") + @ResponseBody + public void exportList(@RequestBody AcceptanceCheckRequest request, HttpServletResponse response) throws Exception{ + try { + meterAcceptanceCheckService.exportList(request,response); + }catch (Exception e){ + e.printStackTrace(); + } + } + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java index e00b6b9..6e2f38e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java @@ -9,6 +9,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyProcessRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; @@ -97,11 +98,14 @@ /** * 设备借用申请列表删除 */ - @ApiOperation("设备借用申请列表删除") - @PostMapping("/deleteEquipmentApply") + @ApiOperation("设备借用申请列表审批操作-删除") + @PostMapping("deleteEquipmentApply") @ResponseBody - public ReturnDTO deleteEquipmentApply(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java index 052743c..03df967 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; import com.casic.missiles.exception.BusinessException; @@ -87,13 +88,17 @@ } /** - * 标准装置申请列表删除 + * 删除(发起者或具有删除权限的用户可以删除,已通过/未通过状态不可删除) + * 前端控制按钮权限 */ - @ApiOperation("标准装置申请列表删除") - @PostMapping("/deleteStandardEquipmentApply") + @ApiOperation("审批操作-删除") + @PostMapping("/approval/operate/delete") @ResponseBody - public ReturnDTO deleteStandardEquipmentApply(@RequestBody IdDTO idDto) { - return standardEquipmentApplyService.deleteStandardEquipmentApply(idDto); + public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return standardEquipmentApplyService.approvalDelete(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java index cdd073f..b9542e4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java @@ -8,17 +8,21 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStateManageRequest; import com.casic.missiles.dto.meter.MeterStateManageResponse; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.MeterCertificate; import com.casic.missiles.model.MeterCheckInfo; import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.meter.IMeterStateManageService; import com.casic.missiles.service.meter.MeterEquipmentApplyService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -63,8 +67,11 @@ @ApiOperation("状态管理申请列表删除") @PostMapping("/deleteStateManageList") @ResponseBody - public ReturnDTO deleteStateManageList(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteStateManageList(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 5c31709..b7bd107 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -26,7 +26,8 @@ METER_PRICE("meterPrice", "meterPrice", "价格库"), METER_STAFF("meterStaff", "meterStaff", "计量人员"), STANDARD_EQUIPMENT_APPLY("standardEquipmentApply", "standardEquipmentApply", "标准装置申请"), - STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"); + STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"), + METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java new file mode 100644 index 0000000..45bf56e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java @@ -0,0 +1,17 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.model.MeterAcceptanceCheck; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface MeterAcceptanceCheckMapper { + + Page acceptanceCheckList(Page page,@Param("request") AcceptanceCheckRequest request); + + List acceptanceCheckList(@Param("request") AcceptanceCheckRequest request); + + MeterAcceptanceCheck acceptanceCheckInfo(@Param("id") Long id); +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java index edac309..bb79e37 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java @@ -11,4 +11,5 @@ List queryEquipmentList(@Param("id") Long id); + List queryCheckList(@Param("acceptanceCheckId")String acceptanceCheckId); } diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml new file mode 100644 index 0000000..845c84d --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml @@ -0,0 +1,73 @@ + + + + + + SELECT + msa.id, + msa.apply_no, + msa.apply_type, + msa.approval_status, + msa.apply_name, + cmsa.apply_no AS checkApplyNo, + cmsa.apply_name AS checkApplyName, + DATE_FORMAT( msa.time, '%Y-%m-%d %H:%i' ) as checkDate, + msa.overhaul_person, + msa.apply_desc, + msa.process_id, + msa.process_result, + msa.remark, + cmsa.acceptance_check_id + FROM + meter_equipment_apply msa + LEFT JOIN meter_equipment_apply cmsa ON msa.id = cmsa.acceptance_check_id + where 1=1 and msa.is_del = 0 + + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml index a74e9f4..abddec6 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml @@ -19,5 +19,17 @@ and msae.apply_id = #{id} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml index 68882b9..caf811c 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml @@ -64,6 +64,12 @@ #{id} + + and msa.id in + + #{id} + + ORDER BY msa.create_time DESC diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index b27c287..ab1f7fa 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -78,4 +78,6 @@ String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; //检查结果 String CHECK_RESULT = "checkResult"; + //检查结果 + String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java new file mode 100644 index 0000000..9c338f8 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java @@ -0,0 +1,86 @@ +package com.casic.missiles.dto.meter; + +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@ApiModel +@Data +public class AcceptanceCheckRequest { + + /** + * 申请类型 + */ + @ApiModelProperty(value = "申请类型", dataType = "String",required = true) + private String applyType; + + /** + * 验收单编号 + */ + @ApiModelProperty(value = "验收单编号", dataType = "String") + private String applyNo; + + /** + * 验收单名称 + */ + @ApiModelProperty(value = "验收单名称", dataType = "String") + private String applyName; + + /** + * 检修单编号 + */ + @ApiModelProperty(value = "检修单编号", dataType = "String") + private String checkApplyNo; + + /** + * 检修保养人 + */ + @ApiModelProperty(value = "检修保养人", dataType = "String") + private String overhaulPerson; + + /** + * 检查日期开始时间 + */ + @ApiModelProperty(value = "检查日期开始时间", dataType = "String") + private String checkStartDate; + + /** + * 检查日期结束时间 + */ + @ApiModelProperty(value = "检查日期结束时间", dataType = "String") + private String checkEndDate; + + /** + * 审批状态 + */ + @ApiModelProperty(value = "审批状态", dataType = "String", required = true) + private String approvalStatus; + + /** + * 表单id + */ + @ApiModelProperty(value = "表单id", dataType = "String") + private String formId; + + /** + * 创建人 + */ + @ApiModelProperty(value = "创建人", dataType = "String", required = true) + private String createUser; + + /** + * 导出ids + */ + @ApiModelProperty(value = "导出ids", dataType = "List") + private List ids; + + /** + * 业务主键列表 + */ + @ApiModelProperty(value = "业务主键列表(工作流查询用,不用前端传)", dataType = "List") + private List businessKeys; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java index 8918886..850e04f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java @@ -18,7 +18,7 @@ @Data public class MeterEquipmentApplyRequest { /** - * 申请编号 + * 表单id */ @ApiModelProperty(value = "表单id", dataType = "String") private String formId; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java new file mode 100644 index 0000000..b0586b3 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java @@ -0,0 +1,154 @@ +package com.casic.missiles.model; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + + +@Data +@ApiModel +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +public class MeterAcceptanceCheck { + /** + * 主键 + */ + @ApiModelProperty(value = "主键", dataType = "Long") + private Long id; + + /** + * 检修申请id + */ + @ApiModelProperty(value = "检修申请id", dataType = "String") + private String acceptanceCheckId; + + /** + * 验收单编号 + */ + @ExcelProperty(value = "验收单编号",order = 0) + @ApiModelProperty(value = "验收单编号", dataType = "String") + private String applyNo; + + /** + * 验收单名称 + */ + @ExcelProperty(value = "验收单名称",order = 1) + @ApiModelProperty(value = "验收单名称", dataType = "String") + private String applyName; + + /** + * 检修单编号 + */ + @ExcelProperty(value = "检修单编号",order = 2) + @ApiModelProperty(value = "检修单编号", dataType = "String") + private String checkApplyNo; + + /** + * 检修单名称 + */ + @ExcelProperty(value = "检修单名称",order = 3) + @ApiModelProperty(value = "检修单名称", dataType = "String") + private String checkApplyName; + + /** + * 检修保养人 + */ + @ExcelProperty(value = "检修保养人",order = 4) + @ApiModelProperty(value = "检修保养人", dataType = "String") + private String overhaulPerson; + + /** + * 检修日期 + */ + @ExcelProperty(value = "检修日期",order = 5) + @ApiModelProperty(value = "检修日期", dataType = "String") + private String checkDate; + + /** + * 审批状态-字典code + */ + @TableField("approval_status") + @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) + @ApiModelProperty(value = "审批状态-字典code", dataType = "String") + private String approvalStatus; + + /** + * 审批状态名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "审批状态名称", dataType = "String") + private String approvalStatusName; + + /** + * 任务id + */ + @TableField(exist = false) + @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") + private String taskId; + + /** + * 备注 + */ + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String") + private String remark; + + /** + * 删除标记 + */ + @TableField("is_del") + @ApiModelProperty(value = "删除标记", dataType = "Integer") + private Integer isDel; + + + /** + * 创建人 + */ + @TableField("create_user") + @ApiModelProperty(value = "创建人", dataType = "String") + private String createUser; + + /** + * 创建时间 + */ + @TableField("create_time") + @ApiModelProperty(value = "创建时间", dataType = "String") + private String createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + @ApiModelProperty(value = "更新时间", dataType = "String") + private String updateTime; + + /** + * 检修设备列表 + */ + @TableField(exist = false) + @ApiModelProperty(value = "检修设备列表", dataType = "List") + List checkList; + + /** + * 附件列表 + */ + @TableField(exist = false) + @ApiModelProperty(value = "附件列表", dataType = "List") + List fileList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java index 1f0a575..59bbf54 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java @@ -225,4 +225,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + + /** + * 检修申请id + */ + @TableField("acceptance_check_id") + @ApiModelProperty(value = "检修申请id", dataType = "String") + private String acceptanceCheckId; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java index 67cac45..5453c95 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -85,10 +87,18 @@ * 检修结果-字典code(设备检修保养验收申请) */ @TableField("overhaul_result") + @DictCodeField(message = "检修结果不合法", cacheName = MeterDictCode.ACCEPTANCE_CHECK_RESULT) @ApiModelProperty(value = "检修结果-字典code(设备检修保养验收申请)", dataType = "String") private String overhaulResult; /** + * 检修结果名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "检修结果名称", dataType = "String") + private String overhaulResultName; + + /** * 检修意见(设备检修保养验收申请) */ @TableField("overhaul_idea") @@ -136,4 +146,11 @@ @TableField(exist = false) @ApiModelProperty(value = "设备编号", dataType = "String") private String equipmentNo; + + /** + * 设备名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "设备名称", dataType = "String") + private String equipmentName; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/UserInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/UserInfo.java index c80e72d..92a2c6a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/UserInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/UserInfo.java @@ -15,6 +15,9 @@ private static final long serialVersionUID = 1L; + @TableId("id") + private Long id; + @TableField("dept_id") @ApiModelProperty(value = "部门id", dataType = "String") private String deptId; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterAcceptanceCheckServiceImpl.java new file mode 100644 index 0000000..463993e --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterAcceptanceCheckServiceImpl.java @@ -0,0 +1,172 @@ +package com.casic.missiles.service.Impl.meter; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.service.IBaseExportService; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ToBeApprovedDTO; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.mapper.meter.MeterAcceptanceCheckMapper; +import com.casic.missiles.mapper.meter.MeterEquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.meter.MeterEquipmentApplyFileMapper; +import com.casic.missiles.mapper.meter.MeterEquipmentApplyMapper; +import com.casic.missiles.model.*; +import com.casic.missiles.service.IBaseApprovalService; +import com.casic.missiles.service.meter.IMeterEquipmentApplyEquipmentService; +import com.casic.missiles.service.meter.IMeterEquipmentApplyFileService; +import com.casic.missiles.service.meter.MeterAcceptanceCheckService; +import com.casic.missiles.service.meter.MeterEquipmentApplyService; +import com.casic.missiles.utils.DictCodeUtils; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service("MeterAcceptanceCheckService") +public class MeterAcceptanceCheckServiceImpl implements MeterAcceptanceCheckService { + + @Resource + private MeterEquipmentApplyMapper meterEquipmentApplyMapper; + + @Resource + private MeterAcceptanceCheckMapper meterAcceptanceCheckMapper; + + @Resource + private IBaseApprovalService baseApprovalService; + + @Resource + private MeterEquipmentApplyEquipmentMapper equipmentApplyEquipmentMapper; + + @Resource + private MeterEquipmentApplyFileMapper equipmentApplyFileMapper; + + @Resource + private IMeterEquipmentApplyEquipmentService equipmentApplyEquipmentService; + + @Resource + private IMeterEquipmentApplyFileService equipmentApplyFileService; + + @Resource + private IBaseExportService iBaseExportService; + + @Override + public Page acceptanceCheckList(Page page, AcceptanceCheckRequest request) { + List businessKeys = new ArrayList<>(); + boolean searchBusinessKey = true; + String status = request.getApprovalStatus(); + Map taskMap = new HashMap<>(); // businessKey-taskId, 待审批列表用 + switch (status){ + case ApprovalStatusEnum.TO_BE_APPROVED: + List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); + businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); + toBeApprovedList.forEach(toBeApprovedDTO -> {taskMap.put(toBeApprovedDTO.getBusinessKey(),toBeApprovedDTO.getTaskId());}); + break; + case ApprovalStatusEnum.IN_APPROVED: + businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); + break; + case ApprovalStatusEnum.PASSED: + businessKeys = baseApprovalService.getPassedList(request.getFormId()); + break; + case ApprovalStatusEnum.FAILED: + businessKeys = baseApprovalService.getFailedList(request.getFormId()); + break; + case ApprovalStatusEnum.CANCELED: + businessKeys = baseApprovalService.getCanceledList(request.getFormId()); + break; + default: + // 全部 或 草稿箱,直接查表,不用查工作流 + searchBusinessKey = false; + break; + } + + if(searchBusinessKey){ + if(CollectionUtils.isEmpty(businessKeys)){ + return page; + }else { + request.setApprovalStatus(null); + request.setBusinessKeys(businessKeys); + } + } + request.setApplyType(EquipmentApplyTypeEnum.REPAIR_APPLY); + Page resultPage = meterAcceptanceCheckMapper.acceptanceCheckList(page, request); + for (MeterAcceptanceCheck meterEquipmentApply : resultPage.getRecords()) { + if(searchBusinessKey){ + meterEquipmentApply.setApprovalStatus(status); + } + if(ApprovalStatusEnum.TO_BE_APPROVED.equals(status)){ + meterEquipmentApply.setTaskId(taskMap.get(meterEquipmentApply.getId().toString())); + } + } + return resultPage; + } + + @Override + public Object acceptanceCheckInfo(IdDTO idDTO) throws Exception { + MeterAcceptanceCheck acceptanceCheckInfo = meterAcceptanceCheckMapper.acceptanceCheckInfo(idDTO.getId()); + List checkList = equipmentApplyEquipmentMapper.queryCheckList(acceptanceCheckInfo.getAcceptanceCheckId()); + for (MeterEquipmentApplyEquipment applyEquipment : checkList) { + DictCodeUtils.convertDictCodeToName(applyEquipment); + } + acceptanceCheckInfo.setCheckList(checkList); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id",idDTO.getId()); + List equipmentApplyFiles = equipmentApplyFileMapper.selectList(wrapper); + acceptanceCheckInfo.setFileList(equipmentApplyFiles); + return acceptanceCheckInfo; + } + + @Override + public ReturnDTO addAcceptanceCheck(MeterEquipmentApply meterEquipmentApply) { + if(meterEquipmentApplyMapper.insert(meterEquipmentApply)>0){ + meterEquipmentApply.getFileList().forEach(bean->bean.setApplyId(meterEquipmentApply.getId())); + boolean flg = equipmentApplyFileService.saveBatch(meterEquipmentApply.getFileList()); + if(flg){ + return ReturnUtil.success(); + }else{ + return ReturnUtil.failed("新增失败"); + } + } + return ReturnUtil.failed("操作失败"); + } + + @Override + public ReturnDTO updateAcceptanceCheckInfo(MeterEquipmentApply meterEquipmentApply) { + int updateFlg = meterEquipmentApplyMapper.updateById(meterEquipmentApply); + boolean saveOrUpdateBatch = equipmentApplyEquipmentService.saveOrUpdateBatch(meterEquipmentApply.getEquipmentList()); + if(updateFlg>0 && saveOrUpdateBatch){ + return ReturnUtil.success(); + } + return ReturnUtil.failed("操作失败"); + } + + @Override + public void exportList(AcceptanceCheckRequest request, HttpServletResponse response) { + try { + List resultList; + if(!CollectionUtils.isEmpty(request.getIds())){ + AcceptanceCheckRequest checkRequest = new AcceptanceCheckRequest(); + checkRequest.setIds(request.getIds()); + resultList = meterAcceptanceCheckMapper.acceptanceCheckList(checkRequest); + }else{ + resultList = meterAcceptanceCheckMapper.acceptanceCheckList(request); + } + iBaseExportService.exportExcel(response, MeterAcceptanceCheck.class,resultList, ExportEnum.METER_ACCEPTANCE_CHECK.getSheetName()); + } catch (IOException e) { + e.printStackTrace(); + } + + } + +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterEquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterEquipmentApplyServiceImpl.java index 531bde7..2abdac8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterEquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterEquipmentApplyServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.MeterEquipmentApplyProcessRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; @@ -22,6 +23,7 @@ import com.casic.missiles.model.*; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.service.IBaseApprovalService; +import com.casic.missiles.service.flowable.ApprovalOperateService; import com.casic.missiles.service.meter.IMeterEquipmentApplyEquipmentService; import com.casic.missiles.service.meter.IMeterEquipmentApplyFileService; import com.casic.missiles.service.meter.MeterEquipmentApplyService; @@ -61,6 +63,9 @@ @Resource private IBaseApprovalService baseApprovalService; + @Resource + private ApprovalOperateService approvalOperateService; + @Override public Page equipmentApplyList(Page page, MeterEquipmentApplyRequest request) throws Exception { List businessKeys = new ArrayList<>(); @@ -183,9 +188,13 @@ } @Override - public ReturnDTO deleteEquipmentApply(IdDTO idDto) { - if(equipmentApplyMapper.deleteById(idDto.getId())>0){ - return ReturnUtil.success(); + public ReturnDTO deleteEquipmentApply(ApprovalDeleteRequest request) { + ReturnDTO returnDTO = approvalOperateService.delete(request); + if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + //本地删除 + if(equipmentApplyMapper.deleteById(request.getId())>0){ + return ReturnUtil.success(); + } } return ReturnUtil.failed("删除失败"); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java index eb89506..bd96f0b 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java @@ -22,6 +22,7 @@ import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.sys.UserInfoMapper; import com.casic.missiles.model.MeterCertificate; +import com.casic.missiles.model.MeterEquipmentApplyEquipment; import com.casic.missiles.model.MeterStaff; import com.casic.missiles.model.UserInfo; import com.casic.missiles.modular.system.dao.DeptMapper; @@ -172,11 +173,24 @@ @Override public ReturnDTO updateStaffInfo(MeterStaff meterStaff) { int updateFlag = meterStaffMapper.updateById(meterStaff); - boolean saveOrUpdateFlag = meterCertificateService.saveOrUpdateBatch(meterStaff.getCertificateList()); - if(saveOrUpdateFlag && updateFlag>0){ - return ReturnUtil.success(); - } - return ReturnUtil.failed("人员信息编辑失败"); + if(updateFlag>0){ + List ids = new ArrayList<>(); + List equipmentList = new ArrayList<>(); + for (MeterCertificate certificate : meterStaff.getCertificateList()) { + if(null != certificate.getIsDel() && certificate.getIsDel() == 1){ + ids.add(certificate.getId()); + equipmentList.add(certificate); + } + } + meterCertificateMapper.deleteBatchIds(ids); + meterStaff.getCertificateList().removeAll(equipmentList); + boolean saveOrUpdateFlag = meterCertificateService.saveOrUpdateBatch(meterStaff.getCertificateList()); + if(saveOrUpdateFlag){ + return ReturnUtil.success(); + }else{ + return ReturnUtil.failed("人员信息编辑失败"); + } } + return ReturnUtil.failed("操作失败"); } @Override diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java new file mode 100644 index 0000000..0861213 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java @@ -0,0 +1,124 @@ +package com.casic.missiles.controller.meter; + +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.BaseApprovalSubmitRequest; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.MeterAcceptanceCheck; +import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.meter.MeterAcceptanceCheckService; +import com.casic.missiles.service.meter.MeterEquipmentApplyService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + +@Api(tags = "设备检修保养验收单") +@Slf4j +@RestController +@RequestMapping("/acceptanceCheck") +public class MeterAcceptanceCheckController extends ExportController { + + @Resource + private MeterAcceptanceCheckService meterAcceptanceCheckService; + + @Resource + private MeterEquipmentApplyService meterEquipmentApplyService; + + /** + * 设备检修保养验收单列表 + */ + @ApiOperation("设备检修保养验收单列表") + @PostMapping("/acceptanceCheckList") + @ResponseBody + public ReturnDTO> acceptanceCheckList(@RequestBody AcceptanceCheckRequest request) throws Exception{ + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(meterAcceptanceCheckService.acceptanceCheckList(page, request))); + } + + /** + * 设备检修保养验收单详细信息 + */ + @ApiOperation("设备检修保养验收单详细信息") + @PostMapping("/acceptanceCheckInfo") + @ResponseBody + public ReturnDTO acceptanceCheckInfo(@RequestBody IdDTO idDTO) throws Exception{ + return ReturnUtil.success(meterAcceptanceCheckService.acceptanceCheckInfo(idDTO)); + } + + /** + * 设备检修保养验收单新建 + */ + @ApiOperation("设备检修保养验收单新建") + @PostMapping("/addAcceptanceCheck") + @ResponseBody + public ReturnDTO addAcceptanceCheck(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) throws Exception{ + return meterAcceptanceCheckService.addAcceptanceCheck(meterEquipmentApply); + } + + /** + * + * 设备检修保养验收单提交(必须先保存) + */ + @ApiOperation("设备检修保养验收单提交(必须先保存)") + @PostMapping("/submitEquipmentApply") + @ResponseBody + public ReturnDTO submitEquipmentApply(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) { + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.submitEquipmentApply(request); + } + + /** + * 设设备检修保养验收单删除 + */ + @ApiOperation("设设备检修保养验收单审批操作-删除") + @PostMapping("deleteEquipmentApply") + @ResponseBody + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); + } + + /** + * 设设备检修保养验收单编辑 + */ + @ApiOperation("设设备检修保养验收单编辑") + @PostMapping("/updateAcceptanceCheckInfo") + @ResponseBody + public ReturnDTO updateAcceptanceCheckInfo(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) { + return meterAcceptanceCheckService.updateAcceptanceCheckInfo(meterEquipmentApply); + } + + /** + * 设设备检修保养验收单导出 + */ + @ApiOperation("设设备检修保养验收单导出") + @PostMapping("/exportList") + @ResponseBody + public void exportList(@RequestBody AcceptanceCheckRequest request, HttpServletResponse response) throws Exception{ + try { + meterAcceptanceCheckService.exportList(request,response); + }catch (Exception e){ + e.printStackTrace(); + } + } + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java index e00b6b9..6e2f38e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java @@ -9,6 +9,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyProcessRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; @@ -97,11 +98,14 @@ /** * 设备借用申请列表删除 */ - @ApiOperation("设备借用申请列表删除") - @PostMapping("/deleteEquipmentApply") + @ApiOperation("设备借用申请列表审批操作-删除") + @PostMapping("deleteEquipmentApply") @ResponseBody - public ReturnDTO deleteEquipmentApply(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java index 052743c..03df967 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; import com.casic.missiles.exception.BusinessException; @@ -87,13 +88,17 @@ } /** - * 标准装置申请列表删除 + * 删除(发起者或具有删除权限的用户可以删除,已通过/未通过状态不可删除) + * 前端控制按钮权限 */ - @ApiOperation("标准装置申请列表删除") - @PostMapping("/deleteStandardEquipmentApply") + @ApiOperation("审批操作-删除") + @PostMapping("/approval/operate/delete") @ResponseBody - public ReturnDTO deleteStandardEquipmentApply(@RequestBody IdDTO idDto) { - return standardEquipmentApplyService.deleteStandardEquipmentApply(idDto); + public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return standardEquipmentApplyService.approvalDelete(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java index cdd073f..b9542e4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java @@ -8,17 +8,21 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStateManageRequest; import com.casic.missiles.dto.meter.MeterStateManageResponse; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.MeterCertificate; import com.casic.missiles.model.MeterCheckInfo; import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.meter.IMeterStateManageService; import com.casic.missiles.service.meter.MeterEquipmentApplyService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -63,8 +67,11 @@ @ApiOperation("状态管理申请列表删除") @PostMapping("/deleteStateManageList") @ResponseBody - public ReturnDTO deleteStateManageList(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteStateManageList(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 5c31709..b7bd107 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -26,7 +26,8 @@ METER_PRICE("meterPrice", "meterPrice", "价格库"), METER_STAFF("meterStaff", "meterStaff", "计量人员"), STANDARD_EQUIPMENT_APPLY("standardEquipmentApply", "standardEquipmentApply", "标准装置申请"), - STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"); + STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"), + METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java new file mode 100644 index 0000000..45bf56e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java @@ -0,0 +1,17 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.model.MeterAcceptanceCheck; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface MeterAcceptanceCheckMapper { + + Page acceptanceCheckList(Page page,@Param("request") AcceptanceCheckRequest request); + + List acceptanceCheckList(@Param("request") AcceptanceCheckRequest request); + + MeterAcceptanceCheck acceptanceCheckInfo(@Param("id") Long id); +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java index edac309..bb79e37 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java @@ -11,4 +11,5 @@ List queryEquipmentList(@Param("id") Long id); + List queryCheckList(@Param("acceptanceCheckId")String acceptanceCheckId); } diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml new file mode 100644 index 0000000..845c84d --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml @@ -0,0 +1,73 @@ + + + + + + SELECT + msa.id, + msa.apply_no, + msa.apply_type, + msa.approval_status, + msa.apply_name, + cmsa.apply_no AS checkApplyNo, + cmsa.apply_name AS checkApplyName, + DATE_FORMAT( msa.time, '%Y-%m-%d %H:%i' ) as checkDate, + msa.overhaul_person, + msa.apply_desc, + msa.process_id, + msa.process_result, + msa.remark, + cmsa.acceptance_check_id + FROM + meter_equipment_apply msa + LEFT JOIN meter_equipment_apply cmsa ON msa.id = cmsa.acceptance_check_id + where 1=1 and msa.is_del = 0 + + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml index a74e9f4..abddec6 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml @@ -19,5 +19,17 @@ and msae.apply_id = #{id} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml index 68882b9..caf811c 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml @@ -64,6 +64,12 @@ #{id} + + and msa.id in + + #{id} + + ORDER BY msa.create_time DESC diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index b27c287..ab1f7fa 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -78,4 +78,6 @@ String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; //检查结果 String CHECK_RESULT = "checkResult"; + //检查结果 + String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java new file mode 100644 index 0000000..9c338f8 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java @@ -0,0 +1,86 @@ +package com.casic.missiles.dto.meter; + +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@ApiModel +@Data +public class AcceptanceCheckRequest { + + /** + * 申请类型 + */ + @ApiModelProperty(value = "申请类型", dataType = "String",required = true) + private String applyType; + + /** + * 验收单编号 + */ + @ApiModelProperty(value = "验收单编号", dataType = "String") + private String applyNo; + + /** + * 验收单名称 + */ + @ApiModelProperty(value = "验收单名称", dataType = "String") + private String applyName; + + /** + * 检修单编号 + */ + @ApiModelProperty(value = "检修单编号", dataType = "String") + private String checkApplyNo; + + /** + * 检修保养人 + */ + @ApiModelProperty(value = "检修保养人", dataType = "String") + private String overhaulPerson; + + /** + * 检查日期开始时间 + */ + @ApiModelProperty(value = "检查日期开始时间", dataType = "String") + private String checkStartDate; + + /** + * 检查日期结束时间 + */ + @ApiModelProperty(value = "检查日期结束时间", dataType = "String") + private String checkEndDate; + + /** + * 审批状态 + */ + @ApiModelProperty(value = "审批状态", dataType = "String", required = true) + private String approvalStatus; + + /** + * 表单id + */ + @ApiModelProperty(value = "表单id", dataType = "String") + private String formId; + + /** + * 创建人 + */ + @ApiModelProperty(value = "创建人", dataType = "String", required = true) + private String createUser; + + /** + * 导出ids + */ + @ApiModelProperty(value = "导出ids", dataType = "List") + private List ids; + + /** + * 业务主键列表 + */ + @ApiModelProperty(value = "业务主键列表(工作流查询用,不用前端传)", dataType = "List") + private List businessKeys; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java index 8918886..850e04f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java @@ -18,7 +18,7 @@ @Data public class MeterEquipmentApplyRequest { /** - * 申请编号 + * 表单id */ @ApiModelProperty(value = "表单id", dataType = "String") private String formId; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java new file mode 100644 index 0000000..b0586b3 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java @@ -0,0 +1,154 @@ +package com.casic.missiles.model; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + + +@Data +@ApiModel +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +public class MeterAcceptanceCheck { + /** + * 主键 + */ + @ApiModelProperty(value = "主键", dataType = "Long") + private Long id; + + /** + * 检修申请id + */ + @ApiModelProperty(value = "检修申请id", dataType = "String") + private String acceptanceCheckId; + + /** + * 验收单编号 + */ + @ExcelProperty(value = "验收单编号",order = 0) + @ApiModelProperty(value = "验收单编号", dataType = "String") + private String applyNo; + + /** + * 验收单名称 + */ + @ExcelProperty(value = "验收单名称",order = 1) + @ApiModelProperty(value = "验收单名称", dataType = "String") + private String applyName; + + /** + * 检修单编号 + */ + @ExcelProperty(value = "检修单编号",order = 2) + @ApiModelProperty(value = "检修单编号", dataType = "String") + private String checkApplyNo; + + /** + * 检修单名称 + */ + @ExcelProperty(value = "检修单名称",order = 3) + @ApiModelProperty(value = "检修单名称", dataType = "String") + private String checkApplyName; + + /** + * 检修保养人 + */ + @ExcelProperty(value = "检修保养人",order = 4) + @ApiModelProperty(value = "检修保养人", dataType = "String") + private String overhaulPerson; + + /** + * 检修日期 + */ + @ExcelProperty(value = "检修日期",order = 5) + @ApiModelProperty(value = "检修日期", dataType = "String") + private String checkDate; + + /** + * 审批状态-字典code + */ + @TableField("approval_status") + @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) + @ApiModelProperty(value = "审批状态-字典code", dataType = "String") + private String approvalStatus; + + /** + * 审批状态名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "审批状态名称", dataType = "String") + private String approvalStatusName; + + /** + * 任务id + */ + @TableField(exist = false) + @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") + private String taskId; + + /** + * 备注 + */ + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String") + private String remark; + + /** + * 删除标记 + */ + @TableField("is_del") + @ApiModelProperty(value = "删除标记", dataType = "Integer") + private Integer isDel; + + + /** + * 创建人 + */ + @TableField("create_user") + @ApiModelProperty(value = "创建人", dataType = "String") + private String createUser; + + /** + * 创建时间 + */ + @TableField("create_time") + @ApiModelProperty(value = "创建时间", dataType = "String") + private String createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + @ApiModelProperty(value = "更新时间", dataType = "String") + private String updateTime; + + /** + * 检修设备列表 + */ + @TableField(exist = false) + @ApiModelProperty(value = "检修设备列表", dataType = "List") + List checkList; + + /** + * 附件列表 + */ + @TableField(exist = false) + @ApiModelProperty(value = "附件列表", dataType = "List") + List fileList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java index 1f0a575..59bbf54 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java @@ -225,4 +225,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + + /** + * 检修申请id + */ + @TableField("acceptance_check_id") + @ApiModelProperty(value = "检修申请id", dataType = "String") + private String acceptanceCheckId; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java index 67cac45..5453c95 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -85,10 +87,18 @@ * 检修结果-字典code(设备检修保养验收申请) */ @TableField("overhaul_result") + @DictCodeField(message = "检修结果不合法", cacheName = MeterDictCode.ACCEPTANCE_CHECK_RESULT) @ApiModelProperty(value = "检修结果-字典code(设备检修保养验收申请)", dataType = "String") private String overhaulResult; /** + * 检修结果名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "检修结果名称", dataType = "String") + private String overhaulResultName; + + /** * 检修意见(设备检修保养验收申请) */ @TableField("overhaul_idea") @@ -136,4 +146,11 @@ @TableField(exist = false) @ApiModelProperty(value = "设备编号", dataType = "String") private String equipmentNo; + + /** + * 设备名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "设备名称", dataType = "String") + private String equipmentName; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/UserInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/UserInfo.java index c80e72d..92a2c6a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/UserInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/UserInfo.java @@ -15,6 +15,9 @@ private static final long serialVersionUID = 1L; + @TableId("id") + private Long id; + @TableField("dept_id") @ApiModelProperty(value = "部门id", dataType = "String") private String deptId; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterAcceptanceCheckServiceImpl.java new file mode 100644 index 0000000..463993e --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterAcceptanceCheckServiceImpl.java @@ -0,0 +1,172 @@ +package com.casic.missiles.service.Impl.meter; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.service.IBaseExportService; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ToBeApprovedDTO; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.mapper.meter.MeterAcceptanceCheckMapper; +import com.casic.missiles.mapper.meter.MeterEquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.meter.MeterEquipmentApplyFileMapper; +import com.casic.missiles.mapper.meter.MeterEquipmentApplyMapper; +import com.casic.missiles.model.*; +import com.casic.missiles.service.IBaseApprovalService; +import com.casic.missiles.service.meter.IMeterEquipmentApplyEquipmentService; +import com.casic.missiles.service.meter.IMeterEquipmentApplyFileService; +import com.casic.missiles.service.meter.MeterAcceptanceCheckService; +import com.casic.missiles.service.meter.MeterEquipmentApplyService; +import com.casic.missiles.utils.DictCodeUtils; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service("MeterAcceptanceCheckService") +public class MeterAcceptanceCheckServiceImpl implements MeterAcceptanceCheckService { + + @Resource + private MeterEquipmentApplyMapper meterEquipmentApplyMapper; + + @Resource + private MeterAcceptanceCheckMapper meterAcceptanceCheckMapper; + + @Resource + private IBaseApprovalService baseApprovalService; + + @Resource + private MeterEquipmentApplyEquipmentMapper equipmentApplyEquipmentMapper; + + @Resource + private MeterEquipmentApplyFileMapper equipmentApplyFileMapper; + + @Resource + private IMeterEquipmentApplyEquipmentService equipmentApplyEquipmentService; + + @Resource + private IMeterEquipmentApplyFileService equipmentApplyFileService; + + @Resource + private IBaseExportService iBaseExportService; + + @Override + public Page acceptanceCheckList(Page page, AcceptanceCheckRequest request) { + List businessKeys = new ArrayList<>(); + boolean searchBusinessKey = true; + String status = request.getApprovalStatus(); + Map taskMap = new HashMap<>(); // businessKey-taskId, 待审批列表用 + switch (status){ + case ApprovalStatusEnum.TO_BE_APPROVED: + List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); + businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); + toBeApprovedList.forEach(toBeApprovedDTO -> {taskMap.put(toBeApprovedDTO.getBusinessKey(),toBeApprovedDTO.getTaskId());}); + break; + case ApprovalStatusEnum.IN_APPROVED: + businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); + break; + case ApprovalStatusEnum.PASSED: + businessKeys = baseApprovalService.getPassedList(request.getFormId()); + break; + case ApprovalStatusEnum.FAILED: + businessKeys = baseApprovalService.getFailedList(request.getFormId()); + break; + case ApprovalStatusEnum.CANCELED: + businessKeys = baseApprovalService.getCanceledList(request.getFormId()); + break; + default: + // 全部 或 草稿箱,直接查表,不用查工作流 + searchBusinessKey = false; + break; + } + + if(searchBusinessKey){ + if(CollectionUtils.isEmpty(businessKeys)){ + return page; + }else { + request.setApprovalStatus(null); + request.setBusinessKeys(businessKeys); + } + } + request.setApplyType(EquipmentApplyTypeEnum.REPAIR_APPLY); + Page resultPage = meterAcceptanceCheckMapper.acceptanceCheckList(page, request); + for (MeterAcceptanceCheck meterEquipmentApply : resultPage.getRecords()) { + if(searchBusinessKey){ + meterEquipmentApply.setApprovalStatus(status); + } + if(ApprovalStatusEnum.TO_BE_APPROVED.equals(status)){ + meterEquipmentApply.setTaskId(taskMap.get(meterEquipmentApply.getId().toString())); + } + } + return resultPage; + } + + @Override + public Object acceptanceCheckInfo(IdDTO idDTO) throws Exception { + MeterAcceptanceCheck acceptanceCheckInfo = meterAcceptanceCheckMapper.acceptanceCheckInfo(idDTO.getId()); + List checkList = equipmentApplyEquipmentMapper.queryCheckList(acceptanceCheckInfo.getAcceptanceCheckId()); + for (MeterEquipmentApplyEquipment applyEquipment : checkList) { + DictCodeUtils.convertDictCodeToName(applyEquipment); + } + acceptanceCheckInfo.setCheckList(checkList); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id",idDTO.getId()); + List equipmentApplyFiles = equipmentApplyFileMapper.selectList(wrapper); + acceptanceCheckInfo.setFileList(equipmentApplyFiles); + return acceptanceCheckInfo; + } + + @Override + public ReturnDTO addAcceptanceCheck(MeterEquipmentApply meterEquipmentApply) { + if(meterEquipmentApplyMapper.insert(meterEquipmentApply)>0){ + meterEquipmentApply.getFileList().forEach(bean->bean.setApplyId(meterEquipmentApply.getId())); + boolean flg = equipmentApplyFileService.saveBatch(meterEquipmentApply.getFileList()); + if(flg){ + return ReturnUtil.success(); + }else{ + return ReturnUtil.failed("新增失败"); + } + } + return ReturnUtil.failed("操作失败"); + } + + @Override + public ReturnDTO updateAcceptanceCheckInfo(MeterEquipmentApply meterEquipmentApply) { + int updateFlg = meterEquipmentApplyMapper.updateById(meterEquipmentApply); + boolean saveOrUpdateBatch = equipmentApplyEquipmentService.saveOrUpdateBatch(meterEquipmentApply.getEquipmentList()); + if(updateFlg>0 && saveOrUpdateBatch){ + return ReturnUtil.success(); + } + return ReturnUtil.failed("操作失败"); + } + + @Override + public void exportList(AcceptanceCheckRequest request, HttpServletResponse response) { + try { + List resultList; + if(!CollectionUtils.isEmpty(request.getIds())){ + AcceptanceCheckRequest checkRequest = new AcceptanceCheckRequest(); + checkRequest.setIds(request.getIds()); + resultList = meterAcceptanceCheckMapper.acceptanceCheckList(checkRequest); + }else{ + resultList = meterAcceptanceCheckMapper.acceptanceCheckList(request); + } + iBaseExportService.exportExcel(response, MeterAcceptanceCheck.class,resultList, ExportEnum.METER_ACCEPTANCE_CHECK.getSheetName()); + } catch (IOException e) { + e.printStackTrace(); + } + + } + +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterEquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterEquipmentApplyServiceImpl.java index 531bde7..2abdac8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterEquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterEquipmentApplyServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.MeterEquipmentApplyProcessRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; @@ -22,6 +23,7 @@ import com.casic.missiles.model.*; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.service.IBaseApprovalService; +import com.casic.missiles.service.flowable.ApprovalOperateService; import com.casic.missiles.service.meter.IMeterEquipmentApplyEquipmentService; import com.casic.missiles.service.meter.IMeterEquipmentApplyFileService; import com.casic.missiles.service.meter.MeterEquipmentApplyService; @@ -61,6 +63,9 @@ @Resource private IBaseApprovalService baseApprovalService; + @Resource + private ApprovalOperateService approvalOperateService; + @Override public Page equipmentApplyList(Page page, MeterEquipmentApplyRequest request) throws Exception { List businessKeys = new ArrayList<>(); @@ -183,9 +188,13 @@ } @Override - public ReturnDTO deleteEquipmentApply(IdDTO idDto) { - if(equipmentApplyMapper.deleteById(idDto.getId())>0){ - return ReturnUtil.success(); + public ReturnDTO deleteEquipmentApply(ApprovalDeleteRequest request) { + ReturnDTO returnDTO = approvalOperateService.delete(request); + if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + //本地删除 + if(equipmentApplyMapper.deleteById(request.getId())>0){ + return ReturnUtil.success(); + } } return ReturnUtil.failed("删除失败"); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java index eb89506..bd96f0b 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java @@ -22,6 +22,7 @@ import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.sys.UserInfoMapper; import com.casic.missiles.model.MeterCertificate; +import com.casic.missiles.model.MeterEquipmentApplyEquipment; import com.casic.missiles.model.MeterStaff; import com.casic.missiles.model.UserInfo; import com.casic.missiles.modular.system.dao.DeptMapper; @@ -172,11 +173,24 @@ @Override public ReturnDTO updateStaffInfo(MeterStaff meterStaff) { int updateFlag = meterStaffMapper.updateById(meterStaff); - boolean saveOrUpdateFlag = meterCertificateService.saveOrUpdateBatch(meterStaff.getCertificateList()); - if(saveOrUpdateFlag && updateFlag>0){ - return ReturnUtil.success(); - } - return ReturnUtil.failed("人员信息编辑失败"); + if(updateFlag>0){ + List ids = new ArrayList<>(); + List equipmentList = new ArrayList<>(); + for (MeterCertificate certificate : meterStaff.getCertificateList()) { + if(null != certificate.getIsDel() && certificate.getIsDel() == 1){ + ids.add(certificate.getId()); + equipmentList.add(certificate); + } + } + meterCertificateMapper.deleteBatchIds(ids); + meterStaff.getCertificateList().removeAll(equipmentList); + boolean saveOrUpdateFlag = meterCertificateService.saveOrUpdateBatch(meterStaff.getCertificateList()); + if(saveOrUpdateFlag){ + return ReturnUtil.success(); + }else{ + return ReturnUtil.failed("人员信息编辑失败"); + } } + return ReturnUtil.failed("操作失败"); } @Override diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStandardApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStandardApplyServiceImpl.java index 2a69681..72dd697 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStandardApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStandardApplyServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; @@ -23,6 +24,7 @@ import com.casic.missiles.model.*; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.service.IBaseApprovalService; +import com.casic.missiles.service.flowable.ApprovalOperateService; import com.casic.missiles.service.meter.MeterStandardApplyEquipmentService; import com.casic.missiles.service.meter.MeterStandardApplyFileService; import com.casic.missiles.service.meter.MeterStandardApplyService; @@ -30,6 +32,7 @@ import com.casic.missiles.utils.NumberGeneratorUtil; import org.apache.commons.lang3.StringUtils; import org.flowable.engine.runtime.ProcessInstance; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -75,6 +78,9 @@ @Resource private IBaseApprovalService baseApprovalService; + @Resource + private ApprovalOperateService approvalOperateService; + @Override public Page standardEquipmentApplyList(Page page, StandardEquipmentApplyRequest request) throws Exception { Page resultPage; @@ -180,14 +186,6 @@ } @Override - public ReturnDTO deleteStandardEquipmentApply(IdDTO idDto) { - if(meterStandardApplyMapper.deleteById(idDto.getId())>0){ - return ReturnUtil.success(); - } - return ReturnUtil.failed("删除失败"); - } - - @Override public ReturnDTO updateStandardEquipmentApply(MeterStandardApply meterStandardApply) { boolean fileSaveOrUpdateFlag = meterStandardApplyFileService.saveOrUpdateBatch(meterStandardApply.getFileList()); boolean equipmentSaveOrUpdateFlag = standardApplyEquipmentService.saveOrUpdateBatch(meterStandardApply.getApplyEquipmentList()); @@ -230,6 +228,19 @@ } return ReturnUtil.success(); } + + @Override + public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { + ReturnDTO returnDTO = approvalOperateService.delete(request); + if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + //本地删除 + if(meterStandardApplyMapper.deleteById(request.getId())>0){ + return ReturnUtil.success(); + } + } + return ReturnUtil.failed("删除失败"); + } + private String getApplyNoPrefix(String applyType){ switch (applyType){ case StandardApplyTypeEnum.REPLACE_APPLY: diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java new file mode 100644 index 0000000..0861213 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java @@ -0,0 +1,124 @@ +package com.casic.missiles.controller.meter; + +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.BaseApprovalSubmitRequest; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.MeterAcceptanceCheck; +import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.meter.MeterAcceptanceCheckService; +import com.casic.missiles.service.meter.MeterEquipmentApplyService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + +@Api(tags = "设备检修保养验收单") +@Slf4j +@RestController +@RequestMapping("/acceptanceCheck") +public class MeterAcceptanceCheckController extends ExportController { + + @Resource + private MeterAcceptanceCheckService meterAcceptanceCheckService; + + @Resource + private MeterEquipmentApplyService meterEquipmentApplyService; + + /** + * 设备检修保养验收单列表 + */ + @ApiOperation("设备检修保养验收单列表") + @PostMapping("/acceptanceCheckList") + @ResponseBody + public ReturnDTO> acceptanceCheckList(@RequestBody AcceptanceCheckRequest request) throws Exception{ + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(meterAcceptanceCheckService.acceptanceCheckList(page, request))); + } + + /** + * 设备检修保养验收单详细信息 + */ + @ApiOperation("设备检修保养验收单详细信息") + @PostMapping("/acceptanceCheckInfo") + @ResponseBody + public ReturnDTO acceptanceCheckInfo(@RequestBody IdDTO idDTO) throws Exception{ + return ReturnUtil.success(meterAcceptanceCheckService.acceptanceCheckInfo(idDTO)); + } + + /** + * 设备检修保养验收单新建 + */ + @ApiOperation("设备检修保养验收单新建") + @PostMapping("/addAcceptanceCheck") + @ResponseBody + public ReturnDTO addAcceptanceCheck(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) throws Exception{ + return meterAcceptanceCheckService.addAcceptanceCheck(meterEquipmentApply); + } + + /** + * + * 设备检修保养验收单提交(必须先保存) + */ + @ApiOperation("设备检修保养验收单提交(必须先保存)") + @PostMapping("/submitEquipmentApply") + @ResponseBody + public ReturnDTO submitEquipmentApply(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) { + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.submitEquipmentApply(request); + } + + /** + * 设设备检修保养验收单删除 + */ + @ApiOperation("设设备检修保养验收单审批操作-删除") + @PostMapping("deleteEquipmentApply") + @ResponseBody + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); + } + + /** + * 设设备检修保养验收单编辑 + */ + @ApiOperation("设设备检修保养验收单编辑") + @PostMapping("/updateAcceptanceCheckInfo") + @ResponseBody + public ReturnDTO updateAcceptanceCheckInfo(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) { + return meterAcceptanceCheckService.updateAcceptanceCheckInfo(meterEquipmentApply); + } + + /** + * 设设备检修保养验收单导出 + */ + @ApiOperation("设设备检修保养验收单导出") + @PostMapping("/exportList") + @ResponseBody + public void exportList(@RequestBody AcceptanceCheckRequest request, HttpServletResponse response) throws Exception{ + try { + meterAcceptanceCheckService.exportList(request,response); + }catch (Exception e){ + e.printStackTrace(); + } + } + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java index e00b6b9..6e2f38e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java @@ -9,6 +9,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyProcessRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; @@ -97,11 +98,14 @@ /** * 设备借用申请列表删除 */ - @ApiOperation("设备借用申请列表删除") - @PostMapping("/deleteEquipmentApply") + @ApiOperation("设备借用申请列表审批操作-删除") + @PostMapping("deleteEquipmentApply") @ResponseBody - public ReturnDTO deleteEquipmentApply(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java index 052743c..03df967 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; import com.casic.missiles.exception.BusinessException; @@ -87,13 +88,17 @@ } /** - * 标准装置申请列表删除 + * 删除(发起者或具有删除权限的用户可以删除,已通过/未通过状态不可删除) + * 前端控制按钮权限 */ - @ApiOperation("标准装置申请列表删除") - @PostMapping("/deleteStandardEquipmentApply") + @ApiOperation("审批操作-删除") + @PostMapping("/approval/operate/delete") @ResponseBody - public ReturnDTO deleteStandardEquipmentApply(@RequestBody IdDTO idDto) { - return standardEquipmentApplyService.deleteStandardEquipmentApply(idDto); + public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return standardEquipmentApplyService.approvalDelete(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java index cdd073f..b9542e4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java @@ -8,17 +8,21 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStateManageRequest; import com.casic.missiles.dto.meter.MeterStateManageResponse; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.MeterCertificate; import com.casic.missiles.model.MeterCheckInfo; import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.meter.IMeterStateManageService; import com.casic.missiles.service.meter.MeterEquipmentApplyService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -63,8 +67,11 @@ @ApiOperation("状态管理申请列表删除") @PostMapping("/deleteStateManageList") @ResponseBody - public ReturnDTO deleteStateManageList(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteStateManageList(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 5c31709..b7bd107 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -26,7 +26,8 @@ METER_PRICE("meterPrice", "meterPrice", "价格库"), METER_STAFF("meterStaff", "meterStaff", "计量人员"), STANDARD_EQUIPMENT_APPLY("standardEquipmentApply", "standardEquipmentApply", "标准装置申请"), - STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"); + STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"), + METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java new file mode 100644 index 0000000..45bf56e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java @@ -0,0 +1,17 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.model.MeterAcceptanceCheck; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface MeterAcceptanceCheckMapper { + + Page acceptanceCheckList(Page page,@Param("request") AcceptanceCheckRequest request); + + List acceptanceCheckList(@Param("request") AcceptanceCheckRequest request); + + MeterAcceptanceCheck acceptanceCheckInfo(@Param("id") Long id); +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java index edac309..bb79e37 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java @@ -11,4 +11,5 @@ List queryEquipmentList(@Param("id") Long id); + List queryCheckList(@Param("acceptanceCheckId")String acceptanceCheckId); } diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml new file mode 100644 index 0000000..845c84d --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml @@ -0,0 +1,73 @@ + + + + + + SELECT + msa.id, + msa.apply_no, + msa.apply_type, + msa.approval_status, + msa.apply_name, + cmsa.apply_no AS checkApplyNo, + cmsa.apply_name AS checkApplyName, + DATE_FORMAT( msa.time, '%Y-%m-%d %H:%i' ) as checkDate, + msa.overhaul_person, + msa.apply_desc, + msa.process_id, + msa.process_result, + msa.remark, + cmsa.acceptance_check_id + FROM + meter_equipment_apply msa + LEFT JOIN meter_equipment_apply cmsa ON msa.id = cmsa.acceptance_check_id + where 1=1 and msa.is_del = 0 + + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml index a74e9f4..abddec6 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml @@ -19,5 +19,17 @@ and msae.apply_id = #{id} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml index 68882b9..caf811c 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml @@ -64,6 +64,12 @@ #{id} + + and msa.id in + + #{id} + + ORDER BY msa.create_time DESC diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index b27c287..ab1f7fa 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -78,4 +78,6 @@ String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; //检查结果 String CHECK_RESULT = "checkResult"; + //检查结果 + String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java new file mode 100644 index 0000000..9c338f8 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java @@ -0,0 +1,86 @@ +package com.casic.missiles.dto.meter; + +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@ApiModel +@Data +public class AcceptanceCheckRequest { + + /** + * 申请类型 + */ + @ApiModelProperty(value = "申请类型", dataType = "String",required = true) + private String applyType; + + /** + * 验收单编号 + */ + @ApiModelProperty(value = "验收单编号", dataType = "String") + private String applyNo; + + /** + * 验收单名称 + */ + @ApiModelProperty(value = "验收单名称", dataType = "String") + private String applyName; + + /** + * 检修单编号 + */ + @ApiModelProperty(value = "检修单编号", dataType = "String") + private String checkApplyNo; + + /** + * 检修保养人 + */ + @ApiModelProperty(value = "检修保养人", dataType = "String") + private String overhaulPerson; + + /** + * 检查日期开始时间 + */ + @ApiModelProperty(value = "检查日期开始时间", dataType = "String") + private String checkStartDate; + + /** + * 检查日期结束时间 + */ + @ApiModelProperty(value = "检查日期结束时间", dataType = "String") + private String checkEndDate; + + /** + * 审批状态 + */ + @ApiModelProperty(value = "审批状态", dataType = "String", required = true) + private String approvalStatus; + + /** + * 表单id + */ + @ApiModelProperty(value = "表单id", dataType = "String") + private String formId; + + /** + * 创建人 + */ + @ApiModelProperty(value = "创建人", dataType = "String", required = true) + private String createUser; + + /** + * 导出ids + */ + @ApiModelProperty(value = "导出ids", dataType = "List") + private List ids; + + /** + * 业务主键列表 + */ + @ApiModelProperty(value = "业务主键列表(工作流查询用,不用前端传)", dataType = "List") + private List businessKeys; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java index 8918886..850e04f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java @@ -18,7 +18,7 @@ @Data public class MeterEquipmentApplyRequest { /** - * 申请编号 + * 表单id */ @ApiModelProperty(value = "表单id", dataType = "String") private String formId; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java new file mode 100644 index 0000000..b0586b3 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java @@ -0,0 +1,154 @@ +package com.casic.missiles.model; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + + +@Data +@ApiModel +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +public class MeterAcceptanceCheck { + /** + * 主键 + */ + @ApiModelProperty(value = "主键", dataType = "Long") + private Long id; + + /** + * 检修申请id + */ + @ApiModelProperty(value = "检修申请id", dataType = "String") + private String acceptanceCheckId; + + /** + * 验收单编号 + */ + @ExcelProperty(value = "验收单编号",order = 0) + @ApiModelProperty(value = "验收单编号", dataType = "String") + private String applyNo; + + /** + * 验收单名称 + */ + @ExcelProperty(value = "验收单名称",order = 1) + @ApiModelProperty(value = "验收单名称", dataType = "String") + private String applyName; + + /** + * 检修单编号 + */ + @ExcelProperty(value = "检修单编号",order = 2) + @ApiModelProperty(value = "检修单编号", dataType = "String") + private String checkApplyNo; + + /** + * 检修单名称 + */ + @ExcelProperty(value = "检修单名称",order = 3) + @ApiModelProperty(value = "检修单名称", dataType = "String") + private String checkApplyName; + + /** + * 检修保养人 + */ + @ExcelProperty(value = "检修保养人",order = 4) + @ApiModelProperty(value = "检修保养人", dataType = "String") + private String overhaulPerson; + + /** + * 检修日期 + */ + @ExcelProperty(value = "检修日期",order = 5) + @ApiModelProperty(value = "检修日期", dataType = "String") + private String checkDate; + + /** + * 审批状态-字典code + */ + @TableField("approval_status") + @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) + @ApiModelProperty(value = "审批状态-字典code", dataType = "String") + private String approvalStatus; + + /** + * 审批状态名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "审批状态名称", dataType = "String") + private String approvalStatusName; + + /** + * 任务id + */ + @TableField(exist = false) + @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") + private String taskId; + + /** + * 备注 + */ + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String") + private String remark; + + /** + * 删除标记 + */ + @TableField("is_del") + @ApiModelProperty(value = "删除标记", dataType = "Integer") + private Integer isDel; + + + /** + * 创建人 + */ + @TableField("create_user") + @ApiModelProperty(value = "创建人", dataType = "String") + private String createUser; + + /** + * 创建时间 + */ + @TableField("create_time") + @ApiModelProperty(value = "创建时间", dataType = "String") + private String createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + @ApiModelProperty(value = "更新时间", dataType = "String") + private String updateTime; + + /** + * 检修设备列表 + */ + @TableField(exist = false) + @ApiModelProperty(value = "检修设备列表", dataType = "List") + List checkList; + + /** + * 附件列表 + */ + @TableField(exist = false) + @ApiModelProperty(value = "附件列表", dataType = "List") + List fileList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java index 1f0a575..59bbf54 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java @@ -225,4 +225,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + + /** + * 检修申请id + */ + @TableField("acceptance_check_id") + @ApiModelProperty(value = "检修申请id", dataType = "String") + private String acceptanceCheckId; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java index 67cac45..5453c95 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -85,10 +87,18 @@ * 检修结果-字典code(设备检修保养验收申请) */ @TableField("overhaul_result") + @DictCodeField(message = "检修结果不合法", cacheName = MeterDictCode.ACCEPTANCE_CHECK_RESULT) @ApiModelProperty(value = "检修结果-字典code(设备检修保养验收申请)", dataType = "String") private String overhaulResult; /** + * 检修结果名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "检修结果名称", dataType = "String") + private String overhaulResultName; + + /** * 检修意见(设备检修保养验收申请) */ @TableField("overhaul_idea") @@ -136,4 +146,11 @@ @TableField(exist = false) @ApiModelProperty(value = "设备编号", dataType = "String") private String equipmentNo; + + /** + * 设备名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "设备名称", dataType = "String") + private String equipmentName; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/UserInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/UserInfo.java index c80e72d..92a2c6a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/UserInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/UserInfo.java @@ -15,6 +15,9 @@ private static final long serialVersionUID = 1L; + @TableId("id") + private Long id; + @TableField("dept_id") @ApiModelProperty(value = "部门id", dataType = "String") private String deptId; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterAcceptanceCheckServiceImpl.java new file mode 100644 index 0000000..463993e --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterAcceptanceCheckServiceImpl.java @@ -0,0 +1,172 @@ +package com.casic.missiles.service.Impl.meter; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.service.IBaseExportService; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ToBeApprovedDTO; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.mapper.meter.MeterAcceptanceCheckMapper; +import com.casic.missiles.mapper.meter.MeterEquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.meter.MeterEquipmentApplyFileMapper; +import com.casic.missiles.mapper.meter.MeterEquipmentApplyMapper; +import com.casic.missiles.model.*; +import com.casic.missiles.service.IBaseApprovalService; +import com.casic.missiles.service.meter.IMeterEquipmentApplyEquipmentService; +import com.casic.missiles.service.meter.IMeterEquipmentApplyFileService; +import com.casic.missiles.service.meter.MeterAcceptanceCheckService; +import com.casic.missiles.service.meter.MeterEquipmentApplyService; +import com.casic.missiles.utils.DictCodeUtils; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service("MeterAcceptanceCheckService") +public class MeterAcceptanceCheckServiceImpl implements MeterAcceptanceCheckService { + + @Resource + private MeterEquipmentApplyMapper meterEquipmentApplyMapper; + + @Resource + private MeterAcceptanceCheckMapper meterAcceptanceCheckMapper; + + @Resource + private IBaseApprovalService baseApprovalService; + + @Resource + private MeterEquipmentApplyEquipmentMapper equipmentApplyEquipmentMapper; + + @Resource + private MeterEquipmentApplyFileMapper equipmentApplyFileMapper; + + @Resource + private IMeterEquipmentApplyEquipmentService equipmentApplyEquipmentService; + + @Resource + private IMeterEquipmentApplyFileService equipmentApplyFileService; + + @Resource + private IBaseExportService iBaseExportService; + + @Override + public Page acceptanceCheckList(Page page, AcceptanceCheckRequest request) { + List businessKeys = new ArrayList<>(); + boolean searchBusinessKey = true; + String status = request.getApprovalStatus(); + Map taskMap = new HashMap<>(); // businessKey-taskId, 待审批列表用 + switch (status){ + case ApprovalStatusEnum.TO_BE_APPROVED: + List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); + businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); + toBeApprovedList.forEach(toBeApprovedDTO -> {taskMap.put(toBeApprovedDTO.getBusinessKey(),toBeApprovedDTO.getTaskId());}); + break; + case ApprovalStatusEnum.IN_APPROVED: + businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); + break; + case ApprovalStatusEnum.PASSED: + businessKeys = baseApprovalService.getPassedList(request.getFormId()); + break; + case ApprovalStatusEnum.FAILED: + businessKeys = baseApprovalService.getFailedList(request.getFormId()); + break; + case ApprovalStatusEnum.CANCELED: + businessKeys = baseApprovalService.getCanceledList(request.getFormId()); + break; + default: + // 全部 或 草稿箱,直接查表,不用查工作流 + searchBusinessKey = false; + break; + } + + if(searchBusinessKey){ + if(CollectionUtils.isEmpty(businessKeys)){ + return page; + }else { + request.setApprovalStatus(null); + request.setBusinessKeys(businessKeys); + } + } + request.setApplyType(EquipmentApplyTypeEnum.REPAIR_APPLY); + Page resultPage = meterAcceptanceCheckMapper.acceptanceCheckList(page, request); + for (MeterAcceptanceCheck meterEquipmentApply : resultPage.getRecords()) { + if(searchBusinessKey){ + meterEquipmentApply.setApprovalStatus(status); + } + if(ApprovalStatusEnum.TO_BE_APPROVED.equals(status)){ + meterEquipmentApply.setTaskId(taskMap.get(meterEquipmentApply.getId().toString())); + } + } + return resultPage; + } + + @Override + public Object acceptanceCheckInfo(IdDTO idDTO) throws Exception { + MeterAcceptanceCheck acceptanceCheckInfo = meterAcceptanceCheckMapper.acceptanceCheckInfo(idDTO.getId()); + List checkList = equipmentApplyEquipmentMapper.queryCheckList(acceptanceCheckInfo.getAcceptanceCheckId()); + for (MeterEquipmentApplyEquipment applyEquipment : checkList) { + DictCodeUtils.convertDictCodeToName(applyEquipment); + } + acceptanceCheckInfo.setCheckList(checkList); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id",idDTO.getId()); + List equipmentApplyFiles = equipmentApplyFileMapper.selectList(wrapper); + acceptanceCheckInfo.setFileList(equipmentApplyFiles); + return acceptanceCheckInfo; + } + + @Override + public ReturnDTO addAcceptanceCheck(MeterEquipmentApply meterEquipmentApply) { + if(meterEquipmentApplyMapper.insert(meterEquipmentApply)>0){ + meterEquipmentApply.getFileList().forEach(bean->bean.setApplyId(meterEquipmentApply.getId())); + boolean flg = equipmentApplyFileService.saveBatch(meterEquipmentApply.getFileList()); + if(flg){ + return ReturnUtil.success(); + }else{ + return ReturnUtil.failed("新增失败"); + } + } + return ReturnUtil.failed("操作失败"); + } + + @Override + public ReturnDTO updateAcceptanceCheckInfo(MeterEquipmentApply meterEquipmentApply) { + int updateFlg = meterEquipmentApplyMapper.updateById(meterEquipmentApply); + boolean saveOrUpdateBatch = equipmentApplyEquipmentService.saveOrUpdateBatch(meterEquipmentApply.getEquipmentList()); + if(updateFlg>0 && saveOrUpdateBatch){ + return ReturnUtil.success(); + } + return ReturnUtil.failed("操作失败"); + } + + @Override + public void exportList(AcceptanceCheckRequest request, HttpServletResponse response) { + try { + List resultList; + if(!CollectionUtils.isEmpty(request.getIds())){ + AcceptanceCheckRequest checkRequest = new AcceptanceCheckRequest(); + checkRequest.setIds(request.getIds()); + resultList = meterAcceptanceCheckMapper.acceptanceCheckList(checkRequest); + }else{ + resultList = meterAcceptanceCheckMapper.acceptanceCheckList(request); + } + iBaseExportService.exportExcel(response, MeterAcceptanceCheck.class,resultList, ExportEnum.METER_ACCEPTANCE_CHECK.getSheetName()); + } catch (IOException e) { + e.printStackTrace(); + } + + } + +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterEquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterEquipmentApplyServiceImpl.java index 531bde7..2abdac8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterEquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterEquipmentApplyServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.MeterEquipmentApplyProcessRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; @@ -22,6 +23,7 @@ import com.casic.missiles.model.*; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.service.IBaseApprovalService; +import com.casic.missiles.service.flowable.ApprovalOperateService; import com.casic.missiles.service.meter.IMeterEquipmentApplyEquipmentService; import com.casic.missiles.service.meter.IMeterEquipmentApplyFileService; import com.casic.missiles.service.meter.MeterEquipmentApplyService; @@ -61,6 +63,9 @@ @Resource private IBaseApprovalService baseApprovalService; + @Resource + private ApprovalOperateService approvalOperateService; + @Override public Page equipmentApplyList(Page page, MeterEquipmentApplyRequest request) throws Exception { List businessKeys = new ArrayList<>(); @@ -183,9 +188,13 @@ } @Override - public ReturnDTO deleteEquipmentApply(IdDTO idDto) { - if(equipmentApplyMapper.deleteById(idDto.getId())>0){ - return ReturnUtil.success(); + public ReturnDTO deleteEquipmentApply(ApprovalDeleteRequest request) { + ReturnDTO returnDTO = approvalOperateService.delete(request); + if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + //本地删除 + if(equipmentApplyMapper.deleteById(request.getId())>0){ + return ReturnUtil.success(); + } } return ReturnUtil.failed("删除失败"); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java index eb89506..bd96f0b 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java @@ -22,6 +22,7 @@ import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.sys.UserInfoMapper; import com.casic.missiles.model.MeterCertificate; +import com.casic.missiles.model.MeterEquipmentApplyEquipment; import com.casic.missiles.model.MeterStaff; import com.casic.missiles.model.UserInfo; import com.casic.missiles.modular.system.dao.DeptMapper; @@ -172,11 +173,24 @@ @Override public ReturnDTO updateStaffInfo(MeterStaff meterStaff) { int updateFlag = meterStaffMapper.updateById(meterStaff); - boolean saveOrUpdateFlag = meterCertificateService.saveOrUpdateBatch(meterStaff.getCertificateList()); - if(saveOrUpdateFlag && updateFlag>0){ - return ReturnUtil.success(); - } - return ReturnUtil.failed("人员信息编辑失败"); + if(updateFlag>0){ + List ids = new ArrayList<>(); + List equipmentList = new ArrayList<>(); + for (MeterCertificate certificate : meterStaff.getCertificateList()) { + if(null != certificate.getIsDel() && certificate.getIsDel() == 1){ + ids.add(certificate.getId()); + equipmentList.add(certificate); + } + } + meterCertificateMapper.deleteBatchIds(ids); + meterStaff.getCertificateList().removeAll(equipmentList); + boolean saveOrUpdateFlag = meterCertificateService.saveOrUpdateBatch(meterStaff.getCertificateList()); + if(saveOrUpdateFlag){ + return ReturnUtil.success(); + }else{ + return ReturnUtil.failed("人员信息编辑失败"); + } } + return ReturnUtil.failed("操作失败"); } @Override diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStandardApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStandardApplyServiceImpl.java index 2a69681..72dd697 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStandardApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStandardApplyServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; @@ -23,6 +24,7 @@ import com.casic.missiles.model.*; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.service.IBaseApprovalService; +import com.casic.missiles.service.flowable.ApprovalOperateService; import com.casic.missiles.service.meter.MeterStandardApplyEquipmentService; import com.casic.missiles.service.meter.MeterStandardApplyFileService; import com.casic.missiles.service.meter.MeterStandardApplyService; @@ -30,6 +32,7 @@ import com.casic.missiles.utils.NumberGeneratorUtil; import org.apache.commons.lang3.StringUtils; import org.flowable.engine.runtime.ProcessInstance; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -75,6 +78,9 @@ @Resource private IBaseApprovalService baseApprovalService; + @Resource + private ApprovalOperateService approvalOperateService; + @Override public Page standardEquipmentApplyList(Page page, StandardEquipmentApplyRequest request) throws Exception { Page resultPage; @@ -180,14 +186,6 @@ } @Override - public ReturnDTO deleteStandardEquipmentApply(IdDTO idDto) { - if(meterStandardApplyMapper.deleteById(idDto.getId())>0){ - return ReturnUtil.success(); - } - return ReturnUtil.failed("删除失败"); - } - - @Override public ReturnDTO updateStandardEquipmentApply(MeterStandardApply meterStandardApply) { boolean fileSaveOrUpdateFlag = meterStandardApplyFileService.saveOrUpdateBatch(meterStandardApply.getFileList()); boolean equipmentSaveOrUpdateFlag = standardApplyEquipmentService.saveOrUpdateBatch(meterStandardApply.getApplyEquipmentList()); @@ -230,6 +228,19 @@ } return ReturnUtil.success(); } + + @Override + public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { + ReturnDTO returnDTO = approvalOperateService.delete(request); + if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + //本地删除 + if(meterStandardApplyMapper.deleteById(request.getId())>0){ + return ReturnUtil.success(); + } + } + return ReturnUtil.failed("删除失败"); + } + private String getApplyNoPrefix(String applyType){ switch (applyType){ case StandardApplyTypeEnum.REPLACE_APPLY: diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/meter/MeterAcceptanceCheckService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/meter/MeterAcceptanceCheckService.java new file mode 100644 index 0000000..1be36bc --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/meter/MeterAcceptanceCheckService.java @@ -0,0 +1,23 @@ +package com.casic.missiles.service.meter; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.model.MeterAcceptanceCheck; +import com.casic.missiles.model.MeterEquipmentApply; + +import javax.servlet.http.HttpServletResponse; + +public interface MeterAcceptanceCheckService { + + Page acceptanceCheckList(Page page, AcceptanceCheckRequest request); + + Object acceptanceCheckInfo(IdDTO idDTO) throws Exception; + + ReturnDTO addAcceptanceCheck(MeterEquipmentApply meterEquipmentApply); + + ReturnDTO updateAcceptanceCheckInfo(MeterEquipmentApply meterEquipmentApply); + + void exportList(AcceptanceCheckRequest request, HttpServletResponse response); +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java new file mode 100644 index 0000000..0861213 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java @@ -0,0 +1,124 @@ +package com.casic.missiles.controller.meter; + +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.BaseApprovalSubmitRequest; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.MeterAcceptanceCheck; +import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.meter.MeterAcceptanceCheckService; +import com.casic.missiles.service.meter.MeterEquipmentApplyService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + +@Api(tags = "设备检修保养验收单") +@Slf4j +@RestController +@RequestMapping("/acceptanceCheck") +public class MeterAcceptanceCheckController extends ExportController { + + @Resource + private MeterAcceptanceCheckService meterAcceptanceCheckService; + + @Resource + private MeterEquipmentApplyService meterEquipmentApplyService; + + /** + * 设备检修保养验收单列表 + */ + @ApiOperation("设备检修保养验收单列表") + @PostMapping("/acceptanceCheckList") + @ResponseBody + public ReturnDTO> acceptanceCheckList(@RequestBody AcceptanceCheckRequest request) throws Exception{ + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(meterAcceptanceCheckService.acceptanceCheckList(page, request))); + } + + /** + * 设备检修保养验收单详细信息 + */ + @ApiOperation("设备检修保养验收单详细信息") + @PostMapping("/acceptanceCheckInfo") + @ResponseBody + public ReturnDTO acceptanceCheckInfo(@RequestBody IdDTO idDTO) throws Exception{ + return ReturnUtil.success(meterAcceptanceCheckService.acceptanceCheckInfo(idDTO)); + } + + /** + * 设备检修保养验收单新建 + */ + @ApiOperation("设备检修保养验收单新建") + @PostMapping("/addAcceptanceCheck") + @ResponseBody + public ReturnDTO addAcceptanceCheck(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) throws Exception{ + return meterAcceptanceCheckService.addAcceptanceCheck(meterEquipmentApply); + } + + /** + * + * 设备检修保养验收单提交(必须先保存) + */ + @ApiOperation("设备检修保养验收单提交(必须先保存)") + @PostMapping("/submitEquipmentApply") + @ResponseBody + public ReturnDTO submitEquipmentApply(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) { + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.submitEquipmentApply(request); + } + + /** + * 设设备检修保养验收单删除 + */ + @ApiOperation("设设备检修保养验收单审批操作-删除") + @PostMapping("deleteEquipmentApply") + @ResponseBody + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); + } + + /** + * 设设备检修保养验收单编辑 + */ + @ApiOperation("设设备检修保养验收单编辑") + @PostMapping("/updateAcceptanceCheckInfo") + @ResponseBody + public ReturnDTO updateAcceptanceCheckInfo(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) { + return meterAcceptanceCheckService.updateAcceptanceCheckInfo(meterEquipmentApply); + } + + /** + * 设设备检修保养验收单导出 + */ + @ApiOperation("设设备检修保养验收单导出") + @PostMapping("/exportList") + @ResponseBody + public void exportList(@RequestBody AcceptanceCheckRequest request, HttpServletResponse response) throws Exception{ + try { + meterAcceptanceCheckService.exportList(request,response); + }catch (Exception e){ + e.printStackTrace(); + } + } + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java index e00b6b9..6e2f38e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java @@ -9,6 +9,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyProcessRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; @@ -97,11 +98,14 @@ /** * 设备借用申请列表删除 */ - @ApiOperation("设备借用申请列表删除") - @PostMapping("/deleteEquipmentApply") + @ApiOperation("设备借用申请列表审批操作-删除") + @PostMapping("deleteEquipmentApply") @ResponseBody - public ReturnDTO deleteEquipmentApply(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java index 052743c..03df967 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; import com.casic.missiles.exception.BusinessException; @@ -87,13 +88,17 @@ } /** - * 标准装置申请列表删除 + * 删除(发起者或具有删除权限的用户可以删除,已通过/未通过状态不可删除) + * 前端控制按钮权限 */ - @ApiOperation("标准装置申请列表删除") - @PostMapping("/deleteStandardEquipmentApply") + @ApiOperation("审批操作-删除") + @PostMapping("/approval/operate/delete") @ResponseBody - public ReturnDTO deleteStandardEquipmentApply(@RequestBody IdDTO idDto) { - return standardEquipmentApplyService.deleteStandardEquipmentApply(idDto); + public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return standardEquipmentApplyService.approvalDelete(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java index cdd073f..b9542e4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java @@ -8,17 +8,21 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStateManageRequest; import com.casic.missiles.dto.meter.MeterStateManageResponse; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.MeterCertificate; import com.casic.missiles.model.MeterCheckInfo; import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.meter.IMeterStateManageService; import com.casic.missiles.service.meter.MeterEquipmentApplyService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -63,8 +67,11 @@ @ApiOperation("状态管理申请列表删除") @PostMapping("/deleteStateManageList") @ResponseBody - public ReturnDTO deleteStateManageList(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteStateManageList(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 5c31709..b7bd107 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -26,7 +26,8 @@ METER_PRICE("meterPrice", "meterPrice", "价格库"), METER_STAFF("meterStaff", "meterStaff", "计量人员"), STANDARD_EQUIPMENT_APPLY("standardEquipmentApply", "standardEquipmentApply", "标准装置申请"), - STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"); + STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"), + METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java new file mode 100644 index 0000000..45bf56e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java @@ -0,0 +1,17 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.model.MeterAcceptanceCheck; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface MeterAcceptanceCheckMapper { + + Page acceptanceCheckList(Page page,@Param("request") AcceptanceCheckRequest request); + + List acceptanceCheckList(@Param("request") AcceptanceCheckRequest request); + + MeterAcceptanceCheck acceptanceCheckInfo(@Param("id") Long id); +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java index edac309..bb79e37 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java @@ -11,4 +11,5 @@ List queryEquipmentList(@Param("id") Long id); + List queryCheckList(@Param("acceptanceCheckId")String acceptanceCheckId); } diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml new file mode 100644 index 0000000..845c84d --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml @@ -0,0 +1,73 @@ + + + + + + SELECT + msa.id, + msa.apply_no, + msa.apply_type, + msa.approval_status, + msa.apply_name, + cmsa.apply_no AS checkApplyNo, + cmsa.apply_name AS checkApplyName, + DATE_FORMAT( msa.time, '%Y-%m-%d %H:%i' ) as checkDate, + msa.overhaul_person, + msa.apply_desc, + msa.process_id, + msa.process_result, + msa.remark, + cmsa.acceptance_check_id + FROM + meter_equipment_apply msa + LEFT JOIN meter_equipment_apply cmsa ON msa.id = cmsa.acceptance_check_id + where 1=1 and msa.is_del = 0 + + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml index a74e9f4..abddec6 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml @@ -19,5 +19,17 @@ and msae.apply_id = #{id} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml index 68882b9..caf811c 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml @@ -64,6 +64,12 @@ #{id} + + and msa.id in + + #{id} + + ORDER BY msa.create_time DESC diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index b27c287..ab1f7fa 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -78,4 +78,6 @@ String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; //检查结果 String CHECK_RESULT = "checkResult"; + //检查结果 + String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java new file mode 100644 index 0000000..9c338f8 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java @@ -0,0 +1,86 @@ +package com.casic.missiles.dto.meter; + +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@ApiModel +@Data +public class AcceptanceCheckRequest { + + /** + * 申请类型 + */ + @ApiModelProperty(value = "申请类型", dataType = "String",required = true) + private String applyType; + + /** + * 验收单编号 + */ + @ApiModelProperty(value = "验收单编号", dataType = "String") + private String applyNo; + + /** + * 验收单名称 + */ + @ApiModelProperty(value = "验收单名称", dataType = "String") + private String applyName; + + /** + * 检修单编号 + */ + @ApiModelProperty(value = "检修单编号", dataType = "String") + private String checkApplyNo; + + /** + * 检修保养人 + */ + @ApiModelProperty(value = "检修保养人", dataType = "String") + private String overhaulPerson; + + /** + * 检查日期开始时间 + */ + @ApiModelProperty(value = "检查日期开始时间", dataType = "String") + private String checkStartDate; + + /** + * 检查日期结束时间 + */ + @ApiModelProperty(value = "检查日期结束时间", dataType = "String") + private String checkEndDate; + + /** + * 审批状态 + */ + @ApiModelProperty(value = "审批状态", dataType = "String", required = true) + private String approvalStatus; + + /** + * 表单id + */ + @ApiModelProperty(value = "表单id", dataType = "String") + private String formId; + + /** + * 创建人 + */ + @ApiModelProperty(value = "创建人", dataType = "String", required = true) + private String createUser; + + /** + * 导出ids + */ + @ApiModelProperty(value = "导出ids", dataType = "List") + private List ids; + + /** + * 业务主键列表 + */ + @ApiModelProperty(value = "业务主键列表(工作流查询用,不用前端传)", dataType = "List") + private List businessKeys; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java index 8918886..850e04f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java @@ -18,7 +18,7 @@ @Data public class MeterEquipmentApplyRequest { /** - * 申请编号 + * 表单id */ @ApiModelProperty(value = "表单id", dataType = "String") private String formId; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java new file mode 100644 index 0000000..b0586b3 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java @@ -0,0 +1,154 @@ +package com.casic.missiles.model; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + + +@Data +@ApiModel +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +public class MeterAcceptanceCheck { + /** + * 主键 + */ + @ApiModelProperty(value = "主键", dataType = "Long") + private Long id; + + /** + * 检修申请id + */ + @ApiModelProperty(value = "检修申请id", dataType = "String") + private String acceptanceCheckId; + + /** + * 验收单编号 + */ + @ExcelProperty(value = "验收单编号",order = 0) + @ApiModelProperty(value = "验收单编号", dataType = "String") + private String applyNo; + + /** + * 验收单名称 + */ + @ExcelProperty(value = "验收单名称",order = 1) + @ApiModelProperty(value = "验收单名称", dataType = "String") + private String applyName; + + /** + * 检修单编号 + */ + @ExcelProperty(value = "检修单编号",order = 2) + @ApiModelProperty(value = "检修单编号", dataType = "String") + private String checkApplyNo; + + /** + * 检修单名称 + */ + @ExcelProperty(value = "检修单名称",order = 3) + @ApiModelProperty(value = "检修单名称", dataType = "String") + private String checkApplyName; + + /** + * 检修保养人 + */ + @ExcelProperty(value = "检修保养人",order = 4) + @ApiModelProperty(value = "检修保养人", dataType = "String") + private String overhaulPerson; + + /** + * 检修日期 + */ + @ExcelProperty(value = "检修日期",order = 5) + @ApiModelProperty(value = "检修日期", dataType = "String") + private String checkDate; + + /** + * 审批状态-字典code + */ + @TableField("approval_status") + @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) + @ApiModelProperty(value = "审批状态-字典code", dataType = "String") + private String approvalStatus; + + /** + * 审批状态名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "审批状态名称", dataType = "String") + private String approvalStatusName; + + /** + * 任务id + */ + @TableField(exist = false) + @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") + private String taskId; + + /** + * 备注 + */ + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String") + private String remark; + + /** + * 删除标记 + */ + @TableField("is_del") + @ApiModelProperty(value = "删除标记", dataType = "Integer") + private Integer isDel; + + + /** + * 创建人 + */ + @TableField("create_user") + @ApiModelProperty(value = "创建人", dataType = "String") + private String createUser; + + /** + * 创建时间 + */ + @TableField("create_time") + @ApiModelProperty(value = "创建时间", dataType = "String") + private String createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + @ApiModelProperty(value = "更新时间", dataType = "String") + private String updateTime; + + /** + * 检修设备列表 + */ + @TableField(exist = false) + @ApiModelProperty(value = "检修设备列表", dataType = "List") + List checkList; + + /** + * 附件列表 + */ + @TableField(exist = false) + @ApiModelProperty(value = "附件列表", dataType = "List") + List fileList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java index 1f0a575..59bbf54 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java @@ -225,4 +225,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + + /** + * 检修申请id + */ + @TableField("acceptance_check_id") + @ApiModelProperty(value = "检修申请id", dataType = "String") + private String acceptanceCheckId; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java index 67cac45..5453c95 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -85,10 +87,18 @@ * 检修结果-字典code(设备检修保养验收申请) */ @TableField("overhaul_result") + @DictCodeField(message = "检修结果不合法", cacheName = MeterDictCode.ACCEPTANCE_CHECK_RESULT) @ApiModelProperty(value = "检修结果-字典code(设备检修保养验收申请)", dataType = "String") private String overhaulResult; /** + * 检修结果名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "检修结果名称", dataType = "String") + private String overhaulResultName; + + /** * 检修意见(设备检修保养验收申请) */ @TableField("overhaul_idea") @@ -136,4 +146,11 @@ @TableField(exist = false) @ApiModelProperty(value = "设备编号", dataType = "String") private String equipmentNo; + + /** + * 设备名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "设备名称", dataType = "String") + private String equipmentName; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/UserInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/UserInfo.java index c80e72d..92a2c6a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/UserInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/UserInfo.java @@ -15,6 +15,9 @@ private static final long serialVersionUID = 1L; + @TableId("id") + private Long id; + @TableField("dept_id") @ApiModelProperty(value = "部门id", dataType = "String") private String deptId; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterAcceptanceCheckServiceImpl.java new file mode 100644 index 0000000..463993e --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterAcceptanceCheckServiceImpl.java @@ -0,0 +1,172 @@ +package com.casic.missiles.service.Impl.meter; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.service.IBaseExportService; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ToBeApprovedDTO; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.mapper.meter.MeterAcceptanceCheckMapper; +import com.casic.missiles.mapper.meter.MeterEquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.meter.MeterEquipmentApplyFileMapper; +import com.casic.missiles.mapper.meter.MeterEquipmentApplyMapper; +import com.casic.missiles.model.*; +import com.casic.missiles.service.IBaseApprovalService; +import com.casic.missiles.service.meter.IMeterEquipmentApplyEquipmentService; +import com.casic.missiles.service.meter.IMeterEquipmentApplyFileService; +import com.casic.missiles.service.meter.MeterAcceptanceCheckService; +import com.casic.missiles.service.meter.MeterEquipmentApplyService; +import com.casic.missiles.utils.DictCodeUtils; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service("MeterAcceptanceCheckService") +public class MeterAcceptanceCheckServiceImpl implements MeterAcceptanceCheckService { + + @Resource + private MeterEquipmentApplyMapper meterEquipmentApplyMapper; + + @Resource + private MeterAcceptanceCheckMapper meterAcceptanceCheckMapper; + + @Resource + private IBaseApprovalService baseApprovalService; + + @Resource + private MeterEquipmentApplyEquipmentMapper equipmentApplyEquipmentMapper; + + @Resource + private MeterEquipmentApplyFileMapper equipmentApplyFileMapper; + + @Resource + private IMeterEquipmentApplyEquipmentService equipmentApplyEquipmentService; + + @Resource + private IMeterEquipmentApplyFileService equipmentApplyFileService; + + @Resource + private IBaseExportService iBaseExportService; + + @Override + public Page acceptanceCheckList(Page page, AcceptanceCheckRequest request) { + List businessKeys = new ArrayList<>(); + boolean searchBusinessKey = true; + String status = request.getApprovalStatus(); + Map taskMap = new HashMap<>(); // businessKey-taskId, 待审批列表用 + switch (status){ + case ApprovalStatusEnum.TO_BE_APPROVED: + List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); + businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); + toBeApprovedList.forEach(toBeApprovedDTO -> {taskMap.put(toBeApprovedDTO.getBusinessKey(),toBeApprovedDTO.getTaskId());}); + break; + case ApprovalStatusEnum.IN_APPROVED: + businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); + break; + case ApprovalStatusEnum.PASSED: + businessKeys = baseApprovalService.getPassedList(request.getFormId()); + break; + case ApprovalStatusEnum.FAILED: + businessKeys = baseApprovalService.getFailedList(request.getFormId()); + break; + case ApprovalStatusEnum.CANCELED: + businessKeys = baseApprovalService.getCanceledList(request.getFormId()); + break; + default: + // 全部 或 草稿箱,直接查表,不用查工作流 + searchBusinessKey = false; + break; + } + + if(searchBusinessKey){ + if(CollectionUtils.isEmpty(businessKeys)){ + return page; + }else { + request.setApprovalStatus(null); + request.setBusinessKeys(businessKeys); + } + } + request.setApplyType(EquipmentApplyTypeEnum.REPAIR_APPLY); + Page resultPage = meterAcceptanceCheckMapper.acceptanceCheckList(page, request); + for (MeterAcceptanceCheck meterEquipmentApply : resultPage.getRecords()) { + if(searchBusinessKey){ + meterEquipmentApply.setApprovalStatus(status); + } + if(ApprovalStatusEnum.TO_BE_APPROVED.equals(status)){ + meterEquipmentApply.setTaskId(taskMap.get(meterEquipmentApply.getId().toString())); + } + } + return resultPage; + } + + @Override + public Object acceptanceCheckInfo(IdDTO idDTO) throws Exception { + MeterAcceptanceCheck acceptanceCheckInfo = meterAcceptanceCheckMapper.acceptanceCheckInfo(idDTO.getId()); + List checkList = equipmentApplyEquipmentMapper.queryCheckList(acceptanceCheckInfo.getAcceptanceCheckId()); + for (MeterEquipmentApplyEquipment applyEquipment : checkList) { + DictCodeUtils.convertDictCodeToName(applyEquipment); + } + acceptanceCheckInfo.setCheckList(checkList); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id",idDTO.getId()); + List equipmentApplyFiles = equipmentApplyFileMapper.selectList(wrapper); + acceptanceCheckInfo.setFileList(equipmentApplyFiles); + return acceptanceCheckInfo; + } + + @Override + public ReturnDTO addAcceptanceCheck(MeterEquipmentApply meterEquipmentApply) { + if(meterEquipmentApplyMapper.insert(meterEquipmentApply)>0){ + meterEquipmentApply.getFileList().forEach(bean->bean.setApplyId(meterEquipmentApply.getId())); + boolean flg = equipmentApplyFileService.saveBatch(meterEquipmentApply.getFileList()); + if(flg){ + return ReturnUtil.success(); + }else{ + return ReturnUtil.failed("新增失败"); + } + } + return ReturnUtil.failed("操作失败"); + } + + @Override + public ReturnDTO updateAcceptanceCheckInfo(MeterEquipmentApply meterEquipmentApply) { + int updateFlg = meterEquipmentApplyMapper.updateById(meterEquipmentApply); + boolean saveOrUpdateBatch = equipmentApplyEquipmentService.saveOrUpdateBatch(meterEquipmentApply.getEquipmentList()); + if(updateFlg>0 && saveOrUpdateBatch){ + return ReturnUtil.success(); + } + return ReturnUtil.failed("操作失败"); + } + + @Override + public void exportList(AcceptanceCheckRequest request, HttpServletResponse response) { + try { + List resultList; + if(!CollectionUtils.isEmpty(request.getIds())){ + AcceptanceCheckRequest checkRequest = new AcceptanceCheckRequest(); + checkRequest.setIds(request.getIds()); + resultList = meterAcceptanceCheckMapper.acceptanceCheckList(checkRequest); + }else{ + resultList = meterAcceptanceCheckMapper.acceptanceCheckList(request); + } + iBaseExportService.exportExcel(response, MeterAcceptanceCheck.class,resultList, ExportEnum.METER_ACCEPTANCE_CHECK.getSheetName()); + } catch (IOException e) { + e.printStackTrace(); + } + + } + +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterEquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterEquipmentApplyServiceImpl.java index 531bde7..2abdac8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterEquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterEquipmentApplyServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.MeterEquipmentApplyProcessRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; @@ -22,6 +23,7 @@ import com.casic.missiles.model.*; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.service.IBaseApprovalService; +import com.casic.missiles.service.flowable.ApprovalOperateService; import com.casic.missiles.service.meter.IMeterEquipmentApplyEquipmentService; import com.casic.missiles.service.meter.IMeterEquipmentApplyFileService; import com.casic.missiles.service.meter.MeterEquipmentApplyService; @@ -61,6 +63,9 @@ @Resource private IBaseApprovalService baseApprovalService; + @Resource + private ApprovalOperateService approvalOperateService; + @Override public Page equipmentApplyList(Page page, MeterEquipmentApplyRequest request) throws Exception { List businessKeys = new ArrayList<>(); @@ -183,9 +188,13 @@ } @Override - public ReturnDTO deleteEquipmentApply(IdDTO idDto) { - if(equipmentApplyMapper.deleteById(idDto.getId())>0){ - return ReturnUtil.success(); + public ReturnDTO deleteEquipmentApply(ApprovalDeleteRequest request) { + ReturnDTO returnDTO = approvalOperateService.delete(request); + if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + //本地删除 + if(equipmentApplyMapper.deleteById(request.getId())>0){ + return ReturnUtil.success(); + } } return ReturnUtil.failed("删除失败"); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java index eb89506..bd96f0b 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java @@ -22,6 +22,7 @@ import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.sys.UserInfoMapper; import com.casic.missiles.model.MeterCertificate; +import com.casic.missiles.model.MeterEquipmentApplyEquipment; import com.casic.missiles.model.MeterStaff; import com.casic.missiles.model.UserInfo; import com.casic.missiles.modular.system.dao.DeptMapper; @@ -172,11 +173,24 @@ @Override public ReturnDTO updateStaffInfo(MeterStaff meterStaff) { int updateFlag = meterStaffMapper.updateById(meterStaff); - boolean saveOrUpdateFlag = meterCertificateService.saveOrUpdateBatch(meterStaff.getCertificateList()); - if(saveOrUpdateFlag && updateFlag>0){ - return ReturnUtil.success(); - } - return ReturnUtil.failed("人员信息编辑失败"); + if(updateFlag>0){ + List ids = new ArrayList<>(); + List equipmentList = new ArrayList<>(); + for (MeterCertificate certificate : meterStaff.getCertificateList()) { + if(null != certificate.getIsDel() && certificate.getIsDel() == 1){ + ids.add(certificate.getId()); + equipmentList.add(certificate); + } + } + meterCertificateMapper.deleteBatchIds(ids); + meterStaff.getCertificateList().removeAll(equipmentList); + boolean saveOrUpdateFlag = meterCertificateService.saveOrUpdateBatch(meterStaff.getCertificateList()); + if(saveOrUpdateFlag){ + return ReturnUtil.success(); + }else{ + return ReturnUtil.failed("人员信息编辑失败"); + } } + return ReturnUtil.failed("操作失败"); } @Override diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStandardApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStandardApplyServiceImpl.java index 2a69681..72dd697 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStandardApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStandardApplyServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; @@ -23,6 +24,7 @@ import com.casic.missiles.model.*; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.service.IBaseApprovalService; +import com.casic.missiles.service.flowable.ApprovalOperateService; import com.casic.missiles.service.meter.MeterStandardApplyEquipmentService; import com.casic.missiles.service.meter.MeterStandardApplyFileService; import com.casic.missiles.service.meter.MeterStandardApplyService; @@ -30,6 +32,7 @@ import com.casic.missiles.utils.NumberGeneratorUtil; import org.apache.commons.lang3.StringUtils; import org.flowable.engine.runtime.ProcessInstance; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -75,6 +78,9 @@ @Resource private IBaseApprovalService baseApprovalService; + @Resource + private ApprovalOperateService approvalOperateService; + @Override public Page standardEquipmentApplyList(Page page, StandardEquipmentApplyRequest request) throws Exception { Page resultPage; @@ -180,14 +186,6 @@ } @Override - public ReturnDTO deleteStandardEquipmentApply(IdDTO idDto) { - if(meterStandardApplyMapper.deleteById(idDto.getId())>0){ - return ReturnUtil.success(); - } - return ReturnUtil.failed("删除失败"); - } - - @Override public ReturnDTO updateStandardEquipmentApply(MeterStandardApply meterStandardApply) { boolean fileSaveOrUpdateFlag = meterStandardApplyFileService.saveOrUpdateBatch(meterStandardApply.getFileList()); boolean equipmentSaveOrUpdateFlag = standardApplyEquipmentService.saveOrUpdateBatch(meterStandardApply.getApplyEquipmentList()); @@ -230,6 +228,19 @@ } return ReturnUtil.success(); } + + @Override + public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { + ReturnDTO returnDTO = approvalOperateService.delete(request); + if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + //本地删除 + if(meterStandardApplyMapper.deleteById(request.getId())>0){ + return ReturnUtil.success(); + } + } + return ReturnUtil.failed("删除失败"); + } + private String getApplyNoPrefix(String applyType){ switch (applyType){ case StandardApplyTypeEnum.REPLACE_APPLY: diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/meter/MeterAcceptanceCheckService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/meter/MeterAcceptanceCheckService.java new file mode 100644 index 0000000..1be36bc --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/meter/MeterAcceptanceCheckService.java @@ -0,0 +1,23 @@ +package com.casic.missiles.service.meter; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.model.MeterAcceptanceCheck; +import com.casic.missiles.model.MeterEquipmentApply; + +import javax.servlet.http.HttpServletResponse; + +public interface MeterAcceptanceCheckService { + + Page acceptanceCheckList(Page page, AcceptanceCheckRequest request); + + Object acceptanceCheckInfo(IdDTO idDTO) throws Exception; + + ReturnDTO addAcceptanceCheck(MeterEquipmentApply meterEquipmentApply); + + ReturnDTO updateAcceptanceCheckInfo(MeterEquipmentApply meterEquipmentApply); + + void exportList(AcceptanceCheckRequest request, HttpServletResponse response); +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/meter/MeterEquipmentApplyService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/meter/MeterEquipmentApplyService.java index 94663ae..53ad31e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/meter/MeterEquipmentApplyService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/meter/MeterEquipmentApplyService.java @@ -5,6 +5,7 @@ import com.casic.missiles.dto.BaseApprovalSubmitRequest; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyProcessRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; import com.casic.missiles.dto.meter.MeterStateManageRequest; @@ -21,7 +22,7 @@ ReturnDTO addEquipmentApply(MeterEquipmentApply meterEquipmentApply); - ReturnDTO deleteEquipmentApply(IdDTO idDto); + ReturnDTO deleteEquipmentApply(ApprovalDeleteRequest request); ReturnDTO updateEquipmentApply(MeterEquipmentApply meterEquipmentApply); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java new file mode 100644 index 0000000..0861213 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterAcceptanceCheckController.java @@ -0,0 +1,124 @@ +package com.casic.missiles.controller.meter; + +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.BaseApprovalSubmitRequest; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.MeterAcceptanceCheck; +import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.meter.MeterAcceptanceCheckService; +import com.casic.missiles.service.meter.MeterEquipmentApplyService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + +@Api(tags = "设备检修保养验收单") +@Slf4j +@RestController +@RequestMapping("/acceptanceCheck") +public class MeterAcceptanceCheckController extends ExportController { + + @Resource + private MeterAcceptanceCheckService meterAcceptanceCheckService; + + @Resource + private MeterEquipmentApplyService meterEquipmentApplyService; + + /** + * 设备检修保养验收单列表 + */ + @ApiOperation("设备检修保养验收单列表") + @PostMapping("/acceptanceCheckList") + @ResponseBody + public ReturnDTO> acceptanceCheckList(@RequestBody AcceptanceCheckRequest request) throws Exception{ + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(meterAcceptanceCheckService.acceptanceCheckList(page, request))); + } + + /** + * 设备检修保养验收单详细信息 + */ + @ApiOperation("设备检修保养验收单详细信息") + @PostMapping("/acceptanceCheckInfo") + @ResponseBody + public ReturnDTO acceptanceCheckInfo(@RequestBody IdDTO idDTO) throws Exception{ + return ReturnUtil.success(meterAcceptanceCheckService.acceptanceCheckInfo(idDTO)); + } + + /** + * 设备检修保养验收单新建 + */ + @ApiOperation("设备检修保养验收单新建") + @PostMapping("/addAcceptanceCheck") + @ResponseBody + public ReturnDTO addAcceptanceCheck(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) throws Exception{ + return meterAcceptanceCheckService.addAcceptanceCheck(meterEquipmentApply); + } + + /** + * + * 设备检修保养验收单提交(必须先保存) + */ + @ApiOperation("设备检修保养验收单提交(必须先保存)") + @PostMapping("/submitEquipmentApply") + @ResponseBody + public ReturnDTO submitEquipmentApply(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) { + if(bindingResult.hasErrors()){ + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.submitEquipmentApply(request); + } + + /** + * 设设备检修保养验收单删除 + */ + @ApiOperation("设设备检修保养验收单审批操作-删除") + @PostMapping("deleteEquipmentApply") + @ResponseBody + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); + } + + /** + * 设设备检修保养验收单编辑 + */ + @ApiOperation("设设备检修保养验收单编辑") + @PostMapping("/updateAcceptanceCheckInfo") + @ResponseBody + public ReturnDTO updateAcceptanceCheckInfo(@RequestBody @Valid MeterEquipmentApply meterEquipmentApply) { + return meterAcceptanceCheckService.updateAcceptanceCheckInfo(meterEquipmentApply); + } + + /** + * 设设备检修保养验收单导出 + */ + @ApiOperation("设设备检修保养验收单导出") + @PostMapping("/exportList") + @ResponseBody + public void exportList(@RequestBody AcceptanceCheckRequest request, HttpServletResponse response) throws Exception{ + try { + meterAcceptanceCheckService.exportList(request,response); + }catch (Exception e){ + e.printStackTrace(); + } + } + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java index e00b6b9..6e2f38e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterEquipmentApplyController.java @@ -9,6 +9,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyProcessRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; @@ -97,11 +98,14 @@ /** * 设备借用申请列表删除 */ - @ApiOperation("设备借用申请列表删除") - @PostMapping("/deleteEquipmentApply") + @ApiOperation("设备借用申请列表审批操作-删除") + @PostMapping("deleteEquipmentApply") @ResponseBody - public ReturnDTO deleteEquipmentApply(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteEquipmentApply(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java index 052743c..03df967 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardApplyController.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; import com.casic.missiles.exception.BusinessException; @@ -87,13 +88,17 @@ } /** - * 标准装置申请列表删除 + * 删除(发起者或具有删除权限的用户可以删除,已通过/未通过状态不可删除) + * 前端控制按钮权限 */ - @ApiOperation("标准装置申请列表删除") - @PostMapping("/deleteStandardEquipmentApply") + @ApiOperation("审批操作-删除") + @PostMapping("/approval/operate/delete") @ResponseBody - public ReturnDTO deleteStandardEquipmentApply(@RequestBody IdDTO idDto) { - return standardEquipmentApplyService.deleteStandardEquipmentApply(idDto); + public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return standardEquipmentApplyService.approvalDelete(request); } /** diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java index cdd073f..b9542e4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStateManageController.java @@ -8,17 +8,21 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterStateManageRequest; import com.casic.missiles.dto.meter.MeterStateManageResponse; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.MeterCertificate; import com.casic.missiles.model.MeterCheckInfo; import com.casic.missiles.model.MeterEquipmentApply; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.meter.IMeterStateManageService; import com.casic.missiles.service.meter.MeterEquipmentApplyService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -63,8 +67,11 @@ @ApiOperation("状态管理申请列表删除") @PostMapping("/deleteStateManageList") @ResponseBody - public ReturnDTO deleteStateManageList(@RequestBody IdDTO idDto) { - return meterEquipmentApplyService.deleteEquipmentApply(idDto); + public ReturnDTO deleteStateManageList(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return meterEquipmentApplyService.deleteEquipmentApply(request); } /** diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 5c31709..b7bd107 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -26,7 +26,8 @@ METER_PRICE("meterPrice", "meterPrice", "价格库"), METER_STAFF("meterStaff", "meterStaff", "计量人员"), STANDARD_EQUIPMENT_APPLY("standardEquipmentApply", "standardEquipmentApply", "标准装置申请"), - STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"); + STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"), + METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java new file mode 100644 index 0000000..45bf56e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterAcceptanceCheckMapper.java @@ -0,0 +1,17 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.model.MeterAcceptanceCheck; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface MeterAcceptanceCheckMapper { + + Page acceptanceCheckList(Page page,@Param("request") AcceptanceCheckRequest request); + + List acceptanceCheckList(@Param("request") AcceptanceCheckRequest request); + + MeterAcceptanceCheck acceptanceCheckInfo(@Param("id") Long id); +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java index edac309..bb79e37 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterEquipmentApplyEquipmentMapper.java @@ -11,4 +11,5 @@ List queryEquipmentList(@Param("id") Long id); + List queryCheckList(@Param("acceptanceCheckId")String acceptanceCheckId); } diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml new file mode 100644 index 0000000..845c84d --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterAcceptanceCheckMapper.xml @@ -0,0 +1,73 @@ + + + + + + SELECT + msa.id, + msa.apply_no, + msa.apply_type, + msa.approval_status, + msa.apply_name, + cmsa.apply_no AS checkApplyNo, + cmsa.apply_name AS checkApplyName, + DATE_FORMAT( msa.time, '%Y-%m-%d %H:%i' ) as checkDate, + msa.overhaul_person, + msa.apply_desc, + msa.process_id, + msa.process_result, + msa.remark, + cmsa.acceptance_check_id + FROM + meter_equipment_apply msa + LEFT JOIN meter_equipment_apply cmsa ON msa.id = cmsa.acceptance_check_id + where 1=1 and msa.is_del = 0 + + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml index a74e9f4..abddec6 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyEquipmentMapper.xml @@ -19,5 +19,17 @@ and msae.apply_id = #{id} + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml index 68882b9..caf811c 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterEquipmentApplyMapper.xml @@ -64,6 +64,12 @@ #{id} + + and msa.id in + + #{id} + + ORDER BY msa.create_time DESC diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index b27c287..ab1f7fa 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -78,4 +78,6 @@ String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; //检查结果 String CHECK_RESULT = "checkResult"; + //检查结果 + String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java new file mode 100644 index 0000000..9c338f8 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/AcceptanceCheckRequest.java @@ -0,0 +1,86 @@ +package com.casic.missiles.dto.meter; + +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@ApiModel +@Data +public class AcceptanceCheckRequest { + + /** + * 申请类型 + */ + @ApiModelProperty(value = "申请类型", dataType = "String",required = true) + private String applyType; + + /** + * 验收单编号 + */ + @ApiModelProperty(value = "验收单编号", dataType = "String") + private String applyNo; + + /** + * 验收单名称 + */ + @ApiModelProperty(value = "验收单名称", dataType = "String") + private String applyName; + + /** + * 检修单编号 + */ + @ApiModelProperty(value = "检修单编号", dataType = "String") + private String checkApplyNo; + + /** + * 检修保养人 + */ + @ApiModelProperty(value = "检修保养人", dataType = "String") + private String overhaulPerson; + + /** + * 检查日期开始时间 + */ + @ApiModelProperty(value = "检查日期开始时间", dataType = "String") + private String checkStartDate; + + /** + * 检查日期结束时间 + */ + @ApiModelProperty(value = "检查日期结束时间", dataType = "String") + private String checkEndDate; + + /** + * 审批状态 + */ + @ApiModelProperty(value = "审批状态", dataType = "String", required = true) + private String approvalStatus; + + /** + * 表单id + */ + @ApiModelProperty(value = "表单id", dataType = "String") + private String formId; + + /** + * 创建人 + */ + @ApiModelProperty(value = "创建人", dataType = "String", required = true) + private String createUser; + + /** + * 导出ids + */ + @ApiModelProperty(value = "导出ids", dataType = "List") + private List ids; + + /** + * 业务主键列表 + */ + @ApiModelProperty(value = "业务主键列表(工作流查询用,不用前端传)", dataType = "List") + private List businessKeys; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java index 8918886..850e04f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/MeterEquipmentApplyRequest.java @@ -18,7 +18,7 @@ @Data public class MeterEquipmentApplyRequest { /** - * 申请编号 + * 表单id */ @ApiModelProperty(value = "表单id", dataType = "String") private String formId; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java new file mode 100644 index 0000000..b0586b3 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterAcceptanceCheck.java @@ -0,0 +1,154 @@ +package com.casic.missiles.model; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + + +@Data +@ApiModel +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +public class MeterAcceptanceCheck { + /** + * 主键 + */ + @ApiModelProperty(value = "主键", dataType = "Long") + private Long id; + + /** + * 检修申请id + */ + @ApiModelProperty(value = "检修申请id", dataType = "String") + private String acceptanceCheckId; + + /** + * 验收单编号 + */ + @ExcelProperty(value = "验收单编号",order = 0) + @ApiModelProperty(value = "验收单编号", dataType = "String") + private String applyNo; + + /** + * 验收单名称 + */ + @ExcelProperty(value = "验收单名称",order = 1) + @ApiModelProperty(value = "验收单名称", dataType = "String") + private String applyName; + + /** + * 检修单编号 + */ + @ExcelProperty(value = "检修单编号",order = 2) + @ApiModelProperty(value = "检修单编号", dataType = "String") + private String checkApplyNo; + + /** + * 检修单名称 + */ + @ExcelProperty(value = "检修单名称",order = 3) + @ApiModelProperty(value = "检修单名称", dataType = "String") + private String checkApplyName; + + /** + * 检修保养人 + */ + @ExcelProperty(value = "检修保养人",order = 4) + @ApiModelProperty(value = "检修保养人", dataType = "String") + private String overhaulPerson; + + /** + * 检修日期 + */ + @ExcelProperty(value = "检修日期",order = 5) + @ApiModelProperty(value = "检修日期", dataType = "String") + private String checkDate; + + /** + * 审批状态-字典code + */ + @TableField("approval_status") + @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) + @ApiModelProperty(value = "审批状态-字典code", dataType = "String") + private String approvalStatus; + + /** + * 审批状态名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "审批状态名称", dataType = "String") + private String approvalStatusName; + + /** + * 任务id + */ + @TableField(exist = false) + @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") + private String taskId; + + /** + * 备注 + */ + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String") + private String remark; + + /** + * 删除标记 + */ + @TableField("is_del") + @ApiModelProperty(value = "删除标记", dataType = "Integer") + private Integer isDel; + + + /** + * 创建人 + */ + @TableField("create_user") + @ApiModelProperty(value = "创建人", dataType = "String") + private String createUser; + + /** + * 创建时间 + */ + @TableField("create_time") + @ApiModelProperty(value = "创建时间", dataType = "String") + private String createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + @ApiModelProperty(value = "更新时间", dataType = "String") + private String updateTime; + + /** + * 检修设备列表 + */ + @TableField(exist = false) + @ApiModelProperty(value = "检修设备列表", dataType = "List") + List checkList; + + /** + * 附件列表 + */ + @TableField(exist = false) + @ApiModelProperty(value = "附件列表", dataType = "List") + List fileList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java index 1f0a575..59bbf54 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApply.java @@ -225,4 +225,12 @@ @ApiModelProperty(value = "任务id(同意、驳回等操作使用)", dataType = "String") private String taskId; + + /** + * 检修申请id + */ + @TableField("acceptance_check_id") + @ApiModelProperty(value = "检修申请id", dataType = "String") + private String acceptanceCheckId; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java index 67cac45..5453c95 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentApplyEquipment.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -85,10 +87,18 @@ * 检修结果-字典code(设备检修保养验收申请) */ @TableField("overhaul_result") + @DictCodeField(message = "检修结果不合法", cacheName = MeterDictCode.ACCEPTANCE_CHECK_RESULT) @ApiModelProperty(value = "检修结果-字典code(设备检修保养验收申请)", dataType = "String") private String overhaulResult; /** + * 检修结果名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "检修结果名称", dataType = "String") + private String overhaulResultName; + + /** * 检修意见(设备检修保养验收申请) */ @TableField("overhaul_idea") @@ -136,4 +146,11 @@ @TableField(exist = false) @ApiModelProperty(value = "设备编号", dataType = "String") private String equipmentNo; + + /** + * 设备名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "设备名称", dataType = "String") + private String equipmentName; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/UserInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/UserInfo.java index c80e72d..92a2c6a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/UserInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/UserInfo.java @@ -15,6 +15,9 @@ private static final long serialVersionUID = 1L; + @TableId("id") + private Long id; + @TableField("dept_id") @ApiModelProperty(value = "部门id", dataType = "String") private String deptId; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterAcceptanceCheckServiceImpl.java new file mode 100644 index 0000000..463993e --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterAcceptanceCheckServiceImpl.java @@ -0,0 +1,172 @@ +package com.casic.missiles.service.Impl.meter; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.service.IBaseExportService; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ToBeApprovedDTO; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.mapper.meter.MeterAcceptanceCheckMapper; +import com.casic.missiles.mapper.meter.MeterEquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.meter.MeterEquipmentApplyFileMapper; +import com.casic.missiles.mapper.meter.MeterEquipmentApplyMapper; +import com.casic.missiles.model.*; +import com.casic.missiles.service.IBaseApprovalService; +import com.casic.missiles.service.meter.IMeterEquipmentApplyEquipmentService; +import com.casic.missiles.service.meter.IMeterEquipmentApplyFileService; +import com.casic.missiles.service.meter.MeterAcceptanceCheckService; +import com.casic.missiles.service.meter.MeterEquipmentApplyService; +import com.casic.missiles.utils.DictCodeUtils; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service("MeterAcceptanceCheckService") +public class MeterAcceptanceCheckServiceImpl implements MeterAcceptanceCheckService { + + @Resource + private MeterEquipmentApplyMapper meterEquipmentApplyMapper; + + @Resource + private MeterAcceptanceCheckMapper meterAcceptanceCheckMapper; + + @Resource + private IBaseApprovalService baseApprovalService; + + @Resource + private MeterEquipmentApplyEquipmentMapper equipmentApplyEquipmentMapper; + + @Resource + private MeterEquipmentApplyFileMapper equipmentApplyFileMapper; + + @Resource + private IMeterEquipmentApplyEquipmentService equipmentApplyEquipmentService; + + @Resource + private IMeterEquipmentApplyFileService equipmentApplyFileService; + + @Resource + private IBaseExportService iBaseExportService; + + @Override + public Page acceptanceCheckList(Page page, AcceptanceCheckRequest request) { + List businessKeys = new ArrayList<>(); + boolean searchBusinessKey = true; + String status = request.getApprovalStatus(); + Map taskMap = new HashMap<>(); // businessKey-taskId, 待审批列表用 + switch (status){ + case ApprovalStatusEnum.TO_BE_APPROVED: + List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); + businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); + toBeApprovedList.forEach(toBeApprovedDTO -> {taskMap.put(toBeApprovedDTO.getBusinessKey(),toBeApprovedDTO.getTaskId());}); + break; + case ApprovalStatusEnum.IN_APPROVED: + businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); + break; + case ApprovalStatusEnum.PASSED: + businessKeys = baseApprovalService.getPassedList(request.getFormId()); + break; + case ApprovalStatusEnum.FAILED: + businessKeys = baseApprovalService.getFailedList(request.getFormId()); + break; + case ApprovalStatusEnum.CANCELED: + businessKeys = baseApprovalService.getCanceledList(request.getFormId()); + break; + default: + // 全部 或 草稿箱,直接查表,不用查工作流 + searchBusinessKey = false; + break; + } + + if(searchBusinessKey){ + if(CollectionUtils.isEmpty(businessKeys)){ + return page; + }else { + request.setApprovalStatus(null); + request.setBusinessKeys(businessKeys); + } + } + request.setApplyType(EquipmentApplyTypeEnum.REPAIR_APPLY); + Page resultPage = meterAcceptanceCheckMapper.acceptanceCheckList(page, request); + for (MeterAcceptanceCheck meterEquipmentApply : resultPage.getRecords()) { + if(searchBusinessKey){ + meterEquipmentApply.setApprovalStatus(status); + } + if(ApprovalStatusEnum.TO_BE_APPROVED.equals(status)){ + meterEquipmentApply.setTaskId(taskMap.get(meterEquipmentApply.getId().toString())); + } + } + return resultPage; + } + + @Override + public Object acceptanceCheckInfo(IdDTO idDTO) throws Exception { + MeterAcceptanceCheck acceptanceCheckInfo = meterAcceptanceCheckMapper.acceptanceCheckInfo(idDTO.getId()); + List checkList = equipmentApplyEquipmentMapper.queryCheckList(acceptanceCheckInfo.getAcceptanceCheckId()); + for (MeterEquipmentApplyEquipment applyEquipment : checkList) { + DictCodeUtils.convertDictCodeToName(applyEquipment); + } + acceptanceCheckInfo.setCheckList(checkList); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id",idDTO.getId()); + List equipmentApplyFiles = equipmentApplyFileMapper.selectList(wrapper); + acceptanceCheckInfo.setFileList(equipmentApplyFiles); + return acceptanceCheckInfo; + } + + @Override + public ReturnDTO addAcceptanceCheck(MeterEquipmentApply meterEquipmentApply) { + if(meterEquipmentApplyMapper.insert(meterEquipmentApply)>0){ + meterEquipmentApply.getFileList().forEach(bean->bean.setApplyId(meterEquipmentApply.getId())); + boolean flg = equipmentApplyFileService.saveBatch(meterEquipmentApply.getFileList()); + if(flg){ + return ReturnUtil.success(); + }else{ + return ReturnUtil.failed("新增失败"); + } + } + return ReturnUtil.failed("操作失败"); + } + + @Override + public ReturnDTO updateAcceptanceCheckInfo(MeterEquipmentApply meterEquipmentApply) { + int updateFlg = meterEquipmentApplyMapper.updateById(meterEquipmentApply); + boolean saveOrUpdateBatch = equipmentApplyEquipmentService.saveOrUpdateBatch(meterEquipmentApply.getEquipmentList()); + if(updateFlg>0 && saveOrUpdateBatch){ + return ReturnUtil.success(); + } + return ReturnUtil.failed("操作失败"); + } + + @Override + public void exportList(AcceptanceCheckRequest request, HttpServletResponse response) { + try { + List resultList; + if(!CollectionUtils.isEmpty(request.getIds())){ + AcceptanceCheckRequest checkRequest = new AcceptanceCheckRequest(); + checkRequest.setIds(request.getIds()); + resultList = meterAcceptanceCheckMapper.acceptanceCheckList(checkRequest); + }else{ + resultList = meterAcceptanceCheckMapper.acceptanceCheckList(request); + } + iBaseExportService.exportExcel(response, MeterAcceptanceCheck.class,resultList, ExportEnum.METER_ACCEPTANCE_CHECK.getSheetName()); + } catch (IOException e) { + e.printStackTrace(); + } + + } + +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterEquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterEquipmentApplyServiceImpl.java index 531bde7..2abdac8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterEquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterEquipmentApplyServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.MeterEquipmentApplyProcessRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; @@ -22,6 +23,7 @@ import com.casic.missiles.model.*; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.service.IBaseApprovalService; +import com.casic.missiles.service.flowable.ApprovalOperateService; import com.casic.missiles.service.meter.IMeterEquipmentApplyEquipmentService; import com.casic.missiles.service.meter.IMeterEquipmentApplyFileService; import com.casic.missiles.service.meter.MeterEquipmentApplyService; @@ -61,6 +63,9 @@ @Resource private IBaseApprovalService baseApprovalService; + @Resource + private ApprovalOperateService approvalOperateService; + @Override public Page equipmentApplyList(Page page, MeterEquipmentApplyRequest request) throws Exception { List businessKeys = new ArrayList<>(); @@ -183,9 +188,13 @@ } @Override - public ReturnDTO deleteEquipmentApply(IdDTO idDto) { - if(equipmentApplyMapper.deleteById(idDto.getId())>0){ - return ReturnUtil.success(); + public ReturnDTO deleteEquipmentApply(ApprovalDeleteRequest request) { + ReturnDTO returnDTO = approvalOperateService.delete(request); + if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + //本地删除 + if(equipmentApplyMapper.deleteById(request.getId())>0){ + return ReturnUtil.success(); + } } return ReturnUtil.failed("删除失败"); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java index eb89506..bd96f0b 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java @@ -22,6 +22,7 @@ import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.sys.UserInfoMapper; import com.casic.missiles.model.MeterCertificate; +import com.casic.missiles.model.MeterEquipmentApplyEquipment; import com.casic.missiles.model.MeterStaff; import com.casic.missiles.model.UserInfo; import com.casic.missiles.modular.system.dao.DeptMapper; @@ -172,11 +173,24 @@ @Override public ReturnDTO updateStaffInfo(MeterStaff meterStaff) { int updateFlag = meterStaffMapper.updateById(meterStaff); - boolean saveOrUpdateFlag = meterCertificateService.saveOrUpdateBatch(meterStaff.getCertificateList()); - if(saveOrUpdateFlag && updateFlag>0){ - return ReturnUtil.success(); - } - return ReturnUtil.failed("人员信息编辑失败"); + if(updateFlag>0){ + List ids = new ArrayList<>(); + List equipmentList = new ArrayList<>(); + for (MeterCertificate certificate : meterStaff.getCertificateList()) { + if(null != certificate.getIsDel() && certificate.getIsDel() == 1){ + ids.add(certificate.getId()); + equipmentList.add(certificate); + } + } + meterCertificateMapper.deleteBatchIds(ids); + meterStaff.getCertificateList().removeAll(equipmentList); + boolean saveOrUpdateFlag = meterCertificateService.saveOrUpdateBatch(meterStaff.getCertificateList()); + if(saveOrUpdateFlag){ + return ReturnUtil.success(); + }else{ + return ReturnUtil.failed("人员信息编辑失败"); + } } + return ReturnUtil.failed("操作失败"); } @Override diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStandardApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStandardApplyServiceImpl.java index 2a69681..72dd697 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStandardApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStandardApplyServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; @@ -23,6 +24,7 @@ import com.casic.missiles.model.*; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.service.IBaseApprovalService; +import com.casic.missiles.service.flowable.ApprovalOperateService; import com.casic.missiles.service.meter.MeterStandardApplyEquipmentService; import com.casic.missiles.service.meter.MeterStandardApplyFileService; import com.casic.missiles.service.meter.MeterStandardApplyService; @@ -30,6 +32,7 @@ import com.casic.missiles.utils.NumberGeneratorUtil; import org.apache.commons.lang3.StringUtils; import org.flowable.engine.runtime.ProcessInstance; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -75,6 +78,9 @@ @Resource private IBaseApprovalService baseApprovalService; + @Resource + private ApprovalOperateService approvalOperateService; + @Override public Page standardEquipmentApplyList(Page page, StandardEquipmentApplyRequest request) throws Exception { Page resultPage; @@ -180,14 +186,6 @@ } @Override - public ReturnDTO deleteStandardEquipmentApply(IdDTO idDto) { - if(meterStandardApplyMapper.deleteById(idDto.getId())>0){ - return ReturnUtil.success(); - } - return ReturnUtil.failed("删除失败"); - } - - @Override public ReturnDTO updateStandardEquipmentApply(MeterStandardApply meterStandardApply) { boolean fileSaveOrUpdateFlag = meterStandardApplyFileService.saveOrUpdateBatch(meterStandardApply.getFileList()); boolean equipmentSaveOrUpdateFlag = standardApplyEquipmentService.saveOrUpdateBatch(meterStandardApply.getApplyEquipmentList()); @@ -230,6 +228,19 @@ } return ReturnUtil.success(); } + + @Override + public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { + ReturnDTO returnDTO = approvalOperateService.delete(request); + if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + //本地删除 + if(meterStandardApplyMapper.deleteById(request.getId())>0){ + return ReturnUtil.success(); + } + } + return ReturnUtil.failed("删除失败"); + } + private String getApplyNoPrefix(String applyType){ switch (applyType){ case StandardApplyTypeEnum.REPLACE_APPLY: diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/meter/MeterAcceptanceCheckService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/meter/MeterAcceptanceCheckService.java new file mode 100644 index 0000000..1be36bc --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/meter/MeterAcceptanceCheckService.java @@ -0,0 +1,23 @@ +package com.casic.missiles.service.meter; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.meter.AcceptanceCheckRequest; +import com.casic.missiles.model.MeterAcceptanceCheck; +import com.casic.missiles.model.MeterEquipmentApply; + +import javax.servlet.http.HttpServletResponse; + +public interface MeterAcceptanceCheckService { + + Page acceptanceCheckList(Page page, AcceptanceCheckRequest request); + + Object acceptanceCheckInfo(IdDTO idDTO) throws Exception; + + ReturnDTO addAcceptanceCheck(MeterEquipmentApply meterEquipmentApply); + + ReturnDTO updateAcceptanceCheckInfo(MeterEquipmentApply meterEquipmentApply); + + void exportList(AcceptanceCheckRequest request, HttpServletResponse response); +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/meter/MeterEquipmentApplyService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/meter/MeterEquipmentApplyService.java index 94663ae..53ad31e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/meter/MeterEquipmentApplyService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/meter/MeterEquipmentApplyService.java @@ -5,6 +5,7 @@ import com.casic.missiles.dto.BaseApprovalSubmitRequest; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyProcessRequest; import com.casic.missiles.dto.meter.MeterEquipmentApplyRequest; import com.casic.missiles.dto.meter.MeterStateManageRequest; @@ -21,7 +22,7 @@ ReturnDTO addEquipmentApply(MeterEquipmentApply meterEquipmentApply); - ReturnDTO deleteEquipmentApply(IdDTO idDto); + ReturnDTO deleteEquipmentApply(ApprovalDeleteRequest request); ReturnDTO updateEquipmentApply(MeterEquipmentApply meterEquipmentApply); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/meter/MeterStandardApplyService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/meter/MeterStandardApplyService.java index f6f8bb7..2e2661e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/meter/MeterStandardApplyService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/meter/MeterStandardApplyService.java @@ -5,6 +5,7 @@ import com.casic.missiles.dto.BaseApprovalSubmitRequest; import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.meter.StandardEquipmentApplyRequest; import com.casic.missiles.model.MeterStandardApply; @@ -26,11 +27,11 @@ ReturnDTO addStandardEquipmentApply(MeterStandardApply meterStandardApply); - ReturnDTO deleteStandardEquipmentApply(IdDTO idDto); - ReturnDTO updateStandardEquipmentApply(MeterStandardApply meterStandardApply); void exportList(StandardEquipmentApplyRequest request, HttpServletResponse response) throws Exception; ReturnDTO submitStandardEquipmentApply(BaseApprovalSubmitRequest request); + + ReturnDTO approvalDelete(ApprovalDeleteRequest request); }