diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java index aa17181..18356e2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.equipment.EquipmentInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; @@ -23,4 +24,10 @@ List selectList(@Param("dataScope") DataScope dataScope, @Param("ew")QueryWrapper queryWrapper); + List bizCertificateListPage(@Param("page") Page page, + @Param("dataScope") DataScope dataScope, + @Param("ew") QueryWrapper queryFrom); + + List bizCertificateList(@Param("equipmentId") Long equipmentId); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java index aa17181..18356e2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.equipment.EquipmentInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; @@ -23,4 +24,10 @@ List selectList(@Param("dataScope") DataScope dataScope, @Param("ew")QueryWrapper queryWrapper); + List bizCertificateListPage(@Param("page") Page page, + @Param("dataScope") DataScope dataScope, + @Param("ew") QueryWrapper queryFrom); + + List bizCertificateList(@Param("equipmentId") Long equipmentId); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java index 309b330..38dbdc9 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.status.EquipmentStatusApproval; import com.casic.missiles.model.subcontract.SubcontractCertificate; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -29,4 +30,6 @@ List listBySubcontractor(@Param("subcontractorId") Long subcontractorId); + List listByEquipment(@Param("equipmentId") Long equipmentId); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java index aa17181..18356e2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.equipment.EquipmentInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; @@ -23,4 +24,10 @@ List selectList(@Param("dataScope") DataScope dataScope, @Param("ew")QueryWrapper queryWrapper); + List bizCertificateListPage(@Param("page") Page page, + @Param("dataScope") DataScope dataScope, + @Param("ew") QueryWrapper queryFrom); + + List bizCertificateList(@Param("equipmentId") Long equipmentId); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java index 309b330..38dbdc9 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.status.EquipmentStatusApproval; import com.casic.missiles.model.subcontract.SubcontractCertificate; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -29,4 +30,6 @@ List listBySubcontractor(@Param("subcontractorId") Long subcontractorId); + List listByEquipment(@Param("equipmentId") Long equipmentId); + } diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index 025b161..a2c0944 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -66,4 +66,40 @@ + + select + c.id as id, + e.id as equipmentId, + e.equipment_no as equipmentNo, + e.equipment_name as equipmentName, + e.meter_identify as meterIdentify, + e.dept_id as deptId, + c.certificate_report_no as certificateNo, + c.certificate_report_name as certificateName, + '西昌卫星发射中心计量测试站' as checkOrganization, + c.calibration_time as checkDate, + c.expiration_date as certificateValid, + c.certificate_report_file as minioFileName, + c.create_time as createTime, + c.update_time as updateTime, + '1' as certificateType, + c.remark as remark + from biz_business_certificate_report c ,eqpt_equipment_info e + where c.sample_id = e.id + + + + + + diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java index aa17181..18356e2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.equipment.EquipmentInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; @@ -23,4 +24,10 @@ List selectList(@Param("dataScope") DataScope dataScope, @Param("ew")QueryWrapper queryWrapper); + List bizCertificateListPage(@Param("page") Page page, + @Param("dataScope") DataScope dataScope, + @Param("ew") QueryWrapper queryFrom); + + List bizCertificateList(@Param("equipmentId") Long equipmentId); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java index 309b330..38dbdc9 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.status.EquipmentStatusApproval; import com.casic.missiles.model.subcontract.SubcontractCertificate; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -29,4 +30,6 @@ List listBySubcontractor(@Param("subcontractorId") Long subcontractorId); + List listByEquipment(@Param("equipmentId") Long equipmentId); + } diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index 025b161..a2c0944 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -66,4 +66,40 @@ + + select + c.id as id, + e.id as equipmentId, + e.equipment_no as equipmentNo, + e.equipment_name as equipmentName, + e.meter_identify as meterIdentify, + e.dept_id as deptId, + c.certificate_report_no as certificateNo, + c.certificate_report_name as certificateName, + '西昌卫星发射中心计量测试站' as checkOrganization, + c.calibration_time as checkDate, + c.expiration_date as certificateValid, + c.certificate_report_file as minioFileName, + c.create_time as createTime, + c.update_time as updateTime, + '1' as certificateType, + c.remark as remark + from biz_business_certificate_report c ,eqpt_equipment_info e + where c.sample_id = e.id + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml index 8a75a84..749feff 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -101,4 +101,25 @@ + + diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java index aa17181..18356e2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.equipment.EquipmentInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; @@ -23,4 +24,10 @@ List selectList(@Param("dataScope") DataScope dataScope, @Param("ew")QueryWrapper queryWrapper); + List bizCertificateListPage(@Param("page") Page page, + @Param("dataScope") DataScope dataScope, + @Param("ew") QueryWrapper queryFrom); + + List bizCertificateList(@Param("equipmentId") Long equipmentId); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java index 309b330..38dbdc9 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.status.EquipmentStatusApproval; import com.casic.missiles.model.subcontract.SubcontractCertificate; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -29,4 +30,6 @@ List listBySubcontractor(@Param("subcontractorId") Long subcontractorId); + List listByEquipment(@Param("equipmentId") Long equipmentId); + } diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index 025b161..a2c0944 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -66,4 +66,40 @@ + + select + c.id as id, + e.id as equipmentId, + e.equipment_no as equipmentNo, + e.equipment_name as equipmentName, + e.meter_identify as meterIdentify, + e.dept_id as deptId, + c.certificate_report_no as certificateNo, + c.certificate_report_name as certificateName, + '西昌卫星发射中心计量测试站' as checkOrganization, + c.calibration_time as checkDate, + c.expiration_date as certificateValid, + c.certificate_report_file as minioFileName, + c.create_time as createTime, + c.update_time as updateTime, + '1' as certificateType, + c.remark as remark + from biz_business_certificate_report c ,eqpt_equipment_info e + where c.sample_id = e.id + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml index 8a75a84..749feff 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -101,4 +101,25 @@ + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java index c781fad..627a277 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java @@ -7,8 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.equipment.EquipmentAggr; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.*; import com.casic.missiles.model.equipment.EquipmentInfo; import com.casic.missiles.service.equipment.IEquipmentInfoService; import io.swagger.annotations.Api; @@ -17,7 +16,6 @@ import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.docx4j.wml.R; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; @@ -65,8 +63,27 @@ @ApiOperation("设备详情") @GetMapping("/info/detail") @ResponseBody - public ReturnDTO detail(Long equipmentId) { - return ReturnUtil.success(equipmentInfoService.detail(equipmentId)); + public ReturnDTO detail(Long equipmentId) { + EquipmentInfoForm form = equipmentInfoService.detail(equipmentId); + return ReturnUtil.success(form); + } + + @ApiOperation("到期提醒分页列表") + @PostMapping("/remind/listPage") + @ResponseBody + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + Page page = PageFactory.defaultPage(); + page = equipmentInfoService.remindListPage(page, queryFrom); + return ReturnUtil.success(super.packForBT(page)); + } + + @ApiOperation("证书管理分页列表") + @PostMapping("/certificate/listPage") + @ResponseBody + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + Page page = PageFactory.defaultPage(); + page = equipmentInfoService.certificateListPage(page, queryFrom); + return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java index aa17181..18356e2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.equipment.EquipmentInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; @@ -23,4 +24,10 @@ List selectList(@Param("dataScope") DataScope dataScope, @Param("ew")QueryWrapper queryWrapper); + List bizCertificateListPage(@Param("page") Page page, + @Param("dataScope") DataScope dataScope, + @Param("ew") QueryWrapper queryFrom); + + List bizCertificateList(@Param("equipmentId") Long equipmentId); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java index 309b330..38dbdc9 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.status.EquipmentStatusApproval; import com.casic.missiles.model.subcontract.SubcontractCertificate; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -29,4 +30,6 @@ List listBySubcontractor(@Param("subcontractorId") Long subcontractorId); + List listByEquipment(@Param("equipmentId") Long equipmentId); + } diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index 025b161..a2c0944 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -66,4 +66,40 @@ + + select + c.id as id, + e.id as equipmentId, + e.equipment_no as equipmentNo, + e.equipment_name as equipmentName, + e.meter_identify as meterIdentify, + e.dept_id as deptId, + c.certificate_report_no as certificateNo, + c.certificate_report_name as certificateName, + '西昌卫星发射中心计量测试站' as checkOrganization, + c.calibration_time as checkDate, + c.expiration_date as certificateValid, + c.certificate_report_file as minioFileName, + c.create_time as createTime, + c.update_time as updateTime, + '1' as certificateType, + c.remark as remark + from biz_business_certificate_report c ,eqpt_equipment_info e + where c.sample_id = e.id + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml index 8a75a84..749feff 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -101,4 +101,25 @@ + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java index c781fad..627a277 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java @@ -7,8 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.equipment.EquipmentAggr; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.*; import com.casic.missiles.model.equipment.EquipmentInfo; import com.casic.missiles.service.equipment.IEquipmentInfoService; import io.swagger.annotations.Api; @@ -17,7 +16,6 @@ import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.docx4j.wml.R; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; @@ -65,8 +63,27 @@ @ApiOperation("设备详情") @GetMapping("/info/detail") @ResponseBody - public ReturnDTO detail(Long equipmentId) { - return ReturnUtil.success(equipmentInfoService.detail(equipmentId)); + public ReturnDTO detail(Long equipmentId) { + EquipmentInfoForm form = equipmentInfoService.detail(equipmentId); + return ReturnUtil.success(form); + } + + @ApiOperation("到期提醒分页列表") + @PostMapping("/remind/listPage") + @ResponseBody + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + Page page = PageFactory.defaultPage(); + page = equipmentInfoService.remindListPage(page, queryFrom); + return ReturnUtil.success(super.packForBT(page)); + } + + @ApiOperation("证书管理分页列表") + @PostMapping("/certificate/listPage") + @ResponseBody + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + Page page = PageFactory.defaultPage(); + page = equipmentInfoService.certificateListPage(page, queryFrom); + return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java new file mode 100644 index 0000000..705ef18 --- /dev/null +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java @@ -0,0 +1,58 @@ +package com.casic.missiles.controller.plan; + +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.model.equipment.CertificateUpdate; +import com.casic.missiles.model.plan.OrderReceive; +import com.casic.missiles.model.plan.SampleStatueUpdate; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.plan.IPlanEquipmentRelationService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +@Slf4j +@Api(tags = "业务系统状态更新模块") +@RequestMapping("/biz") +@RestController +@RequiredArgsConstructor +public class BizUpdateController extends BaseController { + + private final IPlanEquipmentRelationService relationService; + private final IEquipmentInfoService equipmentInfoService; + + @ApiOperation("任务单接收") + @PostMapping("/orderReceive") + public ReturnDTO receive(@RequestBody @Valid OrderReceive orderReceive) { + relationService.orderReceive(orderReceive); + return ReturnUtil.success(); + } + + + @ApiOperation("任务单样品状态更新") + @PostMapping("/sampleStatusUpdate") + public ReturnDTO sampleStatusUpdate(@RequestBody SampleStatueUpdate updateForm) { + relationService.sampleStatusUpdate(updateForm); + return ReturnUtil.success(); + } + + @ApiOperation("证书新增/编辑") + @PostMapping("/certificateUpdate") + public ReturnDTO certificateUpdate(@RequestBody CertificateUpdate updateForm) { + equipmentInfoService.updateCertificateInfo(updateForm.getSampleId(),"西昌卫星发射中心计量测试站",updateForm.getCalibrationTime(),updateForm.getExpirationDate(),null); + return ReturnUtil.success(); + } + + @ApiOperation("证书删除") + @PostMapping("/certificateRemove") + public ReturnDTO certificateRemove(@RequestBody CertificateUpdate updateForm) { + equipmentInfoService.removeCertificateInfo(updateForm.getSampleId(), updateForm.getId()); + return ReturnUtil.success(); + } + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java index aa17181..18356e2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.equipment.EquipmentInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; @@ -23,4 +24,10 @@ List selectList(@Param("dataScope") DataScope dataScope, @Param("ew")QueryWrapper queryWrapper); + List bizCertificateListPage(@Param("page") Page page, + @Param("dataScope") DataScope dataScope, + @Param("ew") QueryWrapper queryFrom); + + List bizCertificateList(@Param("equipmentId") Long equipmentId); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java index 309b330..38dbdc9 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.status.EquipmentStatusApproval; import com.casic.missiles.model.subcontract.SubcontractCertificate; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -29,4 +30,6 @@ List listBySubcontractor(@Param("subcontractorId") Long subcontractorId); + List listByEquipment(@Param("equipmentId") Long equipmentId); + } diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index 025b161..a2c0944 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -66,4 +66,40 @@ + + select + c.id as id, + e.id as equipmentId, + e.equipment_no as equipmentNo, + e.equipment_name as equipmentName, + e.meter_identify as meterIdentify, + e.dept_id as deptId, + c.certificate_report_no as certificateNo, + c.certificate_report_name as certificateName, + '西昌卫星发射中心计量测试站' as checkOrganization, + c.calibration_time as checkDate, + c.expiration_date as certificateValid, + c.certificate_report_file as minioFileName, + c.create_time as createTime, + c.update_time as updateTime, + '1' as certificateType, + c.remark as remark + from biz_business_certificate_report c ,eqpt_equipment_info e + where c.sample_id = e.id + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml index 8a75a84..749feff 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -101,4 +101,25 @@ + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java index c781fad..627a277 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java @@ -7,8 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.equipment.EquipmentAggr; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.*; import com.casic.missiles.model.equipment.EquipmentInfo; import com.casic.missiles.service.equipment.IEquipmentInfoService; import io.swagger.annotations.Api; @@ -17,7 +16,6 @@ import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.docx4j.wml.R; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; @@ -65,8 +63,27 @@ @ApiOperation("设备详情") @GetMapping("/info/detail") @ResponseBody - public ReturnDTO detail(Long equipmentId) { - return ReturnUtil.success(equipmentInfoService.detail(equipmentId)); + public ReturnDTO detail(Long equipmentId) { + EquipmentInfoForm form = equipmentInfoService.detail(equipmentId); + return ReturnUtil.success(form); + } + + @ApiOperation("到期提醒分页列表") + @PostMapping("/remind/listPage") + @ResponseBody + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + Page page = PageFactory.defaultPage(); + page = equipmentInfoService.remindListPage(page, queryFrom); + return ReturnUtil.success(super.packForBT(page)); + } + + @ApiOperation("证书管理分页列表") + @PostMapping("/certificate/listPage") + @ResponseBody + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + Page page = PageFactory.defaultPage(); + page = equipmentInfoService.certificateListPage(page, queryFrom); + return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java new file mode 100644 index 0000000..705ef18 --- /dev/null +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java @@ -0,0 +1,58 @@ +package com.casic.missiles.controller.plan; + +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.model.equipment.CertificateUpdate; +import com.casic.missiles.model.plan.OrderReceive; +import com.casic.missiles.model.plan.SampleStatueUpdate; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.plan.IPlanEquipmentRelationService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +@Slf4j +@Api(tags = "业务系统状态更新模块") +@RequestMapping("/biz") +@RestController +@RequiredArgsConstructor +public class BizUpdateController extends BaseController { + + private final IPlanEquipmentRelationService relationService; + private final IEquipmentInfoService equipmentInfoService; + + @ApiOperation("任务单接收") + @PostMapping("/orderReceive") + public ReturnDTO receive(@RequestBody @Valid OrderReceive orderReceive) { + relationService.orderReceive(orderReceive); + return ReturnUtil.success(); + } + + + @ApiOperation("任务单样品状态更新") + @PostMapping("/sampleStatusUpdate") + public ReturnDTO sampleStatusUpdate(@RequestBody SampleStatueUpdate updateForm) { + relationService.sampleStatusUpdate(updateForm); + return ReturnUtil.success(); + } + + @ApiOperation("证书新增/编辑") + @PostMapping("/certificateUpdate") + public ReturnDTO certificateUpdate(@RequestBody CertificateUpdate updateForm) { + equipmentInfoService.updateCertificateInfo(updateForm.getSampleId(),"西昌卫星发射中心计量测试站",updateForm.getCalibrationTime(),updateForm.getExpirationDate(),null); + return ReturnUtil.success(); + } + + @ApiOperation("证书删除") + @PostMapping("/certificateRemove") + public ReturnDTO certificateRemove(@RequestBody CertificateUpdate updateForm) { + equipmentInfoService.removeCertificateInfo(updateForm.getSampleId(), updateForm.getId()); + return ReturnUtil.success(); + } + +} diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanUpdateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanUpdateController.java deleted file mode 100644 index 609bbec..0000000 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanUpdateController.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.casic.missiles.controller.plan; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.page.PageFactory; -import com.casic.missiles.dto.IdDTO; -import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.equipment.EquipmentAggr; -import com.casic.missiles.model.plan.OrderReceive; -import com.casic.missiles.model.plan.PlanNotify; -import com.casic.missiles.model.plan.SampleStatueUpdate; -import com.casic.missiles.service.plan.IPlanEquipmentRelationService; -import com.casic.missiles.service.plan.IPlanNotifyRelationService; -import com.casic.missiles.service.plan.IPlanNotifyService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.*; - -import javax.validation.Valid; -import java.util.List; - -@Slf4j -@Api(tags = "计量计划状态更新模块") -@RequestMapping("/plan") -@RestController -@RequiredArgsConstructor -public class PlanUpdateController extends BaseController { - - private final IPlanEquipmentRelationService relationService; - - @ApiOperation("任务单接收") - @PostMapping("/orderReceive") - public ReturnDTO receive(@RequestBody @Valid OrderReceive orderReceive) { - relationService.orderReceive(orderReceive); - return ReturnUtil.success(); - } - - - @ApiOperation("任务单样品状态更新") - @PostMapping("/sampleStatusUpdate") - public ReturnDTO sampleStatusUpdate(@RequestBody SampleStatueUpdate updateForm) { - relationService.sampleStatusUpdate(updateForm); - return ReturnUtil.success(); - } - -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java index aa17181..18356e2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.equipment.EquipmentInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; @@ -23,4 +24,10 @@ List selectList(@Param("dataScope") DataScope dataScope, @Param("ew")QueryWrapper queryWrapper); + List bizCertificateListPage(@Param("page") Page page, + @Param("dataScope") DataScope dataScope, + @Param("ew") QueryWrapper queryFrom); + + List bizCertificateList(@Param("equipmentId") Long equipmentId); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java index 309b330..38dbdc9 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.status.EquipmentStatusApproval; import com.casic.missiles.model.subcontract.SubcontractCertificate; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -29,4 +30,6 @@ List listBySubcontractor(@Param("subcontractorId") Long subcontractorId); + List listByEquipment(@Param("equipmentId") Long equipmentId); + } diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index 025b161..a2c0944 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -66,4 +66,40 @@ + + select + c.id as id, + e.id as equipmentId, + e.equipment_no as equipmentNo, + e.equipment_name as equipmentName, + e.meter_identify as meterIdentify, + e.dept_id as deptId, + c.certificate_report_no as certificateNo, + c.certificate_report_name as certificateName, + '西昌卫星发射中心计量测试站' as checkOrganization, + c.calibration_time as checkDate, + c.expiration_date as certificateValid, + c.certificate_report_file as minioFileName, + c.create_time as createTime, + c.update_time as updateTime, + '1' as certificateType, + c.remark as remark + from biz_business_certificate_report c ,eqpt_equipment_info e + where c.sample_id = e.id + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml index 8a75a84..749feff 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -101,4 +101,25 @@ + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java index c781fad..627a277 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java @@ -7,8 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.equipment.EquipmentAggr; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.*; import com.casic.missiles.model.equipment.EquipmentInfo; import com.casic.missiles.service.equipment.IEquipmentInfoService; import io.swagger.annotations.Api; @@ -17,7 +16,6 @@ import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.docx4j.wml.R; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; @@ -65,8 +63,27 @@ @ApiOperation("设备详情") @GetMapping("/info/detail") @ResponseBody - public ReturnDTO detail(Long equipmentId) { - return ReturnUtil.success(equipmentInfoService.detail(equipmentId)); + public ReturnDTO detail(Long equipmentId) { + EquipmentInfoForm form = equipmentInfoService.detail(equipmentId); + return ReturnUtil.success(form); + } + + @ApiOperation("到期提醒分页列表") + @PostMapping("/remind/listPage") + @ResponseBody + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + Page page = PageFactory.defaultPage(); + page = equipmentInfoService.remindListPage(page, queryFrom); + return ReturnUtil.success(super.packForBT(page)); + } + + @ApiOperation("证书管理分页列表") + @PostMapping("/certificate/listPage") + @ResponseBody + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + Page page = PageFactory.defaultPage(); + page = equipmentInfoService.certificateListPage(page, queryFrom); + return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java new file mode 100644 index 0000000..705ef18 --- /dev/null +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java @@ -0,0 +1,58 @@ +package com.casic.missiles.controller.plan; + +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.model.equipment.CertificateUpdate; +import com.casic.missiles.model.plan.OrderReceive; +import com.casic.missiles.model.plan.SampleStatueUpdate; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.plan.IPlanEquipmentRelationService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +@Slf4j +@Api(tags = "业务系统状态更新模块") +@RequestMapping("/biz") +@RestController +@RequiredArgsConstructor +public class BizUpdateController extends BaseController { + + private final IPlanEquipmentRelationService relationService; + private final IEquipmentInfoService equipmentInfoService; + + @ApiOperation("任务单接收") + @PostMapping("/orderReceive") + public ReturnDTO receive(@RequestBody @Valid OrderReceive orderReceive) { + relationService.orderReceive(orderReceive); + return ReturnUtil.success(); + } + + + @ApiOperation("任务单样品状态更新") + @PostMapping("/sampleStatusUpdate") + public ReturnDTO sampleStatusUpdate(@RequestBody SampleStatueUpdate updateForm) { + relationService.sampleStatusUpdate(updateForm); + return ReturnUtil.success(); + } + + @ApiOperation("证书新增/编辑") + @PostMapping("/certificateUpdate") + public ReturnDTO certificateUpdate(@RequestBody CertificateUpdate updateForm) { + equipmentInfoService.updateCertificateInfo(updateForm.getSampleId(),"西昌卫星发射中心计量测试站",updateForm.getCalibrationTime(),updateForm.getExpirationDate(),null); + return ReturnUtil.success(); + } + + @ApiOperation("证书删除") + @PostMapping("/certificateRemove") + public ReturnDTO certificateRemove(@RequestBody CertificateUpdate updateForm) { + equipmentInfoService.removeCertificateInfo(updateForm.getSampleId(), updateForm.getId()); + return ReturnUtil.success(); + } + +} diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanUpdateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanUpdateController.java deleted file mode 100644 index 609bbec..0000000 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanUpdateController.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.casic.missiles.controller.plan; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.page.PageFactory; -import com.casic.missiles.dto.IdDTO; -import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.equipment.EquipmentAggr; -import com.casic.missiles.model.plan.OrderReceive; -import com.casic.missiles.model.plan.PlanNotify; -import com.casic.missiles.model.plan.SampleStatueUpdate; -import com.casic.missiles.service.plan.IPlanEquipmentRelationService; -import com.casic.missiles.service.plan.IPlanNotifyRelationService; -import com.casic.missiles.service.plan.IPlanNotifyService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.*; - -import javax.validation.Valid; -import java.util.List; - -@Slf4j -@Api(tags = "计量计划状态更新模块") -@RequestMapping("/plan") -@RestController -@RequiredArgsConstructor -public class PlanUpdateController extends BaseController { - - private final IPlanEquipmentRelationService relationService; - - @ApiOperation("任务单接收") - @PostMapping("/orderReceive") - public ReturnDTO receive(@RequestBody @Valid OrderReceive orderReceive) { - relationService.orderReceive(orderReceive); - return ReturnUtil.success(); - } - - - @ApiOperation("任务单样品状态更新") - @PostMapping("/sampleStatusUpdate") - public ReturnDTO sampleStatusUpdate(@RequestBody SampleStatueUpdate updateForm) { - relationService.sampleStatusUpdate(updateForm); - return ReturnUtil.success(); - } - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java index fdd0b09..83b45ac 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java @@ -12,7 +12,6 @@ public class EquipmentCertificateDTO { @ApiModelProperty("主键") - @TableId("id") private Long id; /** @@ -21,6 +20,12 @@ @ApiModelProperty("设备id") private Long equipmentId; + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + /** * 证书编号 */ @@ -42,7 +47,7 @@ /** * 证书日期 */ - @ApiModelProperty("证书日期") + @ApiModelProperty("证书日期(检定校准日期)") private Date checkDate; /** @@ -71,4 +76,10 @@ @ApiModelProperty("证书类型(1业务证书;2分包证书;3特种设备证书)") private String certificateType; + + @ApiModelProperty("备注") + private String remark; + + @ApiModelProperty("计量标识") + private String meterIdentify; } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java index aa17181..18356e2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.equipment.EquipmentInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; @@ -23,4 +24,10 @@ List selectList(@Param("dataScope") DataScope dataScope, @Param("ew")QueryWrapper queryWrapper); + List bizCertificateListPage(@Param("page") Page page, + @Param("dataScope") DataScope dataScope, + @Param("ew") QueryWrapper queryFrom); + + List bizCertificateList(@Param("equipmentId") Long equipmentId); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java index 309b330..38dbdc9 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.status.EquipmentStatusApproval; import com.casic.missiles.model.subcontract.SubcontractCertificate; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -29,4 +30,6 @@ List listBySubcontractor(@Param("subcontractorId") Long subcontractorId); + List listByEquipment(@Param("equipmentId") Long equipmentId); + } diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index 025b161..a2c0944 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -66,4 +66,40 @@ + + select + c.id as id, + e.id as equipmentId, + e.equipment_no as equipmentNo, + e.equipment_name as equipmentName, + e.meter_identify as meterIdentify, + e.dept_id as deptId, + c.certificate_report_no as certificateNo, + c.certificate_report_name as certificateName, + '西昌卫星发射中心计量测试站' as checkOrganization, + c.calibration_time as checkDate, + c.expiration_date as certificateValid, + c.certificate_report_file as minioFileName, + c.create_time as createTime, + c.update_time as updateTime, + '1' as certificateType, + c.remark as remark + from biz_business_certificate_report c ,eqpt_equipment_info e + where c.sample_id = e.id + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml index 8a75a84..749feff 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -101,4 +101,25 @@ + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java index c781fad..627a277 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java @@ -7,8 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.equipment.EquipmentAggr; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.*; import com.casic.missiles.model.equipment.EquipmentInfo; import com.casic.missiles.service.equipment.IEquipmentInfoService; import io.swagger.annotations.Api; @@ -17,7 +16,6 @@ import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.docx4j.wml.R; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; @@ -65,8 +63,27 @@ @ApiOperation("设备详情") @GetMapping("/info/detail") @ResponseBody - public ReturnDTO detail(Long equipmentId) { - return ReturnUtil.success(equipmentInfoService.detail(equipmentId)); + public ReturnDTO detail(Long equipmentId) { + EquipmentInfoForm form = equipmentInfoService.detail(equipmentId); + return ReturnUtil.success(form); + } + + @ApiOperation("到期提醒分页列表") + @PostMapping("/remind/listPage") + @ResponseBody + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + Page page = PageFactory.defaultPage(); + page = equipmentInfoService.remindListPage(page, queryFrom); + return ReturnUtil.success(super.packForBT(page)); + } + + @ApiOperation("证书管理分页列表") + @PostMapping("/certificate/listPage") + @ResponseBody + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + Page page = PageFactory.defaultPage(); + page = equipmentInfoService.certificateListPage(page, queryFrom); + return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java new file mode 100644 index 0000000..705ef18 --- /dev/null +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java @@ -0,0 +1,58 @@ +package com.casic.missiles.controller.plan; + +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.model.equipment.CertificateUpdate; +import com.casic.missiles.model.plan.OrderReceive; +import com.casic.missiles.model.plan.SampleStatueUpdate; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.plan.IPlanEquipmentRelationService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +@Slf4j +@Api(tags = "业务系统状态更新模块") +@RequestMapping("/biz") +@RestController +@RequiredArgsConstructor +public class BizUpdateController extends BaseController { + + private final IPlanEquipmentRelationService relationService; + private final IEquipmentInfoService equipmentInfoService; + + @ApiOperation("任务单接收") + @PostMapping("/orderReceive") + public ReturnDTO receive(@RequestBody @Valid OrderReceive orderReceive) { + relationService.orderReceive(orderReceive); + return ReturnUtil.success(); + } + + + @ApiOperation("任务单样品状态更新") + @PostMapping("/sampleStatusUpdate") + public ReturnDTO sampleStatusUpdate(@RequestBody SampleStatueUpdate updateForm) { + relationService.sampleStatusUpdate(updateForm); + return ReturnUtil.success(); + } + + @ApiOperation("证书新增/编辑") + @PostMapping("/certificateUpdate") + public ReturnDTO certificateUpdate(@RequestBody CertificateUpdate updateForm) { + equipmentInfoService.updateCertificateInfo(updateForm.getSampleId(),"西昌卫星发射中心计量测试站",updateForm.getCalibrationTime(),updateForm.getExpirationDate(),null); + return ReturnUtil.success(); + } + + @ApiOperation("证书删除") + @PostMapping("/certificateRemove") + public ReturnDTO certificateRemove(@RequestBody CertificateUpdate updateForm) { + equipmentInfoService.removeCertificateInfo(updateForm.getSampleId(), updateForm.getId()); + return ReturnUtil.success(); + } + +} diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanUpdateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanUpdateController.java deleted file mode 100644 index 609bbec..0000000 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanUpdateController.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.casic.missiles.controller.plan; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.page.PageFactory; -import com.casic.missiles.dto.IdDTO; -import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.equipment.EquipmentAggr; -import com.casic.missiles.model.plan.OrderReceive; -import com.casic.missiles.model.plan.PlanNotify; -import com.casic.missiles.model.plan.SampleStatueUpdate; -import com.casic.missiles.service.plan.IPlanEquipmentRelationService; -import com.casic.missiles.service.plan.IPlanNotifyRelationService; -import com.casic.missiles.service.plan.IPlanNotifyService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.*; - -import javax.validation.Valid; -import java.util.List; - -@Slf4j -@Api(tags = "计量计划状态更新模块") -@RequestMapping("/plan") -@RestController -@RequiredArgsConstructor -public class PlanUpdateController extends BaseController { - - private final IPlanEquipmentRelationService relationService; - - @ApiOperation("任务单接收") - @PostMapping("/orderReceive") - public ReturnDTO receive(@RequestBody @Valid OrderReceive orderReceive) { - relationService.orderReceive(orderReceive); - return ReturnUtil.success(); - } - - - @ApiOperation("任务单样品状态更新") - @PostMapping("/sampleStatusUpdate") - public ReturnDTO sampleStatusUpdate(@RequestBody SampleStatueUpdate updateForm) { - relationService.sampleStatusUpdate(updateForm); - return ReturnUtil.success(); - } - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java index fdd0b09..83b45ac 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java @@ -12,7 +12,6 @@ public class EquipmentCertificateDTO { @ApiModelProperty("主键") - @TableId("id") private Long id; /** @@ -21,6 +20,12 @@ @ApiModelProperty("设备id") private Long equipmentId; + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + /** * 证书编号 */ @@ -42,7 +47,7 @@ /** * 证书日期 */ - @ApiModelProperty("证书日期") + @ApiModelProperty("证书日期(检定校准日期)") private Date checkDate; /** @@ -71,4 +76,10 @@ @ApiModelProperty("证书类型(1业务证书;2分包证书;3特种设备证书)") private String certificateType; + + @ApiModelProperty("备注") + private String remark; + + @ApiModelProperty("计量标识") + private String meterIdentify; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java new file mode 100644 index 0000000..35d2d47 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java @@ -0,0 +1,34 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +public class EquipmentCertificateQueryFrom extends BaseQueryForm { + + @ApiModelProperty("证书编号") + private String certificateNo; + + @ApiModelProperty("证书名称") + private String certificateName; + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("检定(校准)机构") + private String checkOrganization; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java index aa17181..18356e2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.equipment.EquipmentInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; @@ -23,4 +24,10 @@ List selectList(@Param("dataScope") DataScope dataScope, @Param("ew")QueryWrapper queryWrapper); + List bizCertificateListPage(@Param("page") Page page, + @Param("dataScope") DataScope dataScope, + @Param("ew") QueryWrapper queryFrom); + + List bizCertificateList(@Param("equipmentId") Long equipmentId); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java index 309b330..38dbdc9 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.status.EquipmentStatusApproval; import com.casic.missiles.model.subcontract.SubcontractCertificate; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -29,4 +30,6 @@ List listBySubcontractor(@Param("subcontractorId") Long subcontractorId); + List listByEquipment(@Param("equipmentId") Long equipmentId); + } diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index 025b161..a2c0944 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -66,4 +66,40 @@ + + select + c.id as id, + e.id as equipmentId, + e.equipment_no as equipmentNo, + e.equipment_name as equipmentName, + e.meter_identify as meterIdentify, + e.dept_id as deptId, + c.certificate_report_no as certificateNo, + c.certificate_report_name as certificateName, + '西昌卫星发射中心计量测试站' as checkOrganization, + c.calibration_time as checkDate, + c.expiration_date as certificateValid, + c.certificate_report_file as minioFileName, + c.create_time as createTime, + c.update_time as updateTime, + '1' as certificateType, + c.remark as remark + from biz_business_certificate_report c ,eqpt_equipment_info e + where c.sample_id = e.id + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml index 8a75a84..749feff 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -101,4 +101,25 @@ + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java index c781fad..627a277 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java @@ -7,8 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.equipment.EquipmentAggr; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.*; import com.casic.missiles.model.equipment.EquipmentInfo; import com.casic.missiles.service.equipment.IEquipmentInfoService; import io.swagger.annotations.Api; @@ -17,7 +16,6 @@ import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.docx4j.wml.R; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; @@ -65,8 +63,27 @@ @ApiOperation("设备详情") @GetMapping("/info/detail") @ResponseBody - public ReturnDTO detail(Long equipmentId) { - return ReturnUtil.success(equipmentInfoService.detail(equipmentId)); + public ReturnDTO detail(Long equipmentId) { + EquipmentInfoForm form = equipmentInfoService.detail(equipmentId); + return ReturnUtil.success(form); + } + + @ApiOperation("到期提醒分页列表") + @PostMapping("/remind/listPage") + @ResponseBody + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + Page page = PageFactory.defaultPage(); + page = equipmentInfoService.remindListPage(page, queryFrom); + return ReturnUtil.success(super.packForBT(page)); + } + + @ApiOperation("证书管理分页列表") + @PostMapping("/certificate/listPage") + @ResponseBody + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + Page page = PageFactory.defaultPage(); + page = equipmentInfoService.certificateListPage(page, queryFrom); + return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java new file mode 100644 index 0000000..705ef18 --- /dev/null +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java @@ -0,0 +1,58 @@ +package com.casic.missiles.controller.plan; + +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.model.equipment.CertificateUpdate; +import com.casic.missiles.model.plan.OrderReceive; +import com.casic.missiles.model.plan.SampleStatueUpdate; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.plan.IPlanEquipmentRelationService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +@Slf4j +@Api(tags = "业务系统状态更新模块") +@RequestMapping("/biz") +@RestController +@RequiredArgsConstructor +public class BizUpdateController extends BaseController { + + private final IPlanEquipmentRelationService relationService; + private final IEquipmentInfoService equipmentInfoService; + + @ApiOperation("任务单接收") + @PostMapping("/orderReceive") + public ReturnDTO receive(@RequestBody @Valid OrderReceive orderReceive) { + relationService.orderReceive(orderReceive); + return ReturnUtil.success(); + } + + + @ApiOperation("任务单样品状态更新") + @PostMapping("/sampleStatusUpdate") + public ReturnDTO sampleStatusUpdate(@RequestBody SampleStatueUpdate updateForm) { + relationService.sampleStatusUpdate(updateForm); + return ReturnUtil.success(); + } + + @ApiOperation("证书新增/编辑") + @PostMapping("/certificateUpdate") + public ReturnDTO certificateUpdate(@RequestBody CertificateUpdate updateForm) { + equipmentInfoService.updateCertificateInfo(updateForm.getSampleId(),"西昌卫星发射中心计量测试站",updateForm.getCalibrationTime(),updateForm.getExpirationDate(),null); + return ReturnUtil.success(); + } + + @ApiOperation("证书删除") + @PostMapping("/certificateRemove") + public ReturnDTO certificateRemove(@RequestBody CertificateUpdate updateForm) { + equipmentInfoService.removeCertificateInfo(updateForm.getSampleId(), updateForm.getId()); + return ReturnUtil.success(); + } + +} diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanUpdateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanUpdateController.java deleted file mode 100644 index 609bbec..0000000 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanUpdateController.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.casic.missiles.controller.plan; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.page.PageFactory; -import com.casic.missiles.dto.IdDTO; -import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.equipment.EquipmentAggr; -import com.casic.missiles.model.plan.OrderReceive; -import com.casic.missiles.model.plan.PlanNotify; -import com.casic.missiles.model.plan.SampleStatueUpdate; -import com.casic.missiles.service.plan.IPlanEquipmentRelationService; -import com.casic.missiles.service.plan.IPlanNotifyRelationService; -import com.casic.missiles.service.plan.IPlanNotifyService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.*; - -import javax.validation.Valid; -import java.util.List; - -@Slf4j -@Api(tags = "计量计划状态更新模块") -@RequestMapping("/plan") -@RestController -@RequiredArgsConstructor -public class PlanUpdateController extends BaseController { - - private final IPlanEquipmentRelationService relationService; - - @ApiOperation("任务单接收") - @PostMapping("/orderReceive") - public ReturnDTO receive(@RequestBody @Valid OrderReceive orderReceive) { - relationService.orderReceive(orderReceive); - return ReturnUtil.success(); - } - - - @ApiOperation("任务单样品状态更新") - @PostMapping("/sampleStatusUpdate") - public ReturnDTO sampleStatusUpdate(@RequestBody SampleStatueUpdate updateForm) { - relationService.sampleStatusUpdate(updateForm); - return ReturnUtil.success(); - } - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java index fdd0b09..83b45ac 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java @@ -12,7 +12,6 @@ public class EquipmentCertificateDTO { @ApiModelProperty("主键") - @TableId("id") private Long id; /** @@ -21,6 +20,12 @@ @ApiModelProperty("设备id") private Long equipmentId; + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + /** * 证书编号 */ @@ -42,7 +47,7 @@ /** * 证书日期 */ - @ApiModelProperty("证书日期") + @ApiModelProperty("证书日期(检定校准日期)") private Date checkDate; /** @@ -71,4 +76,10 @@ @ApiModelProperty("证书类型(1业务证书;2分包证书;3特种设备证书)") private String certificateType; + + @ApiModelProperty("备注") + private String remark; + + @ApiModelProperty("计量标识") + private String meterIdentify; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java new file mode 100644 index 0000000..35d2d47 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java @@ -0,0 +1,34 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +public class EquipmentCertificateQueryFrom extends BaseQueryForm { + + @ApiModelProperty("证书编号") + private String certificateNo; + + @ApiModelProperty("证书名称") + private String certificateName; + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("检定(校准)机构") + private String checkOrganization; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/CertificateUpdate.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/CertificateUpdate.java new file mode 100644 index 0000000..c8d9f0b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/CertificateUpdate.java @@ -0,0 +1,27 @@ +package com.casic.missiles.model.equipment; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.util.Date; + +@Getter +@Setter +public class CertificateUpdate { + + @ApiModelProperty("证书id") + private Long id; + + @ApiModelProperty("受检设备id") + private Long sampleId; + + @ApiModelProperty("检定部门id") + private Long measureDeptId; + + @ApiModelProperty("检校时间") + private Date calibrationTime; + + @ApiModelProperty("证书有效期") + private Date expirationDate; +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java index aa17181..18356e2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.equipment.EquipmentInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; @@ -23,4 +24,10 @@ List selectList(@Param("dataScope") DataScope dataScope, @Param("ew")QueryWrapper queryWrapper); + List bizCertificateListPage(@Param("page") Page page, + @Param("dataScope") DataScope dataScope, + @Param("ew") QueryWrapper queryFrom); + + List bizCertificateList(@Param("equipmentId") Long equipmentId); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java index 309b330..38dbdc9 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.status.EquipmentStatusApproval; import com.casic.missiles.model.subcontract.SubcontractCertificate; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -29,4 +30,6 @@ List listBySubcontractor(@Param("subcontractorId") Long subcontractorId); + List listByEquipment(@Param("equipmentId") Long equipmentId); + } diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index 025b161..a2c0944 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -66,4 +66,40 @@ + + select + c.id as id, + e.id as equipmentId, + e.equipment_no as equipmentNo, + e.equipment_name as equipmentName, + e.meter_identify as meterIdentify, + e.dept_id as deptId, + c.certificate_report_no as certificateNo, + c.certificate_report_name as certificateName, + '西昌卫星发射中心计量测试站' as checkOrganization, + c.calibration_time as checkDate, + c.expiration_date as certificateValid, + c.certificate_report_file as minioFileName, + c.create_time as createTime, + c.update_time as updateTime, + '1' as certificateType, + c.remark as remark + from biz_business_certificate_report c ,eqpt_equipment_info e + where c.sample_id = e.id + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml index 8a75a84..749feff 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -101,4 +101,25 @@ + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java index c781fad..627a277 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java @@ -7,8 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.equipment.EquipmentAggr; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.*; import com.casic.missiles.model.equipment.EquipmentInfo; import com.casic.missiles.service.equipment.IEquipmentInfoService; import io.swagger.annotations.Api; @@ -17,7 +16,6 @@ import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.docx4j.wml.R; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; @@ -65,8 +63,27 @@ @ApiOperation("设备详情") @GetMapping("/info/detail") @ResponseBody - public ReturnDTO detail(Long equipmentId) { - return ReturnUtil.success(equipmentInfoService.detail(equipmentId)); + public ReturnDTO detail(Long equipmentId) { + EquipmentInfoForm form = equipmentInfoService.detail(equipmentId); + return ReturnUtil.success(form); + } + + @ApiOperation("到期提醒分页列表") + @PostMapping("/remind/listPage") + @ResponseBody + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + Page page = PageFactory.defaultPage(); + page = equipmentInfoService.remindListPage(page, queryFrom); + return ReturnUtil.success(super.packForBT(page)); + } + + @ApiOperation("证书管理分页列表") + @PostMapping("/certificate/listPage") + @ResponseBody + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + Page page = PageFactory.defaultPage(); + page = equipmentInfoService.certificateListPage(page, queryFrom); + return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java new file mode 100644 index 0000000..705ef18 --- /dev/null +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java @@ -0,0 +1,58 @@ +package com.casic.missiles.controller.plan; + +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.model.equipment.CertificateUpdate; +import com.casic.missiles.model.plan.OrderReceive; +import com.casic.missiles.model.plan.SampleStatueUpdate; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.plan.IPlanEquipmentRelationService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +@Slf4j +@Api(tags = "业务系统状态更新模块") +@RequestMapping("/biz") +@RestController +@RequiredArgsConstructor +public class BizUpdateController extends BaseController { + + private final IPlanEquipmentRelationService relationService; + private final IEquipmentInfoService equipmentInfoService; + + @ApiOperation("任务单接收") + @PostMapping("/orderReceive") + public ReturnDTO receive(@RequestBody @Valid OrderReceive orderReceive) { + relationService.orderReceive(orderReceive); + return ReturnUtil.success(); + } + + + @ApiOperation("任务单样品状态更新") + @PostMapping("/sampleStatusUpdate") + public ReturnDTO sampleStatusUpdate(@RequestBody SampleStatueUpdate updateForm) { + relationService.sampleStatusUpdate(updateForm); + return ReturnUtil.success(); + } + + @ApiOperation("证书新增/编辑") + @PostMapping("/certificateUpdate") + public ReturnDTO certificateUpdate(@RequestBody CertificateUpdate updateForm) { + equipmentInfoService.updateCertificateInfo(updateForm.getSampleId(),"西昌卫星发射中心计量测试站",updateForm.getCalibrationTime(),updateForm.getExpirationDate(),null); + return ReturnUtil.success(); + } + + @ApiOperation("证书删除") + @PostMapping("/certificateRemove") + public ReturnDTO certificateRemove(@RequestBody CertificateUpdate updateForm) { + equipmentInfoService.removeCertificateInfo(updateForm.getSampleId(), updateForm.getId()); + return ReturnUtil.success(); + } + +} diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanUpdateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanUpdateController.java deleted file mode 100644 index 609bbec..0000000 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanUpdateController.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.casic.missiles.controller.plan; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.page.PageFactory; -import com.casic.missiles.dto.IdDTO; -import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.equipment.EquipmentAggr; -import com.casic.missiles.model.plan.OrderReceive; -import com.casic.missiles.model.plan.PlanNotify; -import com.casic.missiles.model.plan.SampleStatueUpdate; -import com.casic.missiles.service.plan.IPlanEquipmentRelationService; -import com.casic.missiles.service.plan.IPlanNotifyRelationService; -import com.casic.missiles.service.plan.IPlanNotifyService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.*; - -import javax.validation.Valid; -import java.util.List; - -@Slf4j -@Api(tags = "计量计划状态更新模块") -@RequestMapping("/plan") -@RestController -@RequiredArgsConstructor -public class PlanUpdateController extends BaseController { - - private final IPlanEquipmentRelationService relationService; - - @ApiOperation("任务单接收") - @PostMapping("/orderReceive") - public ReturnDTO receive(@RequestBody @Valid OrderReceive orderReceive) { - relationService.orderReceive(orderReceive); - return ReturnUtil.success(); - } - - - @ApiOperation("任务单样品状态更新") - @PostMapping("/sampleStatusUpdate") - public ReturnDTO sampleStatusUpdate(@RequestBody SampleStatueUpdate updateForm) { - relationService.sampleStatusUpdate(updateForm); - return ReturnUtil.success(); - } - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java index fdd0b09..83b45ac 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java @@ -12,7 +12,6 @@ public class EquipmentCertificateDTO { @ApiModelProperty("主键") - @TableId("id") private Long id; /** @@ -21,6 +20,12 @@ @ApiModelProperty("设备id") private Long equipmentId; + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + /** * 证书编号 */ @@ -42,7 +47,7 @@ /** * 证书日期 */ - @ApiModelProperty("证书日期") + @ApiModelProperty("证书日期(检定校准日期)") private Date checkDate; /** @@ -71,4 +76,10 @@ @ApiModelProperty("证书类型(1业务证书;2分包证书;3特种设备证书)") private String certificateType; + + @ApiModelProperty("备注") + private String remark; + + @ApiModelProperty("计量标识") + private String meterIdentify; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java new file mode 100644 index 0000000..35d2d47 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java @@ -0,0 +1,34 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +public class EquipmentCertificateQueryFrom extends BaseQueryForm { + + @ApiModelProperty("证书编号") + private String certificateNo; + + @ApiModelProperty("证书名称") + private String certificateName; + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("检定(校准)机构") + private String checkOrganization; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/CertificateUpdate.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/CertificateUpdate.java new file mode 100644 index 0000000..c8d9f0b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/CertificateUpdate.java @@ -0,0 +1,27 @@ +package com.casic.missiles.model.equipment; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.util.Date; + +@Getter +@Setter +public class CertificateUpdate { + + @ApiModelProperty("证书id") + private Long id; + + @ApiModelProperty("受检设备id") + private Long sampleId; + + @ApiModelProperty("检定部门id") + private Long measureDeptId; + + @ApiModelProperty("检校时间") + private Date calibrationTime; + + @ApiModelProperty("证书有效期") + private Date expirationDate; +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java index f0bbfb9..aa53fed 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java @@ -1,9 +1,7 @@ package com.casic.missiles.service.equipment; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.equipment.EquipmentAggr; -import com.casic.missiles.dto.equipment.EquipmentInfoForm; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.*; import com.casic.missiles.model.equipment.EquipmentInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -34,5 +32,9 @@ boolean updateCertificateInfo(Long equipmentId,String checkOrganization,Date checkDate, Date certificateValid,String meterIdentify); + void removeCertificateInfo(Long equipmentId,Long certificateId); + Page remindListPage(Page page,EquipmentQueryFrom queryFrom); + + Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryFrom); } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java index aa17181..18356e2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.equipment.EquipmentInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; @@ -23,4 +24,10 @@ List selectList(@Param("dataScope") DataScope dataScope, @Param("ew")QueryWrapper queryWrapper); + List bizCertificateListPage(@Param("page") Page page, + @Param("dataScope") DataScope dataScope, + @Param("ew") QueryWrapper queryFrom); + + List bizCertificateList(@Param("equipmentId") Long equipmentId); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java index 309b330..38dbdc9 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.status.EquipmentStatusApproval; import com.casic.missiles.model.subcontract.SubcontractCertificate; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -29,4 +30,6 @@ List listBySubcontractor(@Param("subcontractorId") Long subcontractorId); + List listByEquipment(@Param("equipmentId") Long equipmentId); + } diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index 025b161..a2c0944 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -66,4 +66,40 @@ + + select + c.id as id, + e.id as equipmentId, + e.equipment_no as equipmentNo, + e.equipment_name as equipmentName, + e.meter_identify as meterIdentify, + e.dept_id as deptId, + c.certificate_report_no as certificateNo, + c.certificate_report_name as certificateName, + '西昌卫星发射中心计量测试站' as checkOrganization, + c.calibration_time as checkDate, + c.expiration_date as certificateValid, + c.certificate_report_file as minioFileName, + c.create_time as createTime, + c.update_time as updateTime, + '1' as certificateType, + c.remark as remark + from biz_business_certificate_report c ,eqpt_equipment_info e + where c.sample_id = e.id + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml index 8a75a84..749feff 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -101,4 +101,25 @@ + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java index c781fad..627a277 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java @@ -7,8 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.equipment.EquipmentAggr; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.*; import com.casic.missiles.model.equipment.EquipmentInfo; import com.casic.missiles.service.equipment.IEquipmentInfoService; import io.swagger.annotations.Api; @@ -17,7 +16,6 @@ import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.docx4j.wml.R; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; @@ -65,8 +63,27 @@ @ApiOperation("设备详情") @GetMapping("/info/detail") @ResponseBody - public ReturnDTO detail(Long equipmentId) { - return ReturnUtil.success(equipmentInfoService.detail(equipmentId)); + public ReturnDTO detail(Long equipmentId) { + EquipmentInfoForm form = equipmentInfoService.detail(equipmentId); + return ReturnUtil.success(form); + } + + @ApiOperation("到期提醒分页列表") + @PostMapping("/remind/listPage") + @ResponseBody + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + Page page = PageFactory.defaultPage(); + page = equipmentInfoService.remindListPage(page, queryFrom); + return ReturnUtil.success(super.packForBT(page)); + } + + @ApiOperation("证书管理分页列表") + @PostMapping("/certificate/listPage") + @ResponseBody + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + Page page = PageFactory.defaultPage(); + page = equipmentInfoService.certificateListPage(page, queryFrom); + return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java new file mode 100644 index 0000000..705ef18 --- /dev/null +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java @@ -0,0 +1,58 @@ +package com.casic.missiles.controller.plan; + +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.model.equipment.CertificateUpdate; +import com.casic.missiles.model.plan.OrderReceive; +import com.casic.missiles.model.plan.SampleStatueUpdate; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.plan.IPlanEquipmentRelationService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +@Slf4j +@Api(tags = "业务系统状态更新模块") +@RequestMapping("/biz") +@RestController +@RequiredArgsConstructor +public class BizUpdateController extends BaseController { + + private final IPlanEquipmentRelationService relationService; + private final IEquipmentInfoService equipmentInfoService; + + @ApiOperation("任务单接收") + @PostMapping("/orderReceive") + public ReturnDTO receive(@RequestBody @Valid OrderReceive orderReceive) { + relationService.orderReceive(orderReceive); + return ReturnUtil.success(); + } + + + @ApiOperation("任务单样品状态更新") + @PostMapping("/sampleStatusUpdate") + public ReturnDTO sampleStatusUpdate(@RequestBody SampleStatueUpdate updateForm) { + relationService.sampleStatusUpdate(updateForm); + return ReturnUtil.success(); + } + + @ApiOperation("证书新增/编辑") + @PostMapping("/certificateUpdate") + public ReturnDTO certificateUpdate(@RequestBody CertificateUpdate updateForm) { + equipmentInfoService.updateCertificateInfo(updateForm.getSampleId(),"西昌卫星发射中心计量测试站",updateForm.getCalibrationTime(),updateForm.getExpirationDate(),null); + return ReturnUtil.success(); + } + + @ApiOperation("证书删除") + @PostMapping("/certificateRemove") + public ReturnDTO certificateRemove(@RequestBody CertificateUpdate updateForm) { + equipmentInfoService.removeCertificateInfo(updateForm.getSampleId(), updateForm.getId()); + return ReturnUtil.success(); + } + +} diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanUpdateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanUpdateController.java deleted file mode 100644 index 609bbec..0000000 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanUpdateController.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.casic.missiles.controller.plan; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.page.PageFactory; -import com.casic.missiles.dto.IdDTO; -import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.equipment.EquipmentAggr; -import com.casic.missiles.model.plan.OrderReceive; -import com.casic.missiles.model.plan.PlanNotify; -import com.casic.missiles.model.plan.SampleStatueUpdate; -import com.casic.missiles.service.plan.IPlanEquipmentRelationService; -import com.casic.missiles.service.plan.IPlanNotifyRelationService; -import com.casic.missiles.service.plan.IPlanNotifyService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.*; - -import javax.validation.Valid; -import java.util.List; - -@Slf4j -@Api(tags = "计量计划状态更新模块") -@RequestMapping("/plan") -@RestController -@RequiredArgsConstructor -public class PlanUpdateController extends BaseController { - - private final IPlanEquipmentRelationService relationService; - - @ApiOperation("任务单接收") - @PostMapping("/orderReceive") - public ReturnDTO receive(@RequestBody @Valid OrderReceive orderReceive) { - relationService.orderReceive(orderReceive); - return ReturnUtil.success(); - } - - - @ApiOperation("任务单样品状态更新") - @PostMapping("/sampleStatusUpdate") - public ReturnDTO sampleStatusUpdate(@RequestBody SampleStatueUpdate updateForm) { - relationService.sampleStatusUpdate(updateForm); - return ReturnUtil.success(); - } - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java index fdd0b09..83b45ac 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java @@ -12,7 +12,6 @@ public class EquipmentCertificateDTO { @ApiModelProperty("主键") - @TableId("id") private Long id; /** @@ -21,6 +20,12 @@ @ApiModelProperty("设备id") private Long equipmentId; + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + /** * 证书编号 */ @@ -42,7 +47,7 @@ /** * 证书日期 */ - @ApiModelProperty("证书日期") + @ApiModelProperty("证书日期(检定校准日期)") private Date checkDate; /** @@ -71,4 +76,10 @@ @ApiModelProperty("证书类型(1业务证书;2分包证书;3特种设备证书)") private String certificateType; + + @ApiModelProperty("备注") + private String remark; + + @ApiModelProperty("计量标识") + private String meterIdentify; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java new file mode 100644 index 0000000..35d2d47 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java @@ -0,0 +1,34 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +public class EquipmentCertificateQueryFrom extends BaseQueryForm { + + @ApiModelProperty("证书编号") + private String certificateNo; + + @ApiModelProperty("证书名称") + private String certificateName; + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("检定(校准)机构") + private String checkOrganization; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/CertificateUpdate.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/CertificateUpdate.java new file mode 100644 index 0000000..c8d9f0b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/CertificateUpdate.java @@ -0,0 +1,27 @@ +package com.casic.missiles.model.equipment; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.util.Date; + +@Getter +@Setter +public class CertificateUpdate { + + @ApiModelProperty("证书id") + private Long id; + + @ApiModelProperty("受检设备id") + private Long sampleId; + + @ApiModelProperty("检定部门id") + private Long measureDeptId; + + @ApiModelProperty("检校时间") + private Date calibrationTime; + + @ApiModelProperty("证书有效期") + private Date expirationDate; +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java index f0bbfb9..aa53fed 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java @@ -1,9 +1,7 @@ package com.casic.missiles.service.equipment; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.equipment.EquipmentAggr; -import com.casic.missiles.dto.equipment.EquipmentInfoForm; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.*; import com.casic.missiles.model.equipment.EquipmentInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -34,5 +32,9 @@ boolean updateCertificateInfo(Long equipmentId,String checkOrganization,Date checkDate, Date certificateValid,String meterIdentify); + void removeCertificateInfo(Long equipmentId,Long certificateId); + Page remindListPage(Page page,EquipmentQueryFrom queryFrom); + + Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryFrom); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentSpecialCertificateService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentSpecialCertificateService.java index cbf3a79..6001e48 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentSpecialCertificateService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentSpecialCertificateService.java @@ -17,4 +17,6 @@ public interface IEquipmentSpecialCertificateService extends IService { void saveCertificateList(Long equipmentId, List certificateList); + + List listByEquipment(Long equipmentId); } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java index aa17181..18356e2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.equipment.EquipmentInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; @@ -23,4 +24,10 @@ List selectList(@Param("dataScope") DataScope dataScope, @Param("ew")QueryWrapper queryWrapper); + List bizCertificateListPage(@Param("page") Page page, + @Param("dataScope") DataScope dataScope, + @Param("ew") QueryWrapper queryFrom); + + List bizCertificateList(@Param("equipmentId") Long equipmentId); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java index 309b330..38dbdc9 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.status.EquipmentStatusApproval; import com.casic.missiles.model.subcontract.SubcontractCertificate; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -29,4 +30,6 @@ List listBySubcontractor(@Param("subcontractorId") Long subcontractorId); + List listByEquipment(@Param("equipmentId") Long equipmentId); + } diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index 025b161..a2c0944 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -66,4 +66,40 @@ + + select + c.id as id, + e.id as equipmentId, + e.equipment_no as equipmentNo, + e.equipment_name as equipmentName, + e.meter_identify as meterIdentify, + e.dept_id as deptId, + c.certificate_report_no as certificateNo, + c.certificate_report_name as certificateName, + '西昌卫星发射中心计量测试站' as checkOrganization, + c.calibration_time as checkDate, + c.expiration_date as certificateValid, + c.certificate_report_file as minioFileName, + c.create_time as createTime, + c.update_time as updateTime, + '1' as certificateType, + c.remark as remark + from biz_business_certificate_report c ,eqpt_equipment_info e + where c.sample_id = e.id + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml index 8a75a84..749feff 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -101,4 +101,25 @@ + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java index c781fad..627a277 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java @@ -7,8 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.equipment.EquipmentAggr; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.*; import com.casic.missiles.model.equipment.EquipmentInfo; import com.casic.missiles.service.equipment.IEquipmentInfoService; import io.swagger.annotations.Api; @@ -17,7 +16,6 @@ import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.docx4j.wml.R; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; @@ -65,8 +63,27 @@ @ApiOperation("设备详情") @GetMapping("/info/detail") @ResponseBody - public ReturnDTO detail(Long equipmentId) { - return ReturnUtil.success(equipmentInfoService.detail(equipmentId)); + public ReturnDTO detail(Long equipmentId) { + EquipmentInfoForm form = equipmentInfoService.detail(equipmentId); + return ReturnUtil.success(form); + } + + @ApiOperation("到期提醒分页列表") + @PostMapping("/remind/listPage") + @ResponseBody + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + Page page = PageFactory.defaultPage(); + page = equipmentInfoService.remindListPage(page, queryFrom); + return ReturnUtil.success(super.packForBT(page)); + } + + @ApiOperation("证书管理分页列表") + @PostMapping("/certificate/listPage") + @ResponseBody + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + Page page = PageFactory.defaultPage(); + page = equipmentInfoService.certificateListPage(page, queryFrom); + return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java new file mode 100644 index 0000000..705ef18 --- /dev/null +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java @@ -0,0 +1,58 @@ +package com.casic.missiles.controller.plan; + +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.model.equipment.CertificateUpdate; +import com.casic.missiles.model.plan.OrderReceive; +import com.casic.missiles.model.plan.SampleStatueUpdate; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.plan.IPlanEquipmentRelationService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +@Slf4j +@Api(tags = "业务系统状态更新模块") +@RequestMapping("/biz") +@RestController +@RequiredArgsConstructor +public class BizUpdateController extends BaseController { + + private final IPlanEquipmentRelationService relationService; + private final IEquipmentInfoService equipmentInfoService; + + @ApiOperation("任务单接收") + @PostMapping("/orderReceive") + public ReturnDTO receive(@RequestBody @Valid OrderReceive orderReceive) { + relationService.orderReceive(orderReceive); + return ReturnUtil.success(); + } + + + @ApiOperation("任务单样品状态更新") + @PostMapping("/sampleStatusUpdate") + public ReturnDTO sampleStatusUpdate(@RequestBody SampleStatueUpdate updateForm) { + relationService.sampleStatusUpdate(updateForm); + return ReturnUtil.success(); + } + + @ApiOperation("证书新增/编辑") + @PostMapping("/certificateUpdate") + public ReturnDTO certificateUpdate(@RequestBody CertificateUpdate updateForm) { + equipmentInfoService.updateCertificateInfo(updateForm.getSampleId(),"西昌卫星发射中心计量测试站",updateForm.getCalibrationTime(),updateForm.getExpirationDate(),null); + return ReturnUtil.success(); + } + + @ApiOperation("证书删除") + @PostMapping("/certificateRemove") + public ReturnDTO certificateRemove(@RequestBody CertificateUpdate updateForm) { + equipmentInfoService.removeCertificateInfo(updateForm.getSampleId(), updateForm.getId()); + return ReturnUtil.success(); + } + +} diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanUpdateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanUpdateController.java deleted file mode 100644 index 609bbec..0000000 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanUpdateController.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.casic.missiles.controller.plan; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.page.PageFactory; -import com.casic.missiles.dto.IdDTO; -import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.equipment.EquipmentAggr; -import com.casic.missiles.model.plan.OrderReceive; -import com.casic.missiles.model.plan.PlanNotify; -import com.casic.missiles.model.plan.SampleStatueUpdate; -import com.casic.missiles.service.plan.IPlanEquipmentRelationService; -import com.casic.missiles.service.plan.IPlanNotifyRelationService; -import com.casic.missiles.service.plan.IPlanNotifyService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.*; - -import javax.validation.Valid; -import java.util.List; - -@Slf4j -@Api(tags = "计量计划状态更新模块") -@RequestMapping("/plan") -@RestController -@RequiredArgsConstructor -public class PlanUpdateController extends BaseController { - - private final IPlanEquipmentRelationService relationService; - - @ApiOperation("任务单接收") - @PostMapping("/orderReceive") - public ReturnDTO receive(@RequestBody @Valid OrderReceive orderReceive) { - relationService.orderReceive(orderReceive); - return ReturnUtil.success(); - } - - - @ApiOperation("任务单样品状态更新") - @PostMapping("/sampleStatusUpdate") - public ReturnDTO sampleStatusUpdate(@RequestBody SampleStatueUpdate updateForm) { - relationService.sampleStatusUpdate(updateForm); - return ReturnUtil.success(); - } - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java index fdd0b09..83b45ac 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java @@ -12,7 +12,6 @@ public class EquipmentCertificateDTO { @ApiModelProperty("主键") - @TableId("id") private Long id; /** @@ -21,6 +20,12 @@ @ApiModelProperty("设备id") private Long equipmentId; + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + /** * 证书编号 */ @@ -42,7 +47,7 @@ /** * 证书日期 */ - @ApiModelProperty("证书日期") + @ApiModelProperty("证书日期(检定校准日期)") private Date checkDate; /** @@ -71,4 +76,10 @@ @ApiModelProperty("证书类型(1业务证书;2分包证书;3特种设备证书)") private String certificateType; + + @ApiModelProperty("备注") + private String remark; + + @ApiModelProperty("计量标识") + private String meterIdentify; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java new file mode 100644 index 0000000..35d2d47 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java @@ -0,0 +1,34 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +public class EquipmentCertificateQueryFrom extends BaseQueryForm { + + @ApiModelProperty("证书编号") + private String certificateNo; + + @ApiModelProperty("证书名称") + private String certificateName; + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("检定(校准)机构") + private String checkOrganization; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/CertificateUpdate.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/CertificateUpdate.java new file mode 100644 index 0000000..c8d9f0b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/CertificateUpdate.java @@ -0,0 +1,27 @@ +package com.casic.missiles.model.equipment; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.util.Date; + +@Getter +@Setter +public class CertificateUpdate { + + @ApiModelProperty("证书id") + private Long id; + + @ApiModelProperty("受检设备id") + private Long sampleId; + + @ApiModelProperty("检定部门id") + private Long measureDeptId; + + @ApiModelProperty("检校时间") + private Date calibrationTime; + + @ApiModelProperty("证书有效期") + private Date expirationDate; +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java index f0bbfb9..aa53fed 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java @@ -1,9 +1,7 @@ package com.casic.missiles.service.equipment; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.equipment.EquipmentAggr; -import com.casic.missiles.dto.equipment.EquipmentInfoForm; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.*; import com.casic.missiles.model.equipment.EquipmentInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -34,5 +32,9 @@ boolean updateCertificateInfo(Long equipmentId,String checkOrganization,Date checkDate, Date certificateValid,String meterIdentify); + void removeCertificateInfo(Long equipmentId,Long certificateId); + Page remindListPage(Page page,EquipmentQueryFrom queryFrom); + + Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryFrom); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentSpecialCertificateService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentSpecialCertificateService.java index cbf3a79..6001e48 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentSpecialCertificateService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentSpecialCertificateService.java @@ -17,4 +17,6 @@ public interface IEquipmentSpecialCertificateService extends IService { void saveCertificateList(Long equipmentId, List certificateList); + + List listByEquipment(Long equipmentId); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java index 8c89d69..e8a35a2 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java @@ -7,26 +7,26 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.datascope.ScopeEnums; -import com.casic.missiles.dto.equipment.EquipmentAggr; -import com.casic.missiles.dto.equipment.EquipmentInfoForm; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.*; +import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.equipment.EquipmentCertificateTypeEnum; +import com.casic.missiles.enums.equipment.EquipmentTypeEnum; import com.casic.missiles.model.equipment.EquipmentInfo; import com.casic.missiles.mapper.equipment.EquipmentInfoMapper; -import com.casic.missiles.model.equipment.EquipmentInfoApproval; -import com.casic.missiles.model.system.RemindConfig; import com.casic.missiles.service.equipment.*; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.service.subcontract.ISubcontractCertificateService; import com.casic.missiles.service.system.IRemindConfigService; import com.casic.missiles.utils.DictCodeUtils; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import java.util.*; +import java.util.stream.Collectors; /** *

@@ -45,8 +45,13 @@ private final IEquipmentAttachmentService attachmentService; private final IEquipmentTechnicalTargetService technicalTargetService; private final IRemindConfigService remindConfigService; + private final IEquipmentSpecialCertificateService specialCertificateService; + private ISubcontractCertificateService subcontractCertificateService; - + @Autowired + public void setSubcontractCertificateService(ISubcontractCertificateService subcontractCertificateService){ + this.subcontractCertificateService = subcontractCertificateService; + } @Override public Page listPage(Page page,EquipmentQueryFrom queryFrom) { @@ -120,14 +125,37 @@ equipmentInfo.setDeptName(permissionContext.getDeptService().getDeptName(equipmentInfo.getDeptId())); equipmentInfo.setGroupInfos(groupInfoService.selectByEquipment(equipmentId)); BeanUtil.copyProperties(equipmentInfo,infoForm); - } - infoForm.setAttachments(attachmentService.selectByEquipment(equipmentId)); - infoForm.setTechnicalTargetList(technicalTargetService.selectByEquipment(equipmentId)); - infoForm.setCertificateList(new ArrayList<>()); // todo + infoForm.setAttachments(attachmentService.selectByEquipment(equipmentId)); + infoForm.setTechnicalTargetList(technicalTargetService.selectByEquipment(equipmentId)); + infoForm.setCertificateList(allCertificate(equipmentId,equipmentInfo.getEquipmentType())); + + } return infoForm; } + private List allCertificate(Long equipmentId,String equipmentType){ + List listAll = new ArrayList<>(); + listAll.addAll(this.baseMapper.bizCertificateList(equipmentId)); + + List subcontractList = subcontractCertificateService.listByEquipment(equipmentId); + subcontractList.forEach(i->i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SUBCONTRACT)); + listAll.addAll(subcontractList); + + if(EquipmentTypeEnum.EQUIPMENT_TYPE_SPECIAL.equals(equipmentType)){ + List specicalList = specialCertificateService.listByEquipment(equipmentId); + specicalList.forEach(i->i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SPECIAL)); + listAll.addAll(specicalList); + } + listAll.sort(new Comparator() { + @Override + public int compare(EquipmentCertificateDTO o1, EquipmentCertificateDTO o2) { + return Long.valueOf(o2.getCreateTime().getTime() - o1.getCreateTime().getTime()).intValue(); + } + }); + return listAll; + } + @Override public boolean updateEquipmentStatus(Long equipmentId,String usageStatus){ UpdateWrapper updateWrapper = new UpdateWrapper<>(); @@ -146,13 +174,42 @@ @Override public boolean updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify) { - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id",equipmentId); - updateWrapper.set("check_organization",checkOrganization); - updateWrapper.set("check_date",checkDate); - updateWrapper.set("certificate_valid",certificateValid); - updateWrapper.set("meter_identify",meterIdentify); - return this.update(updateWrapper); + EquipmentInfo equipmentInfo = this.getById(equipmentId); + if(ObjectUtil.isNotEmpty(equipmentInfo)){ + if(ObjectUtil.isEmpty(equipmentInfo.getCertificateValid()) || equipmentInfo.getCertificateValid().before(certificateValid)){ + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id",equipmentId); + updateWrapper.set("check_organization",checkOrganization); + updateWrapper.set("check_date",checkDate); + updateWrapper.set("certificate_valid",certificateValid); + if(StrUtil.isNotEmpty(meterIdentify)){ + updateWrapper.set("meter_identify",meterIdentify); + } + return this.update(updateWrapper); + } + } + return false; + } + + public void removeCertificateInfo(Long equipmentId,Long certificateId){ + EquipmentInfo equipmentInfo = this.getById(equipmentId); + if(ObjectUtil.isNotEmpty(equipmentInfo)){ + List allCertificates = this.allCertificate(equipmentId,equipmentInfo.getEquipmentType()); + allCertificates = allCertificates.stream().filter(i->!i.getId().equals(certificateId)).collect(Collectors.toList()); + Optional latestOpt = allCertificates.stream().max(Comparator.comparing(EquipmentCertificateDTO::getCheckDate)); + if(latestOpt.isPresent()){ + EquipmentCertificateDTO latest = latestOpt.get(); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id",equipmentId); + updateWrapper.set("check_organization",latest.getCheckOrganization()); + updateWrapper.set("check_date",latest.getCheckDate()); + updateWrapper.set("certificate_valid",latest.getCertificateValid()); + if(StrUtil.isNotEmpty(latest.getMeterIdentify())){ + updateWrapper.set("meter_identify",latest.getMeterIdentify()); + } + this.update(updateWrapper); + } + } } @Override @@ -168,4 +225,24 @@ page.setRecords(list); return page; } + + @Override + public Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryForm) { + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getCertificateNo()), "c.certificate_report_no", queryForm.getCertificateNo()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getCertificateName()), "c.certificate_report_name", queryForm.getCertificateName()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "e.equipment_no", queryForm.getEquipmentNo()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentName()), "e.equipment_name", queryForm.getEquipmentName()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getCheckOrganization()), "'西昌卫星发射中心计量测试站'", queryForm.getCheckOrganization()); + queryWrapper.ge(StrUtil.isNotEmpty(queryForm.getCertificateValidStart()), "c.expiration_date", queryForm.getCertificateValidStart()); + queryWrapper.le(StrUtil.isNotEmpty(queryForm.getCertificateValidEnd()), "c.expiration_date", queryForm.getCertificateValidEnd()); + queryWrapper.eq("e.is_del",0); + queryWrapper.eq("c.approval_status", ApprovalStatusEnum.PASSED); + + List list = this.baseMapper.bizCertificateListPage(page, dataScope, queryWrapper); + page.setRecords(list); + return page; + } } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java index aa17181..18356e2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.equipment.EquipmentInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; @@ -23,4 +24,10 @@ List selectList(@Param("dataScope") DataScope dataScope, @Param("ew")QueryWrapper queryWrapper); + List bizCertificateListPage(@Param("page") Page page, + @Param("dataScope") DataScope dataScope, + @Param("ew") QueryWrapper queryFrom); + + List bizCertificateList(@Param("equipmentId") Long equipmentId); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java index 309b330..38dbdc9 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.status.EquipmentStatusApproval; import com.casic.missiles.model.subcontract.SubcontractCertificate; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -29,4 +30,6 @@ List listBySubcontractor(@Param("subcontractorId") Long subcontractorId); + List listByEquipment(@Param("equipmentId") Long equipmentId); + } diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index 025b161..a2c0944 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -66,4 +66,40 @@ + + select + c.id as id, + e.id as equipmentId, + e.equipment_no as equipmentNo, + e.equipment_name as equipmentName, + e.meter_identify as meterIdentify, + e.dept_id as deptId, + c.certificate_report_no as certificateNo, + c.certificate_report_name as certificateName, + '西昌卫星发射中心计量测试站' as checkOrganization, + c.calibration_time as checkDate, + c.expiration_date as certificateValid, + c.certificate_report_file as minioFileName, + c.create_time as createTime, + c.update_time as updateTime, + '1' as certificateType, + c.remark as remark + from biz_business_certificate_report c ,eqpt_equipment_info e + where c.sample_id = e.id + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml index 8a75a84..749feff 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -101,4 +101,25 @@ + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java index c781fad..627a277 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java @@ -7,8 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.equipment.EquipmentAggr; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.*; import com.casic.missiles.model.equipment.EquipmentInfo; import com.casic.missiles.service.equipment.IEquipmentInfoService; import io.swagger.annotations.Api; @@ -17,7 +16,6 @@ import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.docx4j.wml.R; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; @@ -65,8 +63,27 @@ @ApiOperation("设备详情") @GetMapping("/info/detail") @ResponseBody - public ReturnDTO detail(Long equipmentId) { - return ReturnUtil.success(equipmentInfoService.detail(equipmentId)); + public ReturnDTO detail(Long equipmentId) { + EquipmentInfoForm form = equipmentInfoService.detail(equipmentId); + return ReturnUtil.success(form); + } + + @ApiOperation("到期提醒分页列表") + @PostMapping("/remind/listPage") + @ResponseBody + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + Page page = PageFactory.defaultPage(); + page = equipmentInfoService.remindListPage(page, queryFrom); + return ReturnUtil.success(super.packForBT(page)); + } + + @ApiOperation("证书管理分页列表") + @PostMapping("/certificate/listPage") + @ResponseBody + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + Page page = PageFactory.defaultPage(); + page = equipmentInfoService.certificateListPage(page, queryFrom); + return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java new file mode 100644 index 0000000..705ef18 --- /dev/null +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java @@ -0,0 +1,58 @@ +package com.casic.missiles.controller.plan; + +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.model.equipment.CertificateUpdate; +import com.casic.missiles.model.plan.OrderReceive; +import com.casic.missiles.model.plan.SampleStatueUpdate; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.plan.IPlanEquipmentRelationService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +@Slf4j +@Api(tags = "业务系统状态更新模块") +@RequestMapping("/biz") +@RestController +@RequiredArgsConstructor +public class BizUpdateController extends BaseController { + + private final IPlanEquipmentRelationService relationService; + private final IEquipmentInfoService equipmentInfoService; + + @ApiOperation("任务单接收") + @PostMapping("/orderReceive") + public ReturnDTO receive(@RequestBody @Valid OrderReceive orderReceive) { + relationService.orderReceive(orderReceive); + return ReturnUtil.success(); + } + + + @ApiOperation("任务单样品状态更新") + @PostMapping("/sampleStatusUpdate") + public ReturnDTO sampleStatusUpdate(@RequestBody SampleStatueUpdate updateForm) { + relationService.sampleStatusUpdate(updateForm); + return ReturnUtil.success(); + } + + @ApiOperation("证书新增/编辑") + @PostMapping("/certificateUpdate") + public ReturnDTO certificateUpdate(@RequestBody CertificateUpdate updateForm) { + equipmentInfoService.updateCertificateInfo(updateForm.getSampleId(),"西昌卫星发射中心计量测试站",updateForm.getCalibrationTime(),updateForm.getExpirationDate(),null); + return ReturnUtil.success(); + } + + @ApiOperation("证书删除") + @PostMapping("/certificateRemove") + public ReturnDTO certificateRemove(@RequestBody CertificateUpdate updateForm) { + equipmentInfoService.removeCertificateInfo(updateForm.getSampleId(), updateForm.getId()); + return ReturnUtil.success(); + } + +} diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanUpdateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanUpdateController.java deleted file mode 100644 index 609bbec..0000000 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanUpdateController.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.casic.missiles.controller.plan; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.page.PageFactory; -import com.casic.missiles.dto.IdDTO; -import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.equipment.EquipmentAggr; -import com.casic.missiles.model.plan.OrderReceive; -import com.casic.missiles.model.plan.PlanNotify; -import com.casic.missiles.model.plan.SampleStatueUpdate; -import com.casic.missiles.service.plan.IPlanEquipmentRelationService; -import com.casic.missiles.service.plan.IPlanNotifyRelationService; -import com.casic.missiles.service.plan.IPlanNotifyService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.*; - -import javax.validation.Valid; -import java.util.List; - -@Slf4j -@Api(tags = "计量计划状态更新模块") -@RequestMapping("/plan") -@RestController -@RequiredArgsConstructor -public class PlanUpdateController extends BaseController { - - private final IPlanEquipmentRelationService relationService; - - @ApiOperation("任务单接收") - @PostMapping("/orderReceive") - public ReturnDTO receive(@RequestBody @Valid OrderReceive orderReceive) { - relationService.orderReceive(orderReceive); - return ReturnUtil.success(); - } - - - @ApiOperation("任务单样品状态更新") - @PostMapping("/sampleStatusUpdate") - public ReturnDTO sampleStatusUpdate(@RequestBody SampleStatueUpdate updateForm) { - relationService.sampleStatusUpdate(updateForm); - return ReturnUtil.success(); - } - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java index fdd0b09..83b45ac 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java @@ -12,7 +12,6 @@ public class EquipmentCertificateDTO { @ApiModelProperty("主键") - @TableId("id") private Long id; /** @@ -21,6 +20,12 @@ @ApiModelProperty("设备id") private Long equipmentId; + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + /** * 证书编号 */ @@ -42,7 +47,7 @@ /** * 证书日期 */ - @ApiModelProperty("证书日期") + @ApiModelProperty("证书日期(检定校准日期)") private Date checkDate; /** @@ -71,4 +76,10 @@ @ApiModelProperty("证书类型(1业务证书;2分包证书;3特种设备证书)") private String certificateType; + + @ApiModelProperty("备注") + private String remark; + + @ApiModelProperty("计量标识") + private String meterIdentify; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java new file mode 100644 index 0000000..35d2d47 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java @@ -0,0 +1,34 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +public class EquipmentCertificateQueryFrom extends BaseQueryForm { + + @ApiModelProperty("证书编号") + private String certificateNo; + + @ApiModelProperty("证书名称") + private String certificateName; + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("检定(校准)机构") + private String checkOrganization; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/CertificateUpdate.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/CertificateUpdate.java new file mode 100644 index 0000000..c8d9f0b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/CertificateUpdate.java @@ -0,0 +1,27 @@ +package com.casic.missiles.model.equipment; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.util.Date; + +@Getter +@Setter +public class CertificateUpdate { + + @ApiModelProperty("证书id") + private Long id; + + @ApiModelProperty("受检设备id") + private Long sampleId; + + @ApiModelProperty("检定部门id") + private Long measureDeptId; + + @ApiModelProperty("检校时间") + private Date calibrationTime; + + @ApiModelProperty("证书有效期") + private Date expirationDate; +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java index f0bbfb9..aa53fed 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java @@ -1,9 +1,7 @@ package com.casic.missiles.service.equipment; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.equipment.EquipmentAggr; -import com.casic.missiles.dto.equipment.EquipmentInfoForm; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.*; import com.casic.missiles.model.equipment.EquipmentInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -34,5 +32,9 @@ boolean updateCertificateInfo(Long equipmentId,String checkOrganization,Date checkDate, Date certificateValid,String meterIdentify); + void removeCertificateInfo(Long equipmentId,Long certificateId); + Page remindListPage(Page page,EquipmentQueryFrom queryFrom); + + Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryFrom); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentSpecialCertificateService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentSpecialCertificateService.java index cbf3a79..6001e48 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentSpecialCertificateService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentSpecialCertificateService.java @@ -17,4 +17,6 @@ public interface IEquipmentSpecialCertificateService extends IService { void saveCertificateList(Long equipmentId, List certificateList); + + List listByEquipment(Long equipmentId); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java index 8c89d69..e8a35a2 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java @@ -7,26 +7,26 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.datascope.ScopeEnums; -import com.casic.missiles.dto.equipment.EquipmentAggr; -import com.casic.missiles.dto.equipment.EquipmentInfoForm; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.*; +import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.equipment.EquipmentCertificateTypeEnum; +import com.casic.missiles.enums.equipment.EquipmentTypeEnum; import com.casic.missiles.model.equipment.EquipmentInfo; import com.casic.missiles.mapper.equipment.EquipmentInfoMapper; -import com.casic.missiles.model.equipment.EquipmentInfoApproval; -import com.casic.missiles.model.system.RemindConfig; import com.casic.missiles.service.equipment.*; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.service.subcontract.ISubcontractCertificateService; import com.casic.missiles.service.system.IRemindConfigService; import com.casic.missiles.utils.DictCodeUtils; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import java.util.*; +import java.util.stream.Collectors; /** *

@@ -45,8 +45,13 @@ private final IEquipmentAttachmentService attachmentService; private final IEquipmentTechnicalTargetService technicalTargetService; private final IRemindConfigService remindConfigService; + private final IEquipmentSpecialCertificateService specialCertificateService; + private ISubcontractCertificateService subcontractCertificateService; - + @Autowired + public void setSubcontractCertificateService(ISubcontractCertificateService subcontractCertificateService){ + this.subcontractCertificateService = subcontractCertificateService; + } @Override public Page listPage(Page page,EquipmentQueryFrom queryFrom) { @@ -120,14 +125,37 @@ equipmentInfo.setDeptName(permissionContext.getDeptService().getDeptName(equipmentInfo.getDeptId())); equipmentInfo.setGroupInfos(groupInfoService.selectByEquipment(equipmentId)); BeanUtil.copyProperties(equipmentInfo,infoForm); - } - infoForm.setAttachments(attachmentService.selectByEquipment(equipmentId)); - infoForm.setTechnicalTargetList(technicalTargetService.selectByEquipment(equipmentId)); - infoForm.setCertificateList(new ArrayList<>()); // todo + infoForm.setAttachments(attachmentService.selectByEquipment(equipmentId)); + infoForm.setTechnicalTargetList(technicalTargetService.selectByEquipment(equipmentId)); + infoForm.setCertificateList(allCertificate(equipmentId,equipmentInfo.getEquipmentType())); + + } return infoForm; } + private List allCertificate(Long equipmentId,String equipmentType){ + List listAll = new ArrayList<>(); + listAll.addAll(this.baseMapper.bizCertificateList(equipmentId)); + + List subcontractList = subcontractCertificateService.listByEquipment(equipmentId); + subcontractList.forEach(i->i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SUBCONTRACT)); + listAll.addAll(subcontractList); + + if(EquipmentTypeEnum.EQUIPMENT_TYPE_SPECIAL.equals(equipmentType)){ + List specicalList = specialCertificateService.listByEquipment(equipmentId); + specicalList.forEach(i->i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SPECIAL)); + listAll.addAll(specicalList); + } + listAll.sort(new Comparator() { + @Override + public int compare(EquipmentCertificateDTO o1, EquipmentCertificateDTO o2) { + return Long.valueOf(o2.getCreateTime().getTime() - o1.getCreateTime().getTime()).intValue(); + } + }); + return listAll; + } + @Override public boolean updateEquipmentStatus(Long equipmentId,String usageStatus){ UpdateWrapper updateWrapper = new UpdateWrapper<>(); @@ -146,13 +174,42 @@ @Override public boolean updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify) { - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id",equipmentId); - updateWrapper.set("check_organization",checkOrganization); - updateWrapper.set("check_date",checkDate); - updateWrapper.set("certificate_valid",certificateValid); - updateWrapper.set("meter_identify",meterIdentify); - return this.update(updateWrapper); + EquipmentInfo equipmentInfo = this.getById(equipmentId); + if(ObjectUtil.isNotEmpty(equipmentInfo)){ + if(ObjectUtil.isEmpty(equipmentInfo.getCertificateValid()) || equipmentInfo.getCertificateValid().before(certificateValid)){ + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id",equipmentId); + updateWrapper.set("check_organization",checkOrganization); + updateWrapper.set("check_date",checkDate); + updateWrapper.set("certificate_valid",certificateValid); + if(StrUtil.isNotEmpty(meterIdentify)){ + updateWrapper.set("meter_identify",meterIdentify); + } + return this.update(updateWrapper); + } + } + return false; + } + + public void removeCertificateInfo(Long equipmentId,Long certificateId){ + EquipmentInfo equipmentInfo = this.getById(equipmentId); + if(ObjectUtil.isNotEmpty(equipmentInfo)){ + List allCertificates = this.allCertificate(equipmentId,equipmentInfo.getEquipmentType()); + allCertificates = allCertificates.stream().filter(i->!i.getId().equals(certificateId)).collect(Collectors.toList()); + Optional latestOpt = allCertificates.stream().max(Comparator.comparing(EquipmentCertificateDTO::getCheckDate)); + if(latestOpt.isPresent()){ + EquipmentCertificateDTO latest = latestOpt.get(); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id",equipmentId); + updateWrapper.set("check_organization",latest.getCheckOrganization()); + updateWrapper.set("check_date",latest.getCheckDate()); + updateWrapper.set("certificate_valid",latest.getCertificateValid()); + if(StrUtil.isNotEmpty(latest.getMeterIdentify())){ + updateWrapper.set("meter_identify",latest.getMeterIdentify()); + } + this.update(updateWrapper); + } + } } @Override @@ -168,4 +225,24 @@ page.setRecords(list); return page; } + + @Override + public Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryForm) { + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getCertificateNo()), "c.certificate_report_no", queryForm.getCertificateNo()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getCertificateName()), "c.certificate_report_name", queryForm.getCertificateName()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "e.equipment_no", queryForm.getEquipmentNo()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentName()), "e.equipment_name", queryForm.getEquipmentName()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getCheckOrganization()), "'西昌卫星发射中心计量测试站'", queryForm.getCheckOrganization()); + queryWrapper.ge(StrUtil.isNotEmpty(queryForm.getCertificateValidStart()), "c.expiration_date", queryForm.getCertificateValidStart()); + queryWrapper.le(StrUtil.isNotEmpty(queryForm.getCertificateValidEnd()), "c.expiration_date", queryForm.getCertificateValidEnd()); + queryWrapper.eq("e.is_del",0); + queryWrapper.eq("c.approval_status", ApprovalStatusEnum.PASSED); + + List list = this.baseMapper.bizCertificateListPage(page, dataScope, queryWrapper); + page.setRecords(list); + return page; + } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentSpecialCertificateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentSpecialCertificateServiceImpl.java index c90e1ec..2925435 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentSpecialCertificateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentSpecialCertificateServiceImpl.java @@ -56,5 +56,29 @@ this.remove(queryWrapper); } + @Override + public List listByEquipment(Long equipmentId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("equipment_id",equipmentId); + List certificates = this.list(queryWrapper); + List res = new ArrayList<>(); + if(CollUtil.isNotEmpty(certificates)){ + certificates.forEach(i->{ + EquipmentCertificateDTO dto = new EquipmentCertificateDTO(); + dto.setId(i.getId()); + dto.setEquipmentId(i.getEquipmentId()); + dto.setCertificateNo(i.getCertificateNo()); + dto.setCertificateName(i.getCertificateName()); + dto.setCertificateValid(i.getCertificateValid()); + dto.setCheckDate(i.getCheckDate()); + dto.setCheckOrganization(i.getCheckOrganization()); + dto.setMinioFileName(i.getMinioFileName()); + dto.setCreateTime(i.getCreateTime()); + dto.setUpdateTime(i.getUpdateTime()); + res.add(dto); + }); + } + return res; + } } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java index aa17181..18356e2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.equipment.EquipmentInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; @@ -23,4 +24,10 @@ List selectList(@Param("dataScope") DataScope dataScope, @Param("ew")QueryWrapper queryWrapper); + List bizCertificateListPage(@Param("page") Page page, + @Param("dataScope") DataScope dataScope, + @Param("ew") QueryWrapper queryFrom); + + List bizCertificateList(@Param("equipmentId") Long equipmentId); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java index 309b330..38dbdc9 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.status.EquipmentStatusApproval; import com.casic.missiles.model.subcontract.SubcontractCertificate; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -29,4 +30,6 @@ List listBySubcontractor(@Param("subcontractorId") Long subcontractorId); + List listByEquipment(@Param("equipmentId") Long equipmentId); + } diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index 025b161..a2c0944 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -66,4 +66,40 @@ + + select + c.id as id, + e.id as equipmentId, + e.equipment_no as equipmentNo, + e.equipment_name as equipmentName, + e.meter_identify as meterIdentify, + e.dept_id as deptId, + c.certificate_report_no as certificateNo, + c.certificate_report_name as certificateName, + '西昌卫星发射中心计量测试站' as checkOrganization, + c.calibration_time as checkDate, + c.expiration_date as certificateValid, + c.certificate_report_file as minioFileName, + c.create_time as createTime, + c.update_time as updateTime, + '1' as certificateType, + c.remark as remark + from biz_business_certificate_report c ,eqpt_equipment_info e + where c.sample_id = e.id + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml index 8a75a84..749feff 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -101,4 +101,25 @@ + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java index c781fad..627a277 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java @@ -7,8 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.equipment.EquipmentAggr; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.*; import com.casic.missiles.model.equipment.EquipmentInfo; import com.casic.missiles.service.equipment.IEquipmentInfoService; import io.swagger.annotations.Api; @@ -17,7 +16,6 @@ import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.docx4j.wml.R; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; @@ -65,8 +63,27 @@ @ApiOperation("设备详情") @GetMapping("/info/detail") @ResponseBody - public ReturnDTO detail(Long equipmentId) { - return ReturnUtil.success(equipmentInfoService.detail(equipmentId)); + public ReturnDTO detail(Long equipmentId) { + EquipmentInfoForm form = equipmentInfoService.detail(equipmentId); + return ReturnUtil.success(form); + } + + @ApiOperation("到期提醒分页列表") + @PostMapping("/remind/listPage") + @ResponseBody + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + Page page = PageFactory.defaultPage(); + page = equipmentInfoService.remindListPage(page, queryFrom); + return ReturnUtil.success(super.packForBT(page)); + } + + @ApiOperation("证书管理分页列表") + @PostMapping("/certificate/listPage") + @ResponseBody + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + Page page = PageFactory.defaultPage(); + page = equipmentInfoService.certificateListPage(page, queryFrom); + return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java new file mode 100644 index 0000000..705ef18 --- /dev/null +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java @@ -0,0 +1,58 @@ +package com.casic.missiles.controller.plan; + +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.model.equipment.CertificateUpdate; +import com.casic.missiles.model.plan.OrderReceive; +import com.casic.missiles.model.plan.SampleStatueUpdate; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.plan.IPlanEquipmentRelationService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +@Slf4j +@Api(tags = "业务系统状态更新模块") +@RequestMapping("/biz") +@RestController +@RequiredArgsConstructor +public class BizUpdateController extends BaseController { + + private final IPlanEquipmentRelationService relationService; + private final IEquipmentInfoService equipmentInfoService; + + @ApiOperation("任务单接收") + @PostMapping("/orderReceive") + public ReturnDTO receive(@RequestBody @Valid OrderReceive orderReceive) { + relationService.orderReceive(orderReceive); + return ReturnUtil.success(); + } + + + @ApiOperation("任务单样品状态更新") + @PostMapping("/sampleStatusUpdate") + public ReturnDTO sampleStatusUpdate(@RequestBody SampleStatueUpdate updateForm) { + relationService.sampleStatusUpdate(updateForm); + return ReturnUtil.success(); + } + + @ApiOperation("证书新增/编辑") + @PostMapping("/certificateUpdate") + public ReturnDTO certificateUpdate(@RequestBody CertificateUpdate updateForm) { + equipmentInfoService.updateCertificateInfo(updateForm.getSampleId(),"西昌卫星发射中心计量测试站",updateForm.getCalibrationTime(),updateForm.getExpirationDate(),null); + return ReturnUtil.success(); + } + + @ApiOperation("证书删除") + @PostMapping("/certificateRemove") + public ReturnDTO certificateRemove(@RequestBody CertificateUpdate updateForm) { + equipmentInfoService.removeCertificateInfo(updateForm.getSampleId(), updateForm.getId()); + return ReturnUtil.success(); + } + +} diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanUpdateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanUpdateController.java deleted file mode 100644 index 609bbec..0000000 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanUpdateController.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.casic.missiles.controller.plan; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.page.PageFactory; -import com.casic.missiles.dto.IdDTO; -import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.equipment.EquipmentAggr; -import com.casic.missiles.model.plan.OrderReceive; -import com.casic.missiles.model.plan.PlanNotify; -import com.casic.missiles.model.plan.SampleStatueUpdate; -import com.casic.missiles.service.plan.IPlanEquipmentRelationService; -import com.casic.missiles.service.plan.IPlanNotifyRelationService; -import com.casic.missiles.service.plan.IPlanNotifyService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.*; - -import javax.validation.Valid; -import java.util.List; - -@Slf4j -@Api(tags = "计量计划状态更新模块") -@RequestMapping("/plan") -@RestController -@RequiredArgsConstructor -public class PlanUpdateController extends BaseController { - - private final IPlanEquipmentRelationService relationService; - - @ApiOperation("任务单接收") - @PostMapping("/orderReceive") - public ReturnDTO receive(@RequestBody @Valid OrderReceive orderReceive) { - relationService.orderReceive(orderReceive); - return ReturnUtil.success(); - } - - - @ApiOperation("任务单样品状态更新") - @PostMapping("/sampleStatusUpdate") - public ReturnDTO sampleStatusUpdate(@RequestBody SampleStatueUpdate updateForm) { - relationService.sampleStatusUpdate(updateForm); - return ReturnUtil.success(); - } - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java index fdd0b09..83b45ac 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java @@ -12,7 +12,6 @@ public class EquipmentCertificateDTO { @ApiModelProperty("主键") - @TableId("id") private Long id; /** @@ -21,6 +20,12 @@ @ApiModelProperty("设备id") private Long equipmentId; + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + /** * 证书编号 */ @@ -42,7 +47,7 @@ /** * 证书日期 */ - @ApiModelProperty("证书日期") + @ApiModelProperty("证书日期(检定校准日期)") private Date checkDate; /** @@ -71,4 +76,10 @@ @ApiModelProperty("证书类型(1业务证书;2分包证书;3特种设备证书)") private String certificateType; + + @ApiModelProperty("备注") + private String remark; + + @ApiModelProperty("计量标识") + private String meterIdentify; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java new file mode 100644 index 0000000..35d2d47 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java @@ -0,0 +1,34 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +public class EquipmentCertificateQueryFrom extends BaseQueryForm { + + @ApiModelProperty("证书编号") + private String certificateNo; + + @ApiModelProperty("证书名称") + private String certificateName; + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("检定(校准)机构") + private String checkOrganization; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/CertificateUpdate.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/CertificateUpdate.java new file mode 100644 index 0000000..c8d9f0b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/CertificateUpdate.java @@ -0,0 +1,27 @@ +package com.casic.missiles.model.equipment; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.util.Date; + +@Getter +@Setter +public class CertificateUpdate { + + @ApiModelProperty("证书id") + private Long id; + + @ApiModelProperty("受检设备id") + private Long sampleId; + + @ApiModelProperty("检定部门id") + private Long measureDeptId; + + @ApiModelProperty("检校时间") + private Date calibrationTime; + + @ApiModelProperty("证书有效期") + private Date expirationDate; +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java index f0bbfb9..aa53fed 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java @@ -1,9 +1,7 @@ package com.casic.missiles.service.equipment; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.equipment.EquipmentAggr; -import com.casic.missiles.dto.equipment.EquipmentInfoForm; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.*; import com.casic.missiles.model.equipment.EquipmentInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -34,5 +32,9 @@ boolean updateCertificateInfo(Long equipmentId,String checkOrganization,Date checkDate, Date certificateValid,String meterIdentify); + void removeCertificateInfo(Long equipmentId,Long certificateId); + Page remindListPage(Page page,EquipmentQueryFrom queryFrom); + + Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryFrom); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentSpecialCertificateService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentSpecialCertificateService.java index cbf3a79..6001e48 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentSpecialCertificateService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentSpecialCertificateService.java @@ -17,4 +17,6 @@ public interface IEquipmentSpecialCertificateService extends IService { void saveCertificateList(Long equipmentId, List certificateList); + + List listByEquipment(Long equipmentId); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java index 8c89d69..e8a35a2 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java @@ -7,26 +7,26 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.datascope.ScopeEnums; -import com.casic.missiles.dto.equipment.EquipmentAggr; -import com.casic.missiles.dto.equipment.EquipmentInfoForm; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.*; +import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.equipment.EquipmentCertificateTypeEnum; +import com.casic.missiles.enums.equipment.EquipmentTypeEnum; import com.casic.missiles.model.equipment.EquipmentInfo; import com.casic.missiles.mapper.equipment.EquipmentInfoMapper; -import com.casic.missiles.model.equipment.EquipmentInfoApproval; -import com.casic.missiles.model.system.RemindConfig; import com.casic.missiles.service.equipment.*; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.service.subcontract.ISubcontractCertificateService; import com.casic.missiles.service.system.IRemindConfigService; import com.casic.missiles.utils.DictCodeUtils; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import java.util.*; +import java.util.stream.Collectors; /** *

@@ -45,8 +45,13 @@ private final IEquipmentAttachmentService attachmentService; private final IEquipmentTechnicalTargetService technicalTargetService; private final IRemindConfigService remindConfigService; + private final IEquipmentSpecialCertificateService specialCertificateService; + private ISubcontractCertificateService subcontractCertificateService; - + @Autowired + public void setSubcontractCertificateService(ISubcontractCertificateService subcontractCertificateService){ + this.subcontractCertificateService = subcontractCertificateService; + } @Override public Page listPage(Page page,EquipmentQueryFrom queryFrom) { @@ -120,14 +125,37 @@ equipmentInfo.setDeptName(permissionContext.getDeptService().getDeptName(equipmentInfo.getDeptId())); equipmentInfo.setGroupInfos(groupInfoService.selectByEquipment(equipmentId)); BeanUtil.copyProperties(equipmentInfo,infoForm); - } - infoForm.setAttachments(attachmentService.selectByEquipment(equipmentId)); - infoForm.setTechnicalTargetList(technicalTargetService.selectByEquipment(equipmentId)); - infoForm.setCertificateList(new ArrayList<>()); // todo + infoForm.setAttachments(attachmentService.selectByEquipment(equipmentId)); + infoForm.setTechnicalTargetList(technicalTargetService.selectByEquipment(equipmentId)); + infoForm.setCertificateList(allCertificate(equipmentId,equipmentInfo.getEquipmentType())); + + } return infoForm; } + private List allCertificate(Long equipmentId,String equipmentType){ + List listAll = new ArrayList<>(); + listAll.addAll(this.baseMapper.bizCertificateList(equipmentId)); + + List subcontractList = subcontractCertificateService.listByEquipment(equipmentId); + subcontractList.forEach(i->i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SUBCONTRACT)); + listAll.addAll(subcontractList); + + if(EquipmentTypeEnum.EQUIPMENT_TYPE_SPECIAL.equals(equipmentType)){ + List specicalList = specialCertificateService.listByEquipment(equipmentId); + specicalList.forEach(i->i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SPECIAL)); + listAll.addAll(specicalList); + } + listAll.sort(new Comparator() { + @Override + public int compare(EquipmentCertificateDTO o1, EquipmentCertificateDTO o2) { + return Long.valueOf(o2.getCreateTime().getTime() - o1.getCreateTime().getTime()).intValue(); + } + }); + return listAll; + } + @Override public boolean updateEquipmentStatus(Long equipmentId,String usageStatus){ UpdateWrapper updateWrapper = new UpdateWrapper<>(); @@ -146,13 +174,42 @@ @Override public boolean updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify) { - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id",equipmentId); - updateWrapper.set("check_organization",checkOrganization); - updateWrapper.set("check_date",checkDate); - updateWrapper.set("certificate_valid",certificateValid); - updateWrapper.set("meter_identify",meterIdentify); - return this.update(updateWrapper); + EquipmentInfo equipmentInfo = this.getById(equipmentId); + if(ObjectUtil.isNotEmpty(equipmentInfo)){ + if(ObjectUtil.isEmpty(equipmentInfo.getCertificateValid()) || equipmentInfo.getCertificateValid().before(certificateValid)){ + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id",equipmentId); + updateWrapper.set("check_organization",checkOrganization); + updateWrapper.set("check_date",checkDate); + updateWrapper.set("certificate_valid",certificateValid); + if(StrUtil.isNotEmpty(meterIdentify)){ + updateWrapper.set("meter_identify",meterIdentify); + } + return this.update(updateWrapper); + } + } + return false; + } + + public void removeCertificateInfo(Long equipmentId,Long certificateId){ + EquipmentInfo equipmentInfo = this.getById(equipmentId); + if(ObjectUtil.isNotEmpty(equipmentInfo)){ + List allCertificates = this.allCertificate(equipmentId,equipmentInfo.getEquipmentType()); + allCertificates = allCertificates.stream().filter(i->!i.getId().equals(certificateId)).collect(Collectors.toList()); + Optional latestOpt = allCertificates.stream().max(Comparator.comparing(EquipmentCertificateDTO::getCheckDate)); + if(latestOpt.isPresent()){ + EquipmentCertificateDTO latest = latestOpt.get(); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id",equipmentId); + updateWrapper.set("check_organization",latest.getCheckOrganization()); + updateWrapper.set("check_date",latest.getCheckDate()); + updateWrapper.set("certificate_valid",latest.getCertificateValid()); + if(StrUtil.isNotEmpty(latest.getMeterIdentify())){ + updateWrapper.set("meter_identify",latest.getMeterIdentify()); + } + this.update(updateWrapper); + } + } } @Override @@ -168,4 +225,24 @@ page.setRecords(list); return page; } + + @Override + public Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryForm) { + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getCertificateNo()), "c.certificate_report_no", queryForm.getCertificateNo()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getCertificateName()), "c.certificate_report_name", queryForm.getCertificateName()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "e.equipment_no", queryForm.getEquipmentNo()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentName()), "e.equipment_name", queryForm.getEquipmentName()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getCheckOrganization()), "'西昌卫星发射中心计量测试站'", queryForm.getCheckOrganization()); + queryWrapper.ge(StrUtil.isNotEmpty(queryForm.getCertificateValidStart()), "c.expiration_date", queryForm.getCertificateValidStart()); + queryWrapper.le(StrUtil.isNotEmpty(queryForm.getCertificateValidEnd()), "c.expiration_date", queryForm.getCertificateValidEnd()); + queryWrapper.eq("e.is_del",0); + queryWrapper.eq("c.approval_status", ApprovalStatusEnum.PASSED); + + List list = this.baseMapper.bizCertificateListPage(page, dataScope, queryWrapper); + page.setRecords(list); + return page; + } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentSpecialCertificateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentSpecialCertificateServiceImpl.java index c90e1ec..2925435 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentSpecialCertificateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentSpecialCertificateServiceImpl.java @@ -56,5 +56,29 @@ this.remove(queryWrapper); } + @Override + public List listByEquipment(Long equipmentId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("equipment_id",equipmentId); + List certificates = this.list(queryWrapper); + List res = new ArrayList<>(); + if(CollUtil.isNotEmpty(certificates)){ + certificates.forEach(i->{ + EquipmentCertificateDTO dto = new EquipmentCertificateDTO(); + dto.setId(i.getId()); + dto.setEquipmentId(i.getEquipmentId()); + dto.setCertificateNo(i.getCertificateNo()); + dto.setCertificateName(i.getCertificateName()); + dto.setCertificateValid(i.getCertificateValid()); + dto.setCheckDate(i.getCheckDate()); + dto.setCheckOrganization(i.getCheckOrganization()); + dto.setMinioFileName(i.getMinioFileName()); + dto.setCreateTime(i.getCreateTime()); + dto.setUpdateTime(i.getUpdateTime()); + res.add(dto); + }); + } + return res; + } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractCertificateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractCertificateServiceImpl.java index bb6cbd8..fcd7955 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractCertificateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractCertificateServiceImpl.java @@ -1,21 +1,19 @@ package com.casic.missiles.service.impl.subcontract; import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.subcontract.SubcontractCertificate; import com.casic.missiles.mapper.subcontract.SubcontractCertificateMapper; -import com.casic.missiles.model.subcontract.Subcontractor; import com.casic.missiles.service.equipment.IEquipmentInfoService; import com.casic.missiles.service.subcontract.ISubcontractCertificateService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.casic.missiles.service.subcontract.ISubcontractorService; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; @@ -34,8 +32,14 @@ @RequiredArgsConstructor public class SubcontractCertificateServiceImpl extends ServiceImpl implements ISubcontractCertificateService { - private final IEquipmentInfoService equipmentInfoService; private final AbstractPermissionContext permissionContext; + private IEquipmentInfoService equipmentInfoService; + + + @Autowired + public void setEquipmentInfoService(IEquipmentInfoService equipmentInfoService){ + this.equipmentInfoService = equipmentInfoService; + } @Override public ReturnDTO batchImport(MultipartFile file) { @@ -45,17 +49,16 @@ @Override @Transactional - public boolean saveOrUpdateInfo(SubcontractCertificate entity) { - boolean res = this.saveOrUpdate(entity); - res = res && equipmentInfoService.updateCertificateInfo(entity.getEquipmentId(),entity.getSubcontractorName(),entity.getCheckDate(),entity.getCertificateValid(),entity.getMeterIdentify()); - return res; + public void saveOrUpdateInfo(SubcontractCertificate entity) { + this.saveOrUpdate(entity); + equipmentInfoService.updateCertificateInfo(entity.getEquipmentId(),entity.getSubcontractorName(),entity.getCheckDate(),entity.getCertificateValid(),entity.getMeterIdentify()); } @Override - public boolean removeInfo(Long id) { + public void removeInfo(Long id) { + SubcontractCertificate certificate = this.getById(id); this.removeById(id); - // todo 设备证书信息设为最新值 - return false; + equipmentInfoService.removeCertificateInfo(certificate.getEquipmentId(),id); } @Override @@ -72,6 +75,11 @@ return this.baseMapper.listBySubcontractor(subcontractorId); } + @Override + public List listByEquipment(Long equipmentId) { + return this.baseMapper.listByEquipment(equipmentId); + } + private QueryWrapper commonQuery(String certificateNo, String certificateName, String equipmentNo, String equipmentName, String subcontractorName, String createTimeStart, String createTimeEnd){ QueryWrapper queryWrapper = new QueryWrapper<>(); if(StrUtil.isNotEmpty(certificateNo)){ diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java index aa17181..18356e2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/equipment/EquipmentInfoMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.equipment.EquipmentInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; @@ -23,4 +24,10 @@ List selectList(@Param("dataScope") DataScope dataScope, @Param("ew")QueryWrapper queryWrapper); + List bizCertificateListPage(@Param("page") Page page, + @Param("dataScope") DataScope dataScope, + @Param("ew") QueryWrapper queryFrom); + + List bizCertificateList(@Param("equipmentId") Long equipmentId); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java index 309b330..38dbdc9 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/subcontract/SubcontractCertificateMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.status.EquipmentStatusApproval; import com.casic.missiles.model.subcontract.SubcontractCertificate; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -29,4 +30,6 @@ List listBySubcontractor(@Param("subcontractorId") Long subcontractorId); + List listByEquipment(@Param("equipmentId") Long equipmentId); + } diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index 025b161..a2c0944 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -66,4 +66,40 @@ + + select + c.id as id, + e.id as equipmentId, + e.equipment_no as equipmentNo, + e.equipment_name as equipmentName, + e.meter_identify as meterIdentify, + e.dept_id as deptId, + c.certificate_report_no as certificateNo, + c.certificate_report_name as certificateName, + '西昌卫星发射中心计量测试站' as checkOrganization, + c.calibration_time as checkDate, + c.expiration_date as certificateValid, + c.certificate_report_file as minioFileName, + c.create_time as createTime, + c.update_time as updateTime, + '1' as certificateType, + c.remark as remark + from biz_business_certificate_report c ,eqpt_equipment_info e + where c.sample_id = e.id + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml index 8a75a84..749feff 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -101,4 +101,25 @@ + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java index c781fad..627a277 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java @@ -7,8 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.equipment.EquipmentAggr; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.*; import com.casic.missiles.model.equipment.EquipmentInfo; import com.casic.missiles.service.equipment.IEquipmentInfoService; import io.swagger.annotations.Api; @@ -17,7 +16,6 @@ import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.docx4j.wml.R; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; @@ -65,8 +63,27 @@ @ApiOperation("设备详情") @GetMapping("/info/detail") @ResponseBody - public ReturnDTO detail(Long equipmentId) { - return ReturnUtil.success(equipmentInfoService.detail(equipmentId)); + public ReturnDTO detail(Long equipmentId) { + EquipmentInfoForm form = equipmentInfoService.detail(equipmentId); + return ReturnUtil.success(form); + } + + @ApiOperation("到期提醒分页列表") + @PostMapping("/remind/listPage") + @ResponseBody + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + Page page = PageFactory.defaultPage(); + page = equipmentInfoService.remindListPage(page, queryFrom); + return ReturnUtil.success(super.packForBT(page)); + } + + @ApiOperation("证书管理分页列表") + @PostMapping("/certificate/listPage") + @ResponseBody + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + Page page = PageFactory.defaultPage(); + page = equipmentInfoService.certificateListPage(page, queryFrom); + return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java new file mode 100644 index 0000000..705ef18 --- /dev/null +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/BizUpdateController.java @@ -0,0 +1,58 @@ +package com.casic.missiles.controller.plan; + +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.model.equipment.CertificateUpdate; +import com.casic.missiles.model.plan.OrderReceive; +import com.casic.missiles.model.plan.SampleStatueUpdate; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.plan.IPlanEquipmentRelationService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +@Slf4j +@Api(tags = "业务系统状态更新模块") +@RequestMapping("/biz") +@RestController +@RequiredArgsConstructor +public class BizUpdateController extends BaseController { + + private final IPlanEquipmentRelationService relationService; + private final IEquipmentInfoService equipmentInfoService; + + @ApiOperation("任务单接收") + @PostMapping("/orderReceive") + public ReturnDTO receive(@RequestBody @Valid OrderReceive orderReceive) { + relationService.orderReceive(orderReceive); + return ReturnUtil.success(); + } + + + @ApiOperation("任务单样品状态更新") + @PostMapping("/sampleStatusUpdate") + public ReturnDTO sampleStatusUpdate(@RequestBody SampleStatueUpdate updateForm) { + relationService.sampleStatusUpdate(updateForm); + return ReturnUtil.success(); + } + + @ApiOperation("证书新增/编辑") + @PostMapping("/certificateUpdate") + public ReturnDTO certificateUpdate(@RequestBody CertificateUpdate updateForm) { + equipmentInfoService.updateCertificateInfo(updateForm.getSampleId(),"西昌卫星发射中心计量测试站",updateForm.getCalibrationTime(),updateForm.getExpirationDate(),null); + return ReturnUtil.success(); + } + + @ApiOperation("证书删除") + @PostMapping("/certificateRemove") + public ReturnDTO certificateRemove(@RequestBody CertificateUpdate updateForm) { + equipmentInfoService.removeCertificateInfo(updateForm.getSampleId(), updateForm.getId()); + return ReturnUtil.success(); + } + +} diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanUpdateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanUpdateController.java deleted file mode 100644 index 609bbec..0000000 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanUpdateController.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.casic.missiles.controller.plan; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; -import com.casic.missiles.core.page.PageFactory; -import com.casic.missiles.dto.IdDTO; -import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.equipment.EquipmentAggr; -import com.casic.missiles.model.plan.OrderReceive; -import com.casic.missiles.model.plan.PlanNotify; -import com.casic.missiles.model.plan.SampleStatueUpdate; -import com.casic.missiles.service.plan.IPlanEquipmentRelationService; -import com.casic.missiles.service.plan.IPlanNotifyRelationService; -import com.casic.missiles.service.plan.IPlanNotifyService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.*; - -import javax.validation.Valid; -import java.util.List; - -@Slf4j -@Api(tags = "计量计划状态更新模块") -@RequestMapping("/plan") -@RestController -@RequiredArgsConstructor -public class PlanUpdateController extends BaseController { - - private final IPlanEquipmentRelationService relationService; - - @ApiOperation("任务单接收") - @PostMapping("/orderReceive") - public ReturnDTO receive(@RequestBody @Valid OrderReceive orderReceive) { - relationService.orderReceive(orderReceive); - return ReturnUtil.success(); - } - - - @ApiOperation("任务单样品状态更新") - @PostMapping("/sampleStatusUpdate") - public ReturnDTO sampleStatusUpdate(@RequestBody SampleStatueUpdate updateForm) { - relationService.sampleStatusUpdate(updateForm); - return ReturnUtil.success(); - } - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java index fdd0b09..83b45ac 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateDTO.java @@ -12,7 +12,6 @@ public class EquipmentCertificateDTO { @ApiModelProperty("主键") - @TableId("id") private Long id; /** @@ -21,6 +20,12 @@ @ApiModelProperty("设备id") private Long equipmentId; + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + /** * 证书编号 */ @@ -42,7 +47,7 @@ /** * 证书日期 */ - @ApiModelProperty("证书日期") + @ApiModelProperty("证书日期(检定校准日期)") private Date checkDate; /** @@ -71,4 +76,10 @@ @ApiModelProperty("证书类型(1业务证书;2分包证书;3特种设备证书)") private String certificateType; + + @ApiModelProperty("备注") + private String remark; + + @ApiModelProperty("计量标识") + private String meterIdentify; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java new file mode 100644 index 0000000..35d2d47 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java @@ -0,0 +1,34 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +public class EquipmentCertificateQueryFrom extends BaseQueryForm { + + @ApiModelProperty("证书编号") + private String certificateNo; + + @ApiModelProperty("证书名称") + private String certificateName; + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("检定(校准)机构") + private String checkOrganization; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/CertificateUpdate.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/CertificateUpdate.java new file mode 100644 index 0000000..c8d9f0b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/CertificateUpdate.java @@ -0,0 +1,27 @@ +package com.casic.missiles.model.equipment; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.util.Date; + +@Getter +@Setter +public class CertificateUpdate { + + @ApiModelProperty("证书id") + private Long id; + + @ApiModelProperty("受检设备id") + private Long sampleId; + + @ApiModelProperty("检定部门id") + private Long measureDeptId; + + @ApiModelProperty("检校时间") + private Date calibrationTime; + + @ApiModelProperty("证书有效期") + private Date expirationDate; +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java index f0bbfb9..aa53fed 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java @@ -1,9 +1,7 @@ package com.casic.missiles.service.equipment; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.equipment.EquipmentAggr; -import com.casic.missiles.dto.equipment.EquipmentInfoForm; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.*; import com.casic.missiles.model.equipment.EquipmentInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -34,5 +32,9 @@ boolean updateCertificateInfo(Long equipmentId,String checkOrganization,Date checkDate, Date certificateValid,String meterIdentify); + void removeCertificateInfo(Long equipmentId,Long certificateId); + Page remindListPage(Page page,EquipmentQueryFrom queryFrom); + + Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryFrom); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentSpecialCertificateService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentSpecialCertificateService.java index cbf3a79..6001e48 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentSpecialCertificateService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentSpecialCertificateService.java @@ -17,4 +17,6 @@ public interface IEquipmentSpecialCertificateService extends IService { void saveCertificateList(Long equipmentId, List certificateList); + + List listByEquipment(Long equipmentId); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java index 8c89d69..e8a35a2 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java @@ -7,26 +7,26 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.datascope.ScopeEnums; -import com.casic.missiles.dto.equipment.EquipmentAggr; -import com.casic.missiles.dto.equipment.EquipmentInfoForm; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.*; +import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.equipment.EquipmentCertificateTypeEnum; +import com.casic.missiles.enums.equipment.EquipmentTypeEnum; import com.casic.missiles.model.equipment.EquipmentInfo; import com.casic.missiles.mapper.equipment.EquipmentInfoMapper; -import com.casic.missiles.model.equipment.EquipmentInfoApproval; -import com.casic.missiles.model.system.RemindConfig; import com.casic.missiles.service.equipment.*; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.service.subcontract.ISubcontractCertificateService; import com.casic.missiles.service.system.IRemindConfigService; import com.casic.missiles.utils.DictCodeUtils; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import java.util.*; +import java.util.stream.Collectors; /** *

@@ -45,8 +45,13 @@ private final IEquipmentAttachmentService attachmentService; private final IEquipmentTechnicalTargetService technicalTargetService; private final IRemindConfigService remindConfigService; + private final IEquipmentSpecialCertificateService specialCertificateService; + private ISubcontractCertificateService subcontractCertificateService; - + @Autowired + public void setSubcontractCertificateService(ISubcontractCertificateService subcontractCertificateService){ + this.subcontractCertificateService = subcontractCertificateService; + } @Override public Page listPage(Page page,EquipmentQueryFrom queryFrom) { @@ -120,14 +125,37 @@ equipmentInfo.setDeptName(permissionContext.getDeptService().getDeptName(equipmentInfo.getDeptId())); equipmentInfo.setGroupInfos(groupInfoService.selectByEquipment(equipmentId)); BeanUtil.copyProperties(equipmentInfo,infoForm); - } - infoForm.setAttachments(attachmentService.selectByEquipment(equipmentId)); - infoForm.setTechnicalTargetList(technicalTargetService.selectByEquipment(equipmentId)); - infoForm.setCertificateList(new ArrayList<>()); // todo + infoForm.setAttachments(attachmentService.selectByEquipment(equipmentId)); + infoForm.setTechnicalTargetList(technicalTargetService.selectByEquipment(equipmentId)); + infoForm.setCertificateList(allCertificate(equipmentId,equipmentInfo.getEquipmentType())); + + } return infoForm; } + private List allCertificate(Long equipmentId,String equipmentType){ + List listAll = new ArrayList<>(); + listAll.addAll(this.baseMapper.bizCertificateList(equipmentId)); + + List subcontractList = subcontractCertificateService.listByEquipment(equipmentId); + subcontractList.forEach(i->i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SUBCONTRACT)); + listAll.addAll(subcontractList); + + if(EquipmentTypeEnum.EQUIPMENT_TYPE_SPECIAL.equals(equipmentType)){ + List specicalList = specialCertificateService.listByEquipment(equipmentId); + specicalList.forEach(i->i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SPECIAL)); + listAll.addAll(specicalList); + } + listAll.sort(new Comparator() { + @Override + public int compare(EquipmentCertificateDTO o1, EquipmentCertificateDTO o2) { + return Long.valueOf(o2.getCreateTime().getTime() - o1.getCreateTime().getTime()).intValue(); + } + }); + return listAll; + } + @Override public boolean updateEquipmentStatus(Long equipmentId,String usageStatus){ UpdateWrapper updateWrapper = new UpdateWrapper<>(); @@ -146,13 +174,42 @@ @Override public boolean updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify) { - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id",equipmentId); - updateWrapper.set("check_organization",checkOrganization); - updateWrapper.set("check_date",checkDate); - updateWrapper.set("certificate_valid",certificateValid); - updateWrapper.set("meter_identify",meterIdentify); - return this.update(updateWrapper); + EquipmentInfo equipmentInfo = this.getById(equipmentId); + if(ObjectUtil.isNotEmpty(equipmentInfo)){ + if(ObjectUtil.isEmpty(equipmentInfo.getCertificateValid()) || equipmentInfo.getCertificateValid().before(certificateValid)){ + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id",equipmentId); + updateWrapper.set("check_organization",checkOrganization); + updateWrapper.set("check_date",checkDate); + updateWrapper.set("certificate_valid",certificateValid); + if(StrUtil.isNotEmpty(meterIdentify)){ + updateWrapper.set("meter_identify",meterIdentify); + } + return this.update(updateWrapper); + } + } + return false; + } + + public void removeCertificateInfo(Long equipmentId,Long certificateId){ + EquipmentInfo equipmentInfo = this.getById(equipmentId); + if(ObjectUtil.isNotEmpty(equipmentInfo)){ + List allCertificates = this.allCertificate(equipmentId,equipmentInfo.getEquipmentType()); + allCertificates = allCertificates.stream().filter(i->!i.getId().equals(certificateId)).collect(Collectors.toList()); + Optional latestOpt = allCertificates.stream().max(Comparator.comparing(EquipmentCertificateDTO::getCheckDate)); + if(latestOpt.isPresent()){ + EquipmentCertificateDTO latest = latestOpt.get(); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id",equipmentId); + updateWrapper.set("check_organization",latest.getCheckOrganization()); + updateWrapper.set("check_date",latest.getCheckDate()); + updateWrapper.set("certificate_valid",latest.getCertificateValid()); + if(StrUtil.isNotEmpty(latest.getMeterIdentify())){ + updateWrapper.set("meter_identify",latest.getMeterIdentify()); + } + this.update(updateWrapper); + } + } } @Override @@ -168,4 +225,24 @@ page.setRecords(list); return page; } + + @Override + public Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryForm) { + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getCertificateNo()), "c.certificate_report_no", queryForm.getCertificateNo()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getCertificateName()), "c.certificate_report_name", queryForm.getCertificateName()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "e.equipment_no", queryForm.getEquipmentNo()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentName()), "e.equipment_name", queryForm.getEquipmentName()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getCheckOrganization()), "'西昌卫星发射中心计量测试站'", queryForm.getCheckOrganization()); + queryWrapper.ge(StrUtil.isNotEmpty(queryForm.getCertificateValidStart()), "c.expiration_date", queryForm.getCertificateValidStart()); + queryWrapper.le(StrUtil.isNotEmpty(queryForm.getCertificateValidEnd()), "c.expiration_date", queryForm.getCertificateValidEnd()); + queryWrapper.eq("e.is_del",0); + queryWrapper.eq("c.approval_status", ApprovalStatusEnum.PASSED); + + List list = this.baseMapper.bizCertificateListPage(page, dataScope, queryWrapper); + page.setRecords(list); + return page; + } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentSpecialCertificateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentSpecialCertificateServiceImpl.java index c90e1ec..2925435 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentSpecialCertificateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentSpecialCertificateServiceImpl.java @@ -56,5 +56,29 @@ this.remove(queryWrapper); } + @Override + public List listByEquipment(Long equipmentId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("equipment_id",equipmentId); + List certificates = this.list(queryWrapper); + List res = new ArrayList<>(); + if(CollUtil.isNotEmpty(certificates)){ + certificates.forEach(i->{ + EquipmentCertificateDTO dto = new EquipmentCertificateDTO(); + dto.setId(i.getId()); + dto.setEquipmentId(i.getEquipmentId()); + dto.setCertificateNo(i.getCertificateNo()); + dto.setCertificateName(i.getCertificateName()); + dto.setCertificateValid(i.getCertificateValid()); + dto.setCheckDate(i.getCheckDate()); + dto.setCheckOrganization(i.getCheckOrganization()); + dto.setMinioFileName(i.getMinioFileName()); + dto.setCreateTime(i.getCreateTime()); + dto.setUpdateTime(i.getUpdateTime()); + res.add(dto); + }); + } + return res; + } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractCertificateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractCertificateServiceImpl.java index bb6cbd8..fcd7955 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractCertificateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractCertificateServiceImpl.java @@ -1,21 +1,19 @@ package com.casic.missiles.service.impl.subcontract; import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.subcontract.SubcontractCertificate; import com.casic.missiles.mapper.subcontract.SubcontractCertificateMapper; -import com.casic.missiles.model.subcontract.Subcontractor; import com.casic.missiles.service.equipment.IEquipmentInfoService; import com.casic.missiles.service.subcontract.ISubcontractCertificateService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.casic.missiles.service.subcontract.ISubcontractorService; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; @@ -34,8 +32,14 @@ @RequiredArgsConstructor public class SubcontractCertificateServiceImpl extends ServiceImpl implements ISubcontractCertificateService { - private final IEquipmentInfoService equipmentInfoService; private final AbstractPermissionContext permissionContext; + private IEquipmentInfoService equipmentInfoService; + + + @Autowired + public void setEquipmentInfoService(IEquipmentInfoService equipmentInfoService){ + this.equipmentInfoService = equipmentInfoService; + } @Override public ReturnDTO batchImport(MultipartFile file) { @@ -45,17 +49,16 @@ @Override @Transactional - public boolean saveOrUpdateInfo(SubcontractCertificate entity) { - boolean res = this.saveOrUpdate(entity); - res = res && equipmentInfoService.updateCertificateInfo(entity.getEquipmentId(),entity.getSubcontractorName(),entity.getCheckDate(),entity.getCertificateValid(),entity.getMeterIdentify()); - return res; + public void saveOrUpdateInfo(SubcontractCertificate entity) { + this.saveOrUpdate(entity); + equipmentInfoService.updateCertificateInfo(entity.getEquipmentId(),entity.getSubcontractorName(),entity.getCheckDate(),entity.getCertificateValid(),entity.getMeterIdentify()); } @Override - public boolean removeInfo(Long id) { + public void removeInfo(Long id) { + SubcontractCertificate certificate = this.getById(id); this.removeById(id); - // todo 设备证书信息设为最新值 - return false; + equipmentInfoService.removeCertificateInfo(certificate.getEquipmentId(),id); } @Override @@ -72,6 +75,11 @@ return this.baseMapper.listBySubcontractor(subcontractorId); } + @Override + public List listByEquipment(Long equipmentId) { + return this.baseMapper.listByEquipment(equipmentId); + } + private QueryWrapper commonQuery(String certificateNo, String certificateName, String equipmentNo, String equipmentName, String subcontractorName, String createTimeStart, String createTimeEnd){ QueryWrapper queryWrapper = new QueryWrapper<>(); if(StrUtil.isNotEmpty(certificateNo)){ diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/subcontract/ISubcontractCertificateService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/subcontract/ISubcontractCertificateService.java index 556fdc6..0f5e822 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/subcontract/ISubcontractCertificateService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/subcontract/ISubcontractCertificateService.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.equipment.EquipmentCertificateDTO; import com.casic.missiles.model.subcontract.SubcontractCertificate; import com.baomidou.mybatisplus.extension.service.IService; import org.springframework.web.multipart.MultipartFile; @@ -20,9 +21,9 @@ ReturnDTO batchImport(MultipartFile file); - boolean saveOrUpdateInfo(SubcontractCertificate subcontractCertificate); + void saveOrUpdateInfo(SubcontractCertificate subcontractCertificate); - boolean removeInfo(Long id); + void removeInfo(Long id); Page listScopePage(Page page,String certificateNo,String certificateName, String equipmentNo,String equipmentName,String subcontractorName, @@ -30,4 +31,6 @@ List listBySubcontractor(Long subcontractorId); + List listByEquipment(Long equipmentId); + }