diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java index 68929b2..ad116bc 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.*; +import com.casic.missiles.dto.business.siteExecutive.BusinessSiteExecutiveDetail; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListRequest; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListResponse; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; @@ -126,7 +127,7 @@ @ApiOperation("现场检测详情") @PostMapping("/detail") @ResponseBody - public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java index 68929b2..ad116bc 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.*; +import com.casic.missiles.dto.business.siteExecutive.BusinessSiteExecutiveDetail; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListRequest; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListResponse; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; @@ -126,7 +127,7 @@ @ApiOperation("现场检测详情") @PostMapping("/detail") @ResponseBody - public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java index 62f69c8..183f5af 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java @@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.util.Objects; @@ -91,10 +92,10 @@ return ReturnUtil.success(siteExecutiveLogService.deleteSiteExecutiveLog(idDTO.getId())); } -// @ApiOperation("现场检测记录表导出") -// @PostMapping("/export") -// public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) { -// siteExecutiveLogService.originExport(request, response); -// } + @ApiOperation("现场检测记录表导出") + @PostMapping("/export") + public void exportExecuteLog(@RequestBody @Valid SiteExecuteLogRequest request,HttpServletResponse response) { + siteExecutiveLogService.exportExecuteLog(request, response); + } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java index 68929b2..ad116bc 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.*; +import com.casic.missiles.dto.business.siteExecutive.BusinessSiteExecutiveDetail; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListRequest; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListResponse; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; @@ -126,7 +127,7 @@ @ApiOperation("现场检测详情") @PostMapping("/detail") @ResponseBody - public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java index 62f69c8..183f5af 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java @@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.util.Objects; @@ -91,10 +92,10 @@ return ReturnUtil.success(siteExecutiveLogService.deleteSiteExecutiveLog(idDTO.getId())); } -// @ApiOperation("现场检测记录表导出") -// @PostMapping("/export") -// public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) { -// siteExecutiveLogService.originExport(request, response); -// } + @ApiOperation("现场检测记录表导出") + @PostMapping("/export") + public void exportExecuteLog(@RequestBody @Valid SiteExecuteLogRequest request,HttpServletResponse response) { + siteExecutiveLogService.exportExecuteLog(request, response); + } } 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 7015965..e05c3d8 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 @@ -49,7 +49,8 @@ WORK_STATISTICS_EXPORT("workStatisticsData", "workStatisticsData", "实时工作统计"), DEPT_OUTPUT_EXPORT("deptOutputData", "deptOutputData", "部门产值分析"), WORKLOAD_EXPORT("workloadData", "workloadData", "业务工作量分析"), - DEPT_COMPREHENSIVE_EXPORT("deptComprehensiveData", "deptComprehensiveData", "部门综合分析"); + DEPT_COMPREHENSIVE_EXPORT("deptComprehensiveData", "deptComprehensiveData", "部门综合分析"), + ENVIRONMENTAL_RECORD("environmentalRecordData", "environmentalRecordData", "现场环境记录"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java index 68929b2..ad116bc 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.*; +import com.casic.missiles.dto.business.siteExecutive.BusinessSiteExecutiveDetail; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListRequest; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListResponse; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; @@ -126,7 +127,7 @@ @ApiOperation("现场检测详情") @PostMapping("/detail") @ResponseBody - public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java index 62f69c8..183f5af 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java @@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.util.Objects; @@ -91,10 +92,10 @@ return ReturnUtil.success(siteExecutiveLogService.deleteSiteExecutiveLog(idDTO.getId())); } -// @ApiOperation("现场检测记录表导出") -// @PostMapping("/export") -// public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) { -// siteExecutiveLogService.originExport(request, response); -// } + @ApiOperation("现场检测记录表导出") + @PostMapping("/export") + public void exportExecuteLog(@RequestBody @Valid SiteExecuteLogRequest request,HttpServletResponse response) { + siteExecutiveLogService.exportExecuteLog(request, response); + } } 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 7015965..e05c3d8 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 @@ -49,7 +49,8 @@ WORK_STATISTICS_EXPORT("workStatisticsData", "workStatisticsData", "实时工作统计"), DEPT_OUTPUT_EXPORT("deptOutputData", "deptOutputData", "部门产值分析"), WORKLOAD_EXPORT("workloadData", "workloadData", "业务工作量分析"), - DEPT_COMPREHENSIVE_EXPORT("deptComprehensiveData", "deptComprehensiveData", "部门综合分析"); + DEPT_COMPREHENSIVE_EXPORT("deptComprehensiveData", "deptComprehensiveData", "部门综合分析"), + ENVIRONMENTAL_RECORD("environmentalRecordData", "environmentalRecordData", "现场环境记录"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java index 34605b0..22c6c84 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java @@ -20,9 +20,9 @@ */ public interface BusinessSiteExecutiveInfoMapper extends BaseMapper { - List selectDraftListForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request); + List selectDraftListForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request); - List selectBatchForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request, @Param("businessKeys") List businessKeys); + List selectBatchForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request, @Param("businessKeys") List businessKeys); @Select("SELECT IFNULL(max(RIGHT(site_executive_no, 12)), 0) from business_site_executive_info") Long selectMaxCode(); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java index 68929b2..ad116bc 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.*; +import com.casic.missiles.dto.business.siteExecutive.BusinessSiteExecutiveDetail; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListRequest; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListResponse; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; @@ -126,7 +127,7 @@ @ApiOperation("现场检测详情") @PostMapping("/detail") @ResponseBody - public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java index 62f69c8..183f5af 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java @@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.util.Objects; @@ -91,10 +92,10 @@ return ReturnUtil.success(siteExecutiveLogService.deleteSiteExecutiveLog(idDTO.getId())); } -// @ApiOperation("现场检测记录表导出") -// @PostMapping("/export") -// public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) { -// siteExecutiveLogService.originExport(request, response); -// } + @ApiOperation("现场检测记录表导出") + @PostMapping("/export") + public void exportExecuteLog(@RequestBody @Valid SiteExecuteLogRequest request,HttpServletResponse response) { + siteExecutiveLogService.exportExecuteLog(request, response); + } } 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 7015965..e05c3d8 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 @@ -49,7 +49,8 @@ WORK_STATISTICS_EXPORT("workStatisticsData", "workStatisticsData", "实时工作统计"), DEPT_OUTPUT_EXPORT("deptOutputData", "deptOutputData", "部门产值分析"), WORKLOAD_EXPORT("workloadData", "workloadData", "业务工作量分析"), - DEPT_COMPREHENSIVE_EXPORT("deptComprehensiveData", "deptComprehensiveData", "部门综合分析"); + DEPT_COMPREHENSIVE_EXPORT("deptComprehensiveData", "deptComprehensiveData", "部门综合分析"), + ENVIRONMENTAL_RECORD("environmentalRecordData", "environmentalRecordData", "现场环境记录"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java index 34605b0..22c6c84 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java @@ -20,9 +20,9 @@ */ public interface BusinessSiteExecutiveInfoMapper extends BaseMapper { - List selectDraftListForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request); + List selectDraftListForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request); - List selectBatchForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request, @Param("businessKeys") List businessKeys); + List selectBatchForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request, @Param("businessKeys") List businessKeys); @Select("SELECT IFNULL(max(RIGHT(site_executive_no, 12)), 0) from business_site_executive_info") Long selectMaxCode(); diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessSiteExecutiveInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessSiteExecutiveInfoMapper.xml index 3481cd5..65e3fa1 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessSiteExecutiveInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessSiteExecutiveInfoMapper.xml @@ -29,9 +29,15 @@ - SELECT * FROM business_site_executive_info + JOIN ( + SELECT id as orderId,customer_name AS customerName,customer_address AS customerAddress, + customer_phone AS customerPhone,deliverer + FROM business_order + where is_del = 0 + )bo ON bo.orderId=order_id WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user = #{request.createUserId} @@ -46,9 +52,15 @@ - SELECT * FROM business_site_executive_info + JOIN ( + SELECT id as orderId,customer_name AS customerName,customer_address AS customerAddress, + customer_phone AS customerPhone,deliverer + FROM business_order + where is_del = 0 + )bo ON bo.orderId=order_id WHERE is_del = 0 and site_executive_no like concat('%',#{request.siteExecutiveNo},'%') diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java index 68929b2..ad116bc 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.*; +import com.casic.missiles.dto.business.siteExecutive.BusinessSiteExecutiveDetail; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListRequest; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListResponse; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; @@ -126,7 +127,7 @@ @ApiOperation("现场检测详情") @PostMapping("/detail") @ResponseBody - public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java index 62f69c8..183f5af 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java @@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.util.Objects; @@ -91,10 +92,10 @@ return ReturnUtil.success(siteExecutiveLogService.deleteSiteExecutiveLog(idDTO.getId())); } -// @ApiOperation("现场检测记录表导出") -// @PostMapping("/export") -// public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) { -// siteExecutiveLogService.originExport(request, response); -// } + @ApiOperation("现场检测记录表导出") + @PostMapping("/export") + public void exportExecuteLog(@RequestBody @Valid SiteExecuteLogRequest request,HttpServletResponse response) { + siteExecutiveLogService.exportExecuteLog(request, response); + } } 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 7015965..e05c3d8 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 @@ -49,7 +49,8 @@ WORK_STATISTICS_EXPORT("workStatisticsData", "workStatisticsData", "实时工作统计"), DEPT_OUTPUT_EXPORT("deptOutputData", "deptOutputData", "部门产值分析"), WORKLOAD_EXPORT("workloadData", "workloadData", "业务工作量分析"), - DEPT_COMPREHENSIVE_EXPORT("deptComprehensiveData", "deptComprehensiveData", "部门综合分析"); + DEPT_COMPREHENSIVE_EXPORT("deptComprehensiveData", "deptComprehensiveData", "部门综合分析"), + ENVIRONMENTAL_RECORD("environmentalRecordData", "environmentalRecordData", "现场环境记录"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java index 34605b0..22c6c84 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java @@ -20,9 +20,9 @@ */ public interface BusinessSiteExecutiveInfoMapper extends BaseMapper { - List selectDraftListForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request); + List selectDraftListForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request); - List selectBatchForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request, @Param("businessKeys") List businessKeys); + List selectBatchForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request, @Param("businessKeys") List businessKeys); @Select("SELECT IFNULL(max(RIGHT(site_executive_no, 12)), 0) from business_site_executive_info") Long selectMaxCode(); diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessSiteExecutiveInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessSiteExecutiveInfoMapper.xml index 3481cd5..65e3fa1 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessSiteExecutiveInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessSiteExecutiveInfoMapper.xml @@ -29,9 +29,15 @@ - SELECT * FROM business_site_executive_info + JOIN ( + SELECT id as orderId,customer_name AS customerName,customer_address AS customerAddress, + customer_phone AS customerPhone,deliverer + FROM business_order + where is_del = 0 + )bo ON bo.orderId=order_id WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user = #{request.createUserId} @@ -46,9 +52,15 @@ - SELECT * FROM business_site_executive_info + JOIN ( + SELECT id as orderId,customer_name AS customerName,customer_address AS customerAddress, + customer_phone AS customerPhone,deliverer + FROM business_order + where is_del = 0 + )bo ON bo.orderId=order_id WHERE is_del = 0 and site_executive_no like concat('%',#{request.siteExecutiveNo},'%') diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/BusinessSiteExecutiveDetail.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/BusinessSiteExecutiveDetail.java new file mode 100644 index 0000000..0d3590f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/BusinessSiteExecutiveDetail.java @@ -0,0 +1,137 @@ +package com.casic.missiles.dto.business.siteExecutive; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.meter.MeterStaff; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@TableName("business_site_executive_info") +public class BusinessSiteExecutiveDetail { + + private static final long serialVersionUID = 1L; + + @TableId("id") + private Long id; + + @ApiModelProperty(value = "现场检测编号", dataType = "String") + @TableField("site_executive_no") + private String siteExecutiveNo; + + @ApiModelProperty(value = "现场检测名字", dataType = "String") + @TableField("site_executive_name") + private String siteExecutiveName; + + @ApiModelProperty(value = "负责人id", dataType = "Long") + @TableField("director_id") + private Long directorId; + + @ApiModelProperty(value = "负责人名字", dataType = "String") + @TableField("director_name") + private String directorName; + + @ApiModelProperty(value = "申请时间", dataType = "String") + @TableField("apply_time") + private String applyTime; + + @ApiModelProperty(value = "任务来源-字典code", dataType = "String") + @TableField("task_source") + private String taskSource; + + @ApiModelProperty(value = "任务来源-字典value", dataType = "String") + @TableField(exist = false) + private String taskSourceName; + + @ApiModelProperty(value = "委托书id", dataType = "String") + @TableField("order_id") + private Long orderId; + + @ApiModelProperty(value = "委托方id", dataType = "String") + @TableField("customer_id") + private Long customerId; + + @ApiModelProperty(value = "预计计量费用", dataType = "String") + @TableField("pre_cost") + private String preCost; + + @ApiModelProperty(value = "预计开始时间", dataType = "String") + @TableField("pre_start_time") + private String preStartTime; + + @ApiModelProperty(value = "预计结束时间", dataType = "String") + @TableField("pre_end_time") + private String preEndTime; + + @ApiModelProperty(value = "检测地址", dataType = "String") + @TableField("executive_address") + private String executiveAddress; + + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托方地址", dataType = "String") + private String customerAddress; + + @ApiModelProperty(value = "电话", dataType = "String") + private String customerPhone; + + @ApiModelProperty(value = "联系人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "现场环境条件", dataType = "String") + @TableField("executive_environment") + private String executiveEnvironment; + + @ApiModelProperty(value = "主要危害源及预防措施", dataType = "String") + @TableField("hazard_source_and_prevention_method") + private String hazardSourceAndPreventionMethod; + + @ApiModelProperty(value = "现场测试、校准或检定项目", dataType = "String") + @TableField("executive_item") + private String executiveItem; + + @ApiModelProperty(value = "审批状态", dataType = "String") + @TableField("approval_status") + private String approvalStatus; + + @ApiModelProperty(value = "流程实例id(未通过现场检测编辑接口必传参数)", dataType = "String") + @TableField("process_id") + private String processId; + + @TableField("remark") + private String remark; + + + @TableField("print_file_name") + private String printFileName; + + @ApiModelProperty(hidden = true) + @TableField("create_user") + private Long createUser; + + @ApiModelProperty(hidden = true) + @TableField("is_del") + private Integer isDel; + + @ApiModelProperty(value = "创建时间", dataType = "String") + @TableField("create_time") + private String createTime; + + @ApiModelProperty(hidden = true) + @TableField("update_time") + private String updateTime; + + @TableField(exist = false) + @ApiModelProperty(value = "携带仪器设备", dataType = "List") + private List equipmentInfoList; + + @TableField(exist = false) + @ApiModelProperty(value = "现场测试、校准或检定人员", dataType = "List") + private List meterStaffList; +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java index 68929b2..ad116bc 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.*; +import com.casic.missiles.dto.business.siteExecutive.BusinessSiteExecutiveDetail; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListRequest; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListResponse; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; @@ -126,7 +127,7 @@ @ApiOperation("现场检测详情") @PostMapping("/detail") @ResponseBody - public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java index 62f69c8..183f5af 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java @@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.util.Objects; @@ -91,10 +92,10 @@ return ReturnUtil.success(siteExecutiveLogService.deleteSiteExecutiveLog(idDTO.getId())); } -// @ApiOperation("现场检测记录表导出") -// @PostMapping("/export") -// public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) { -// siteExecutiveLogService.originExport(request, response); -// } + @ApiOperation("现场检测记录表导出") + @PostMapping("/export") + public void exportExecuteLog(@RequestBody @Valid SiteExecuteLogRequest request,HttpServletResponse response) { + siteExecutiveLogService.exportExecuteLog(request, response); + } } 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 7015965..e05c3d8 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 @@ -49,7 +49,8 @@ WORK_STATISTICS_EXPORT("workStatisticsData", "workStatisticsData", "实时工作统计"), DEPT_OUTPUT_EXPORT("deptOutputData", "deptOutputData", "部门产值分析"), WORKLOAD_EXPORT("workloadData", "workloadData", "业务工作量分析"), - DEPT_COMPREHENSIVE_EXPORT("deptComprehensiveData", "deptComprehensiveData", "部门综合分析"); + DEPT_COMPREHENSIVE_EXPORT("deptComprehensiveData", "deptComprehensiveData", "部门综合分析"), + ENVIRONMENTAL_RECORD("environmentalRecordData", "environmentalRecordData", "现场环境记录"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java index 34605b0..22c6c84 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java @@ -20,9 +20,9 @@ */ public interface BusinessSiteExecutiveInfoMapper extends BaseMapper { - List selectDraftListForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request); + List selectDraftListForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request); - List selectBatchForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request, @Param("businessKeys") List businessKeys); + List selectBatchForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request, @Param("businessKeys") List businessKeys); @Select("SELECT IFNULL(max(RIGHT(site_executive_no, 12)), 0) from business_site_executive_info") Long selectMaxCode(); diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessSiteExecutiveInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessSiteExecutiveInfoMapper.xml index 3481cd5..65e3fa1 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessSiteExecutiveInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessSiteExecutiveInfoMapper.xml @@ -29,9 +29,15 @@ - SELECT * FROM business_site_executive_info + JOIN ( + SELECT id as orderId,customer_name AS customerName,customer_address AS customerAddress, + customer_phone AS customerPhone,deliverer + FROM business_order + where is_del = 0 + )bo ON bo.orderId=order_id WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user = #{request.createUserId} @@ -46,9 +52,15 @@ - SELECT * FROM business_site_executive_info + JOIN ( + SELECT id as orderId,customer_name AS customerName,customer_address AS customerAddress, + customer_phone AS customerPhone,deliverer + FROM business_order + where is_del = 0 + )bo ON bo.orderId=order_id WHERE is_del = 0 and site_executive_no like concat('%',#{request.siteExecutiveNo},'%') diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/BusinessSiteExecutiveDetail.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/BusinessSiteExecutiveDetail.java new file mode 100644 index 0000000..0d3590f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/BusinessSiteExecutiveDetail.java @@ -0,0 +1,137 @@ +package com.casic.missiles.dto.business.siteExecutive; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.meter.MeterStaff; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@TableName("business_site_executive_info") +public class BusinessSiteExecutiveDetail { + + private static final long serialVersionUID = 1L; + + @TableId("id") + private Long id; + + @ApiModelProperty(value = "现场检测编号", dataType = "String") + @TableField("site_executive_no") + private String siteExecutiveNo; + + @ApiModelProperty(value = "现场检测名字", dataType = "String") + @TableField("site_executive_name") + private String siteExecutiveName; + + @ApiModelProperty(value = "负责人id", dataType = "Long") + @TableField("director_id") + private Long directorId; + + @ApiModelProperty(value = "负责人名字", dataType = "String") + @TableField("director_name") + private String directorName; + + @ApiModelProperty(value = "申请时间", dataType = "String") + @TableField("apply_time") + private String applyTime; + + @ApiModelProperty(value = "任务来源-字典code", dataType = "String") + @TableField("task_source") + private String taskSource; + + @ApiModelProperty(value = "任务来源-字典value", dataType = "String") + @TableField(exist = false) + private String taskSourceName; + + @ApiModelProperty(value = "委托书id", dataType = "String") + @TableField("order_id") + private Long orderId; + + @ApiModelProperty(value = "委托方id", dataType = "String") + @TableField("customer_id") + private Long customerId; + + @ApiModelProperty(value = "预计计量费用", dataType = "String") + @TableField("pre_cost") + private String preCost; + + @ApiModelProperty(value = "预计开始时间", dataType = "String") + @TableField("pre_start_time") + private String preStartTime; + + @ApiModelProperty(value = "预计结束时间", dataType = "String") + @TableField("pre_end_time") + private String preEndTime; + + @ApiModelProperty(value = "检测地址", dataType = "String") + @TableField("executive_address") + private String executiveAddress; + + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托方地址", dataType = "String") + private String customerAddress; + + @ApiModelProperty(value = "电话", dataType = "String") + private String customerPhone; + + @ApiModelProperty(value = "联系人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "现场环境条件", dataType = "String") + @TableField("executive_environment") + private String executiveEnvironment; + + @ApiModelProperty(value = "主要危害源及预防措施", dataType = "String") + @TableField("hazard_source_and_prevention_method") + private String hazardSourceAndPreventionMethod; + + @ApiModelProperty(value = "现场测试、校准或检定项目", dataType = "String") + @TableField("executive_item") + private String executiveItem; + + @ApiModelProperty(value = "审批状态", dataType = "String") + @TableField("approval_status") + private String approvalStatus; + + @ApiModelProperty(value = "流程实例id(未通过现场检测编辑接口必传参数)", dataType = "String") + @TableField("process_id") + private String processId; + + @TableField("remark") + private String remark; + + + @TableField("print_file_name") + private String printFileName; + + @ApiModelProperty(hidden = true) + @TableField("create_user") + private Long createUser; + + @ApiModelProperty(hidden = true) + @TableField("is_del") + private Integer isDel; + + @ApiModelProperty(value = "创建时间", dataType = "String") + @TableField("create_time") + private String createTime; + + @ApiModelProperty(hidden = true) + @TableField("update_time") + private String updateTime; + + @TableField(exist = false) + @ApiModelProperty(value = "携带仪器设备", dataType = "List") + private List equipmentInfoList; + + @TableField(exist = false) + @ApiModelProperty(value = "现场测试、校准或检定人员", dataType = "List") + private List meterStaffList; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/SiteExecutiveApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/SiteExecutiveApprovalListResponse.java index f92a671..7968d74 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/SiteExecutiveApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/SiteExecutiveApprovalListResponse.java @@ -65,20 +65,8 @@ @ApiModelProperty(value = "委托方名字", dataType = "String") private String customerName; - @ApiModelProperty(value = "公司地址-详细地址", dataType = "String") - private String fullAddress; - - @ApiModelProperty(value = "公司地址-国家名字", dataType = "String") - private String addressCountryName; - - @ApiModelProperty(value = "公司地址-省名字", dataType = "String") - private String addressProvinceName; - - @ApiModelProperty(value = "公司地址-市名字", dataType = "String") - private String addressCityName; - - @ApiModelProperty(value = "公司地址-区名字", dataType = "String") - private String addressAreaName; + @ApiModelProperty(value = "委托方地址", dataType = "String") + private String customerAddress; @ApiModelProperty(value = "委托方联系人", dataType = "String") private String director; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java index 68929b2..ad116bc 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.*; +import com.casic.missiles.dto.business.siteExecutive.BusinessSiteExecutiveDetail; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListRequest; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListResponse; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; @@ -126,7 +127,7 @@ @ApiOperation("现场检测详情") @PostMapping("/detail") @ResponseBody - public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java index 62f69c8..183f5af 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java @@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.util.Objects; @@ -91,10 +92,10 @@ return ReturnUtil.success(siteExecutiveLogService.deleteSiteExecutiveLog(idDTO.getId())); } -// @ApiOperation("现场检测记录表导出") -// @PostMapping("/export") -// public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) { -// siteExecutiveLogService.originExport(request, response); -// } + @ApiOperation("现场检测记录表导出") + @PostMapping("/export") + public void exportExecuteLog(@RequestBody @Valid SiteExecuteLogRequest request,HttpServletResponse response) { + siteExecutiveLogService.exportExecuteLog(request, response); + } } 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 7015965..e05c3d8 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 @@ -49,7 +49,8 @@ WORK_STATISTICS_EXPORT("workStatisticsData", "workStatisticsData", "实时工作统计"), DEPT_OUTPUT_EXPORT("deptOutputData", "deptOutputData", "部门产值分析"), WORKLOAD_EXPORT("workloadData", "workloadData", "业务工作量分析"), - DEPT_COMPREHENSIVE_EXPORT("deptComprehensiveData", "deptComprehensiveData", "部门综合分析"); + DEPT_COMPREHENSIVE_EXPORT("deptComprehensiveData", "deptComprehensiveData", "部门综合分析"), + ENVIRONMENTAL_RECORD("environmentalRecordData", "environmentalRecordData", "现场环境记录"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java index 34605b0..22c6c84 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java @@ -20,9 +20,9 @@ */ public interface BusinessSiteExecutiveInfoMapper extends BaseMapper { - List selectDraftListForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request); + List selectDraftListForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request); - List selectBatchForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request, @Param("businessKeys") List businessKeys); + List selectBatchForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request, @Param("businessKeys") List businessKeys); @Select("SELECT IFNULL(max(RIGHT(site_executive_no, 12)), 0) from business_site_executive_info") Long selectMaxCode(); diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessSiteExecutiveInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessSiteExecutiveInfoMapper.xml index 3481cd5..65e3fa1 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessSiteExecutiveInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessSiteExecutiveInfoMapper.xml @@ -29,9 +29,15 @@ - SELECT * FROM business_site_executive_info + JOIN ( + SELECT id as orderId,customer_name AS customerName,customer_address AS customerAddress, + customer_phone AS customerPhone,deliverer + FROM business_order + where is_del = 0 + )bo ON bo.orderId=order_id WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user = #{request.createUserId} @@ -46,9 +52,15 @@ - SELECT * FROM business_site_executive_info + JOIN ( + SELECT id as orderId,customer_name AS customerName,customer_address AS customerAddress, + customer_phone AS customerPhone,deliverer + FROM business_order + where is_del = 0 + )bo ON bo.orderId=order_id WHERE is_del = 0 and site_executive_no like concat('%',#{request.siteExecutiveNo},'%') diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/BusinessSiteExecutiveDetail.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/BusinessSiteExecutiveDetail.java new file mode 100644 index 0000000..0d3590f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/BusinessSiteExecutiveDetail.java @@ -0,0 +1,137 @@ +package com.casic.missiles.dto.business.siteExecutive; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.meter.MeterStaff; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@TableName("business_site_executive_info") +public class BusinessSiteExecutiveDetail { + + private static final long serialVersionUID = 1L; + + @TableId("id") + private Long id; + + @ApiModelProperty(value = "现场检测编号", dataType = "String") + @TableField("site_executive_no") + private String siteExecutiveNo; + + @ApiModelProperty(value = "现场检测名字", dataType = "String") + @TableField("site_executive_name") + private String siteExecutiveName; + + @ApiModelProperty(value = "负责人id", dataType = "Long") + @TableField("director_id") + private Long directorId; + + @ApiModelProperty(value = "负责人名字", dataType = "String") + @TableField("director_name") + private String directorName; + + @ApiModelProperty(value = "申请时间", dataType = "String") + @TableField("apply_time") + private String applyTime; + + @ApiModelProperty(value = "任务来源-字典code", dataType = "String") + @TableField("task_source") + private String taskSource; + + @ApiModelProperty(value = "任务来源-字典value", dataType = "String") + @TableField(exist = false) + private String taskSourceName; + + @ApiModelProperty(value = "委托书id", dataType = "String") + @TableField("order_id") + private Long orderId; + + @ApiModelProperty(value = "委托方id", dataType = "String") + @TableField("customer_id") + private Long customerId; + + @ApiModelProperty(value = "预计计量费用", dataType = "String") + @TableField("pre_cost") + private String preCost; + + @ApiModelProperty(value = "预计开始时间", dataType = "String") + @TableField("pre_start_time") + private String preStartTime; + + @ApiModelProperty(value = "预计结束时间", dataType = "String") + @TableField("pre_end_time") + private String preEndTime; + + @ApiModelProperty(value = "检测地址", dataType = "String") + @TableField("executive_address") + private String executiveAddress; + + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托方地址", dataType = "String") + private String customerAddress; + + @ApiModelProperty(value = "电话", dataType = "String") + private String customerPhone; + + @ApiModelProperty(value = "联系人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "现场环境条件", dataType = "String") + @TableField("executive_environment") + private String executiveEnvironment; + + @ApiModelProperty(value = "主要危害源及预防措施", dataType = "String") + @TableField("hazard_source_and_prevention_method") + private String hazardSourceAndPreventionMethod; + + @ApiModelProperty(value = "现场测试、校准或检定项目", dataType = "String") + @TableField("executive_item") + private String executiveItem; + + @ApiModelProperty(value = "审批状态", dataType = "String") + @TableField("approval_status") + private String approvalStatus; + + @ApiModelProperty(value = "流程实例id(未通过现场检测编辑接口必传参数)", dataType = "String") + @TableField("process_id") + private String processId; + + @TableField("remark") + private String remark; + + + @TableField("print_file_name") + private String printFileName; + + @ApiModelProperty(hidden = true) + @TableField("create_user") + private Long createUser; + + @ApiModelProperty(hidden = true) + @TableField("is_del") + private Integer isDel; + + @ApiModelProperty(value = "创建时间", dataType = "String") + @TableField("create_time") + private String createTime; + + @ApiModelProperty(hidden = true) + @TableField("update_time") + private String updateTime; + + @TableField(exist = false) + @ApiModelProperty(value = "携带仪器设备", dataType = "List") + private List equipmentInfoList; + + @TableField(exist = false) + @ApiModelProperty(value = "现场测试、校准或检定人员", dataType = "List") + private List meterStaffList; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/SiteExecutiveApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/SiteExecutiveApprovalListResponse.java index f92a671..7968d74 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/SiteExecutiveApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/SiteExecutiveApprovalListResponse.java @@ -65,20 +65,8 @@ @ApiModelProperty(value = "委托方名字", dataType = "String") private String customerName; - @ApiModelProperty(value = "公司地址-详细地址", dataType = "String") - private String fullAddress; - - @ApiModelProperty(value = "公司地址-国家名字", dataType = "String") - private String addressCountryName; - - @ApiModelProperty(value = "公司地址-省名字", dataType = "String") - private String addressProvinceName; - - @ApiModelProperty(value = "公司地址-市名字", dataType = "String") - private String addressCityName; - - @ApiModelProperty(value = "公司地址-区名字", dataType = "String") - private String addressAreaName; + @ApiModelProperty(value = "委托方地址", dataType = "String") + private String customerAddress; @ApiModelProperty(value = "委托方联系人", dataType = "String") private String director; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveInfoServiceImpl.java index b4dfc4d..f53a9c0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveInfoServiceImpl.java @@ -11,6 +11,7 @@ import com.casic.missiles.dto.BaseApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.siteExecutive.BusinessSiteExecutiveDetail; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListRequest; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListResponse; import com.casic.missiles.dto.flowable.AllApproveDTO; @@ -22,12 +23,16 @@ import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessSiteExecutiveInfoMapper; +import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.business.BusinessSiteExecutiveInfo; +import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.service.IBaseApprovalService; +import com.casic.missiles.service.business.IBusinessOrderService; import com.casic.missiles.service.business.IBusinessSiteExecutiveInfoEquipmentRelationService; import com.casic.missiles.service.business.IBusinessSiteExecutiveInfoService; import com.casic.missiles.service.business.IBusinessSiteExecutiveStaffRelationService; +import com.casic.missiles.service.customer.CustomerService; import com.casic.missiles.service.flowable.ApprovalOperateService; import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; @@ -64,6 +69,8 @@ @Autowired private ApprovalOperateService approvalOperateService; @Autowired + private IBusinessOrderService orderService; + @Autowired private IBusinessSiteExecutiveInfoEquipmentRelationService siteExecutiveEquipmentRelationService; @Autowired private IBusinessSiteExecutiveStaffRelationService siteExecutiveStaffRelationService; @@ -189,6 +196,7 @@ Long maxNo = this.baseMapper.selectMaxCode(); String siteExecutiveNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.SITE_EXECUTIVE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); + siteExecutiveInfo.setApprovalStatus(ApprovalStatusEnum.DRAFT); siteExecutiveInfo.setCreateUser(authUser.getId()); siteExecutiveInfo.setDirectorId(authUser.getId()); siteExecutiveInfo.setDirectorName(authUser.getName()); @@ -197,9 +205,9 @@ } @Override - public BusinessSiteExecutiveInfo siteExecutiveInfoDetail(Long id) { + public BusinessSiteExecutiveDetail siteExecutiveInfoDetail(Long id) { + BusinessSiteExecutiveDetail businessSiteExecutiveDetail = new BusinessSiteExecutiveDetail(); BusinessSiteExecutiveInfo siteExecutiveInfo = this.baseMapper.selectById(id); - if (siteExecutiveInfo != null) { //查询是否有关联的检测人员 siteExecutiveInfo.setMeterStaffList(siteExecutiveStaffRelationService.getStaffsByExecutiveInfoId(id)); @@ -209,7 +217,17 @@ siteExecutiveInfo.setTaskSourceName(dictService.getDictNameByCode(MeterDictEnum.TASK_SOURCE, siteExecutiveInfo.getTaskSource())); } } - return siteExecutiveInfo; + businessSiteExecutiveDetail = ConvertUtils.sourceToTarget(siteExecutiveInfo, BusinessSiteExecutiveDetail.class); + BusinessOrder businessOrder=orderService.orderDetail(businessSiteExecutiveDetail.getOrderId()); + populateBusinessSiteExecutiveDetail(businessSiteExecutiveDetail,businessOrder); + return businessSiteExecutiveDetail; + } + + private void populateBusinessSiteExecutiveDetail(BusinessSiteExecutiveDetail businessSiteExecutiveDetail,BusinessOrder businessOrder){ + businessSiteExecutiveDetail.setCustomerAddress(businessOrder.getCustomerAddress()); + businessSiteExecutiveDetail.setCustomerName(businessOrder.getCustomerName()); + businessSiteExecutiveDetail.setCustomerPhone(businessOrder.getCustomerPhone()); + businessSiteExecutiveDetail.setDeliverer(businessOrder.getDeliverer()); } private List handleApprovalStatus(Page page, SiteExecutiveApprovalListRequest request) { @@ -219,8 +237,8 @@ switch (request.getApprovalStatus()) { //草稿 case ApprovalStatusEnum.DRAFT: - list = siteExecutiveInfoMapper.selectDraftListForApproval(page, request); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.DRAFT); + approvalList = siteExecutiveInfoMapper.selectDraftListForApproval(page, request); + approvalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.DRAFT); break; //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: @@ -229,8 +247,8 @@ businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } if (!CollectionUtils.isEmpty(businessKeys)) { - list = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); + approvalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { @@ -247,16 +265,16 @@ case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); if (!CollectionUtils.isEmpty(businessKeys)) { - list = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); + approvalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); if (!CollectionUtils.isEmpty(businessKeys)) { - list = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); + approvalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable @@ -264,13 +282,13 @@ businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 if (!CollectionUtils.isEmpty(businessKeys)) { - list = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); + approvalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); if (!CollectionUtils.isEmpty(rejectBusinessKey)) { - List rejectList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, rejectBusinessKey); - rejectApprovalList = handleApprovalListResponse(approvalList, rejectList, ApprovalStatusEnum.FAILED_REJECT); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, rejectBusinessKey); + rejectApprovalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,8 +297,8 @@ case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); if (!CollectionUtils.isEmpty(businessKeys)) { - list = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); + approvalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.CANCELED); } break; //全部 @@ -292,16 +310,16 @@ businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } if (!CollectionUtils.isEmpty(businessKeys)) { - list = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleAllApprovalListResponse(approvalList, list, AllApproveList); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); + approvalList = handleAllApprovalListResponse(approvalList, AllApproveList); } break; } return approvalList; } - private List handleApprovalListResponse(List approvalList, List list, String status) { - approvalList = ConvertUtils.sourceToTarget(list, SiteExecutiveApprovalListResponse.class); + private List handleApprovalListResponse(List approvalList, String status) { +// approvalList = ConvertUtils.sourceToTarget(list, SiteExecutiveApprovalListResponse.class); approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -309,9 +327,9 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List list, List allApproveList) { + private List handleAllApprovalListResponse(List approvalList,List allApproveList) { Map taskMap = new HashMap<>(); - approvalList = ConvertUtils.sourceToTarget(list, SiteExecutiveApprovalListResponse.class); +// approvalList = ConvertUtils.sourceToTarget(list, SiteExecutiveApprovalListResponse.class); allApproveList.forEach(allApprove -> { taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); }); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java index 68929b2..ad116bc 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.*; +import com.casic.missiles.dto.business.siteExecutive.BusinessSiteExecutiveDetail; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListRequest; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListResponse; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; @@ -126,7 +127,7 @@ @ApiOperation("现场检测详情") @PostMapping("/detail") @ResponseBody - public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java index 62f69c8..183f5af 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java @@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.util.Objects; @@ -91,10 +92,10 @@ return ReturnUtil.success(siteExecutiveLogService.deleteSiteExecutiveLog(idDTO.getId())); } -// @ApiOperation("现场检测记录表导出") -// @PostMapping("/export") -// public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) { -// siteExecutiveLogService.originExport(request, response); -// } + @ApiOperation("现场检测记录表导出") + @PostMapping("/export") + public void exportExecuteLog(@RequestBody @Valid SiteExecuteLogRequest request,HttpServletResponse response) { + siteExecutiveLogService.exportExecuteLog(request, response); + } } 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 7015965..e05c3d8 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 @@ -49,7 +49,8 @@ WORK_STATISTICS_EXPORT("workStatisticsData", "workStatisticsData", "实时工作统计"), DEPT_OUTPUT_EXPORT("deptOutputData", "deptOutputData", "部门产值分析"), WORKLOAD_EXPORT("workloadData", "workloadData", "业务工作量分析"), - DEPT_COMPREHENSIVE_EXPORT("deptComprehensiveData", "deptComprehensiveData", "部门综合分析"); + DEPT_COMPREHENSIVE_EXPORT("deptComprehensiveData", "deptComprehensiveData", "部门综合分析"), + ENVIRONMENTAL_RECORD("environmentalRecordData", "environmentalRecordData", "现场环境记录"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java index 34605b0..22c6c84 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java @@ -20,9 +20,9 @@ */ public interface BusinessSiteExecutiveInfoMapper extends BaseMapper { - List selectDraftListForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request); + List selectDraftListForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request); - List selectBatchForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request, @Param("businessKeys") List businessKeys); + List selectBatchForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request, @Param("businessKeys") List businessKeys); @Select("SELECT IFNULL(max(RIGHT(site_executive_no, 12)), 0) from business_site_executive_info") Long selectMaxCode(); diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessSiteExecutiveInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessSiteExecutiveInfoMapper.xml index 3481cd5..65e3fa1 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessSiteExecutiveInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessSiteExecutiveInfoMapper.xml @@ -29,9 +29,15 @@ - SELECT * FROM business_site_executive_info + JOIN ( + SELECT id as orderId,customer_name AS customerName,customer_address AS customerAddress, + customer_phone AS customerPhone,deliverer + FROM business_order + where is_del = 0 + )bo ON bo.orderId=order_id WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user = #{request.createUserId} @@ -46,9 +52,15 @@ - SELECT * FROM business_site_executive_info + JOIN ( + SELECT id as orderId,customer_name AS customerName,customer_address AS customerAddress, + customer_phone AS customerPhone,deliverer + FROM business_order + where is_del = 0 + )bo ON bo.orderId=order_id WHERE is_del = 0 and site_executive_no like concat('%',#{request.siteExecutiveNo},'%') diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/BusinessSiteExecutiveDetail.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/BusinessSiteExecutiveDetail.java new file mode 100644 index 0000000..0d3590f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/BusinessSiteExecutiveDetail.java @@ -0,0 +1,137 @@ +package com.casic.missiles.dto.business.siteExecutive; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.meter.MeterStaff; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@TableName("business_site_executive_info") +public class BusinessSiteExecutiveDetail { + + private static final long serialVersionUID = 1L; + + @TableId("id") + private Long id; + + @ApiModelProperty(value = "现场检测编号", dataType = "String") + @TableField("site_executive_no") + private String siteExecutiveNo; + + @ApiModelProperty(value = "现场检测名字", dataType = "String") + @TableField("site_executive_name") + private String siteExecutiveName; + + @ApiModelProperty(value = "负责人id", dataType = "Long") + @TableField("director_id") + private Long directorId; + + @ApiModelProperty(value = "负责人名字", dataType = "String") + @TableField("director_name") + private String directorName; + + @ApiModelProperty(value = "申请时间", dataType = "String") + @TableField("apply_time") + private String applyTime; + + @ApiModelProperty(value = "任务来源-字典code", dataType = "String") + @TableField("task_source") + private String taskSource; + + @ApiModelProperty(value = "任务来源-字典value", dataType = "String") + @TableField(exist = false) + private String taskSourceName; + + @ApiModelProperty(value = "委托书id", dataType = "String") + @TableField("order_id") + private Long orderId; + + @ApiModelProperty(value = "委托方id", dataType = "String") + @TableField("customer_id") + private Long customerId; + + @ApiModelProperty(value = "预计计量费用", dataType = "String") + @TableField("pre_cost") + private String preCost; + + @ApiModelProperty(value = "预计开始时间", dataType = "String") + @TableField("pre_start_time") + private String preStartTime; + + @ApiModelProperty(value = "预计结束时间", dataType = "String") + @TableField("pre_end_time") + private String preEndTime; + + @ApiModelProperty(value = "检测地址", dataType = "String") + @TableField("executive_address") + private String executiveAddress; + + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托方地址", dataType = "String") + private String customerAddress; + + @ApiModelProperty(value = "电话", dataType = "String") + private String customerPhone; + + @ApiModelProperty(value = "联系人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "现场环境条件", dataType = "String") + @TableField("executive_environment") + private String executiveEnvironment; + + @ApiModelProperty(value = "主要危害源及预防措施", dataType = "String") + @TableField("hazard_source_and_prevention_method") + private String hazardSourceAndPreventionMethod; + + @ApiModelProperty(value = "现场测试、校准或检定项目", dataType = "String") + @TableField("executive_item") + private String executiveItem; + + @ApiModelProperty(value = "审批状态", dataType = "String") + @TableField("approval_status") + private String approvalStatus; + + @ApiModelProperty(value = "流程实例id(未通过现场检测编辑接口必传参数)", dataType = "String") + @TableField("process_id") + private String processId; + + @TableField("remark") + private String remark; + + + @TableField("print_file_name") + private String printFileName; + + @ApiModelProperty(hidden = true) + @TableField("create_user") + private Long createUser; + + @ApiModelProperty(hidden = true) + @TableField("is_del") + private Integer isDel; + + @ApiModelProperty(value = "创建时间", dataType = "String") + @TableField("create_time") + private String createTime; + + @ApiModelProperty(hidden = true) + @TableField("update_time") + private String updateTime; + + @TableField(exist = false) + @ApiModelProperty(value = "携带仪器设备", dataType = "List") + private List equipmentInfoList; + + @TableField(exist = false) + @ApiModelProperty(value = "现场测试、校准或检定人员", dataType = "List") + private List meterStaffList; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/SiteExecutiveApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/SiteExecutiveApprovalListResponse.java index f92a671..7968d74 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/SiteExecutiveApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/SiteExecutiveApprovalListResponse.java @@ -65,20 +65,8 @@ @ApiModelProperty(value = "委托方名字", dataType = "String") private String customerName; - @ApiModelProperty(value = "公司地址-详细地址", dataType = "String") - private String fullAddress; - - @ApiModelProperty(value = "公司地址-国家名字", dataType = "String") - private String addressCountryName; - - @ApiModelProperty(value = "公司地址-省名字", dataType = "String") - private String addressProvinceName; - - @ApiModelProperty(value = "公司地址-市名字", dataType = "String") - private String addressCityName; - - @ApiModelProperty(value = "公司地址-区名字", dataType = "String") - private String addressAreaName; + @ApiModelProperty(value = "委托方地址", dataType = "String") + private String customerAddress; @ApiModelProperty(value = "委托方联系人", dataType = "String") private String director; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveInfoServiceImpl.java index b4dfc4d..f53a9c0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveInfoServiceImpl.java @@ -11,6 +11,7 @@ import com.casic.missiles.dto.BaseApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.siteExecutive.BusinessSiteExecutiveDetail; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListRequest; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListResponse; import com.casic.missiles.dto.flowable.AllApproveDTO; @@ -22,12 +23,16 @@ import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessSiteExecutiveInfoMapper; +import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.business.BusinessSiteExecutiveInfo; +import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.service.IBaseApprovalService; +import com.casic.missiles.service.business.IBusinessOrderService; import com.casic.missiles.service.business.IBusinessSiteExecutiveInfoEquipmentRelationService; import com.casic.missiles.service.business.IBusinessSiteExecutiveInfoService; import com.casic.missiles.service.business.IBusinessSiteExecutiveStaffRelationService; +import com.casic.missiles.service.customer.CustomerService; import com.casic.missiles.service.flowable.ApprovalOperateService; import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; @@ -64,6 +69,8 @@ @Autowired private ApprovalOperateService approvalOperateService; @Autowired + private IBusinessOrderService orderService; + @Autowired private IBusinessSiteExecutiveInfoEquipmentRelationService siteExecutiveEquipmentRelationService; @Autowired private IBusinessSiteExecutiveStaffRelationService siteExecutiveStaffRelationService; @@ -189,6 +196,7 @@ Long maxNo = this.baseMapper.selectMaxCode(); String siteExecutiveNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.SITE_EXECUTIVE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); + siteExecutiveInfo.setApprovalStatus(ApprovalStatusEnum.DRAFT); siteExecutiveInfo.setCreateUser(authUser.getId()); siteExecutiveInfo.setDirectorId(authUser.getId()); siteExecutiveInfo.setDirectorName(authUser.getName()); @@ -197,9 +205,9 @@ } @Override - public BusinessSiteExecutiveInfo siteExecutiveInfoDetail(Long id) { + public BusinessSiteExecutiveDetail siteExecutiveInfoDetail(Long id) { + BusinessSiteExecutiveDetail businessSiteExecutiveDetail = new BusinessSiteExecutiveDetail(); BusinessSiteExecutiveInfo siteExecutiveInfo = this.baseMapper.selectById(id); - if (siteExecutiveInfo != null) { //查询是否有关联的检测人员 siteExecutiveInfo.setMeterStaffList(siteExecutiveStaffRelationService.getStaffsByExecutiveInfoId(id)); @@ -209,7 +217,17 @@ siteExecutiveInfo.setTaskSourceName(dictService.getDictNameByCode(MeterDictEnum.TASK_SOURCE, siteExecutiveInfo.getTaskSource())); } } - return siteExecutiveInfo; + businessSiteExecutiveDetail = ConvertUtils.sourceToTarget(siteExecutiveInfo, BusinessSiteExecutiveDetail.class); + BusinessOrder businessOrder=orderService.orderDetail(businessSiteExecutiveDetail.getOrderId()); + populateBusinessSiteExecutiveDetail(businessSiteExecutiveDetail,businessOrder); + return businessSiteExecutiveDetail; + } + + private void populateBusinessSiteExecutiveDetail(BusinessSiteExecutiveDetail businessSiteExecutiveDetail,BusinessOrder businessOrder){ + businessSiteExecutiveDetail.setCustomerAddress(businessOrder.getCustomerAddress()); + businessSiteExecutiveDetail.setCustomerName(businessOrder.getCustomerName()); + businessSiteExecutiveDetail.setCustomerPhone(businessOrder.getCustomerPhone()); + businessSiteExecutiveDetail.setDeliverer(businessOrder.getDeliverer()); } private List handleApprovalStatus(Page page, SiteExecutiveApprovalListRequest request) { @@ -219,8 +237,8 @@ switch (request.getApprovalStatus()) { //草稿 case ApprovalStatusEnum.DRAFT: - list = siteExecutiveInfoMapper.selectDraftListForApproval(page, request); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.DRAFT); + approvalList = siteExecutiveInfoMapper.selectDraftListForApproval(page, request); + approvalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.DRAFT); break; //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: @@ -229,8 +247,8 @@ businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } if (!CollectionUtils.isEmpty(businessKeys)) { - list = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); + approvalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { @@ -247,16 +265,16 @@ case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); if (!CollectionUtils.isEmpty(businessKeys)) { - list = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); + approvalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); if (!CollectionUtils.isEmpty(businessKeys)) { - list = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); + approvalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable @@ -264,13 +282,13 @@ businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 if (!CollectionUtils.isEmpty(businessKeys)) { - list = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); + approvalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); if (!CollectionUtils.isEmpty(rejectBusinessKey)) { - List rejectList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, rejectBusinessKey); - rejectApprovalList = handleApprovalListResponse(approvalList, rejectList, ApprovalStatusEnum.FAILED_REJECT); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, rejectBusinessKey); + rejectApprovalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,8 +297,8 @@ case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); if (!CollectionUtils.isEmpty(businessKeys)) { - list = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); + approvalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.CANCELED); } break; //全部 @@ -292,16 +310,16 @@ businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } if (!CollectionUtils.isEmpty(businessKeys)) { - list = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleAllApprovalListResponse(approvalList, list, AllApproveList); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); + approvalList = handleAllApprovalListResponse(approvalList, AllApproveList); } break; } return approvalList; } - private List handleApprovalListResponse(List approvalList, List list, String status) { - approvalList = ConvertUtils.sourceToTarget(list, SiteExecutiveApprovalListResponse.class); + private List handleApprovalListResponse(List approvalList, String status) { +// approvalList = ConvertUtils.sourceToTarget(list, SiteExecutiveApprovalListResponse.class); approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -309,9 +327,9 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List list, List allApproveList) { + private List handleAllApprovalListResponse(List approvalList,List allApproveList) { Map taskMap = new HashMap<>(); - approvalList = ConvertUtils.sourceToTarget(list, SiteExecutiveApprovalListResponse.class); +// approvalList = ConvertUtils.sourceToTarget(list, SiteExecutiveApprovalListResponse.class); allApproveList.forEach(allApprove -> { taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); }); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveLogServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveLogServiceImpl.java index 25d3006..25bad5e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveLogServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveLogServiceImpl.java @@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.shiro.ShiroKit; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.siteExecutive.SiteExecuteLogRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.enums.notifyevent.PrintFileDataBeanNameAliasEnum; import com.casic.missiles.exception.BusinessException; @@ -32,11 +34,15 @@ import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.tomcat.util.threads.ThreadPoolExecutor; +import org.omg.CORBA.PUBLIC_MEMBER; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; import java.util.Date; +import java.util.List; import java.util.concurrent.LinkedBlockingDeque; import java.util.concurrent.TimeUnit; @@ -56,6 +62,8 @@ private IBusinessSiteExecutiveEquipmentRelationService siteExecutiveEquipmentRelationService; @Autowired private MinioUtil minioUtill; + @Autowired + private IBaseExportService iBaseExportService; @Override public ReturnDTO addSiteExecutiveLog(BusinessSiteExecutiveLog siteExecutiveLog) { @@ -123,6 +131,31 @@ return siteExecutiveLogListPage; } + @Override + public void exportExecuteLog(SiteExecuteLogRequest request, HttpServletResponse response) { + try { + Page page = PageFactory.defaultPage(); + List siteExecutiveLogList=new ArrayList<>(); + if(CollectionUtils.isEmpty(request.getIds())){ + page.setCurrent(1); + page.setSearchCount(false); + page.setSize(Integer.MAX_VALUE); + // 获取列表 + Page siteExecutiveLogListPage = this.baseMapper.siteExecutiveLogListPage(page, request); + siteExecutiveLogList=siteExecutiveLogListPage.getRecords(); + }else { + siteExecutiveLogList=this.listByIds(request.getIds()); + } + for (BusinessSiteExecutiveLog siteExecutiveLog :siteExecutiveLogList) { + DictCodeUtils.convertDictCodeToName(siteExecutiveLog); + } + iBaseExportService.exportExcel(response, BusinessSiteExecutiveLog.class,siteExecutiveLogList, ExportEnum.ENVIRONMENTAL_RECORD.getSheetName()); + } catch (Exception e) { + log.error("样品导出出现异常,异常信息为{}", e); + } + + } + private void initBusinessSiteExecutiveLog(BusinessSiteExecutiveLog siteExecutiveLog) { Long maxNo = this.baseMapper.selectMaxCode(); String originNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.SITE_EXECUTIVE_LOG_PREFIX, maxNo); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java index 68929b2..ad116bc 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.*; +import com.casic.missiles.dto.business.siteExecutive.BusinessSiteExecutiveDetail; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListRequest; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListResponse; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; @@ -126,7 +127,7 @@ @ApiOperation("现场检测详情") @PostMapping("/detail") @ResponseBody - public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java index 62f69c8..183f5af 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java @@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.util.Objects; @@ -91,10 +92,10 @@ return ReturnUtil.success(siteExecutiveLogService.deleteSiteExecutiveLog(idDTO.getId())); } -// @ApiOperation("现场检测记录表导出") -// @PostMapping("/export") -// public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) { -// siteExecutiveLogService.originExport(request, response); -// } + @ApiOperation("现场检测记录表导出") + @PostMapping("/export") + public void exportExecuteLog(@RequestBody @Valid SiteExecuteLogRequest request,HttpServletResponse response) { + siteExecutiveLogService.exportExecuteLog(request, response); + } } 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 7015965..e05c3d8 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 @@ -49,7 +49,8 @@ WORK_STATISTICS_EXPORT("workStatisticsData", "workStatisticsData", "实时工作统计"), DEPT_OUTPUT_EXPORT("deptOutputData", "deptOutputData", "部门产值分析"), WORKLOAD_EXPORT("workloadData", "workloadData", "业务工作量分析"), - DEPT_COMPREHENSIVE_EXPORT("deptComprehensiveData", "deptComprehensiveData", "部门综合分析"); + DEPT_COMPREHENSIVE_EXPORT("deptComprehensiveData", "deptComprehensiveData", "部门综合分析"), + ENVIRONMENTAL_RECORD("environmentalRecordData", "environmentalRecordData", "现场环境记录"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java index 34605b0..22c6c84 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java @@ -20,9 +20,9 @@ */ public interface BusinessSiteExecutiveInfoMapper extends BaseMapper { - List selectDraftListForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request); + List selectDraftListForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request); - List selectBatchForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request, @Param("businessKeys") List businessKeys); + List selectBatchForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request, @Param("businessKeys") List businessKeys); @Select("SELECT IFNULL(max(RIGHT(site_executive_no, 12)), 0) from business_site_executive_info") Long selectMaxCode(); diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessSiteExecutiveInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessSiteExecutiveInfoMapper.xml index 3481cd5..65e3fa1 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessSiteExecutiveInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessSiteExecutiveInfoMapper.xml @@ -29,9 +29,15 @@ - SELECT * FROM business_site_executive_info + JOIN ( + SELECT id as orderId,customer_name AS customerName,customer_address AS customerAddress, + customer_phone AS customerPhone,deliverer + FROM business_order + where is_del = 0 + )bo ON bo.orderId=order_id WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user = #{request.createUserId} @@ -46,9 +52,15 @@ - SELECT * FROM business_site_executive_info + JOIN ( + SELECT id as orderId,customer_name AS customerName,customer_address AS customerAddress, + customer_phone AS customerPhone,deliverer + FROM business_order + where is_del = 0 + )bo ON bo.orderId=order_id WHERE is_del = 0 and site_executive_no like concat('%',#{request.siteExecutiveNo},'%') diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/BusinessSiteExecutiveDetail.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/BusinessSiteExecutiveDetail.java new file mode 100644 index 0000000..0d3590f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/BusinessSiteExecutiveDetail.java @@ -0,0 +1,137 @@ +package com.casic.missiles.dto.business.siteExecutive; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.meter.MeterStaff; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@TableName("business_site_executive_info") +public class BusinessSiteExecutiveDetail { + + private static final long serialVersionUID = 1L; + + @TableId("id") + private Long id; + + @ApiModelProperty(value = "现场检测编号", dataType = "String") + @TableField("site_executive_no") + private String siteExecutiveNo; + + @ApiModelProperty(value = "现场检测名字", dataType = "String") + @TableField("site_executive_name") + private String siteExecutiveName; + + @ApiModelProperty(value = "负责人id", dataType = "Long") + @TableField("director_id") + private Long directorId; + + @ApiModelProperty(value = "负责人名字", dataType = "String") + @TableField("director_name") + private String directorName; + + @ApiModelProperty(value = "申请时间", dataType = "String") + @TableField("apply_time") + private String applyTime; + + @ApiModelProperty(value = "任务来源-字典code", dataType = "String") + @TableField("task_source") + private String taskSource; + + @ApiModelProperty(value = "任务来源-字典value", dataType = "String") + @TableField(exist = false) + private String taskSourceName; + + @ApiModelProperty(value = "委托书id", dataType = "String") + @TableField("order_id") + private Long orderId; + + @ApiModelProperty(value = "委托方id", dataType = "String") + @TableField("customer_id") + private Long customerId; + + @ApiModelProperty(value = "预计计量费用", dataType = "String") + @TableField("pre_cost") + private String preCost; + + @ApiModelProperty(value = "预计开始时间", dataType = "String") + @TableField("pre_start_time") + private String preStartTime; + + @ApiModelProperty(value = "预计结束时间", dataType = "String") + @TableField("pre_end_time") + private String preEndTime; + + @ApiModelProperty(value = "检测地址", dataType = "String") + @TableField("executive_address") + private String executiveAddress; + + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托方地址", dataType = "String") + private String customerAddress; + + @ApiModelProperty(value = "电话", dataType = "String") + private String customerPhone; + + @ApiModelProperty(value = "联系人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "现场环境条件", dataType = "String") + @TableField("executive_environment") + private String executiveEnvironment; + + @ApiModelProperty(value = "主要危害源及预防措施", dataType = "String") + @TableField("hazard_source_and_prevention_method") + private String hazardSourceAndPreventionMethod; + + @ApiModelProperty(value = "现场测试、校准或检定项目", dataType = "String") + @TableField("executive_item") + private String executiveItem; + + @ApiModelProperty(value = "审批状态", dataType = "String") + @TableField("approval_status") + private String approvalStatus; + + @ApiModelProperty(value = "流程实例id(未通过现场检测编辑接口必传参数)", dataType = "String") + @TableField("process_id") + private String processId; + + @TableField("remark") + private String remark; + + + @TableField("print_file_name") + private String printFileName; + + @ApiModelProperty(hidden = true) + @TableField("create_user") + private Long createUser; + + @ApiModelProperty(hidden = true) + @TableField("is_del") + private Integer isDel; + + @ApiModelProperty(value = "创建时间", dataType = "String") + @TableField("create_time") + private String createTime; + + @ApiModelProperty(hidden = true) + @TableField("update_time") + private String updateTime; + + @TableField(exist = false) + @ApiModelProperty(value = "携带仪器设备", dataType = "List") + private List equipmentInfoList; + + @TableField(exist = false) + @ApiModelProperty(value = "现场测试、校准或检定人员", dataType = "List") + private List meterStaffList; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/SiteExecutiveApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/SiteExecutiveApprovalListResponse.java index f92a671..7968d74 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/SiteExecutiveApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/SiteExecutiveApprovalListResponse.java @@ -65,20 +65,8 @@ @ApiModelProperty(value = "委托方名字", dataType = "String") private String customerName; - @ApiModelProperty(value = "公司地址-详细地址", dataType = "String") - private String fullAddress; - - @ApiModelProperty(value = "公司地址-国家名字", dataType = "String") - private String addressCountryName; - - @ApiModelProperty(value = "公司地址-省名字", dataType = "String") - private String addressProvinceName; - - @ApiModelProperty(value = "公司地址-市名字", dataType = "String") - private String addressCityName; - - @ApiModelProperty(value = "公司地址-区名字", dataType = "String") - private String addressAreaName; + @ApiModelProperty(value = "委托方地址", dataType = "String") + private String customerAddress; @ApiModelProperty(value = "委托方联系人", dataType = "String") private String director; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveInfoServiceImpl.java index b4dfc4d..f53a9c0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveInfoServiceImpl.java @@ -11,6 +11,7 @@ import com.casic.missiles.dto.BaseApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.siteExecutive.BusinessSiteExecutiveDetail; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListRequest; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListResponse; import com.casic.missiles.dto.flowable.AllApproveDTO; @@ -22,12 +23,16 @@ import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessSiteExecutiveInfoMapper; +import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.business.BusinessSiteExecutiveInfo; +import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.service.IBaseApprovalService; +import com.casic.missiles.service.business.IBusinessOrderService; import com.casic.missiles.service.business.IBusinessSiteExecutiveInfoEquipmentRelationService; import com.casic.missiles.service.business.IBusinessSiteExecutiveInfoService; import com.casic.missiles.service.business.IBusinessSiteExecutiveStaffRelationService; +import com.casic.missiles.service.customer.CustomerService; import com.casic.missiles.service.flowable.ApprovalOperateService; import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; @@ -64,6 +69,8 @@ @Autowired private ApprovalOperateService approvalOperateService; @Autowired + private IBusinessOrderService orderService; + @Autowired private IBusinessSiteExecutiveInfoEquipmentRelationService siteExecutiveEquipmentRelationService; @Autowired private IBusinessSiteExecutiveStaffRelationService siteExecutiveStaffRelationService; @@ -189,6 +196,7 @@ Long maxNo = this.baseMapper.selectMaxCode(); String siteExecutiveNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.SITE_EXECUTIVE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); + siteExecutiveInfo.setApprovalStatus(ApprovalStatusEnum.DRAFT); siteExecutiveInfo.setCreateUser(authUser.getId()); siteExecutiveInfo.setDirectorId(authUser.getId()); siteExecutiveInfo.setDirectorName(authUser.getName()); @@ -197,9 +205,9 @@ } @Override - public BusinessSiteExecutiveInfo siteExecutiveInfoDetail(Long id) { + public BusinessSiteExecutiveDetail siteExecutiveInfoDetail(Long id) { + BusinessSiteExecutiveDetail businessSiteExecutiveDetail = new BusinessSiteExecutiveDetail(); BusinessSiteExecutiveInfo siteExecutiveInfo = this.baseMapper.selectById(id); - if (siteExecutiveInfo != null) { //查询是否有关联的检测人员 siteExecutiveInfo.setMeterStaffList(siteExecutiveStaffRelationService.getStaffsByExecutiveInfoId(id)); @@ -209,7 +217,17 @@ siteExecutiveInfo.setTaskSourceName(dictService.getDictNameByCode(MeterDictEnum.TASK_SOURCE, siteExecutiveInfo.getTaskSource())); } } - return siteExecutiveInfo; + businessSiteExecutiveDetail = ConvertUtils.sourceToTarget(siteExecutiveInfo, BusinessSiteExecutiveDetail.class); + BusinessOrder businessOrder=orderService.orderDetail(businessSiteExecutiveDetail.getOrderId()); + populateBusinessSiteExecutiveDetail(businessSiteExecutiveDetail,businessOrder); + return businessSiteExecutiveDetail; + } + + private void populateBusinessSiteExecutiveDetail(BusinessSiteExecutiveDetail businessSiteExecutiveDetail,BusinessOrder businessOrder){ + businessSiteExecutiveDetail.setCustomerAddress(businessOrder.getCustomerAddress()); + businessSiteExecutiveDetail.setCustomerName(businessOrder.getCustomerName()); + businessSiteExecutiveDetail.setCustomerPhone(businessOrder.getCustomerPhone()); + businessSiteExecutiveDetail.setDeliverer(businessOrder.getDeliverer()); } private List handleApprovalStatus(Page page, SiteExecutiveApprovalListRequest request) { @@ -219,8 +237,8 @@ switch (request.getApprovalStatus()) { //草稿 case ApprovalStatusEnum.DRAFT: - list = siteExecutiveInfoMapper.selectDraftListForApproval(page, request); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.DRAFT); + approvalList = siteExecutiveInfoMapper.selectDraftListForApproval(page, request); + approvalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.DRAFT); break; //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: @@ -229,8 +247,8 @@ businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } if (!CollectionUtils.isEmpty(businessKeys)) { - list = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); + approvalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { @@ -247,16 +265,16 @@ case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); if (!CollectionUtils.isEmpty(businessKeys)) { - list = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); + approvalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); if (!CollectionUtils.isEmpty(businessKeys)) { - list = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); + approvalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable @@ -264,13 +282,13 @@ businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 if (!CollectionUtils.isEmpty(businessKeys)) { - list = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); + approvalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); if (!CollectionUtils.isEmpty(rejectBusinessKey)) { - List rejectList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, rejectBusinessKey); - rejectApprovalList = handleApprovalListResponse(approvalList, rejectList, ApprovalStatusEnum.FAILED_REJECT); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, rejectBusinessKey); + rejectApprovalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,8 +297,8 @@ case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); if (!CollectionUtils.isEmpty(businessKeys)) { - list = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); + approvalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.CANCELED); } break; //全部 @@ -292,16 +310,16 @@ businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } if (!CollectionUtils.isEmpty(businessKeys)) { - list = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleAllApprovalListResponse(approvalList, list, AllApproveList); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); + approvalList = handleAllApprovalListResponse(approvalList, AllApproveList); } break; } return approvalList; } - private List handleApprovalListResponse(List approvalList, List list, String status) { - approvalList = ConvertUtils.sourceToTarget(list, SiteExecutiveApprovalListResponse.class); + private List handleApprovalListResponse(List approvalList, String status) { +// approvalList = ConvertUtils.sourceToTarget(list, SiteExecutiveApprovalListResponse.class); approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -309,9 +327,9 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List list, List allApproveList) { + private List handleAllApprovalListResponse(List approvalList,List allApproveList) { Map taskMap = new HashMap<>(); - approvalList = ConvertUtils.sourceToTarget(list, SiteExecutiveApprovalListResponse.class); +// approvalList = ConvertUtils.sourceToTarget(list, SiteExecutiveApprovalListResponse.class); allApproveList.forEach(allApprove -> { taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); }); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveLogServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveLogServiceImpl.java index 25d3006..25bad5e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveLogServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveLogServiceImpl.java @@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.shiro.ShiroKit; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.siteExecutive.SiteExecuteLogRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.enums.notifyevent.PrintFileDataBeanNameAliasEnum; import com.casic.missiles.exception.BusinessException; @@ -32,11 +34,15 @@ import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.tomcat.util.threads.ThreadPoolExecutor; +import org.omg.CORBA.PUBLIC_MEMBER; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; import java.util.Date; +import java.util.List; import java.util.concurrent.LinkedBlockingDeque; import java.util.concurrent.TimeUnit; @@ -56,6 +62,8 @@ private IBusinessSiteExecutiveEquipmentRelationService siteExecutiveEquipmentRelationService; @Autowired private MinioUtil minioUtill; + @Autowired + private IBaseExportService iBaseExportService; @Override public ReturnDTO addSiteExecutiveLog(BusinessSiteExecutiveLog siteExecutiveLog) { @@ -123,6 +131,31 @@ return siteExecutiveLogListPage; } + @Override + public void exportExecuteLog(SiteExecuteLogRequest request, HttpServletResponse response) { + try { + Page page = PageFactory.defaultPage(); + List siteExecutiveLogList=new ArrayList<>(); + if(CollectionUtils.isEmpty(request.getIds())){ + page.setCurrent(1); + page.setSearchCount(false); + page.setSize(Integer.MAX_VALUE); + // 获取列表 + Page siteExecutiveLogListPage = this.baseMapper.siteExecutiveLogListPage(page, request); + siteExecutiveLogList=siteExecutiveLogListPage.getRecords(); + }else { + siteExecutiveLogList=this.listByIds(request.getIds()); + } + for (BusinessSiteExecutiveLog siteExecutiveLog :siteExecutiveLogList) { + DictCodeUtils.convertDictCodeToName(siteExecutiveLog); + } + iBaseExportService.exportExcel(response, BusinessSiteExecutiveLog.class,siteExecutiveLogList, ExportEnum.ENVIRONMENTAL_RECORD.getSheetName()); + } catch (Exception e) { + log.error("样品导出出现异常,异常信息为{}", e); + } + + } + private void initBusinessSiteExecutiveLog(BusinessSiteExecutiveLog siteExecutiveLog) { Long maxNo = this.baseMapper.selectMaxCode(); String originNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.SITE_EXECUTIVE_LOG_PREFIX, maxNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessSiteExecutiveInfoService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessSiteExecutiveInfoService.java index c9637c1..db64199 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessSiteExecutiveInfoService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessSiteExecutiveInfoService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.dto.BaseApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.business.siteExecutive.BusinessSiteExecutiveDetail; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListRequest; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListResponse; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; @@ -35,6 +36,6 @@ ReturnDTO draftUpdate(BusinessSiteExecutiveInfo siteExecutiveInfo); - BusinessSiteExecutiveInfo siteExecutiveInfoDetail(Long id); + BusinessSiteExecutiveDetail siteExecutiveInfoDetail(Long id); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java index 68929b2..ad116bc 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.*; +import com.casic.missiles.dto.business.siteExecutive.BusinessSiteExecutiveDetail; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListRequest; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListResponse; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; @@ -126,7 +127,7 @@ @ApiOperation("现场检测详情") @PostMapping("/detail") @ResponseBody - public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java index 62f69c8..183f5af 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java @@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.util.Objects; @@ -91,10 +92,10 @@ return ReturnUtil.success(siteExecutiveLogService.deleteSiteExecutiveLog(idDTO.getId())); } -// @ApiOperation("现场检测记录表导出") -// @PostMapping("/export") -// public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) { -// siteExecutiveLogService.originExport(request, response); -// } + @ApiOperation("现场检测记录表导出") + @PostMapping("/export") + public void exportExecuteLog(@RequestBody @Valid SiteExecuteLogRequest request,HttpServletResponse response) { + siteExecutiveLogService.exportExecuteLog(request, response); + } } 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 7015965..e05c3d8 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 @@ -49,7 +49,8 @@ WORK_STATISTICS_EXPORT("workStatisticsData", "workStatisticsData", "实时工作统计"), DEPT_OUTPUT_EXPORT("deptOutputData", "deptOutputData", "部门产值分析"), WORKLOAD_EXPORT("workloadData", "workloadData", "业务工作量分析"), - DEPT_COMPREHENSIVE_EXPORT("deptComprehensiveData", "deptComprehensiveData", "部门综合分析"); + DEPT_COMPREHENSIVE_EXPORT("deptComprehensiveData", "deptComprehensiveData", "部门综合分析"), + ENVIRONMENTAL_RECORD("environmentalRecordData", "environmentalRecordData", "现场环境记录"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java index 34605b0..22c6c84 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java @@ -20,9 +20,9 @@ */ public interface BusinessSiteExecutiveInfoMapper extends BaseMapper { - List selectDraftListForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request); + List selectDraftListForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request); - List selectBatchForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request, @Param("businessKeys") List businessKeys); + List selectBatchForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request, @Param("businessKeys") List businessKeys); @Select("SELECT IFNULL(max(RIGHT(site_executive_no, 12)), 0) from business_site_executive_info") Long selectMaxCode(); diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessSiteExecutiveInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessSiteExecutiveInfoMapper.xml index 3481cd5..65e3fa1 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessSiteExecutiveInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessSiteExecutiveInfoMapper.xml @@ -29,9 +29,15 @@ - SELECT * FROM business_site_executive_info + JOIN ( + SELECT id as orderId,customer_name AS customerName,customer_address AS customerAddress, + customer_phone AS customerPhone,deliverer + FROM business_order + where is_del = 0 + )bo ON bo.orderId=order_id WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user = #{request.createUserId} @@ -46,9 +52,15 @@ - SELECT * FROM business_site_executive_info + JOIN ( + SELECT id as orderId,customer_name AS customerName,customer_address AS customerAddress, + customer_phone AS customerPhone,deliverer + FROM business_order + where is_del = 0 + )bo ON bo.orderId=order_id WHERE is_del = 0 and site_executive_no like concat('%',#{request.siteExecutiveNo},'%') diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/BusinessSiteExecutiveDetail.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/BusinessSiteExecutiveDetail.java new file mode 100644 index 0000000..0d3590f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/BusinessSiteExecutiveDetail.java @@ -0,0 +1,137 @@ +package com.casic.missiles.dto.business.siteExecutive; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.meter.MeterStaff; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@TableName("business_site_executive_info") +public class BusinessSiteExecutiveDetail { + + private static final long serialVersionUID = 1L; + + @TableId("id") + private Long id; + + @ApiModelProperty(value = "现场检测编号", dataType = "String") + @TableField("site_executive_no") + private String siteExecutiveNo; + + @ApiModelProperty(value = "现场检测名字", dataType = "String") + @TableField("site_executive_name") + private String siteExecutiveName; + + @ApiModelProperty(value = "负责人id", dataType = "Long") + @TableField("director_id") + private Long directorId; + + @ApiModelProperty(value = "负责人名字", dataType = "String") + @TableField("director_name") + private String directorName; + + @ApiModelProperty(value = "申请时间", dataType = "String") + @TableField("apply_time") + private String applyTime; + + @ApiModelProperty(value = "任务来源-字典code", dataType = "String") + @TableField("task_source") + private String taskSource; + + @ApiModelProperty(value = "任务来源-字典value", dataType = "String") + @TableField(exist = false) + private String taskSourceName; + + @ApiModelProperty(value = "委托书id", dataType = "String") + @TableField("order_id") + private Long orderId; + + @ApiModelProperty(value = "委托方id", dataType = "String") + @TableField("customer_id") + private Long customerId; + + @ApiModelProperty(value = "预计计量费用", dataType = "String") + @TableField("pre_cost") + private String preCost; + + @ApiModelProperty(value = "预计开始时间", dataType = "String") + @TableField("pre_start_time") + private String preStartTime; + + @ApiModelProperty(value = "预计结束时间", dataType = "String") + @TableField("pre_end_time") + private String preEndTime; + + @ApiModelProperty(value = "检测地址", dataType = "String") + @TableField("executive_address") + private String executiveAddress; + + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托方地址", dataType = "String") + private String customerAddress; + + @ApiModelProperty(value = "电话", dataType = "String") + private String customerPhone; + + @ApiModelProperty(value = "联系人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "现场环境条件", dataType = "String") + @TableField("executive_environment") + private String executiveEnvironment; + + @ApiModelProperty(value = "主要危害源及预防措施", dataType = "String") + @TableField("hazard_source_and_prevention_method") + private String hazardSourceAndPreventionMethod; + + @ApiModelProperty(value = "现场测试、校准或检定项目", dataType = "String") + @TableField("executive_item") + private String executiveItem; + + @ApiModelProperty(value = "审批状态", dataType = "String") + @TableField("approval_status") + private String approvalStatus; + + @ApiModelProperty(value = "流程实例id(未通过现场检测编辑接口必传参数)", dataType = "String") + @TableField("process_id") + private String processId; + + @TableField("remark") + private String remark; + + + @TableField("print_file_name") + private String printFileName; + + @ApiModelProperty(hidden = true) + @TableField("create_user") + private Long createUser; + + @ApiModelProperty(hidden = true) + @TableField("is_del") + private Integer isDel; + + @ApiModelProperty(value = "创建时间", dataType = "String") + @TableField("create_time") + private String createTime; + + @ApiModelProperty(hidden = true) + @TableField("update_time") + private String updateTime; + + @TableField(exist = false) + @ApiModelProperty(value = "携带仪器设备", dataType = "List") + private List equipmentInfoList; + + @TableField(exist = false) + @ApiModelProperty(value = "现场测试、校准或检定人员", dataType = "List") + private List meterStaffList; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/SiteExecutiveApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/SiteExecutiveApprovalListResponse.java index f92a671..7968d74 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/SiteExecutiveApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/SiteExecutiveApprovalListResponse.java @@ -65,20 +65,8 @@ @ApiModelProperty(value = "委托方名字", dataType = "String") private String customerName; - @ApiModelProperty(value = "公司地址-详细地址", dataType = "String") - private String fullAddress; - - @ApiModelProperty(value = "公司地址-国家名字", dataType = "String") - private String addressCountryName; - - @ApiModelProperty(value = "公司地址-省名字", dataType = "String") - private String addressProvinceName; - - @ApiModelProperty(value = "公司地址-市名字", dataType = "String") - private String addressCityName; - - @ApiModelProperty(value = "公司地址-区名字", dataType = "String") - private String addressAreaName; + @ApiModelProperty(value = "委托方地址", dataType = "String") + private String customerAddress; @ApiModelProperty(value = "委托方联系人", dataType = "String") private String director; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveInfoServiceImpl.java index b4dfc4d..f53a9c0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveInfoServiceImpl.java @@ -11,6 +11,7 @@ import com.casic.missiles.dto.BaseApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.siteExecutive.BusinessSiteExecutiveDetail; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListRequest; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListResponse; import com.casic.missiles.dto.flowable.AllApproveDTO; @@ -22,12 +23,16 @@ import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessSiteExecutiveInfoMapper; +import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.business.BusinessSiteExecutiveInfo; +import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.service.IBaseApprovalService; +import com.casic.missiles.service.business.IBusinessOrderService; import com.casic.missiles.service.business.IBusinessSiteExecutiveInfoEquipmentRelationService; import com.casic.missiles.service.business.IBusinessSiteExecutiveInfoService; import com.casic.missiles.service.business.IBusinessSiteExecutiveStaffRelationService; +import com.casic.missiles.service.customer.CustomerService; import com.casic.missiles.service.flowable.ApprovalOperateService; import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; @@ -64,6 +69,8 @@ @Autowired private ApprovalOperateService approvalOperateService; @Autowired + private IBusinessOrderService orderService; + @Autowired private IBusinessSiteExecutiveInfoEquipmentRelationService siteExecutiveEquipmentRelationService; @Autowired private IBusinessSiteExecutiveStaffRelationService siteExecutiveStaffRelationService; @@ -189,6 +196,7 @@ Long maxNo = this.baseMapper.selectMaxCode(); String siteExecutiveNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.SITE_EXECUTIVE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); + siteExecutiveInfo.setApprovalStatus(ApprovalStatusEnum.DRAFT); siteExecutiveInfo.setCreateUser(authUser.getId()); siteExecutiveInfo.setDirectorId(authUser.getId()); siteExecutiveInfo.setDirectorName(authUser.getName()); @@ -197,9 +205,9 @@ } @Override - public BusinessSiteExecutiveInfo siteExecutiveInfoDetail(Long id) { + public BusinessSiteExecutiveDetail siteExecutiveInfoDetail(Long id) { + BusinessSiteExecutiveDetail businessSiteExecutiveDetail = new BusinessSiteExecutiveDetail(); BusinessSiteExecutiveInfo siteExecutiveInfo = this.baseMapper.selectById(id); - if (siteExecutiveInfo != null) { //查询是否有关联的检测人员 siteExecutiveInfo.setMeterStaffList(siteExecutiveStaffRelationService.getStaffsByExecutiveInfoId(id)); @@ -209,7 +217,17 @@ siteExecutiveInfo.setTaskSourceName(dictService.getDictNameByCode(MeterDictEnum.TASK_SOURCE, siteExecutiveInfo.getTaskSource())); } } - return siteExecutiveInfo; + businessSiteExecutiveDetail = ConvertUtils.sourceToTarget(siteExecutiveInfo, BusinessSiteExecutiveDetail.class); + BusinessOrder businessOrder=orderService.orderDetail(businessSiteExecutiveDetail.getOrderId()); + populateBusinessSiteExecutiveDetail(businessSiteExecutiveDetail,businessOrder); + return businessSiteExecutiveDetail; + } + + private void populateBusinessSiteExecutiveDetail(BusinessSiteExecutiveDetail businessSiteExecutiveDetail,BusinessOrder businessOrder){ + businessSiteExecutiveDetail.setCustomerAddress(businessOrder.getCustomerAddress()); + businessSiteExecutiveDetail.setCustomerName(businessOrder.getCustomerName()); + businessSiteExecutiveDetail.setCustomerPhone(businessOrder.getCustomerPhone()); + businessSiteExecutiveDetail.setDeliverer(businessOrder.getDeliverer()); } private List handleApprovalStatus(Page page, SiteExecutiveApprovalListRequest request) { @@ -219,8 +237,8 @@ switch (request.getApprovalStatus()) { //草稿 case ApprovalStatusEnum.DRAFT: - list = siteExecutiveInfoMapper.selectDraftListForApproval(page, request); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.DRAFT); + approvalList = siteExecutiveInfoMapper.selectDraftListForApproval(page, request); + approvalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.DRAFT); break; //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: @@ -229,8 +247,8 @@ businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } if (!CollectionUtils.isEmpty(businessKeys)) { - list = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); + approvalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { @@ -247,16 +265,16 @@ case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); if (!CollectionUtils.isEmpty(businessKeys)) { - list = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); + approvalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); if (!CollectionUtils.isEmpty(businessKeys)) { - list = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); + approvalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable @@ -264,13 +282,13 @@ businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 if (!CollectionUtils.isEmpty(businessKeys)) { - list = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); + approvalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); if (!CollectionUtils.isEmpty(rejectBusinessKey)) { - List rejectList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, rejectBusinessKey); - rejectApprovalList = handleApprovalListResponse(approvalList, rejectList, ApprovalStatusEnum.FAILED_REJECT); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, rejectBusinessKey); + rejectApprovalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,8 +297,8 @@ case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); if (!CollectionUtils.isEmpty(businessKeys)) { - list = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); + approvalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.CANCELED); } break; //全部 @@ -292,16 +310,16 @@ businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } if (!CollectionUtils.isEmpty(businessKeys)) { - list = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleAllApprovalListResponse(approvalList, list, AllApproveList); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); + approvalList = handleAllApprovalListResponse(approvalList, AllApproveList); } break; } return approvalList; } - private List handleApprovalListResponse(List approvalList, List list, String status) { - approvalList = ConvertUtils.sourceToTarget(list, SiteExecutiveApprovalListResponse.class); + private List handleApprovalListResponse(List approvalList, String status) { +// approvalList = ConvertUtils.sourceToTarget(list, SiteExecutiveApprovalListResponse.class); approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -309,9 +327,9 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List list, List allApproveList) { + private List handleAllApprovalListResponse(List approvalList,List allApproveList) { Map taskMap = new HashMap<>(); - approvalList = ConvertUtils.sourceToTarget(list, SiteExecutiveApprovalListResponse.class); +// approvalList = ConvertUtils.sourceToTarget(list, SiteExecutiveApprovalListResponse.class); allApproveList.forEach(allApprove -> { taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); }); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveLogServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveLogServiceImpl.java index 25d3006..25bad5e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveLogServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveLogServiceImpl.java @@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.shiro.ShiroKit; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.siteExecutive.SiteExecuteLogRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.enums.notifyevent.PrintFileDataBeanNameAliasEnum; import com.casic.missiles.exception.BusinessException; @@ -32,11 +34,15 @@ import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.tomcat.util.threads.ThreadPoolExecutor; +import org.omg.CORBA.PUBLIC_MEMBER; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; import java.util.Date; +import java.util.List; import java.util.concurrent.LinkedBlockingDeque; import java.util.concurrent.TimeUnit; @@ -56,6 +62,8 @@ private IBusinessSiteExecutiveEquipmentRelationService siteExecutiveEquipmentRelationService; @Autowired private MinioUtil minioUtill; + @Autowired + private IBaseExportService iBaseExportService; @Override public ReturnDTO addSiteExecutiveLog(BusinessSiteExecutiveLog siteExecutiveLog) { @@ -123,6 +131,31 @@ return siteExecutiveLogListPage; } + @Override + public void exportExecuteLog(SiteExecuteLogRequest request, HttpServletResponse response) { + try { + Page page = PageFactory.defaultPage(); + List siteExecutiveLogList=new ArrayList<>(); + if(CollectionUtils.isEmpty(request.getIds())){ + page.setCurrent(1); + page.setSearchCount(false); + page.setSize(Integer.MAX_VALUE); + // 获取列表 + Page siteExecutiveLogListPage = this.baseMapper.siteExecutiveLogListPage(page, request); + siteExecutiveLogList=siteExecutiveLogListPage.getRecords(); + }else { + siteExecutiveLogList=this.listByIds(request.getIds()); + } + for (BusinessSiteExecutiveLog siteExecutiveLog :siteExecutiveLogList) { + DictCodeUtils.convertDictCodeToName(siteExecutiveLog); + } + iBaseExportService.exportExcel(response, BusinessSiteExecutiveLog.class,siteExecutiveLogList, ExportEnum.ENVIRONMENTAL_RECORD.getSheetName()); + } catch (Exception e) { + log.error("样品导出出现异常,异常信息为{}", e); + } + + } + private void initBusinessSiteExecutiveLog(BusinessSiteExecutiveLog siteExecutiveLog) { Long maxNo = this.baseMapper.selectMaxCode(); String originNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.SITE_EXECUTIVE_LOG_PREFIX, maxNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessSiteExecutiveInfoService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessSiteExecutiveInfoService.java index c9637c1..db64199 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessSiteExecutiveInfoService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessSiteExecutiveInfoService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.dto.BaseApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.business.siteExecutive.BusinessSiteExecutiveDetail; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListRequest; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListResponse; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; @@ -35,6 +36,6 @@ ReturnDTO draftUpdate(BusinessSiteExecutiveInfo siteExecutiveInfo); - BusinessSiteExecutiveInfo siteExecutiveInfoDetail(Long id); + BusinessSiteExecutiveDetail siteExecutiveInfoDetail(Long id); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessSiteExecutiveLogService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessSiteExecutiveLogService.java index 25ce003..f657fbe 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessSiteExecutiveLogService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessSiteExecutiveLogService.java @@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.business.siteExecutive.SiteExecuteLogRequest; +import com.casic.missiles.dto.customer.Info.CustomerListRequest; import com.casic.missiles.model.business.BusinessSiteExecutiveLog; +import javax.servlet.http.HttpServletResponse; + /** *

* 现场检测记录表 服务类 @@ -24,5 +27,7 @@ BusinessSiteExecutiveLog siteExecutiveLogDetail(Long id); - Page siteExecutiveLogListPage(Page page, SiteExecuteLogRequest request)throws Exception; + Page siteExecutiveLogListPage(Page page, SiteExecuteLogRequest request) throws Exception; + + void exportExecuteLog(SiteExecuteLogRequest request, HttpServletResponse response); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java index 68929b2..ad116bc 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.*; +import com.casic.missiles.dto.business.siteExecutive.BusinessSiteExecutiveDetail; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListRequest; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListResponse; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; @@ -126,7 +127,7 @@ @ApiOperation("现场检测详情") @PostMapping("/detail") @ResponseBody - public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java index 62f69c8..183f5af 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java @@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.util.Objects; @@ -91,10 +92,10 @@ return ReturnUtil.success(siteExecutiveLogService.deleteSiteExecutiveLog(idDTO.getId())); } -// @ApiOperation("现场检测记录表导出") -// @PostMapping("/export") -// public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) { -// siteExecutiveLogService.originExport(request, response); -// } + @ApiOperation("现场检测记录表导出") + @PostMapping("/export") + public void exportExecuteLog(@RequestBody @Valid SiteExecuteLogRequest request,HttpServletResponse response) { + siteExecutiveLogService.exportExecuteLog(request, response); + } } 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 7015965..e05c3d8 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 @@ -49,7 +49,8 @@ WORK_STATISTICS_EXPORT("workStatisticsData", "workStatisticsData", "实时工作统计"), DEPT_OUTPUT_EXPORT("deptOutputData", "deptOutputData", "部门产值分析"), WORKLOAD_EXPORT("workloadData", "workloadData", "业务工作量分析"), - DEPT_COMPREHENSIVE_EXPORT("deptComprehensiveData", "deptComprehensiveData", "部门综合分析"); + DEPT_COMPREHENSIVE_EXPORT("deptComprehensiveData", "deptComprehensiveData", "部门综合分析"), + ENVIRONMENTAL_RECORD("environmentalRecordData", "environmentalRecordData", "现场环境记录"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java index 34605b0..22c6c84 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java @@ -20,9 +20,9 @@ */ public interface BusinessSiteExecutiveInfoMapper extends BaseMapper { - List selectDraftListForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request); + List selectDraftListForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request); - List selectBatchForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request, @Param("businessKeys") List businessKeys); + List selectBatchForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request, @Param("businessKeys") List businessKeys); @Select("SELECT IFNULL(max(RIGHT(site_executive_no, 12)), 0) from business_site_executive_info") Long selectMaxCode(); diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessSiteExecutiveInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessSiteExecutiveInfoMapper.xml index 3481cd5..65e3fa1 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessSiteExecutiveInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessSiteExecutiveInfoMapper.xml @@ -29,9 +29,15 @@ - SELECT * FROM business_site_executive_info + JOIN ( + SELECT id as orderId,customer_name AS customerName,customer_address AS customerAddress, + customer_phone AS customerPhone,deliverer + FROM business_order + where is_del = 0 + )bo ON bo.orderId=order_id WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user = #{request.createUserId} @@ -46,9 +52,15 @@ - SELECT * FROM business_site_executive_info + JOIN ( + SELECT id as orderId,customer_name AS customerName,customer_address AS customerAddress, + customer_phone AS customerPhone,deliverer + FROM business_order + where is_del = 0 + )bo ON bo.orderId=order_id WHERE is_del = 0 and site_executive_no like concat('%',#{request.siteExecutiveNo},'%') diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/BusinessSiteExecutiveDetail.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/BusinessSiteExecutiveDetail.java new file mode 100644 index 0000000..0d3590f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/BusinessSiteExecutiveDetail.java @@ -0,0 +1,137 @@ +package com.casic.missiles.dto.business.siteExecutive; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.meter.MeterStaff; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@TableName("business_site_executive_info") +public class BusinessSiteExecutiveDetail { + + private static final long serialVersionUID = 1L; + + @TableId("id") + private Long id; + + @ApiModelProperty(value = "现场检测编号", dataType = "String") + @TableField("site_executive_no") + private String siteExecutiveNo; + + @ApiModelProperty(value = "现场检测名字", dataType = "String") + @TableField("site_executive_name") + private String siteExecutiveName; + + @ApiModelProperty(value = "负责人id", dataType = "Long") + @TableField("director_id") + private Long directorId; + + @ApiModelProperty(value = "负责人名字", dataType = "String") + @TableField("director_name") + private String directorName; + + @ApiModelProperty(value = "申请时间", dataType = "String") + @TableField("apply_time") + private String applyTime; + + @ApiModelProperty(value = "任务来源-字典code", dataType = "String") + @TableField("task_source") + private String taskSource; + + @ApiModelProperty(value = "任务来源-字典value", dataType = "String") + @TableField(exist = false) + private String taskSourceName; + + @ApiModelProperty(value = "委托书id", dataType = "String") + @TableField("order_id") + private Long orderId; + + @ApiModelProperty(value = "委托方id", dataType = "String") + @TableField("customer_id") + private Long customerId; + + @ApiModelProperty(value = "预计计量费用", dataType = "String") + @TableField("pre_cost") + private String preCost; + + @ApiModelProperty(value = "预计开始时间", dataType = "String") + @TableField("pre_start_time") + private String preStartTime; + + @ApiModelProperty(value = "预计结束时间", dataType = "String") + @TableField("pre_end_time") + private String preEndTime; + + @ApiModelProperty(value = "检测地址", dataType = "String") + @TableField("executive_address") + private String executiveAddress; + + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托方地址", dataType = "String") + private String customerAddress; + + @ApiModelProperty(value = "电话", dataType = "String") + private String customerPhone; + + @ApiModelProperty(value = "联系人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "现场环境条件", dataType = "String") + @TableField("executive_environment") + private String executiveEnvironment; + + @ApiModelProperty(value = "主要危害源及预防措施", dataType = "String") + @TableField("hazard_source_and_prevention_method") + private String hazardSourceAndPreventionMethod; + + @ApiModelProperty(value = "现场测试、校准或检定项目", dataType = "String") + @TableField("executive_item") + private String executiveItem; + + @ApiModelProperty(value = "审批状态", dataType = "String") + @TableField("approval_status") + private String approvalStatus; + + @ApiModelProperty(value = "流程实例id(未通过现场检测编辑接口必传参数)", dataType = "String") + @TableField("process_id") + private String processId; + + @TableField("remark") + private String remark; + + + @TableField("print_file_name") + private String printFileName; + + @ApiModelProperty(hidden = true) + @TableField("create_user") + private Long createUser; + + @ApiModelProperty(hidden = true) + @TableField("is_del") + private Integer isDel; + + @ApiModelProperty(value = "创建时间", dataType = "String") + @TableField("create_time") + private String createTime; + + @ApiModelProperty(hidden = true) + @TableField("update_time") + private String updateTime; + + @TableField(exist = false) + @ApiModelProperty(value = "携带仪器设备", dataType = "List") + private List equipmentInfoList; + + @TableField(exist = false) + @ApiModelProperty(value = "现场测试、校准或检定人员", dataType = "List") + private List meterStaffList; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/SiteExecutiveApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/SiteExecutiveApprovalListResponse.java index f92a671..7968d74 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/SiteExecutiveApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/siteExecutive/SiteExecutiveApprovalListResponse.java @@ -65,20 +65,8 @@ @ApiModelProperty(value = "委托方名字", dataType = "String") private String customerName; - @ApiModelProperty(value = "公司地址-详细地址", dataType = "String") - private String fullAddress; - - @ApiModelProperty(value = "公司地址-国家名字", dataType = "String") - private String addressCountryName; - - @ApiModelProperty(value = "公司地址-省名字", dataType = "String") - private String addressProvinceName; - - @ApiModelProperty(value = "公司地址-市名字", dataType = "String") - private String addressCityName; - - @ApiModelProperty(value = "公司地址-区名字", dataType = "String") - private String addressAreaName; + @ApiModelProperty(value = "委托方地址", dataType = "String") + private String customerAddress; @ApiModelProperty(value = "委托方联系人", dataType = "String") private String director; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveInfoServiceImpl.java index b4dfc4d..f53a9c0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveInfoServiceImpl.java @@ -11,6 +11,7 @@ import com.casic.missiles.dto.BaseApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.siteExecutive.BusinessSiteExecutiveDetail; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListRequest; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListResponse; import com.casic.missiles.dto.flowable.AllApproveDTO; @@ -22,12 +23,16 @@ import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessSiteExecutiveInfoMapper; +import com.casic.missiles.model.business.BusinessOrder; import com.casic.missiles.model.business.BusinessSiteExecutiveInfo; +import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.service.IBaseApprovalService; +import com.casic.missiles.service.business.IBusinessOrderService; import com.casic.missiles.service.business.IBusinessSiteExecutiveInfoEquipmentRelationService; import com.casic.missiles.service.business.IBusinessSiteExecutiveInfoService; import com.casic.missiles.service.business.IBusinessSiteExecutiveStaffRelationService; +import com.casic.missiles.service.customer.CustomerService; import com.casic.missiles.service.flowable.ApprovalOperateService; import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; @@ -64,6 +69,8 @@ @Autowired private ApprovalOperateService approvalOperateService; @Autowired + private IBusinessOrderService orderService; + @Autowired private IBusinessSiteExecutiveInfoEquipmentRelationService siteExecutiveEquipmentRelationService; @Autowired private IBusinessSiteExecutiveStaffRelationService siteExecutiveStaffRelationService; @@ -189,6 +196,7 @@ Long maxNo = this.baseMapper.selectMaxCode(); String siteExecutiveNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.SITE_EXECUTIVE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); + siteExecutiveInfo.setApprovalStatus(ApprovalStatusEnum.DRAFT); siteExecutiveInfo.setCreateUser(authUser.getId()); siteExecutiveInfo.setDirectorId(authUser.getId()); siteExecutiveInfo.setDirectorName(authUser.getName()); @@ -197,9 +205,9 @@ } @Override - public BusinessSiteExecutiveInfo siteExecutiveInfoDetail(Long id) { + public BusinessSiteExecutiveDetail siteExecutiveInfoDetail(Long id) { + BusinessSiteExecutiveDetail businessSiteExecutiveDetail = new BusinessSiteExecutiveDetail(); BusinessSiteExecutiveInfo siteExecutiveInfo = this.baseMapper.selectById(id); - if (siteExecutiveInfo != null) { //查询是否有关联的检测人员 siteExecutiveInfo.setMeterStaffList(siteExecutiveStaffRelationService.getStaffsByExecutiveInfoId(id)); @@ -209,7 +217,17 @@ siteExecutiveInfo.setTaskSourceName(dictService.getDictNameByCode(MeterDictEnum.TASK_SOURCE, siteExecutiveInfo.getTaskSource())); } } - return siteExecutiveInfo; + businessSiteExecutiveDetail = ConvertUtils.sourceToTarget(siteExecutiveInfo, BusinessSiteExecutiveDetail.class); + BusinessOrder businessOrder=orderService.orderDetail(businessSiteExecutiveDetail.getOrderId()); + populateBusinessSiteExecutiveDetail(businessSiteExecutiveDetail,businessOrder); + return businessSiteExecutiveDetail; + } + + private void populateBusinessSiteExecutiveDetail(BusinessSiteExecutiveDetail businessSiteExecutiveDetail,BusinessOrder businessOrder){ + businessSiteExecutiveDetail.setCustomerAddress(businessOrder.getCustomerAddress()); + businessSiteExecutiveDetail.setCustomerName(businessOrder.getCustomerName()); + businessSiteExecutiveDetail.setCustomerPhone(businessOrder.getCustomerPhone()); + businessSiteExecutiveDetail.setDeliverer(businessOrder.getDeliverer()); } private List handleApprovalStatus(Page page, SiteExecutiveApprovalListRequest request) { @@ -219,8 +237,8 @@ switch (request.getApprovalStatus()) { //草稿 case ApprovalStatusEnum.DRAFT: - list = siteExecutiveInfoMapper.selectDraftListForApproval(page, request); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.DRAFT); + approvalList = siteExecutiveInfoMapper.selectDraftListForApproval(page, request); + approvalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.DRAFT); break; //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: @@ -229,8 +247,8 @@ businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } if (!CollectionUtils.isEmpty(businessKeys)) { - list = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); + approvalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { @@ -247,16 +265,16 @@ case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); if (!CollectionUtils.isEmpty(businessKeys)) { - list = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); + approvalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); if (!CollectionUtils.isEmpty(businessKeys)) { - list = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); + approvalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable @@ -264,13 +282,13 @@ businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 if (!CollectionUtils.isEmpty(businessKeys)) { - list = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); + approvalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); if (!CollectionUtils.isEmpty(rejectBusinessKey)) { - List rejectList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, rejectBusinessKey); - rejectApprovalList = handleApprovalListResponse(approvalList, rejectList, ApprovalStatusEnum.FAILED_REJECT); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, rejectBusinessKey); + rejectApprovalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,8 +297,8 @@ case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); if (!CollectionUtils.isEmpty(businessKeys)) { - list = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); + approvalList = handleApprovalListResponse(approvalList, ApprovalStatusEnum.CANCELED); } break; //全部 @@ -292,16 +310,16 @@ businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } if (!CollectionUtils.isEmpty(businessKeys)) { - list = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleAllApprovalListResponse(approvalList, list, AllApproveList); + approvalList = siteExecutiveInfoMapper.selectBatchForApproval(page, request, businessKeys); + approvalList = handleAllApprovalListResponse(approvalList, AllApproveList); } break; } return approvalList; } - private List handleApprovalListResponse(List approvalList, List list, String status) { - approvalList = ConvertUtils.sourceToTarget(list, SiteExecutiveApprovalListResponse.class); + private List handleApprovalListResponse(List approvalList, String status) { +// approvalList = ConvertUtils.sourceToTarget(list, SiteExecutiveApprovalListResponse.class); approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -309,9 +327,9 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List list, List allApproveList) { + private List handleAllApprovalListResponse(List approvalList,List allApproveList) { Map taskMap = new HashMap<>(); - approvalList = ConvertUtils.sourceToTarget(list, SiteExecutiveApprovalListResponse.class); +// approvalList = ConvertUtils.sourceToTarget(list, SiteExecutiveApprovalListResponse.class); allApproveList.forEach(allApprove -> { taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); }); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveLogServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveLogServiceImpl.java index 25d3006..25bad5e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveLogServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessSiteExecutiveLogServiceImpl.java @@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.shiro.ShiroKit; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.siteExecutive.SiteExecuteLogRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.enums.notifyevent.PrintFileDataBeanNameAliasEnum; import com.casic.missiles.exception.BusinessException; @@ -32,11 +34,15 @@ import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.tomcat.util.threads.ThreadPoolExecutor; +import org.omg.CORBA.PUBLIC_MEMBER; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; import java.util.Date; +import java.util.List; import java.util.concurrent.LinkedBlockingDeque; import java.util.concurrent.TimeUnit; @@ -56,6 +62,8 @@ private IBusinessSiteExecutiveEquipmentRelationService siteExecutiveEquipmentRelationService; @Autowired private MinioUtil minioUtill; + @Autowired + private IBaseExportService iBaseExportService; @Override public ReturnDTO addSiteExecutiveLog(BusinessSiteExecutiveLog siteExecutiveLog) { @@ -123,6 +131,31 @@ return siteExecutiveLogListPage; } + @Override + public void exportExecuteLog(SiteExecuteLogRequest request, HttpServletResponse response) { + try { + Page page = PageFactory.defaultPage(); + List siteExecutiveLogList=new ArrayList<>(); + if(CollectionUtils.isEmpty(request.getIds())){ + page.setCurrent(1); + page.setSearchCount(false); + page.setSize(Integer.MAX_VALUE); + // 获取列表 + Page siteExecutiveLogListPage = this.baseMapper.siteExecutiveLogListPage(page, request); + siteExecutiveLogList=siteExecutiveLogListPage.getRecords(); + }else { + siteExecutiveLogList=this.listByIds(request.getIds()); + } + for (BusinessSiteExecutiveLog siteExecutiveLog :siteExecutiveLogList) { + DictCodeUtils.convertDictCodeToName(siteExecutiveLog); + } + iBaseExportService.exportExcel(response, BusinessSiteExecutiveLog.class,siteExecutiveLogList, ExportEnum.ENVIRONMENTAL_RECORD.getSheetName()); + } catch (Exception e) { + log.error("样品导出出现异常,异常信息为{}", e); + } + + } + private void initBusinessSiteExecutiveLog(BusinessSiteExecutiveLog siteExecutiveLog) { Long maxNo = this.baseMapper.selectMaxCode(); String originNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.SITE_EXECUTIVE_LOG_PREFIX, maxNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessSiteExecutiveInfoService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessSiteExecutiveInfoService.java index c9637c1..db64199 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessSiteExecutiveInfoService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessSiteExecutiveInfoService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.dto.BaseApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.business.siteExecutive.BusinessSiteExecutiveDetail; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListRequest; import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListResponse; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; @@ -35,6 +36,6 @@ ReturnDTO draftUpdate(BusinessSiteExecutiveInfo siteExecutiveInfo); - BusinessSiteExecutiveInfo siteExecutiveInfoDetail(Long id); + BusinessSiteExecutiveDetail siteExecutiveInfoDetail(Long id); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessSiteExecutiveLogService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessSiteExecutiveLogService.java index 25ce003..f657fbe 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessSiteExecutiveLogService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessSiteExecutiveLogService.java @@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.business.siteExecutive.SiteExecuteLogRequest; +import com.casic.missiles.dto.customer.Info.CustomerListRequest; import com.casic.missiles.model.business.BusinessSiteExecutiveLog; +import javax.servlet.http.HttpServletResponse; + /** *

* 现场检测记录表 服务类 @@ -24,5 +27,7 @@ BusinessSiteExecutiveLog siteExecutiveLogDetail(Long id); - Page siteExecutiveLogListPage(Page page, SiteExecuteLogRequest request)throws Exception; + Page siteExecutiveLogListPage(Page page, SiteExecuteLogRequest request) throws Exception; + + void exportExecuteLog(SiteExecuteLogRequest request, HttpServletResponse response); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerService.java index bef03f0..3cfaeed 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerService.java @@ -15,7 +15,6 @@ List customerList(CustomerListRequest request) throws Exception; - ReturnDTO addCustomer(CustomerInfo customerInfo) throws Exception; ReturnDTO updateCustomer(CustomerInfo customerInfo);