diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java new file mode 100644 index 0000000..6284acf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EquipmentCertificateQueryForm 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-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java new file mode 100644 index 0000000..6284acf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EquipmentCertificateQueryForm 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/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java deleted file mode 100644 index 35d2d47..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java +++ /dev/null @@ -1,34 +0,0 @@ -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-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java new file mode 100644 index 0000000..6284acf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EquipmentCertificateQueryForm 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/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java deleted file mode 100644 index 35d2d47..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java +++ /dev/null @@ -1,34 +0,0 @@ -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/dto/equipment/EquipmentQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java new file mode 100644 index 0000000..040a368 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java @@ -0,0 +1,41 @@ +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 EquipmentQueryForm extends BaseQueryForm { + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("设备类型(1受检设备;2特种设备)") + private String equipmentType; + + @ApiModelProperty("使用部门") + private List deptIds; + + @ApiModelProperty("使用岗位") + private String usePosition; + + @ApiModelProperty("使用状态") + private String usageStatus; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; + + @ApiModelProperty("使用状态列表") + private List usageStatusList; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java new file mode 100644 index 0000000..6284acf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EquipmentCertificateQueryForm 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/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java deleted file mode 100644 index 35d2d47..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java +++ /dev/null @@ -1,34 +0,0 @@ -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/dto/equipment/EquipmentQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java new file mode 100644 index 0000000..040a368 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java @@ -0,0 +1,41 @@ +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 EquipmentQueryForm extends BaseQueryForm { + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("设备类型(1受检设备;2特种设备)") + private String equipmentType; + + @ApiModelProperty("使用部门") + private List deptIds; + + @ApiModelProperty("使用岗位") + private String usePosition; + + @ApiModelProperty("使用状态") + private String usageStatus; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; + + @ApiModelProperty("使用状态列表") + private List usageStatusList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java deleted file mode 100644 index f5f4a61..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java +++ /dev/null @@ -1,38 +0,0 @@ -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 EquipmentQueryFrom extends BaseQueryForm { - - @ApiModelProperty("统一编号") - private String equipmentNo; - - @ApiModelProperty("设备名称") - private String equipmentName; - - @ApiModelProperty("设备类型(1受检设备;2特种设备)") - private String equipmentType; - - @ApiModelProperty("使用部门") - private List deptIds; - - @ApiModelProperty("使用岗位") - private String usePosition; - - @ApiModelProperty("使用状态") - private String usageStatus; - - @ApiModelProperty("证书有效期开始时间") - private String certificateValidStart; - - @ApiModelProperty("证书有效期结束时间") - private String certificateValidEnd; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java new file mode 100644 index 0000000..6284acf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EquipmentCertificateQueryForm 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/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java deleted file mode 100644 index 35d2d47..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java +++ /dev/null @@ -1,34 +0,0 @@ -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/dto/equipment/EquipmentQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java new file mode 100644 index 0000000..040a368 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java @@ -0,0 +1,41 @@ +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 EquipmentQueryForm extends BaseQueryForm { + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("设备类型(1受检设备;2特种设备)") + private String equipmentType; + + @ApiModelProperty("使用部门") + private List deptIds; + + @ApiModelProperty("使用岗位") + private String usePosition; + + @ApiModelProperty("使用状态") + private String usageStatus; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; + + @ApiModelProperty("使用状态列表") + private List usageStatusList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java deleted file mode 100644 index f5f4a61..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java +++ /dev/null @@ -1,38 +0,0 @@ -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 EquipmentQueryFrom extends BaseQueryForm { - - @ApiModelProperty("统一编号") - private String equipmentNo; - - @ApiModelProperty("设备名称") - private String equipmentName; - - @ApiModelProperty("设备类型(1受检设备;2特种设备)") - private String equipmentType; - - @ApiModelProperty("使用部门") - private List deptIds; - - @ApiModelProperty("使用岗位") - private String usePosition; - - @ApiModelProperty("使用状态") - private String usageStatus; - - @ApiModelProperty("证书有效期开始时间") - private String certificateValidStart; - - @ApiModelProperty("证书有效期结束时间") - private String certificateValidEnd; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java index 391bfe0..2d3bd33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java @@ -7,6 +7,8 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,6 +31,7 @@ @ExcelIgnore @ApiModelProperty("使用情况") + @DictCodeField(cacheName = MeterDictCode.RFID_USAGE_STATUS) private String usageStatus; @ExcelProperty("使用情况") diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java new file mode 100644 index 0000000..6284acf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EquipmentCertificateQueryForm 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/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java deleted file mode 100644 index 35d2d47..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java +++ /dev/null @@ -1,34 +0,0 @@ -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/dto/equipment/EquipmentQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java new file mode 100644 index 0000000..040a368 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java @@ -0,0 +1,41 @@ +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 EquipmentQueryForm extends BaseQueryForm { + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("设备类型(1受检设备;2特种设备)") + private String equipmentType; + + @ApiModelProperty("使用部门") + private List deptIds; + + @ApiModelProperty("使用岗位") + private String usePosition; + + @ApiModelProperty("使用状态") + private String usageStatus; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; + + @ApiModelProperty("使用状态列表") + private List usageStatusList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java deleted file mode 100644 index f5f4a61..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java +++ /dev/null @@ -1,38 +0,0 @@ -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 EquipmentQueryFrom extends BaseQueryForm { - - @ApiModelProperty("统一编号") - private String equipmentNo; - - @ApiModelProperty("设备名称") - private String equipmentName; - - @ApiModelProperty("设备类型(1受检设备;2特种设备)") - private String equipmentType; - - @ApiModelProperty("使用部门") - private List deptIds; - - @ApiModelProperty("使用岗位") - private String usePosition; - - @ApiModelProperty("使用状态") - private String usageStatus; - - @ApiModelProperty("证书有效期开始时间") - private String certificateValidStart; - - @ApiModelProperty("证书有效期结束时间") - private String certificateValidEnd; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java index 391bfe0..2d3bd33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java @@ -7,6 +7,8 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,6 +31,7 @@ @ExcelIgnore @ApiModelProperty("使用情况") + @DictCodeField(cacheName = MeterDictCode.RFID_USAGE_STATUS) private String usageStatus; @ExcelProperty("使用情况") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java index f0515a5..d4b7ab5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java @@ -1,5 +1,11 @@ package com.casic.missiles.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModelProperty; @@ -9,6 +15,11 @@ @Getter @Setter +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class CommonApproval { @ApiModelProperty("主键") diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java new file mode 100644 index 0000000..6284acf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EquipmentCertificateQueryForm 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/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java deleted file mode 100644 index 35d2d47..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java +++ /dev/null @@ -1,34 +0,0 @@ -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/dto/equipment/EquipmentQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java new file mode 100644 index 0000000..040a368 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java @@ -0,0 +1,41 @@ +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 EquipmentQueryForm extends BaseQueryForm { + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("设备类型(1受检设备;2特种设备)") + private String equipmentType; + + @ApiModelProperty("使用部门") + private List deptIds; + + @ApiModelProperty("使用岗位") + private String usePosition; + + @ApiModelProperty("使用状态") + private String usageStatus; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; + + @ApiModelProperty("使用状态列表") + private List usageStatusList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java deleted file mode 100644 index f5f4a61..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java +++ /dev/null @@ -1,38 +0,0 @@ -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 EquipmentQueryFrom extends BaseQueryForm { - - @ApiModelProperty("统一编号") - private String equipmentNo; - - @ApiModelProperty("设备名称") - private String equipmentName; - - @ApiModelProperty("设备类型(1受检设备;2特种设备)") - private String equipmentType; - - @ApiModelProperty("使用部门") - private List deptIds; - - @ApiModelProperty("使用岗位") - private String usePosition; - - @ApiModelProperty("使用状态") - private String usageStatus; - - @ApiModelProperty("证书有效期开始时间") - private String certificateValidStart; - - @ApiModelProperty("证书有效期结束时间") - private String certificateValidEnd; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java index 391bfe0..2d3bd33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java @@ -7,6 +7,8 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,6 +31,7 @@ @ExcelIgnore @ApiModelProperty("使用情况") + @DictCodeField(cacheName = MeterDictCode.RFID_USAGE_STATUS) private String usageStatus; @ExcelProperty("使用情况") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java index f0515a5..d4b7ab5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java @@ -1,5 +1,11 @@ package com.casic.missiles.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModelProperty; @@ -9,6 +15,11 @@ @Getter @Setter +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class CommonApproval { @ApiModelProperty("主键") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java index 724e9d8..e08ea2a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java @@ -1,5 +1,13 @@ package com.casic.missiles.model.equipment; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; @@ -12,6 +20,7 @@ import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -27,6 +36,11 @@ @Getter @Setter @TableName("eqpt_equipment_info") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class EquipmentInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -40,6 +54,7 @@ */ @ApiModelProperty("设备编号") @TableField("equipment_no") + @ExcelProperty(value = "统一编号",index = 0) private String equipmentNo; /** @@ -47,6 +62,7 @@ */ @ApiModelProperty("设备名称") @TableField("equipment_name") + @ExcelProperty(value = "设备名称",index = 1) private String equipmentName; /** @@ -66,6 +82,7 @@ @ApiModelProperty("使用状态名称") @TableField(exist = false) + @ExcelProperty(value = "使用状态",index = 8) private String usageStatusName; /** @@ -94,6 +111,7 @@ */ @ApiModelProperty("出厂编号") @TableField("manufacture_no") + @ExcelProperty(value = "出厂编号",index = 3) private String manufactureNo; /** @@ -122,6 +140,7 @@ */ @ApiModelProperty("型号规格") @TableField("model") + @ExcelProperty(value = "型号规格",index = 2) private String model; /** @@ -165,6 +184,8 @@ */ @ApiModelProperty("检定周期(月)") @TableField("check_cycle") + @ExcelProperty(value = "检定周期(月)",index = 6) + @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN, horizontalAlignment = HorizontalAlignmentEnum.LEFT) private Integer checkCycle; /** @@ -172,6 +193,7 @@ */ @ApiModelProperty("备注") @TableField("remark") + @ExcelProperty(value = "备注",index = 9) private String remark; /** @@ -200,6 +222,7 @@ */ @ApiModelProperty("证书有效期") @TableField("certificate_valid") + @ExcelProperty(value = "证书有效期",index = 7, converter = DateExcelConverter.class) private Date certificateValid; /** @@ -207,13 +230,20 @@ */ @ApiModelProperty("计量标识") @TableField("meter_identify") + @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) private String meterIdentify; + @ApiModelProperty("计量标识名称") + @TableField(exist = false) + @ExcelProperty(value = "计量标识",index = 5) + private String meterIdentifyName; + /** * 使用岗位 */ @ApiModelProperty("使用岗位") @TableField("use_position") + @ExcelProperty(value = "使用岗位",index = 4) private String usePosition; /** diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java new file mode 100644 index 0000000..6284acf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EquipmentCertificateQueryForm 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/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java deleted file mode 100644 index 35d2d47..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java +++ /dev/null @@ -1,34 +0,0 @@ -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/dto/equipment/EquipmentQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java new file mode 100644 index 0000000..040a368 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java @@ -0,0 +1,41 @@ +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 EquipmentQueryForm extends BaseQueryForm { + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("设备类型(1受检设备;2特种设备)") + private String equipmentType; + + @ApiModelProperty("使用部门") + private List deptIds; + + @ApiModelProperty("使用岗位") + private String usePosition; + + @ApiModelProperty("使用状态") + private String usageStatus; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; + + @ApiModelProperty("使用状态列表") + private List usageStatusList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java deleted file mode 100644 index f5f4a61..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java +++ /dev/null @@ -1,38 +0,0 @@ -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 EquipmentQueryFrom extends BaseQueryForm { - - @ApiModelProperty("统一编号") - private String equipmentNo; - - @ApiModelProperty("设备名称") - private String equipmentName; - - @ApiModelProperty("设备类型(1受检设备;2特种设备)") - private String equipmentType; - - @ApiModelProperty("使用部门") - private List deptIds; - - @ApiModelProperty("使用岗位") - private String usePosition; - - @ApiModelProperty("使用状态") - private String usageStatus; - - @ApiModelProperty("证书有效期开始时间") - private String certificateValidStart; - - @ApiModelProperty("证书有效期结束时间") - private String certificateValidEnd; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java index 391bfe0..2d3bd33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java @@ -7,6 +7,8 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,6 +31,7 @@ @ExcelIgnore @ApiModelProperty("使用情况") + @DictCodeField(cacheName = MeterDictCode.RFID_USAGE_STATUS) private String usageStatus; @ExcelProperty("使用情况") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java index f0515a5..d4b7ab5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java @@ -1,5 +1,11 @@ package com.casic.missiles.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModelProperty; @@ -9,6 +15,11 @@ @Getter @Setter +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class CommonApproval { @ApiModelProperty("主键") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java index 724e9d8..e08ea2a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java @@ -1,5 +1,13 @@ package com.casic.missiles.model.equipment; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; @@ -12,6 +20,7 @@ import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -27,6 +36,11 @@ @Getter @Setter @TableName("eqpt_equipment_info") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class EquipmentInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -40,6 +54,7 @@ */ @ApiModelProperty("设备编号") @TableField("equipment_no") + @ExcelProperty(value = "统一编号",index = 0) private String equipmentNo; /** @@ -47,6 +62,7 @@ */ @ApiModelProperty("设备名称") @TableField("equipment_name") + @ExcelProperty(value = "设备名称",index = 1) private String equipmentName; /** @@ -66,6 +82,7 @@ @ApiModelProperty("使用状态名称") @TableField(exist = false) + @ExcelProperty(value = "使用状态",index = 8) private String usageStatusName; /** @@ -94,6 +111,7 @@ */ @ApiModelProperty("出厂编号") @TableField("manufacture_no") + @ExcelProperty(value = "出厂编号",index = 3) private String manufactureNo; /** @@ -122,6 +140,7 @@ */ @ApiModelProperty("型号规格") @TableField("model") + @ExcelProperty(value = "型号规格",index = 2) private String model; /** @@ -165,6 +184,8 @@ */ @ApiModelProperty("检定周期(月)") @TableField("check_cycle") + @ExcelProperty(value = "检定周期(月)",index = 6) + @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN, horizontalAlignment = HorizontalAlignmentEnum.LEFT) private Integer checkCycle; /** @@ -172,6 +193,7 @@ */ @ApiModelProperty("备注") @TableField("remark") + @ExcelProperty(value = "备注",index = 9) private String remark; /** @@ -200,6 +222,7 @@ */ @ApiModelProperty("证书有效期") @TableField("certificate_valid") + @ExcelProperty(value = "证书有效期",index = 7, converter = DateExcelConverter.class) private Date certificateValid; /** @@ -207,13 +230,20 @@ */ @ApiModelProperty("计量标识") @TableField("meter_identify") + @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) private String meterIdentify; + @ApiModelProperty("计量标识名称") + @TableField(exist = false) + @ExcelProperty(value = "计量标识",index = 5) + private String meterIdentifyName; + /** * 使用岗位 */ @ApiModelProperty("使用岗位") @TableField("use_position") + @ExcelProperty(value = "使用岗位",index = 4) private String usePosition; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java index 4e884eb..63bef34 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java @@ -8,10 +8,14 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_IMPLEMENT_STATUS; +import static com.casic.missiles.constants.MeterDictCode.FILE_TYPE; + /** *

* 受检设备-文档管理 @@ -81,15 +85,25 @@ */ @ApiModelProperty("文件类别") @TableField("file_type") + @DictCodeField(cacheName = FILE_TYPE) private String fileType; + @ApiModelProperty("文件类型名称") + @TableField(exist = false) + private String fileTypeName; + /** * 实施状态 */ @ApiModelProperty("实施状态") @TableField("implementation_status") + @DictCodeField(cacheName = FILE_IMPLEMENT_STATUS) private String implementationStatus; + @ApiModelProperty("实施状态名称") + @TableField(exist = false) + private String implementationStatusName; + /** * 文件附件 */ diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java new file mode 100644 index 0000000..6284acf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EquipmentCertificateQueryForm 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/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java deleted file mode 100644 index 35d2d47..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java +++ /dev/null @@ -1,34 +0,0 @@ -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/dto/equipment/EquipmentQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java new file mode 100644 index 0000000..040a368 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java @@ -0,0 +1,41 @@ +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 EquipmentQueryForm extends BaseQueryForm { + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("设备类型(1受检设备;2特种设备)") + private String equipmentType; + + @ApiModelProperty("使用部门") + private List deptIds; + + @ApiModelProperty("使用岗位") + private String usePosition; + + @ApiModelProperty("使用状态") + private String usageStatus; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; + + @ApiModelProperty("使用状态列表") + private List usageStatusList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java deleted file mode 100644 index f5f4a61..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java +++ /dev/null @@ -1,38 +0,0 @@ -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 EquipmentQueryFrom extends BaseQueryForm { - - @ApiModelProperty("统一编号") - private String equipmentNo; - - @ApiModelProperty("设备名称") - private String equipmentName; - - @ApiModelProperty("设备类型(1受检设备;2特种设备)") - private String equipmentType; - - @ApiModelProperty("使用部门") - private List deptIds; - - @ApiModelProperty("使用岗位") - private String usePosition; - - @ApiModelProperty("使用状态") - private String usageStatus; - - @ApiModelProperty("证书有效期开始时间") - private String certificateValidStart; - - @ApiModelProperty("证书有效期结束时间") - private String certificateValidEnd; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java index 391bfe0..2d3bd33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java @@ -7,6 +7,8 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,6 +31,7 @@ @ExcelIgnore @ApiModelProperty("使用情况") + @DictCodeField(cacheName = MeterDictCode.RFID_USAGE_STATUS) private String usageStatus; @ExcelProperty("使用情况") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java index f0515a5..d4b7ab5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java @@ -1,5 +1,11 @@ package com.casic.missiles.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModelProperty; @@ -9,6 +15,11 @@ @Getter @Setter +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class CommonApproval { @ApiModelProperty("主键") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java index 724e9d8..e08ea2a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java @@ -1,5 +1,13 @@ package com.casic.missiles.model.equipment; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; @@ -12,6 +20,7 @@ import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -27,6 +36,11 @@ @Getter @Setter @TableName("eqpt_equipment_info") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class EquipmentInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -40,6 +54,7 @@ */ @ApiModelProperty("设备编号") @TableField("equipment_no") + @ExcelProperty(value = "统一编号",index = 0) private String equipmentNo; /** @@ -47,6 +62,7 @@ */ @ApiModelProperty("设备名称") @TableField("equipment_name") + @ExcelProperty(value = "设备名称",index = 1) private String equipmentName; /** @@ -66,6 +82,7 @@ @ApiModelProperty("使用状态名称") @TableField(exist = false) + @ExcelProperty(value = "使用状态",index = 8) private String usageStatusName; /** @@ -94,6 +111,7 @@ */ @ApiModelProperty("出厂编号") @TableField("manufacture_no") + @ExcelProperty(value = "出厂编号",index = 3) private String manufactureNo; /** @@ -122,6 +140,7 @@ */ @ApiModelProperty("型号规格") @TableField("model") + @ExcelProperty(value = "型号规格",index = 2) private String model; /** @@ -165,6 +184,8 @@ */ @ApiModelProperty("检定周期(月)") @TableField("check_cycle") + @ExcelProperty(value = "检定周期(月)",index = 6) + @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN, horizontalAlignment = HorizontalAlignmentEnum.LEFT) private Integer checkCycle; /** @@ -172,6 +193,7 @@ */ @ApiModelProperty("备注") @TableField("remark") + @ExcelProperty(value = "备注",index = 9) private String remark; /** @@ -200,6 +222,7 @@ */ @ApiModelProperty("证书有效期") @TableField("certificate_valid") + @ExcelProperty(value = "证书有效期",index = 7, converter = DateExcelConverter.class) private Date certificateValid; /** @@ -207,13 +230,20 @@ */ @ApiModelProperty("计量标识") @TableField("meter_identify") + @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) private String meterIdentify; + @ApiModelProperty("计量标识名称") + @TableField(exist = false) + @ExcelProperty(value = "计量标识",index = 5) + private String meterIdentifyName; + /** * 使用岗位 */ @ApiModelProperty("使用岗位") @TableField("use_position") + @ExcelProperty(value = "使用岗位",index = 4) private String usePosition; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java index 4e884eb..63bef34 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java @@ -8,10 +8,14 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_IMPLEMENT_STATUS; +import static com.casic.missiles.constants.MeterDictCode.FILE_TYPE; + /** *

* 受检设备-文档管理 @@ -81,15 +85,25 @@ */ @ApiModelProperty("文件类别") @TableField("file_type") + @DictCodeField(cacheName = FILE_TYPE) private String fileType; + @ApiModelProperty("文件类型名称") + @TableField(exist = false) + private String fileTypeName; + /** * 实施状态 */ @ApiModelProperty("实施状态") @TableField("implementation_status") + @DictCodeField(cacheName = FILE_IMPLEMENT_STATUS) private String implementationStatus; + @ApiModelProperty("实施状态名称") + @TableField(exist = false) + private String implementationStatusName; + /** * 文件附件 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java index 5862e11..fdd06e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java @@ -8,10 +8,13 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_LOG_TYPE; + /** *

* 受检设备-文档管理-变更记录表 @@ -46,8 +49,13 @@ */ @ApiModelProperty("变更类型") @TableField("log_type") + @DictCodeField(cacheName = FILE_LOG_TYPE) private String logType; + @ApiModelProperty("变更类型名称") + @TableField(exist = false) + private String logTypeName; + /** * 变更人id */ diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java new file mode 100644 index 0000000..6284acf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EquipmentCertificateQueryForm 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/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java deleted file mode 100644 index 35d2d47..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java +++ /dev/null @@ -1,34 +0,0 @@ -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/dto/equipment/EquipmentQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java new file mode 100644 index 0000000..040a368 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java @@ -0,0 +1,41 @@ +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 EquipmentQueryForm extends BaseQueryForm { + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("设备类型(1受检设备;2特种设备)") + private String equipmentType; + + @ApiModelProperty("使用部门") + private List deptIds; + + @ApiModelProperty("使用岗位") + private String usePosition; + + @ApiModelProperty("使用状态") + private String usageStatus; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; + + @ApiModelProperty("使用状态列表") + private List usageStatusList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java deleted file mode 100644 index f5f4a61..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java +++ /dev/null @@ -1,38 +0,0 @@ -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 EquipmentQueryFrom extends BaseQueryForm { - - @ApiModelProperty("统一编号") - private String equipmentNo; - - @ApiModelProperty("设备名称") - private String equipmentName; - - @ApiModelProperty("设备类型(1受检设备;2特种设备)") - private String equipmentType; - - @ApiModelProperty("使用部门") - private List deptIds; - - @ApiModelProperty("使用岗位") - private String usePosition; - - @ApiModelProperty("使用状态") - private String usageStatus; - - @ApiModelProperty("证书有效期开始时间") - private String certificateValidStart; - - @ApiModelProperty("证书有效期结束时间") - private String certificateValidEnd; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java index 391bfe0..2d3bd33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java @@ -7,6 +7,8 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,6 +31,7 @@ @ExcelIgnore @ApiModelProperty("使用情况") + @DictCodeField(cacheName = MeterDictCode.RFID_USAGE_STATUS) private String usageStatus; @ExcelProperty("使用情况") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java index f0515a5..d4b7ab5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java @@ -1,5 +1,11 @@ package com.casic.missiles.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModelProperty; @@ -9,6 +15,11 @@ @Getter @Setter +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class CommonApproval { @ApiModelProperty("主键") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java index 724e9d8..e08ea2a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java @@ -1,5 +1,13 @@ package com.casic.missiles.model.equipment; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; @@ -12,6 +20,7 @@ import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -27,6 +36,11 @@ @Getter @Setter @TableName("eqpt_equipment_info") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class EquipmentInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -40,6 +54,7 @@ */ @ApiModelProperty("设备编号") @TableField("equipment_no") + @ExcelProperty(value = "统一编号",index = 0) private String equipmentNo; /** @@ -47,6 +62,7 @@ */ @ApiModelProperty("设备名称") @TableField("equipment_name") + @ExcelProperty(value = "设备名称",index = 1) private String equipmentName; /** @@ -66,6 +82,7 @@ @ApiModelProperty("使用状态名称") @TableField(exist = false) + @ExcelProperty(value = "使用状态",index = 8) private String usageStatusName; /** @@ -94,6 +111,7 @@ */ @ApiModelProperty("出厂编号") @TableField("manufacture_no") + @ExcelProperty(value = "出厂编号",index = 3) private String manufactureNo; /** @@ -122,6 +140,7 @@ */ @ApiModelProperty("型号规格") @TableField("model") + @ExcelProperty(value = "型号规格",index = 2) private String model; /** @@ -165,6 +184,8 @@ */ @ApiModelProperty("检定周期(月)") @TableField("check_cycle") + @ExcelProperty(value = "检定周期(月)",index = 6) + @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN, horizontalAlignment = HorizontalAlignmentEnum.LEFT) private Integer checkCycle; /** @@ -172,6 +193,7 @@ */ @ApiModelProperty("备注") @TableField("remark") + @ExcelProperty(value = "备注",index = 9) private String remark; /** @@ -200,6 +222,7 @@ */ @ApiModelProperty("证书有效期") @TableField("certificate_valid") + @ExcelProperty(value = "证书有效期",index = 7, converter = DateExcelConverter.class) private Date certificateValid; /** @@ -207,13 +230,20 @@ */ @ApiModelProperty("计量标识") @TableField("meter_identify") + @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) private String meterIdentify; + @ApiModelProperty("计量标识名称") + @TableField(exist = false) + @ExcelProperty(value = "计量标识",index = 5) + private String meterIdentifyName; + /** * 使用岗位 */ @ApiModelProperty("使用岗位") @TableField("use_position") + @ExcelProperty(value = "使用岗位",index = 4) private String usePosition; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java index 4e884eb..63bef34 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java @@ -8,10 +8,14 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_IMPLEMENT_STATUS; +import static com.casic.missiles.constants.MeterDictCode.FILE_TYPE; + /** *

* 受检设备-文档管理 @@ -81,15 +85,25 @@ */ @ApiModelProperty("文件类别") @TableField("file_type") + @DictCodeField(cacheName = FILE_TYPE) private String fileType; + @ApiModelProperty("文件类型名称") + @TableField(exist = false) + private String fileTypeName; + /** * 实施状态 */ @ApiModelProperty("实施状态") @TableField("implementation_status") + @DictCodeField(cacheName = FILE_IMPLEMENT_STATUS) private String implementationStatus; + @ApiModelProperty("实施状态名称") + @TableField(exist = false) + private String implementationStatusName; + /** * 文件附件 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java index 5862e11..fdd06e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java @@ -8,10 +8,13 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_LOG_TYPE; + /** *

* 受检设备-文档管理-变更记录表 @@ -46,8 +49,13 @@ */ @ApiModelProperty("变更类型") @TableField("log_type") + @DictCodeField(cacheName = FILE_LOG_TYPE) private String logType; + @ApiModelProperty("变更类型名称") + @TableField(exist = false) + private String logTypeName; + /** * 变更人id */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java index 662e2f6..a01b8d9 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java @@ -1,13 +1,19 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; + import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; +import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,18 +35,20 @@ /** * 主键 */ - @TableId("id") + @TableId("id") private Long id; /** * 申请编号 */ @TableField("approval_no") + @ExcelProperty("申请编号") private String approvalNo; /** * 申请名称 */ + @ExcelProperty("申请名称") @TableField("approval_name") private String approvalName; @@ -55,31 +63,6 @@ */ @TableField("reason") private String reason; - - /** - * 创建人id - */ - @TableField("create_user_id") - private Long createUserId; - - /** - * 创建人姓名 - */ - @TableField("create_user_name") - private String createUserName; - - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - - /** - * 更新时间 - */ - @TableField("update_time") - private Date updateTime; - /** * 创建人部门id */ @@ -89,8 +72,36 @@ /** * 创建人部门名称 */ + @ExcelProperty("创建单位") @TableField("create_dept_name") private String createDeptName; + /** + * 创建人id + */ + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ExcelProperty("创建人") + @TableField("create_user_name") + private String createUserName; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + /** * 流程实例id @@ -102,7 +113,12 @@ * 申请状态 */ @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java new file mode 100644 index 0000000..6284acf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EquipmentCertificateQueryForm 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/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java deleted file mode 100644 index 35d2d47..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java +++ /dev/null @@ -1,34 +0,0 @@ -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/dto/equipment/EquipmentQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java new file mode 100644 index 0000000..040a368 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java @@ -0,0 +1,41 @@ +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 EquipmentQueryForm extends BaseQueryForm { + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("设备类型(1受检设备;2特种设备)") + private String equipmentType; + + @ApiModelProperty("使用部门") + private List deptIds; + + @ApiModelProperty("使用岗位") + private String usePosition; + + @ApiModelProperty("使用状态") + private String usageStatus; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; + + @ApiModelProperty("使用状态列表") + private List usageStatusList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java deleted file mode 100644 index f5f4a61..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java +++ /dev/null @@ -1,38 +0,0 @@ -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 EquipmentQueryFrom extends BaseQueryForm { - - @ApiModelProperty("统一编号") - private String equipmentNo; - - @ApiModelProperty("设备名称") - private String equipmentName; - - @ApiModelProperty("设备类型(1受检设备;2特种设备)") - private String equipmentType; - - @ApiModelProperty("使用部门") - private List deptIds; - - @ApiModelProperty("使用岗位") - private String usePosition; - - @ApiModelProperty("使用状态") - private String usageStatus; - - @ApiModelProperty("证书有效期开始时间") - private String certificateValidStart; - - @ApiModelProperty("证书有效期结束时间") - private String certificateValidEnd; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java index 391bfe0..2d3bd33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java @@ -7,6 +7,8 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,6 +31,7 @@ @ExcelIgnore @ApiModelProperty("使用情况") + @DictCodeField(cacheName = MeterDictCode.RFID_USAGE_STATUS) private String usageStatus; @ExcelProperty("使用情况") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java index f0515a5..d4b7ab5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java @@ -1,5 +1,11 @@ package com.casic.missiles.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModelProperty; @@ -9,6 +15,11 @@ @Getter @Setter +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class CommonApproval { @ApiModelProperty("主键") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java index 724e9d8..e08ea2a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java @@ -1,5 +1,13 @@ package com.casic.missiles.model.equipment; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; @@ -12,6 +20,7 @@ import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -27,6 +36,11 @@ @Getter @Setter @TableName("eqpt_equipment_info") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class EquipmentInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -40,6 +54,7 @@ */ @ApiModelProperty("设备编号") @TableField("equipment_no") + @ExcelProperty(value = "统一编号",index = 0) private String equipmentNo; /** @@ -47,6 +62,7 @@ */ @ApiModelProperty("设备名称") @TableField("equipment_name") + @ExcelProperty(value = "设备名称",index = 1) private String equipmentName; /** @@ -66,6 +82,7 @@ @ApiModelProperty("使用状态名称") @TableField(exist = false) + @ExcelProperty(value = "使用状态",index = 8) private String usageStatusName; /** @@ -94,6 +111,7 @@ */ @ApiModelProperty("出厂编号") @TableField("manufacture_no") + @ExcelProperty(value = "出厂编号",index = 3) private String manufactureNo; /** @@ -122,6 +140,7 @@ */ @ApiModelProperty("型号规格") @TableField("model") + @ExcelProperty(value = "型号规格",index = 2) private String model; /** @@ -165,6 +184,8 @@ */ @ApiModelProperty("检定周期(月)") @TableField("check_cycle") + @ExcelProperty(value = "检定周期(月)",index = 6) + @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN, horizontalAlignment = HorizontalAlignmentEnum.LEFT) private Integer checkCycle; /** @@ -172,6 +193,7 @@ */ @ApiModelProperty("备注") @TableField("remark") + @ExcelProperty(value = "备注",index = 9) private String remark; /** @@ -200,6 +222,7 @@ */ @ApiModelProperty("证书有效期") @TableField("certificate_valid") + @ExcelProperty(value = "证书有效期",index = 7, converter = DateExcelConverter.class) private Date certificateValid; /** @@ -207,13 +230,20 @@ */ @ApiModelProperty("计量标识") @TableField("meter_identify") + @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) private String meterIdentify; + @ApiModelProperty("计量标识名称") + @TableField(exist = false) + @ExcelProperty(value = "计量标识",index = 5) + private String meterIdentifyName; + /** * 使用岗位 */ @ApiModelProperty("使用岗位") @TableField("use_position") + @ExcelProperty(value = "使用岗位",index = 4) private String usePosition; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java index 4e884eb..63bef34 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java @@ -8,10 +8,14 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_IMPLEMENT_STATUS; +import static com.casic.missiles.constants.MeterDictCode.FILE_TYPE; + /** *

* 受检设备-文档管理 @@ -81,15 +85,25 @@ */ @ApiModelProperty("文件类别") @TableField("file_type") + @DictCodeField(cacheName = FILE_TYPE) private String fileType; + @ApiModelProperty("文件类型名称") + @TableField(exist = false) + private String fileTypeName; + /** * 实施状态 */ @ApiModelProperty("实施状态") @TableField("implementation_status") + @DictCodeField(cacheName = FILE_IMPLEMENT_STATUS) private String implementationStatus; + @ApiModelProperty("实施状态名称") + @TableField(exist = false) + private String implementationStatusName; + /** * 文件附件 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java index 5862e11..fdd06e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java @@ -8,10 +8,13 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_LOG_TYPE; + /** *

* 受检设备-文档管理-变更记录表 @@ -46,8 +49,13 @@ */ @ApiModelProperty("变更类型") @TableField("log_type") + @DictCodeField(cacheName = FILE_LOG_TYPE) private String logType; + @ApiModelProperty("变更类型名称") + @TableField(exist = false) + private String logTypeName; + /** * 变更人id */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java index 662e2f6..a01b8d9 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java @@ -1,13 +1,19 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; + import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; +import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,18 +35,20 @@ /** * 主键 */ - @TableId("id") + @TableId("id") private Long id; /** * 申请编号 */ @TableField("approval_no") + @ExcelProperty("申请编号") private String approvalNo; /** * 申请名称 */ + @ExcelProperty("申请名称") @TableField("approval_name") private String approvalName; @@ -55,31 +63,6 @@ */ @TableField("reason") private String reason; - - /** - * 创建人id - */ - @TableField("create_user_id") - private Long createUserId; - - /** - * 创建人姓名 - */ - @TableField("create_user_name") - private String createUserName; - - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - - /** - * 更新时间 - */ - @TableField("update_time") - private Date updateTime; - /** * 创建人部门id */ @@ -89,8 +72,36 @@ /** * 创建人部门名称 */ + @ExcelProperty("创建单位") @TableField("create_dept_name") private String createDeptName; + /** + * 创建人id + */ + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ExcelProperty("创建人") + @TableField("create_user_name") + private String createUserName; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + /** * 流程实例id @@ -102,7 +113,12 @@ * 申请状态 */ @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java index 7d6be90..97b522a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java @@ -1,14 +1,22 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; import java.util.Date; import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.annotation.EqptExportModel; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -41,6 +49,7 @@ */ @ApiModelProperty("计划编号") @TableField("plan_no") + @ExcelProperty("计划编号") private String planNo; /** @@ -48,6 +57,7 @@ */ @ApiModelProperty("计划名称") @TableField("plan_name") + @ExcelProperty("计划名称") private String planName; /** @@ -60,6 +70,7 @@ @ApiModelProperty("计划分类名称") @TableField(exist = false) + @ExcelProperty("计划分类") private String planCategoryName; /** @@ -97,19 +108,7 @@ @TableField("remark") private String remark; - /** - * 创建人id - */ - @ApiModelProperty("创建人id") - @TableField("create_user_id") - private Long createUserId; - /** - * 创建人姓名 - */ - @ApiModelProperty("创建人姓名") - @TableField("create_user_name") - private String createUserName; /** * 创建单位id @@ -123,13 +122,29 @@ */ @ApiModelProperty("创建单位名称") @TableField("create_dept_name") + @ExcelProperty("创建单位") private String createDeptName; + /** + * 创建人id + */ + @ApiModelProperty("创建人id") + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ApiModelProperty("创建人姓名") + @TableField("create_user_name") + @ExcelProperty("创建人") + private String createUserName; /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java new file mode 100644 index 0000000..6284acf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EquipmentCertificateQueryForm 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/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java deleted file mode 100644 index 35d2d47..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java +++ /dev/null @@ -1,34 +0,0 @@ -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/dto/equipment/EquipmentQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java new file mode 100644 index 0000000..040a368 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java @@ -0,0 +1,41 @@ +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 EquipmentQueryForm extends BaseQueryForm { + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("设备类型(1受检设备;2特种设备)") + private String equipmentType; + + @ApiModelProperty("使用部门") + private List deptIds; + + @ApiModelProperty("使用岗位") + private String usePosition; + + @ApiModelProperty("使用状态") + private String usageStatus; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; + + @ApiModelProperty("使用状态列表") + private List usageStatusList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java deleted file mode 100644 index f5f4a61..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java +++ /dev/null @@ -1,38 +0,0 @@ -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 EquipmentQueryFrom extends BaseQueryForm { - - @ApiModelProperty("统一编号") - private String equipmentNo; - - @ApiModelProperty("设备名称") - private String equipmentName; - - @ApiModelProperty("设备类型(1受检设备;2特种设备)") - private String equipmentType; - - @ApiModelProperty("使用部门") - private List deptIds; - - @ApiModelProperty("使用岗位") - private String usePosition; - - @ApiModelProperty("使用状态") - private String usageStatus; - - @ApiModelProperty("证书有效期开始时间") - private String certificateValidStart; - - @ApiModelProperty("证书有效期结束时间") - private String certificateValidEnd; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java index 391bfe0..2d3bd33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java @@ -7,6 +7,8 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,6 +31,7 @@ @ExcelIgnore @ApiModelProperty("使用情况") + @DictCodeField(cacheName = MeterDictCode.RFID_USAGE_STATUS) private String usageStatus; @ExcelProperty("使用情况") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java index f0515a5..d4b7ab5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java @@ -1,5 +1,11 @@ package com.casic.missiles.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModelProperty; @@ -9,6 +15,11 @@ @Getter @Setter +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class CommonApproval { @ApiModelProperty("主键") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java index 724e9d8..e08ea2a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java @@ -1,5 +1,13 @@ package com.casic.missiles.model.equipment; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; @@ -12,6 +20,7 @@ import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -27,6 +36,11 @@ @Getter @Setter @TableName("eqpt_equipment_info") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class EquipmentInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -40,6 +54,7 @@ */ @ApiModelProperty("设备编号") @TableField("equipment_no") + @ExcelProperty(value = "统一编号",index = 0) private String equipmentNo; /** @@ -47,6 +62,7 @@ */ @ApiModelProperty("设备名称") @TableField("equipment_name") + @ExcelProperty(value = "设备名称",index = 1) private String equipmentName; /** @@ -66,6 +82,7 @@ @ApiModelProperty("使用状态名称") @TableField(exist = false) + @ExcelProperty(value = "使用状态",index = 8) private String usageStatusName; /** @@ -94,6 +111,7 @@ */ @ApiModelProperty("出厂编号") @TableField("manufacture_no") + @ExcelProperty(value = "出厂编号",index = 3) private String manufactureNo; /** @@ -122,6 +140,7 @@ */ @ApiModelProperty("型号规格") @TableField("model") + @ExcelProperty(value = "型号规格",index = 2) private String model; /** @@ -165,6 +184,8 @@ */ @ApiModelProperty("检定周期(月)") @TableField("check_cycle") + @ExcelProperty(value = "检定周期(月)",index = 6) + @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN, horizontalAlignment = HorizontalAlignmentEnum.LEFT) private Integer checkCycle; /** @@ -172,6 +193,7 @@ */ @ApiModelProperty("备注") @TableField("remark") + @ExcelProperty(value = "备注",index = 9) private String remark; /** @@ -200,6 +222,7 @@ */ @ApiModelProperty("证书有效期") @TableField("certificate_valid") + @ExcelProperty(value = "证书有效期",index = 7, converter = DateExcelConverter.class) private Date certificateValid; /** @@ -207,13 +230,20 @@ */ @ApiModelProperty("计量标识") @TableField("meter_identify") + @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) private String meterIdentify; + @ApiModelProperty("计量标识名称") + @TableField(exist = false) + @ExcelProperty(value = "计量标识",index = 5) + private String meterIdentifyName; + /** * 使用岗位 */ @ApiModelProperty("使用岗位") @TableField("use_position") + @ExcelProperty(value = "使用岗位",index = 4) private String usePosition; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java index 4e884eb..63bef34 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java @@ -8,10 +8,14 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_IMPLEMENT_STATUS; +import static com.casic.missiles.constants.MeterDictCode.FILE_TYPE; + /** *

* 受检设备-文档管理 @@ -81,15 +85,25 @@ */ @ApiModelProperty("文件类别") @TableField("file_type") + @DictCodeField(cacheName = FILE_TYPE) private String fileType; + @ApiModelProperty("文件类型名称") + @TableField(exist = false) + private String fileTypeName; + /** * 实施状态 */ @ApiModelProperty("实施状态") @TableField("implementation_status") + @DictCodeField(cacheName = FILE_IMPLEMENT_STATUS) private String implementationStatus; + @ApiModelProperty("实施状态名称") + @TableField(exist = false) + private String implementationStatusName; + /** * 文件附件 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java index 5862e11..fdd06e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java @@ -8,10 +8,13 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_LOG_TYPE; + /** *

* 受检设备-文档管理-变更记录表 @@ -46,8 +49,13 @@ */ @ApiModelProperty("变更类型") @TableField("log_type") + @DictCodeField(cacheName = FILE_LOG_TYPE) private String logType; + @ApiModelProperty("变更类型名称") + @TableField(exist = false) + private String logTypeName; + /** * 变更人id */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java index 662e2f6..a01b8d9 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java @@ -1,13 +1,19 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; + import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; +import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,18 +35,20 @@ /** * 主键 */ - @TableId("id") + @TableId("id") private Long id; /** * 申请编号 */ @TableField("approval_no") + @ExcelProperty("申请编号") private String approvalNo; /** * 申请名称 */ + @ExcelProperty("申请名称") @TableField("approval_name") private String approvalName; @@ -55,31 +63,6 @@ */ @TableField("reason") private String reason; - - /** - * 创建人id - */ - @TableField("create_user_id") - private Long createUserId; - - /** - * 创建人姓名 - */ - @TableField("create_user_name") - private String createUserName; - - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - - /** - * 更新时间 - */ - @TableField("update_time") - private Date updateTime; - /** * 创建人部门id */ @@ -89,8 +72,36 @@ /** * 创建人部门名称 */ + @ExcelProperty("创建单位") @TableField("create_dept_name") private String createDeptName; + /** + * 创建人id + */ + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ExcelProperty("创建人") + @TableField("create_user_name") + private String createUserName; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + /** * 流程实例id @@ -102,7 +113,12 @@ * 申请状态 */ @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java index 7d6be90..97b522a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java @@ -1,14 +1,22 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; import java.util.Date; import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.annotation.EqptExportModel; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -41,6 +49,7 @@ */ @ApiModelProperty("计划编号") @TableField("plan_no") + @ExcelProperty("计划编号") private String planNo; /** @@ -48,6 +57,7 @@ */ @ApiModelProperty("计划名称") @TableField("plan_name") + @ExcelProperty("计划名称") private String planName; /** @@ -60,6 +70,7 @@ @ApiModelProperty("计划分类名称") @TableField(exist = false) + @ExcelProperty("计划分类") private String planCategoryName; /** @@ -97,19 +108,7 @@ @TableField("remark") private String remark; - /** - * 创建人id - */ - @ApiModelProperty("创建人id") - @TableField("create_user_id") - private Long createUserId; - /** - * 创建人姓名 - */ - @ApiModelProperty("创建人姓名") - @TableField("create_user_name") - private String createUserName; /** * 创建单位id @@ -123,13 +122,29 @@ */ @ApiModelProperty("创建单位名称") @TableField("create_dept_name") + @ExcelProperty("创建单位") private String createDeptName; + /** + * 创建人id + */ + @ApiModelProperty("创建人id") + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ApiModelProperty("创建人姓名") + @TableField("create_user_name") + @ExcelProperty("创建人") + private String createUserName; /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java index 79461e6..ce39fb7 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java @@ -8,6 +8,8 @@ import java.util.Date; import java.util.List; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import com.casic.missiles.model.CommonApproval; import com.casic.missiles.model.equipment.EquipmentAttachment; import com.casic.missiles.model.equipment.EquipmentInfo; @@ -64,9 +66,10 @@ */ @ApiModelProperty("申请状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; - @ApiModelProperty("申请状态名称") + @ApiModelProperty("审批状态名称") @TableField(exist = false) private String approvalStatusName; diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java new file mode 100644 index 0000000..6284acf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EquipmentCertificateQueryForm 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/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java deleted file mode 100644 index 35d2d47..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java +++ /dev/null @@ -1,34 +0,0 @@ -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/dto/equipment/EquipmentQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java new file mode 100644 index 0000000..040a368 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java @@ -0,0 +1,41 @@ +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 EquipmentQueryForm extends BaseQueryForm { + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("设备类型(1受检设备;2特种设备)") + private String equipmentType; + + @ApiModelProperty("使用部门") + private List deptIds; + + @ApiModelProperty("使用岗位") + private String usePosition; + + @ApiModelProperty("使用状态") + private String usageStatus; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; + + @ApiModelProperty("使用状态列表") + private List usageStatusList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java deleted file mode 100644 index f5f4a61..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java +++ /dev/null @@ -1,38 +0,0 @@ -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 EquipmentQueryFrom extends BaseQueryForm { - - @ApiModelProperty("统一编号") - private String equipmentNo; - - @ApiModelProperty("设备名称") - private String equipmentName; - - @ApiModelProperty("设备类型(1受检设备;2特种设备)") - private String equipmentType; - - @ApiModelProperty("使用部门") - private List deptIds; - - @ApiModelProperty("使用岗位") - private String usePosition; - - @ApiModelProperty("使用状态") - private String usageStatus; - - @ApiModelProperty("证书有效期开始时间") - private String certificateValidStart; - - @ApiModelProperty("证书有效期结束时间") - private String certificateValidEnd; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java index 391bfe0..2d3bd33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java @@ -7,6 +7,8 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,6 +31,7 @@ @ExcelIgnore @ApiModelProperty("使用情况") + @DictCodeField(cacheName = MeterDictCode.RFID_USAGE_STATUS) private String usageStatus; @ExcelProperty("使用情况") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java index f0515a5..d4b7ab5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java @@ -1,5 +1,11 @@ package com.casic.missiles.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModelProperty; @@ -9,6 +15,11 @@ @Getter @Setter +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class CommonApproval { @ApiModelProperty("主键") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java index 724e9d8..e08ea2a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java @@ -1,5 +1,13 @@ package com.casic.missiles.model.equipment; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; @@ -12,6 +20,7 @@ import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -27,6 +36,11 @@ @Getter @Setter @TableName("eqpt_equipment_info") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class EquipmentInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -40,6 +54,7 @@ */ @ApiModelProperty("设备编号") @TableField("equipment_no") + @ExcelProperty(value = "统一编号",index = 0) private String equipmentNo; /** @@ -47,6 +62,7 @@ */ @ApiModelProperty("设备名称") @TableField("equipment_name") + @ExcelProperty(value = "设备名称",index = 1) private String equipmentName; /** @@ -66,6 +82,7 @@ @ApiModelProperty("使用状态名称") @TableField(exist = false) + @ExcelProperty(value = "使用状态",index = 8) private String usageStatusName; /** @@ -94,6 +111,7 @@ */ @ApiModelProperty("出厂编号") @TableField("manufacture_no") + @ExcelProperty(value = "出厂编号",index = 3) private String manufactureNo; /** @@ -122,6 +140,7 @@ */ @ApiModelProperty("型号规格") @TableField("model") + @ExcelProperty(value = "型号规格",index = 2) private String model; /** @@ -165,6 +184,8 @@ */ @ApiModelProperty("检定周期(月)") @TableField("check_cycle") + @ExcelProperty(value = "检定周期(月)",index = 6) + @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN, horizontalAlignment = HorizontalAlignmentEnum.LEFT) private Integer checkCycle; /** @@ -172,6 +193,7 @@ */ @ApiModelProperty("备注") @TableField("remark") + @ExcelProperty(value = "备注",index = 9) private String remark; /** @@ -200,6 +222,7 @@ */ @ApiModelProperty("证书有效期") @TableField("certificate_valid") + @ExcelProperty(value = "证书有效期",index = 7, converter = DateExcelConverter.class) private Date certificateValid; /** @@ -207,13 +230,20 @@ */ @ApiModelProperty("计量标识") @TableField("meter_identify") + @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) private String meterIdentify; + @ApiModelProperty("计量标识名称") + @TableField(exist = false) + @ExcelProperty(value = "计量标识",index = 5) + private String meterIdentifyName; + /** * 使用岗位 */ @ApiModelProperty("使用岗位") @TableField("use_position") + @ExcelProperty(value = "使用岗位",index = 4) private String usePosition; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java index 4e884eb..63bef34 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java @@ -8,10 +8,14 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_IMPLEMENT_STATUS; +import static com.casic.missiles.constants.MeterDictCode.FILE_TYPE; + /** *

* 受检设备-文档管理 @@ -81,15 +85,25 @@ */ @ApiModelProperty("文件类别") @TableField("file_type") + @DictCodeField(cacheName = FILE_TYPE) private String fileType; + @ApiModelProperty("文件类型名称") + @TableField(exist = false) + private String fileTypeName; + /** * 实施状态 */ @ApiModelProperty("实施状态") @TableField("implementation_status") + @DictCodeField(cacheName = FILE_IMPLEMENT_STATUS) private String implementationStatus; + @ApiModelProperty("实施状态名称") + @TableField(exist = false) + private String implementationStatusName; + /** * 文件附件 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java index 5862e11..fdd06e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java @@ -8,10 +8,13 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_LOG_TYPE; + /** *

* 受检设备-文档管理-变更记录表 @@ -46,8 +49,13 @@ */ @ApiModelProperty("变更类型") @TableField("log_type") + @DictCodeField(cacheName = FILE_LOG_TYPE) private String logType; + @ApiModelProperty("变更类型名称") + @TableField(exist = false) + private String logTypeName; + /** * 变更人id */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java index 662e2f6..a01b8d9 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java @@ -1,13 +1,19 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; + import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; +import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,18 +35,20 @@ /** * 主键 */ - @TableId("id") + @TableId("id") private Long id; /** * 申请编号 */ @TableField("approval_no") + @ExcelProperty("申请编号") private String approvalNo; /** * 申请名称 */ + @ExcelProperty("申请名称") @TableField("approval_name") private String approvalName; @@ -55,31 +63,6 @@ */ @TableField("reason") private String reason; - - /** - * 创建人id - */ - @TableField("create_user_id") - private Long createUserId; - - /** - * 创建人姓名 - */ - @TableField("create_user_name") - private String createUserName; - - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - - /** - * 更新时间 - */ - @TableField("update_time") - private Date updateTime; - /** * 创建人部门id */ @@ -89,8 +72,36 @@ /** * 创建人部门名称 */ + @ExcelProperty("创建单位") @TableField("create_dept_name") private String createDeptName; + /** + * 创建人id + */ + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ExcelProperty("创建人") + @TableField("create_user_name") + private String createUserName; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + /** * 流程实例id @@ -102,7 +113,12 @@ * 申请状态 */ @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java index 7d6be90..97b522a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java @@ -1,14 +1,22 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; import java.util.Date; import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.annotation.EqptExportModel; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -41,6 +49,7 @@ */ @ApiModelProperty("计划编号") @TableField("plan_no") + @ExcelProperty("计划编号") private String planNo; /** @@ -48,6 +57,7 @@ */ @ApiModelProperty("计划名称") @TableField("plan_name") + @ExcelProperty("计划名称") private String planName; /** @@ -60,6 +70,7 @@ @ApiModelProperty("计划分类名称") @TableField(exist = false) + @ExcelProperty("计划分类") private String planCategoryName; /** @@ -97,19 +108,7 @@ @TableField("remark") private String remark; - /** - * 创建人id - */ - @ApiModelProperty("创建人id") - @TableField("create_user_id") - private Long createUserId; - /** - * 创建人姓名 - */ - @ApiModelProperty("创建人姓名") - @TableField("create_user_name") - private String createUserName; /** * 创建单位id @@ -123,13 +122,29 @@ */ @ApiModelProperty("创建单位名称") @TableField("create_dept_name") + @ExcelProperty("创建单位") private String createDeptName; + /** + * 创建人id + */ + @ApiModelProperty("创建人id") + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ApiModelProperty("创建人姓名") + @TableField("create_user_name") + @ExcelProperty("创建人") + private String createUserName; /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java index 79461e6..ce39fb7 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java @@ -8,6 +8,8 @@ import java.util.Date; import java.util.List; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import com.casic.missiles.model.CommonApproval; import com.casic.missiles.model.equipment.EquipmentAttachment; import com.casic.missiles.model.equipment.EquipmentInfo; @@ -64,9 +66,10 @@ */ @ApiModelProperty("申请状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; - @ApiModelProperty("申请状态名称") + @ApiModelProperty("审批状态名称") @TableField(exist = false) private String approvalStatusName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java index 130f5cf..7e4a4de 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java @@ -40,11 +40,11 @@ @TableField("status_type") @ApiModelProperty("状态变更类型") + @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusType; @TableField(exist = false) @ApiModelProperty("状态变更类型名称") - @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusTypeName; @TableField("start_time") diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java new file mode 100644 index 0000000..6284acf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EquipmentCertificateQueryForm 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/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java deleted file mode 100644 index 35d2d47..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java +++ /dev/null @@ -1,34 +0,0 @@ -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/dto/equipment/EquipmentQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java new file mode 100644 index 0000000..040a368 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java @@ -0,0 +1,41 @@ +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 EquipmentQueryForm extends BaseQueryForm { + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("设备类型(1受检设备;2特种设备)") + private String equipmentType; + + @ApiModelProperty("使用部门") + private List deptIds; + + @ApiModelProperty("使用岗位") + private String usePosition; + + @ApiModelProperty("使用状态") + private String usageStatus; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; + + @ApiModelProperty("使用状态列表") + private List usageStatusList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java deleted file mode 100644 index f5f4a61..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java +++ /dev/null @@ -1,38 +0,0 @@ -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 EquipmentQueryFrom extends BaseQueryForm { - - @ApiModelProperty("统一编号") - private String equipmentNo; - - @ApiModelProperty("设备名称") - private String equipmentName; - - @ApiModelProperty("设备类型(1受检设备;2特种设备)") - private String equipmentType; - - @ApiModelProperty("使用部门") - private List deptIds; - - @ApiModelProperty("使用岗位") - private String usePosition; - - @ApiModelProperty("使用状态") - private String usageStatus; - - @ApiModelProperty("证书有效期开始时间") - private String certificateValidStart; - - @ApiModelProperty("证书有效期结束时间") - private String certificateValidEnd; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java index 391bfe0..2d3bd33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java @@ -7,6 +7,8 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,6 +31,7 @@ @ExcelIgnore @ApiModelProperty("使用情况") + @DictCodeField(cacheName = MeterDictCode.RFID_USAGE_STATUS) private String usageStatus; @ExcelProperty("使用情况") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java index f0515a5..d4b7ab5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java @@ -1,5 +1,11 @@ package com.casic.missiles.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModelProperty; @@ -9,6 +15,11 @@ @Getter @Setter +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class CommonApproval { @ApiModelProperty("主键") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java index 724e9d8..e08ea2a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java @@ -1,5 +1,13 @@ package com.casic.missiles.model.equipment; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; @@ -12,6 +20,7 @@ import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -27,6 +36,11 @@ @Getter @Setter @TableName("eqpt_equipment_info") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class EquipmentInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -40,6 +54,7 @@ */ @ApiModelProperty("设备编号") @TableField("equipment_no") + @ExcelProperty(value = "统一编号",index = 0) private String equipmentNo; /** @@ -47,6 +62,7 @@ */ @ApiModelProperty("设备名称") @TableField("equipment_name") + @ExcelProperty(value = "设备名称",index = 1) private String equipmentName; /** @@ -66,6 +82,7 @@ @ApiModelProperty("使用状态名称") @TableField(exist = false) + @ExcelProperty(value = "使用状态",index = 8) private String usageStatusName; /** @@ -94,6 +111,7 @@ */ @ApiModelProperty("出厂编号") @TableField("manufacture_no") + @ExcelProperty(value = "出厂编号",index = 3) private String manufactureNo; /** @@ -122,6 +140,7 @@ */ @ApiModelProperty("型号规格") @TableField("model") + @ExcelProperty(value = "型号规格",index = 2) private String model; /** @@ -165,6 +184,8 @@ */ @ApiModelProperty("检定周期(月)") @TableField("check_cycle") + @ExcelProperty(value = "检定周期(月)",index = 6) + @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN, horizontalAlignment = HorizontalAlignmentEnum.LEFT) private Integer checkCycle; /** @@ -172,6 +193,7 @@ */ @ApiModelProperty("备注") @TableField("remark") + @ExcelProperty(value = "备注",index = 9) private String remark; /** @@ -200,6 +222,7 @@ */ @ApiModelProperty("证书有效期") @TableField("certificate_valid") + @ExcelProperty(value = "证书有效期",index = 7, converter = DateExcelConverter.class) private Date certificateValid; /** @@ -207,13 +230,20 @@ */ @ApiModelProperty("计量标识") @TableField("meter_identify") + @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) private String meterIdentify; + @ApiModelProperty("计量标识名称") + @TableField(exist = false) + @ExcelProperty(value = "计量标识",index = 5) + private String meterIdentifyName; + /** * 使用岗位 */ @ApiModelProperty("使用岗位") @TableField("use_position") + @ExcelProperty(value = "使用岗位",index = 4) private String usePosition; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java index 4e884eb..63bef34 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java @@ -8,10 +8,14 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_IMPLEMENT_STATUS; +import static com.casic.missiles.constants.MeterDictCode.FILE_TYPE; + /** *

* 受检设备-文档管理 @@ -81,15 +85,25 @@ */ @ApiModelProperty("文件类别") @TableField("file_type") + @DictCodeField(cacheName = FILE_TYPE) private String fileType; + @ApiModelProperty("文件类型名称") + @TableField(exist = false) + private String fileTypeName; + /** * 实施状态 */ @ApiModelProperty("实施状态") @TableField("implementation_status") + @DictCodeField(cacheName = FILE_IMPLEMENT_STATUS) private String implementationStatus; + @ApiModelProperty("实施状态名称") + @TableField(exist = false) + private String implementationStatusName; + /** * 文件附件 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java index 5862e11..fdd06e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java @@ -8,10 +8,13 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_LOG_TYPE; + /** *

* 受检设备-文档管理-变更记录表 @@ -46,8 +49,13 @@ */ @ApiModelProperty("变更类型") @TableField("log_type") + @DictCodeField(cacheName = FILE_LOG_TYPE) private String logType; + @ApiModelProperty("变更类型名称") + @TableField(exist = false) + private String logTypeName; + /** * 变更人id */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java index 662e2f6..a01b8d9 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java @@ -1,13 +1,19 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; + import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; +import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,18 +35,20 @@ /** * 主键 */ - @TableId("id") + @TableId("id") private Long id; /** * 申请编号 */ @TableField("approval_no") + @ExcelProperty("申请编号") private String approvalNo; /** * 申请名称 */ + @ExcelProperty("申请名称") @TableField("approval_name") private String approvalName; @@ -55,31 +63,6 @@ */ @TableField("reason") private String reason; - - /** - * 创建人id - */ - @TableField("create_user_id") - private Long createUserId; - - /** - * 创建人姓名 - */ - @TableField("create_user_name") - private String createUserName; - - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - - /** - * 更新时间 - */ - @TableField("update_time") - private Date updateTime; - /** * 创建人部门id */ @@ -89,8 +72,36 @@ /** * 创建人部门名称 */ + @ExcelProperty("创建单位") @TableField("create_dept_name") private String createDeptName; + /** + * 创建人id + */ + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ExcelProperty("创建人") + @TableField("create_user_name") + private String createUserName; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + /** * 流程实例id @@ -102,7 +113,12 @@ * 申请状态 */ @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java index 7d6be90..97b522a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java @@ -1,14 +1,22 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; import java.util.Date; import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.annotation.EqptExportModel; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -41,6 +49,7 @@ */ @ApiModelProperty("计划编号") @TableField("plan_no") + @ExcelProperty("计划编号") private String planNo; /** @@ -48,6 +57,7 @@ */ @ApiModelProperty("计划名称") @TableField("plan_name") + @ExcelProperty("计划名称") private String planName; /** @@ -60,6 +70,7 @@ @ApiModelProperty("计划分类名称") @TableField(exist = false) + @ExcelProperty("计划分类") private String planCategoryName; /** @@ -97,19 +108,7 @@ @TableField("remark") private String remark; - /** - * 创建人id - */ - @ApiModelProperty("创建人id") - @TableField("create_user_id") - private Long createUserId; - /** - * 创建人姓名 - */ - @ApiModelProperty("创建人姓名") - @TableField("create_user_name") - private String createUserName; /** * 创建单位id @@ -123,13 +122,29 @@ */ @ApiModelProperty("创建单位名称") @TableField("create_dept_name") + @ExcelProperty("创建单位") private String createDeptName; + /** + * 创建人id + */ + @ApiModelProperty("创建人id") + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ApiModelProperty("创建人姓名") + @TableField("create_user_name") + @ExcelProperty("创建人") + private String createUserName; /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java index 79461e6..ce39fb7 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java @@ -8,6 +8,8 @@ import java.util.Date; import java.util.List; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import com.casic.missiles.model.CommonApproval; import com.casic.missiles.model.equipment.EquipmentAttachment; import com.casic.missiles.model.equipment.EquipmentInfo; @@ -64,9 +66,10 @@ */ @ApiModelProperty("申请状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; - @ApiModelProperty("申请状态名称") + @ApiModelProperty("审批状态名称") @TableField(exist = false) private String approvalStatusName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java index 130f5cf..7e4a4de 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java @@ -40,11 +40,11 @@ @TableField("status_type") @ApiModelProperty("状态变更类型") + @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusType; @TableField(exist = false) @ApiModelProperty("状态变更类型名称") - @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusTypeName; @TableField("start_time") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java index db5162e..ddbf003 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +15,7 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -23,6 +31,11 @@ @Getter @Setter @TableName("eqpt_subcontract_certificate") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class SubcontractCertificate implements Serializable { private static final long serialVersionUID = 1L; @@ -39,6 +52,7 @@ */ @ApiModelProperty("证书编号") @TableField("certificate_no") + @ExcelProperty(value = "证书号",index = 0) private String certificateNo; /** @@ -46,6 +60,7 @@ */ @ApiModelProperty("证书名称") @TableField("certificate_name") + @ExcelProperty(value = "证书名称",index = 1) private String certificateName; /** @@ -67,6 +82,7 @@ */ @ApiModelProperty("检测单位名称") @TableField(exist = false) + @ExcelProperty(value = "检测单位",index = 6) private String subcontractorName; /** @@ -81,6 +97,7 @@ */ @ApiModelProperty("受检设备编号") @TableField(exist = false) + @ExcelProperty(value = "样品编号",index = 2) private String equipmentNo; /** @@ -88,6 +105,7 @@ */ @ApiModelProperty("受检设备名称") @TableField(exist = false) + @ExcelProperty(value = "样品名称",index = 3) private String equipmentName; /** @@ -95,6 +113,7 @@ */ @ApiModelProperty("出厂编号") @TableField(exist = false) + @ExcelProperty(value = "出厂编号",index = 5) private String equipmentManufactureNo; /** @@ -102,6 +121,7 @@ */ @ApiModelProperty("型号") @TableField(exist = false) + @ExcelProperty(value = "型号",index = 4) private String equipmentModel; /** @@ -144,6 +164,7 @@ */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",index = 7, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java new file mode 100644 index 0000000..6284acf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EquipmentCertificateQueryForm 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/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java deleted file mode 100644 index 35d2d47..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java +++ /dev/null @@ -1,34 +0,0 @@ -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/dto/equipment/EquipmentQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java new file mode 100644 index 0000000..040a368 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java @@ -0,0 +1,41 @@ +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 EquipmentQueryForm extends BaseQueryForm { + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("设备类型(1受检设备;2特种设备)") + private String equipmentType; + + @ApiModelProperty("使用部门") + private List deptIds; + + @ApiModelProperty("使用岗位") + private String usePosition; + + @ApiModelProperty("使用状态") + private String usageStatus; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; + + @ApiModelProperty("使用状态列表") + private List usageStatusList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java deleted file mode 100644 index f5f4a61..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java +++ /dev/null @@ -1,38 +0,0 @@ -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 EquipmentQueryFrom extends BaseQueryForm { - - @ApiModelProperty("统一编号") - private String equipmentNo; - - @ApiModelProperty("设备名称") - private String equipmentName; - - @ApiModelProperty("设备类型(1受检设备;2特种设备)") - private String equipmentType; - - @ApiModelProperty("使用部门") - private List deptIds; - - @ApiModelProperty("使用岗位") - private String usePosition; - - @ApiModelProperty("使用状态") - private String usageStatus; - - @ApiModelProperty("证书有效期开始时间") - private String certificateValidStart; - - @ApiModelProperty("证书有效期结束时间") - private String certificateValidEnd; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java index 391bfe0..2d3bd33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java @@ -7,6 +7,8 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,6 +31,7 @@ @ExcelIgnore @ApiModelProperty("使用情况") + @DictCodeField(cacheName = MeterDictCode.RFID_USAGE_STATUS) private String usageStatus; @ExcelProperty("使用情况") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java index f0515a5..d4b7ab5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java @@ -1,5 +1,11 @@ package com.casic.missiles.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModelProperty; @@ -9,6 +15,11 @@ @Getter @Setter +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class CommonApproval { @ApiModelProperty("主键") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java index 724e9d8..e08ea2a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java @@ -1,5 +1,13 @@ package com.casic.missiles.model.equipment; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; @@ -12,6 +20,7 @@ import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -27,6 +36,11 @@ @Getter @Setter @TableName("eqpt_equipment_info") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class EquipmentInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -40,6 +54,7 @@ */ @ApiModelProperty("设备编号") @TableField("equipment_no") + @ExcelProperty(value = "统一编号",index = 0) private String equipmentNo; /** @@ -47,6 +62,7 @@ */ @ApiModelProperty("设备名称") @TableField("equipment_name") + @ExcelProperty(value = "设备名称",index = 1) private String equipmentName; /** @@ -66,6 +82,7 @@ @ApiModelProperty("使用状态名称") @TableField(exist = false) + @ExcelProperty(value = "使用状态",index = 8) private String usageStatusName; /** @@ -94,6 +111,7 @@ */ @ApiModelProperty("出厂编号") @TableField("manufacture_no") + @ExcelProperty(value = "出厂编号",index = 3) private String manufactureNo; /** @@ -122,6 +140,7 @@ */ @ApiModelProperty("型号规格") @TableField("model") + @ExcelProperty(value = "型号规格",index = 2) private String model; /** @@ -165,6 +184,8 @@ */ @ApiModelProperty("检定周期(月)") @TableField("check_cycle") + @ExcelProperty(value = "检定周期(月)",index = 6) + @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN, horizontalAlignment = HorizontalAlignmentEnum.LEFT) private Integer checkCycle; /** @@ -172,6 +193,7 @@ */ @ApiModelProperty("备注") @TableField("remark") + @ExcelProperty(value = "备注",index = 9) private String remark; /** @@ -200,6 +222,7 @@ */ @ApiModelProperty("证书有效期") @TableField("certificate_valid") + @ExcelProperty(value = "证书有效期",index = 7, converter = DateExcelConverter.class) private Date certificateValid; /** @@ -207,13 +230,20 @@ */ @ApiModelProperty("计量标识") @TableField("meter_identify") + @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) private String meterIdentify; + @ApiModelProperty("计量标识名称") + @TableField(exist = false) + @ExcelProperty(value = "计量标识",index = 5) + private String meterIdentifyName; + /** * 使用岗位 */ @ApiModelProperty("使用岗位") @TableField("use_position") + @ExcelProperty(value = "使用岗位",index = 4) private String usePosition; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java index 4e884eb..63bef34 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java @@ -8,10 +8,14 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_IMPLEMENT_STATUS; +import static com.casic.missiles.constants.MeterDictCode.FILE_TYPE; + /** *

* 受检设备-文档管理 @@ -81,15 +85,25 @@ */ @ApiModelProperty("文件类别") @TableField("file_type") + @DictCodeField(cacheName = FILE_TYPE) private String fileType; + @ApiModelProperty("文件类型名称") + @TableField(exist = false) + private String fileTypeName; + /** * 实施状态 */ @ApiModelProperty("实施状态") @TableField("implementation_status") + @DictCodeField(cacheName = FILE_IMPLEMENT_STATUS) private String implementationStatus; + @ApiModelProperty("实施状态名称") + @TableField(exist = false) + private String implementationStatusName; + /** * 文件附件 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java index 5862e11..fdd06e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java @@ -8,10 +8,13 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_LOG_TYPE; + /** *

* 受检设备-文档管理-变更记录表 @@ -46,8 +49,13 @@ */ @ApiModelProperty("变更类型") @TableField("log_type") + @DictCodeField(cacheName = FILE_LOG_TYPE) private String logType; + @ApiModelProperty("变更类型名称") + @TableField(exist = false) + private String logTypeName; + /** * 变更人id */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java index 662e2f6..a01b8d9 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java @@ -1,13 +1,19 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; + import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; +import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,18 +35,20 @@ /** * 主键 */ - @TableId("id") + @TableId("id") private Long id; /** * 申请编号 */ @TableField("approval_no") + @ExcelProperty("申请编号") private String approvalNo; /** * 申请名称 */ + @ExcelProperty("申请名称") @TableField("approval_name") private String approvalName; @@ -55,31 +63,6 @@ */ @TableField("reason") private String reason; - - /** - * 创建人id - */ - @TableField("create_user_id") - private Long createUserId; - - /** - * 创建人姓名 - */ - @TableField("create_user_name") - private String createUserName; - - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - - /** - * 更新时间 - */ - @TableField("update_time") - private Date updateTime; - /** * 创建人部门id */ @@ -89,8 +72,36 @@ /** * 创建人部门名称 */ + @ExcelProperty("创建单位") @TableField("create_dept_name") private String createDeptName; + /** + * 创建人id + */ + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ExcelProperty("创建人") + @TableField("create_user_name") + private String createUserName; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + /** * 流程实例id @@ -102,7 +113,12 @@ * 申请状态 */ @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java index 7d6be90..97b522a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java @@ -1,14 +1,22 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; import java.util.Date; import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.annotation.EqptExportModel; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -41,6 +49,7 @@ */ @ApiModelProperty("计划编号") @TableField("plan_no") + @ExcelProperty("计划编号") private String planNo; /** @@ -48,6 +57,7 @@ */ @ApiModelProperty("计划名称") @TableField("plan_name") + @ExcelProperty("计划名称") private String planName; /** @@ -60,6 +70,7 @@ @ApiModelProperty("计划分类名称") @TableField(exist = false) + @ExcelProperty("计划分类") private String planCategoryName; /** @@ -97,19 +108,7 @@ @TableField("remark") private String remark; - /** - * 创建人id - */ - @ApiModelProperty("创建人id") - @TableField("create_user_id") - private Long createUserId; - /** - * 创建人姓名 - */ - @ApiModelProperty("创建人姓名") - @TableField("create_user_name") - private String createUserName; /** * 创建单位id @@ -123,13 +122,29 @@ */ @ApiModelProperty("创建单位名称") @TableField("create_dept_name") + @ExcelProperty("创建单位") private String createDeptName; + /** + * 创建人id + */ + @ApiModelProperty("创建人id") + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ApiModelProperty("创建人姓名") + @TableField("create_user_name") + @ExcelProperty("创建人") + private String createUserName; /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java index 79461e6..ce39fb7 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java @@ -8,6 +8,8 @@ import java.util.Date; import java.util.List; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import com.casic.missiles.model.CommonApproval; import com.casic.missiles.model.equipment.EquipmentAttachment; import com.casic.missiles.model.equipment.EquipmentInfo; @@ -64,9 +66,10 @@ */ @ApiModelProperty("申请状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; - @ApiModelProperty("申请状态名称") + @ApiModelProperty("审批状态名称") @TableField(exist = false) private String approvalStatusName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java index 130f5cf..7e4a4de 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java @@ -40,11 +40,11 @@ @TableField("status_type") @ApiModelProperty("状态变更类型") + @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusType; @TableField(exist = false) @ApiModelProperty("状态变更类型名称") - @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusTypeName; @TableField("start_time") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java index db5162e..ddbf003 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +15,7 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -23,6 +31,11 @@ @Getter @Setter @TableName("eqpt_subcontract_certificate") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class SubcontractCertificate implements Serializable { private static final long serialVersionUID = 1L; @@ -39,6 +52,7 @@ */ @ApiModelProperty("证书编号") @TableField("certificate_no") + @ExcelProperty(value = "证书号",index = 0) private String certificateNo; /** @@ -46,6 +60,7 @@ */ @ApiModelProperty("证书名称") @TableField("certificate_name") + @ExcelProperty(value = "证书名称",index = 1) private String certificateName; /** @@ -67,6 +82,7 @@ */ @ApiModelProperty("检测单位名称") @TableField(exist = false) + @ExcelProperty(value = "检测单位",index = 6) private String subcontractorName; /** @@ -81,6 +97,7 @@ */ @ApiModelProperty("受检设备编号") @TableField(exist = false) + @ExcelProperty(value = "样品编号",index = 2) private String equipmentNo; /** @@ -88,6 +105,7 @@ */ @ApiModelProperty("受检设备名称") @TableField(exist = false) + @ExcelProperty(value = "样品名称",index = 3) private String equipmentName; /** @@ -95,6 +113,7 @@ */ @ApiModelProperty("出厂编号") @TableField(exist = false) + @ExcelProperty(value = "出厂编号",index = 5) private String equipmentManufactureNo; /** @@ -102,6 +121,7 @@ */ @ApiModelProperty("型号") @TableField(exist = false) + @ExcelProperty(value = "型号",index = 4) private String equipmentModel; /** @@ -144,6 +164,7 @@ */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",index = 7, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java index 5339e10..7ae7965 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -7,6 +8,9 @@ import java.io.Serializable; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -39,6 +43,7 @@ */ @ApiModelProperty("评审表编号") @TableField("review_no") + @ExcelProperty(value = "评审表编号",index = 0) private String reviewNo; /** @@ -46,6 +51,7 @@ */ @ApiModelProperty("评审表名称") @TableField("review_name") + @ExcelProperty(value = "评审表名称",index = 1) private String reviewName; /** @@ -60,6 +66,7 @@ */ @ApiModelProperty("申请人姓名") @TableField("create_user_name") + @ExcelProperty(value = "申请人",index = 4) private String createUserName; /** @@ -81,6 +88,7 @@ */ @ApiModelProperty("创建时间(即申请时间)") @TableField("create_time") + @ExcelProperty(value = "申请时间",index = 5, converter = DateExcelConverter.class) private Date createTime; /** @@ -109,6 +117,7 @@ */ @ApiModelProperty("分包机构名称(冗余字段)") @TableField("subcontractor_company_name") + @ExcelProperty(value = "分包机构名称",index = 2) private String subcontractorCompanyName; /** @@ -116,6 +125,7 @@ */ @ApiModelProperty("机构负责人(冗余字段)") @TableField("subcontractor_director_name") + @ExcelProperty(value = "机构负责人",index = 3) private String subcontractorDirectorName; /** @@ -214,6 +224,11 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java new file mode 100644 index 0000000..6284acf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EquipmentCertificateQueryForm 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/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java deleted file mode 100644 index 35d2d47..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java +++ /dev/null @@ -1,34 +0,0 @@ -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/dto/equipment/EquipmentQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java new file mode 100644 index 0000000..040a368 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java @@ -0,0 +1,41 @@ +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 EquipmentQueryForm extends BaseQueryForm { + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("设备类型(1受检设备;2特种设备)") + private String equipmentType; + + @ApiModelProperty("使用部门") + private List deptIds; + + @ApiModelProperty("使用岗位") + private String usePosition; + + @ApiModelProperty("使用状态") + private String usageStatus; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; + + @ApiModelProperty("使用状态列表") + private List usageStatusList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java deleted file mode 100644 index f5f4a61..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java +++ /dev/null @@ -1,38 +0,0 @@ -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 EquipmentQueryFrom extends BaseQueryForm { - - @ApiModelProperty("统一编号") - private String equipmentNo; - - @ApiModelProperty("设备名称") - private String equipmentName; - - @ApiModelProperty("设备类型(1受检设备;2特种设备)") - private String equipmentType; - - @ApiModelProperty("使用部门") - private List deptIds; - - @ApiModelProperty("使用岗位") - private String usePosition; - - @ApiModelProperty("使用状态") - private String usageStatus; - - @ApiModelProperty("证书有效期开始时间") - private String certificateValidStart; - - @ApiModelProperty("证书有效期结束时间") - private String certificateValidEnd; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java index 391bfe0..2d3bd33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java @@ -7,6 +7,8 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,6 +31,7 @@ @ExcelIgnore @ApiModelProperty("使用情况") + @DictCodeField(cacheName = MeterDictCode.RFID_USAGE_STATUS) private String usageStatus; @ExcelProperty("使用情况") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java index f0515a5..d4b7ab5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java @@ -1,5 +1,11 @@ package com.casic.missiles.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModelProperty; @@ -9,6 +15,11 @@ @Getter @Setter +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class CommonApproval { @ApiModelProperty("主键") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java index 724e9d8..e08ea2a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java @@ -1,5 +1,13 @@ package com.casic.missiles.model.equipment; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; @@ -12,6 +20,7 @@ import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -27,6 +36,11 @@ @Getter @Setter @TableName("eqpt_equipment_info") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class EquipmentInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -40,6 +54,7 @@ */ @ApiModelProperty("设备编号") @TableField("equipment_no") + @ExcelProperty(value = "统一编号",index = 0) private String equipmentNo; /** @@ -47,6 +62,7 @@ */ @ApiModelProperty("设备名称") @TableField("equipment_name") + @ExcelProperty(value = "设备名称",index = 1) private String equipmentName; /** @@ -66,6 +82,7 @@ @ApiModelProperty("使用状态名称") @TableField(exist = false) + @ExcelProperty(value = "使用状态",index = 8) private String usageStatusName; /** @@ -94,6 +111,7 @@ */ @ApiModelProperty("出厂编号") @TableField("manufacture_no") + @ExcelProperty(value = "出厂编号",index = 3) private String manufactureNo; /** @@ -122,6 +140,7 @@ */ @ApiModelProperty("型号规格") @TableField("model") + @ExcelProperty(value = "型号规格",index = 2) private String model; /** @@ -165,6 +184,8 @@ */ @ApiModelProperty("检定周期(月)") @TableField("check_cycle") + @ExcelProperty(value = "检定周期(月)",index = 6) + @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN, horizontalAlignment = HorizontalAlignmentEnum.LEFT) private Integer checkCycle; /** @@ -172,6 +193,7 @@ */ @ApiModelProperty("备注") @TableField("remark") + @ExcelProperty(value = "备注",index = 9) private String remark; /** @@ -200,6 +222,7 @@ */ @ApiModelProperty("证书有效期") @TableField("certificate_valid") + @ExcelProperty(value = "证书有效期",index = 7, converter = DateExcelConverter.class) private Date certificateValid; /** @@ -207,13 +230,20 @@ */ @ApiModelProperty("计量标识") @TableField("meter_identify") + @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) private String meterIdentify; + @ApiModelProperty("计量标识名称") + @TableField(exist = false) + @ExcelProperty(value = "计量标识",index = 5) + private String meterIdentifyName; + /** * 使用岗位 */ @ApiModelProperty("使用岗位") @TableField("use_position") + @ExcelProperty(value = "使用岗位",index = 4) private String usePosition; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java index 4e884eb..63bef34 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java @@ -8,10 +8,14 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_IMPLEMENT_STATUS; +import static com.casic.missiles.constants.MeterDictCode.FILE_TYPE; + /** *

* 受检设备-文档管理 @@ -81,15 +85,25 @@ */ @ApiModelProperty("文件类别") @TableField("file_type") + @DictCodeField(cacheName = FILE_TYPE) private String fileType; + @ApiModelProperty("文件类型名称") + @TableField(exist = false) + private String fileTypeName; + /** * 实施状态 */ @ApiModelProperty("实施状态") @TableField("implementation_status") + @DictCodeField(cacheName = FILE_IMPLEMENT_STATUS) private String implementationStatus; + @ApiModelProperty("实施状态名称") + @TableField(exist = false) + private String implementationStatusName; + /** * 文件附件 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java index 5862e11..fdd06e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java @@ -8,10 +8,13 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_LOG_TYPE; + /** *

* 受检设备-文档管理-变更记录表 @@ -46,8 +49,13 @@ */ @ApiModelProperty("变更类型") @TableField("log_type") + @DictCodeField(cacheName = FILE_LOG_TYPE) private String logType; + @ApiModelProperty("变更类型名称") + @TableField(exist = false) + private String logTypeName; + /** * 变更人id */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java index 662e2f6..a01b8d9 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java @@ -1,13 +1,19 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; + import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; +import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,18 +35,20 @@ /** * 主键 */ - @TableId("id") + @TableId("id") private Long id; /** * 申请编号 */ @TableField("approval_no") + @ExcelProperty("申请编号") private String approvalNo; /** * 申请名称 */ + @ExcelProperty("申请名称") @TableField("approval_name") private String approvalName; @@ -55,31 +63,6 @@ */ @TableField("reason") private String reason; - - /** - * 创建人id - */ - @TableField("create_user_id") - private Long createUserId; - - /** - * 创建人姓名 - */ - @TableField("create_user_name") - private String createUserName; - - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - - /** - * 更新时间 - */ - @TableField("update_time") - private Date updateTime; - /** * 创建人部门id */ @@ -89,8 +72,36 @@ /** * 创建人部门名称 */ + @ExcelProperty("创建单位") @TableField("create_dept_name") private String createDeptName; + /** + * 创建人id + */ + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ExcelProperty("创建人") + @TableField("create_user_name") + private String createUserName; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + /** * 流程实例id @@ -102,7 +113,12 @@ * 申请状态 */ @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java index 7d6be90..97b522a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java @@ -1,14 +1,22 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; import java.util.Date; import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.annotation.EqptExportModel; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -41,6 +49,7 @@ */ @ApiModelProperty("计划编号") @TableField("plan_no") + @ExcelProperty("计划编号") private String planNo; /** @@ -48,6 +57,7 @@ */ @ApiModelProperty("计划名称") @TableField("plan_name") + @ExcelProperty("计划名称") private String planName; /** @@ -60,6 +70,7 @@ @ApiModelProperty("计划分类名称") @TableField(exist = false) + @ExcelProperty("计划分类") private String planCategoryName; /** @@ -97,19 +108,7 @@ @TableField("remark") private String remark; - /** - * 创建人id - */ - @ApiModelProperty("创建人id") - @TableField("create_user_id") - private Long createUserId; - /** - * 创建人姓名 - */ - @ApiModelProperty("创建人姓名") - @TableField("create_user_name") - private String createUserName; /** * 创建单位id @@ -123,13 +122,29 @@ */ @ApiModelProperty("创建单位名称") @TableField("create_dept_name") + @ExcelProperty("创建单位") private String createDeptName; + /** + * 创建人id + */ + @ApiModelProperty("创建人id") + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ApiModelProperty("创建人姓名") + @TableField("create_user_name") + @ExcelProperty("创建人") + private String createUserName; /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java index 79461e6..ce39fb7 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java @@ -8,6 +8,8 @@ import java.util.Date; import java.util.List; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import com.casic.missiles.model.CommonApproval; import com.casic.missiles.model.equipment.EquipmentAttachment; import com.casic.missiles.model.equipment.EquipmentInfo; @@ -64,9 +66,10 @@ */ @ApiModelProperty("申请状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; - @ApiModelProperty("申请状态名称") + @ApiModelProperty("审批状态名称") @TableField(exist = false) private String approvalStatusName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java index 130f5cf..7e4a4de 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java @@ -40,11 +40,11 @@ @TableField("status_type") @ApiModelProperty("状态变更类型") + @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusType; @TableField(exist = false) @ApiModelProperty("状态变更类型名称") - @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusTypeName; @TableField("start_time") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java index db5162e..ddbf003 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +15,7 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -23,6 +31,11 @@ @Getter @Setter @TableName("eqpt_subcontract_certificate") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class SubcontractCertificate implements Serializable { private static final long serialVersionUID = 1L; @@ -39,6 +52,7 @@ */ @ApiModelProperty("证书编号") @TableField("certificate_no") + @ExcelProperty(value = "证书号",index = 0) private String certificateNo; /** @@ -46,6 +60,7 @@ */ @ApiModelProperty("证书名称") @TableField("certificate_name") + @ExcelProperty(value = "证书名称",index = 1) private String certificateName; /** @@ -67,6 +82,7 @@ */ @ApiModelProperty("检测单位名称") @TableField(exist = false) + @ExcelProperty(value = "检测单位",index = 6) private String subcontractorName; /** @@ -81,6 +97,7 @@ */ @ApiModelProperty("受检设备编号") @TableField(exist = false) + @ExcelProperty(value = "样品编号",index = 2) private String equipmentNo; /** @@ -88,6 +105,7 @@ */ @ApiModelProperty("受检设备名称") @TableField(exist = false) + @ExcelProperty(value = "样品名称",index = 3) private String equipmentName; /** @@ -95,6 +113,7 @@ */ @ApiModelProperty("出厂编号") @TableField(exist = false) + @ExcelProperty(value = "出厂编号",index = 5) private String equipmentManufactureNo; /** @@ -102,6 +121,7 @@ */ @ApiModelProperty("型号") @TableField(exist = false) + @ExcelProperty(value = "型号",index = 4) private String equipmentModel; /** @@ -144,6 +164,7 @@ */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",index = 7, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java index 5339e10..7ae7965 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -7,6 +8,9 @@ import java.io.Serializable; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -39,6 +43,7 @@ */ @ApiModelProperty("评审表编号") @TableField("review_no") + @ExcelProperty(value = "评审表编号",index = 0) private String reviewNo; /** @@ -46,6 +51,7 @@ */ @ApiModelProperty("评审表名称") @TableField("review_name") + @ExcelProperty(value = "评审表名称",index = 1) private String reviewName; /** @@ -60,6 +66,7 @@ */ @ApiModelProperty("申请人姓名") @TableField("create_user_name") + @ExcelProperty(value = "申请人",index = 4) private String createUserName; /** @@ -81,6 +88,7 @@ */ @ApiModelProperty("创建时间(即申请时间)") @TableField("create_time") + @ExcelProperty(value = "申请时间",index = 5, converter = DateExcelConverter.class) private Date createTime; /** @@ -109,6 +117,7 @@ */ @ApiModelProperty("分包机构名称(冗余字段)") @TableField("subcontractor_company_name") + @ExcelProperty(value = "分包机构名称",index = 2) private String subcontractorCompanyName; /** @@ -116,6 +125,7 @@ */ @ApiModelProperty("机构负责人(冗余字段)") @TableField("subcontractor_director_name") + @ExcelProperty(value = "机构负责人",index = 3) private String subcontractorDirectorName; /** @@ -214,6 +224,11 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java index 0de83b0..c4dcc17 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +9,9 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -40,6 +44,7 @@ */ @ApiModelProperty("分包方编号") @TableField("subcontractor_no") + @ExcelProperty(value = "分包方编号", index = 0) private String subcontractorNo; /** @@ -47,6 +52,7 @@ */ @ApiModelProperty("单位名称") @TableField("company_name") + @ExcelProperty(value = "单位名称", index = 1) private String companyName; /** @@ -131,6 +137,7 @@ */ @ApiModelProperty("机构负责人") @TableField("director_name") + @ExcelProperty(value = "机构负责人", index = 2) private String directorName; /** @@ -138,6 +145,7 @@ */ @ApiModelProperty("联系电话") @TableField("contact_number") + @ExcelProperty(value = "联系电话", index = 3) private String contactNumber; /** @@ -173,6 +181,7 @@ */ @ApiModelProperty("地址") @TableField("address") + @ExcelProperty(value = "地址", index = 5) private String address; /** @@ -187,6 +196,7 @@ */ @ApiModelProperty("测试能力") @TableField("test_ability") + @ExcelProperty(value = "测试能力", index = 4) private String testAbility; /** @@ -215,13 +225,19 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间", index = 6, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java new file mode 100644 index 0000000..6284acf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EquipmentCertificateQueryForm 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/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java deleted file mode 100644 index 35d2d47..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java +++ /dev/null @@ -1,34 +0,0 @@ -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/dto/equipment/EquipmentQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java new file mode 100644 index 0000000..040a368 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java @@ -0,0 +1,41 @@ +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 EquipmentQueryForm extends BaseQueryForm { + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("设备类型(1受检设备;2特种设备)") + private String equipmentType; + + @ApiModelProperty("使用部门") + private List deptIds; + + @ApiModelProperty("使用岗位") + private String usePosition; + + @ApiModelProperty("使用状态") + private String usageStatus; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; + + @ApiModelProperty("使用状态列表") + private List usageStatusList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java deleted file mode 100644 index f5f4a61..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java +++ /dev/null @@ -1,38 +0,0 @@ -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 EquipmentQueryFrom extends BaseQueryForm { - - @ApiModelProperty("统一编号") - private String equipmentNo; - - @ApiModelProperty("设备名称") - private String equipmentName; - - @ApiModelProperty("设备类型(1受检设备;2特种设备)") - private String equipmentType; - - @ApiModelProperty("使用部门") - private List deptIds; - - @ApiModelProperty("使用岗位") - private String usePosition; - - @ApiModelProperty("使用状态") - private String usageStatus; - - @ApiModelProperty("证书有效期开始时间") - private String certificateValidStart; - - @ApiModelProperty("证书有效期结束时间") - private String certificateValidEnd; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java index 391bfe0..2d3bd33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java @@ -7,6 +7,8 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,6 +31,7 @@ @ExcelIgnore @ApiModelProperty("使用情况") + @DictCodeField(cacheName = MeterDictCode.RFID_USAGE_STATUS) private String usageStatus; @ExcelProperty("使用情况") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java index f0515a5..d4b7ab5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java @@ -1,5 +1,11 @@ package com.casic.missiles.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModelProperty; @@ -9,6 +15,11 @@ @Getter @Setter +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class CommonApproval { @ApiModelProperty("主键") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java index 724e9d8..e08ea2a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java @@ -1,5 +1,13 @@ package com.casic.missiles.model.equipment; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; @@ -12,6 +20,7 @@ import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -27,6 +36,11 @@ @Getter @Setter @TableName("eqpt_equipment_info") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class EquipmentInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -40,6 +54,7 @@ */ @ApiModelProperty("设备编号") @TableField("equipment_no") + @ExcelProperty(value = "统一编号",index = 0) private String equipmentNo; /** @@ -47,6 +62,7 @@ */ @ApiModelProperty("设备名称") @TableField("equipment_name") + @ExcelProperty(value = "设备名称",index = 1) private String equipmentName; /** @@ -66,6 +82,7 @@ @ApiModelProperty("使用状态名称") @TableField(exist = false) + @ExcelProperty(value = "使用状态",index = 8) private String usageStatusName; /** @@ -94,6 +111,7 @@ */ @ApiModelProperty("出厂编号") @TableField("manufacture_no") + @ExcelProperty(value = "出厂编号",index = 3) private String manufactureNo; /** @@ -122,6 +140,7 @@ */ @ApiModelProperty("型号规格") @TableField("model") + @ExcelProperty(value = "型号规格",index = 2) private String model; /** @@ -165,6 +184,8 @@ */ @ApiModelProperty("检定周期(月)") @TableField("check_cycle") + @ExcelProperty(value = "检定周期(月)",index = 6) + @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN, horizontalAlignment = HorizontalAlignmentEnum.LEFT) private Integer checkCycle; /** @@ -172,6 +193,7 @@ */ @ApiModelProperty("备注") @TableField("remark") + @ExcelProperty(value = "备注",index = 9) private String remark; /** @@ -200,6 +222,7 @@ */ @ApiModelProperty("证书有效期") @TableField("certificate_valid") + @ExcelProperty(value = "证书有效期",index = 7, converter = DateExcelConverter.class) private Date certificateValid; /** @@ -207,13 +230,20 @@ */ @ApiModelProperty("计量标识") @TableField("meter_identify") + @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) private String meterIdentify; + @ApiModelProperty("计量标识名称") + @TableField(exist = false) + @ExcelProperty(value = "计量标识",index = 5) + private String meterIdentifyName; + /** * 使用岗位 */ @ApiModelProperty("使用岗位") @TableField("use_position") + @ExcelProperty(value = "使用岗位",index = 4) private String usePosition; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java index 4e884eb..63bef34 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java @@ -8,10 +8,14 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_IMPLEMENT_STATUS; +import static com.casic.missiles.constants.MeterDictCode.FILE_TYPE; + /** *

* 受检设备-文档管理 @@ -81,15 +85,25 @@ */ @ApiModelProperty("文件类别") @TableField("file_type") + @DictCodeField(cacheName = FILE_TYPE) private String fileType; + @ApiModelProperty("文件类型名称") + @TableField(exist = false) + private String fileTypeName; + /** * 实施状态 */ @ApiModelProperty("实施状态") @TableField("implementation_status") + @DictCodeField(cacheName = FILE_IMPLEMENT_STATUS) private String implementationStatus; + @ApiModelProperty("实施状态名称") + @TableField(exist = false) + private String implementationStatusName; + /** * 文件附件 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java index 5862e11..fdd06e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java @@ -8,10 +8,13 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_LOG_TYPE; + /** *

* 受检设备-文档管理-变更记录表 @@ -46,8 +49,13 @@ */ @ApiModelProperty("变更类型") @TableField("log_type") + @DictCodeField(cacheName = FILE_LOG_TYPE) private String logType; + @ApiModelProperty("变更类型名称") + @TableField(exist = false) + private String logTypeName; + /** * 变更人id */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java index 662e2f6..a01b8d9 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java @@ -1,13 +1,19 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; + import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; +import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,18 +35,20 @@ /** * 主键 */ - @TableId("id") + @TableId("id") private Long id; /** * 申请编号 */ @TableField("approval_no") + @ExcelProperty("申请编号") private String approvalNo; /** * 申请名称 */ + @ExcelProperty("申请名称") @TableField("approval_name") private String approvalName; @@ -55,31 +63,6 @@ */ @TableField("reason") private String reason; - - /** - * 创建人id - */ - @TableField("create_user_id") - private Long createUserId; - - /** - * 创建人姓名 - */ - @TableField("create_user_name") - private String createUserName; - - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - - /** - * 更新时间 - */ - @TableField("update_time") - private Date updateTime; - /** * 创建人部门id */ @@ -89,8 +72,36 @@ /** * 创建人部门名称 */ + @ExcelProperty("创建单位") @TableField("create_dept_name") private String createDeptName; + /** + * 创建人id + */ + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ExcelProperty("创建人") + @TableField("create_user_name") + private String createUserName; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + /** * 流程实例id @@ -102,7 +113,12 @@ * 申请状态 */ @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java index 7d6be90..97b522a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java @@ -1,14 +1,22 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; import java.util.Date; import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.annotation.EqptExportModel; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -41,6 +49,7 @@ */ @ApiModelProperty("计划编号") @TableField("plan_no") + @ExcelProperty("计划编号") private String planNo; /** @@ -48,6 +57,7 @@ */ @ApiModelProperty("计划名称") @TableField("plan_name") + @ExcelProperty("计划名称") private String planName; /** @@ -60,6 +70,7 @@ @ApiModelProperty("计划分类名称") @TableField(exist = false) + @ExcelProperty("计划分类") private String planCategoryName; /** @@ -97,19 +108,7 @@ @TableField("remark") private String remark; - /** - * 创建人id - */ - @ApiModelProperty("创建人id") - @TableField("create_user_id") - private Long createUserId; - /** - * 创建人姓名 - */ - @ApiModelProperty("创建人姓名") - @TableField("create_user_name") - private String createUserName; /** * 创建单位id @@ -123,13 +122,29 @@ */ @ApiModelProperty("创建单位名称") @TableField("create_dept_name") + @ExcelProperty("创建单位") private String createDeptName; + /** + * 创建人id + */ + @ApiModelProperty("创建人id") + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ApiModelProperty("创建人姓名") + @TableField("create_user_name") + @ExcelProperty("创建人") + private String createUserName; /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java index 79461e6..ce39fb7 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java @@ -8,6 +8,8 @@ import java.util.Date; import java.util.List; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import com.casic.missiles.model.CommonApproval; import com.casic.missiles.model.equipment.EquipmentAttachment; import com.casic.missiles.model.equipment.EquipmentInfo; @@ -64,9 +66,10 @@ */ @ApiModelProperty("申请状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; - @ApiModelProperty("申请状态名称") + @ApiModelProperty("审批状态名称") @TableField(exist = false) private String approvalStatusName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java index 130f5cf..7e4a4de 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java @@ -40,11 +40,11 @@ @TableField("status_type") @ApiModelProperty("状态变更类型") + @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusType; @TableField(exist = false) @ApiModelProperty("状态变更类型名称") - @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusTypeName; @TableField("start_time") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java index db5162e..ddbf003 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +15,7 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -23,6 +31,11 @@ @Getter @Setter @TableName("eqpt_subcontract_certificate") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class SubcontractCertificate implements Serializable { private static final long serialVersionUID = 1L; @@ -39,6 +52,7 @@ */ @ApiModelProperty("证书编号") @TableField("certificate_no") + @ExcelProperty(value = "证书号",index = 0) private String certificateNo; /** @@ -46,6 +60,7 @@ */ @ApiModelProperty("证书名称") @TableField("certificate_name") + @ExcelProperty(value = "证书名称",index = 1) private String certificateName; /** @@ -67,6 +82,7 @@ */ @ApiModelProperty("检测单位名称") @TableField(exist = false) + @ExcelProperty(value = "检测单位",index = 6) private String subcontractorName; /** @@ -81,6 +97,7 @@ */ @ApiModelProperty("受检设备编号") @TableField(exist = false) + @ExcelProperty(value = "样品编号",index = 2) private String equipmentNo; /** @@ -88,6 +105,7 @@ */ @ApiModelProperty("受检设备名称") @TableField(exist = false) + @ExcelProperty(value = "样品名称",index = 3) private String equipmentName; /** @@ -95,6 +113,7 @@ */ @ApiModelProperty("出厂编号") @TableField(exist = false) + @ExcelProperty(value = "出厂编号",index = 5) private String equipmentManufactureNo; /** @@ -102,6 +121,7 @@ */ @ApiModelProperty("型号") @TableField(exist = false) + @ExcelProperty(value = "型号",index = 4) private String equipmentModel; /** @@ -144,6 +164,7 @@ */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",index = 7, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java index 5339e10..7ae7965 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -7,6 +8,9 @@ import java.io.Serializable; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -39,6 +43,7 @@ */ @ApiModelProperty("评审表编号") @TableField("review_no") + @ExcelProperty(value = "评审表编号",index = 0) private String reviewNo; /** @@ -46,6 +51,7 @@ */ @ApiModelProperty("评审表名称") @TableField("review_name") + @ExcelProperty(value = "评审表名称",index = 1) private String reviewName; /** @@ -60,6 +66,7 @@ */ @ApiModelProperty("申请人姓名") @TableField("create_user_name") + @ExcelProperty(value = "申请人",index = 4) private String createUserName; /** @@ -81,6 +88,7 @@ */ @ApiModelProperty("创建时间(即申请时间)") @TableField("create_time") + @ExcelProperty(value = "申请时间",index = 5, converter = DateExcelConverter.class) private Date createTime; /** @@ -109,6 +117,7 @@ */ @ApiModelProperty("分包机构名称(冗余字段)") @TableField("subcontractor_company_name") + @ExcelProperty(value = "分包机构名称",index = 2) private String subcontractorCompanyName; /** @@ -116,6 +125,7 @@ */ @ApiModelProperty("机构负责人(冗余字段)") @TableField("subcontractor_director_name") + @ExcelProperty(value = "机构负责人",index = 3) private String subcontractorDirectorName; /** @@ -214,6 +224,11 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java index 0de83b0..c4dcc17 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +9,9 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -40,6 +44,7 @@ */ @ApiModelProperty("分包方编号") @TableField("subcontractor_no") + @ExcelProperty(value = "分包方编号", index = 0) private String subcontractorNo; /** @@ -47,6 +52,7 @@ */ @ApiModelProperty("单位名称") @TableField("company_name") + @ExcelProperty(value = "单位名称", index = 1) private String companyName; /** @@ -131,6 +137,7 @@ */ @ApiModelProperty("机构负责人") @TableField("director_name") + @ExcelProperty(value = "机构负责人", index = 2) private String directorName; /** @@ -138,6 +145,7 @@ */ @ApiModelProperty("联系电话") @TableField("contact_number") + @ExcelProperty(value = "联系电话", index = 3) private String contactNumber; /** @@ -173,6 +181,7 @@ */ @ApiModelProperty("地址") @TableField("address") + @ExcelProperty(value = "地址", index = 5) private String address; /** @@ -187,6 +196,7 @@ */ @ApiModelProperty("测试能力") @TableField("test_ability") + @ExcelProperty(value = "测试能力", index = 4) private String testAbility; /** @@ -215,13 +225,19 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间", index = 6, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java index d7d16b9..91f15d5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java @@ -49,6 +49,13 @@ private String staffName; /** + * 联系方式 + */ + @ApiModelProperty("联系方式") + @TableField("staff_phone") + private String staffPhone; + + /** * 工作部门 */ @ApiModelProperty("工作部门") diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java new file mode 100644 index 0000000..6284acf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EquipmentCertificateQueryForm 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/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java deleted file mode 100644 index 35d2d47..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java +++ /dev/null @@ -1,34 +0,0 @@ -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/dto/equipment/EquipmentQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java new file mode 100644 index 0000000..040a368 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java @@ -0,0 +1,41 @@ +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 EquipmentQueryForm extends BaseQueryForm { + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("设备类型(1受检设备;2特种设备)") + private String equipmentType; + + @ApiModelProperty("使用部门") + private List deptIds; + + @ApiModelProperty("使用岗位") + private String usePosition; + + @ApiModelProperty("使用状态") + private String usageStatus; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; + + @ApiModelProperty("使用状态列表") + private List usageStatusList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java deleted file mode 100644 index f5f4a61..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java +++ /dev/null @@ -1,38 +0,0 @@ -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 EquipmentQueryFrom extends BaseQueryForm { - - @ApiModelProperty("统一编号") - private String equipmentNo; - - @ApiModelProperty("设备名称") - private String equipmentName; - - @ApiModelProperty("设备类型(1受检设备;2特种设备)") - private String equipmentType; - - @ApiModelProperty("使用部门") - private List deptIds; - - @ApiModelProperty("使用岗位") - private String usePosition; - - @ApiModelProperty("使用状态") - private String usageStatus; - - @ApiModelProperty("证书有效期开始时间") - private String certificateValidStart; - - @ApiModelProperty("证书有效期结束时间") - private String certificateValidEnd; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java index 391bfe0..2d3bd33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java @@ -7,6 +7,8 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,6 +31,7 @@ @ExcelIgnore @ApiModelProperty("使用情况") + @DictCodeField(cacheName = MeterDictCode.RFID_USAGE_STATUS) private String usageStatus; @ExcelProperty("使用情况") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java index f0515a5..d4b7ab5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java @@ -1,5 +1,11 @@ package com.casic.missiles.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModelProperty; @@ -9,6 +15,11 @@ @Getter @Setter +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class CommonApproval { @ApiModelProperty("主键") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java index 724e9d8..e08ea2a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java @@ -1,5 +1,13 @@ package com.casic.missiles.model.equipment; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; @@ -12,6 +20,7 @@ import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -27,6 +36,11 @@ @Getter @Setter @TableName("eqpt_equipment_info") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class EquipmentInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -40,6 +54,7 @@ */ @ApiModelProperty("设备编号") @TableField("equipment_no") + @ExcelProperty(value = "统一编号",index = 0) private String equipmentNo; /** @@ -47,6 +62,7 @@ */ @ApiModelProperty("设备名称") @TableField("equipment_name") + @ExcelProperty(value = "设备名称",index = 1) private String equipmentName; /** @@ -66,6 +82,7 @@ @ApiModelProperty("使用状态名称") @TableField(exist = false) + @ExcelProperty(value = "使用状态",index = 8) private String usageStatusName; /** @@ -94,6 +111,7 @@ */ @ApiModelProperty("出厂编号") @TableField("manufacture_no") + @ExcelProperty(value = "出厂编号",index = 3) private String manufactureNo; /** @@ -122,6 +140,7 @@ */ @ApiModelProperty("型号规格") @TableField("model") + @ExcelProperty(value = "型号规格",index = 2) private String model; /** @@ -165,6 +184,8 @@ */ @ApiModelProperty("检定周期(月)") @TableField("check_cycle") + @ExcelProperty(value = "检定周期(月)",index = 6) + @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN, horizontalAlignment = HorizontalAlignmentEnum.LEFT) private Integer checkCycle; /** @@ -172,6 +193,7 @@ */ @ApiModelProperty("备注") @TableField("remark") + @ExcelProperty(value = "备注",index = 9) private String remark; /** @@ -200,6 +222,7 @@ */ @ApiModelProperty("证书有效期") @TableField("certificate_valid") + @ExcelProperty(value = "证书有效期",index = 7, converter = DateExcelConverter.class) private Date certificateValid; /** @@ -207,13 +230,20 @@ */ @ApiModelProperty("计量标识") @TableField("meter_identify") + @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) private String meterIdentify; + @ApiModelProperty("计量标识名称") + @TableField(exist = false) + @ExcelProperty(value = "计量标识",index = 5) + private String meterIdentifyName; + /** * 使用岗位 */ @ApiModelProperty("使用岗位") @TableField("use_position") + @ExcelProperty(value = "使用岗位",index = 4) private String usePosition; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java index 4e884eb..63bef34 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java @@ -8,10 +8,14 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_IMPLEMENT_STATUS; +import static com.casic.missiles.constants.MeterDictCode.FILE_TYPE; + /** *

* 受检设备-文档管理 @@ -81,15 +85,25 @@ */ @ApiModelProperty("文件类别") @TableField("file_type") + @DictCodeField(cacheName = FILE_TYPE) private String fileType; + @ApiModelProperty("文件类型名称") + @TableField(exist = false) + private String fileTypeName; + /** * 实施状态 */ @ApiModelProperty("实施状态") @TableField("implementation_status") + @DictCodeField(cacheName = FILE_IMPLEMENT_STATUS) private String implementationStatus; + @ApiModelProperty("实施状态名称") + @TableField(exist = false) + private String implementationStatusName; + /** * 文件附件 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java index 5862e11..fdd06e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java @@ -8,10 +8,13 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_LOG_TYPE; + /** *

* 受检设备-文档管理-变更记录表 @@ -46,8 +49,13 @@ */ @ApiModelProperty("变更类型") @TableField("log_type") + @DictCodeField(cacheName = FILE_LOG_TYPE) private String logType; + @ApiModelProperty("变更类型名称") + @TableField(exist = false) + private String logTypeName; + /** * 变更人id */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java index 662e2f6..a01b8d9 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java @@ -1,13 +1,19 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; + import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; +import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,18 +35,20 @@ /** * 主键 */ - @TableId("id") + @TableId("id") private Long id; /** * 申请编号 */ @TableField("approval_no") + @ExcelProperty("申请编号") private String approvalNo; /** * 申请名称 */ + @ExcelProperty("申请名称") @TableField("approval_name") private String approvalName; @@ -55,31 +63,6 @@ */ @TableField("reason") private String reason; - - /** - * 创建人id - */ - @TableField("create_user_id") - private Long createUserId; - - /** - * 创建人姓名 - */ - @TableField("create_user_name") - private String createUserName; - - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - - /** - * 更新时间 - */ - @TableField("update_time") - private Date updateTime; - /** * 创建人部门id */ @@ -89,8 +72,36 @@ /** * 创建人部门名称 */ + @ExcelProperty("创建单位") @TableField("create_dept_name") private String createDeptName; + /** + * 创建人id + */ + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ExcelProperty("创建人") + @TableField("create_user_name") + private String createUserName; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + /** * 流程实例id @@ -102,7 +113,12 @@ * 申请状态 */ @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java index 7d6be90..97b522a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java @@ -1,14 +1,22 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; import java.util.Date; import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.annotation.EqptExportModel; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -41,6 +49,7 @@ */ @ApiModelProperty("计划编号") @TableField("plan_no") + @ExcelProperty("计划编号") private String planNo; /** @@ -48,6 +57,7 @@ */ @ApiModelProperty("计划名称") @TableField("plan_name") + @ExcelProperty("计划名称") private String planName; /** @@ -60,6 +70,7 @@ @ApiModelProperty("计划分类名称") @TableField(exist = false) + @ExcelProperty("计划分类") private String planCategoryName; /** @@ -97,19 +108,7 @@ @TableField("remark") private String remark; - /** - * 创建人id - */ - @ApiModelProperty("创建人id") - @TableField("create_user_id") - private Long createUserId; - /** - * 创建人姓名 - */ - @ApiModelProperty("创建人姓名") - @TableField("create_user_name") - private String createUserName; /** * 创建单位id @@ -123,13 +122,29 @@ */ @ApiModelProperty("创建单位名称") @TableField("create_dept_name") + @ExcelProperty("创建单位") private String createDeptName; + /** + * 创建人id + */ + @ApiModelProperty("创建人id") + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ApiModelProperty("创建人姓名") + @TableField("create_user_name") + @ExcelProperty("创建人") + private String createUserName; /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java index 79461e6..ce39fb7 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java @@ -8,6 +8,8 @@ import java.util.Date; import java.util.List; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import com.casic.missiles.model.CommonApproval; import com.casic.missiles.model.equipment.EquipmentAttachment; import com.casic.missiles.model.equipment.EquipmentInfo; @@ -64,9 +66,10 @@ */ @ApiModelProperty("申请状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; - @ApiModelProperty("申请状态名称") + @ApiModelProperty("审批状态名称") @TableField(exist = false) private String approvalStatusName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java index 130f5cf..7e4a4de 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java @@ -40,11 +40,11 @@ @TableField("status_type") @ApiModelProperty("状态变更类型") + @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusType; @TableField(exist = false) @ApiModelProperty("状态变更类型名称") - @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusTypeName; @TableField("start_time") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java index db5162e..ddbf003 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +15,7 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -23,6 +31,11 @@ @Getter @Setter @TableName("eqpt_subcontract_certificate") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class SubcontractCertificate implements Serializable { private static final long serialVersionUID = 1L; @@ -39,6 +52,7 @@ */ @ApiModelProperty("证书编号") @TableField("certificate_no") + @ExcelProperty(value = "证书号",index = 0) private String certificateNo; /** @@ -46,6 +60,7 @@ */ @ApiModelProperty("证书名称") @TableField("certificate_name") + @ExcelProperty(value = "证书名称",index = 1) private String certificateName; /** @@ -67,6 +82,7 @@ */ @ApiModelProperty("检测单位名称") @TableField(exist = false) + @ExcelProperty(value = "检测单位",index = 6) private String subcontractorName; /** @@ -81,6 +97,7 @@ */ @ApiModelProperty("受检设备编号") @TableField(exist = false) + @ExcelProperty(value = "样品编号",index = 2) private String equipmentNo; /** @@ -88,6 +105,7 @@ */ @ApiModelProperty("受检设备名称") @TableField(exist = false) + @ExcelProperty(value = "样品名称",index = 3) private String equipmentName; /** @@ -95,6 +113,7 @@ */ @ApiModelProperty("出厂编号") @TableField(exist = false) + @ExcelProperty(value = "出厂编号",index = 5) private String equipmentManufactureNo; /** @@ -102,6 +121,7 @@ */ @ApiModelProperty("型号") @TableField(exist = false) + @ExcelProperty(value = "型号",index = 4) private String equipmentModel; /** @@ -144,6 +164,7 @@ */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",index = 7, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java index 5339e10..7ae7965 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -7,6 +8,9 @@ import java.io.Serializable; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -39,6 +43,7 @@ */ @ApiModelProperty("评审表编号") @TableField("review_no") + @ExcelProperty(value = "评审表编号",index = 0) private String reviewNo; /** @@ -46,6 +51,7 @@ */ @ApiModelProperty("评审表名称") @TableField("review_name") + @ExcelProperty(value = "评审表名称",index = 1) private String reviewName; /** @@ -60,6 +66,7 @@ */ @ApiModelProperty("申请人姓名") @TableField("create_user_name") + @ExcelProperty(value = "申请人",index = 4) private String createUserName; /** @@ -81,6 +88,7 @@ */ @ApiModelProperty("创建时间(即申请时间)") @TableField("create_time") + @ExcelProperty(value = "申请时间",index = 5, converter = DateExcelConverter.class) private Date createTime; /** @@ -109,6 +117,7 @@ */ @ApiModelProperty("分包机构名称(冗余字段)") @TableField("subcontractor_company_name") + @ExcelProperty(value = "分包机构名称",index = 2) private String subcontractorCompanyName; /** @@ -116,6 +125,7 @@ */ @ApiModelProperty("机构负责人(冗余字段)") @TableField("subcontractor_director_name") + @ExcelProperty(value = "机构负责人",index = 3) private String subcontractorDirectorName; /** @@ -214,6 +224,11 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java index 0de83b0..c4dcc17 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +9,9 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -40,6 +44,7 @@ */ @ApiModelProperty("分包方编号") @TableField("subcontractor_no") + @ExcelProperty(value = "分包方编号", index = 0) private String subcontractorNo; /** @@ -47,6 +52,7 @@ */ @ApiModelProperty("单位名称") @TableField("company_name") + @ExcelProperty(value = "单位名称", index = 1) private String companyName; /** @@ -131,6 +137,7 @@ */ @ApiModelProperty("机构负责人") @TableField("director_name") + @ExcelProperty(value = "机构负责人", index = 2) private String directorName; /** @@ -138,6 +145,7 @@ */ @ApiModelProperty("联系电话") @TableField("contact_number") + @ExcelProperty(value = "联系电话", index = 3) private String contactNumber; /** @@ -173,6 +181,7 @@ */ @ApiModelProperty("地址") @TableField("address") + @ExcelProperty(value = "地址", index = 5) private String address; /** @@ -187,6 +196,7 @@ */ @ApiModelProperty("测试能力") @TableField("test_ability") + @ExcelProperty(value = "测试能力", index = 4) private String testAbility; /** @@ -215,13 +225,19 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间", index = 6, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java index d7d16b9..91f15d5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java @@ -49,6 +49,13 @@ private String staffName; /** + * 联系方式 + */ + @ApiModelProperty("联系方式") + @TableField("staff_phone") + private String staffPhone; + + /** * 工作部门 */ @ApiModelProperty("工作部门") diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java index a967db1..7eab839 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java @@ -10,6 +10,8 @@ import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.model.CommonApproval; +import java.util.List; + public interface ICommonApprovalService extends IService { @@ -34,6 +36,8 @@ Page allPage(Page page, Q queryForm); + List allExport(Q queryForm); + QueryWrapper commonQuery(Q queryForm); T warpper(T obj); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java new file mode 100644 index 0000000..6284acf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EquipmentCertificateQueryForm 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/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java deleted file mode 100644 index 35d2d47..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java +++ /dev/null @@ -1,34 +0,0 @@ -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/dto/equipment/EquipmentQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java new file mode 100644 index 0000000..040a368 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java @@ -0,0 +1,41 @@ +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 EquipmentQueryForm extends BaseQueryForm { + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("设备类型(1受检设备;2特种设备)") + private String equipmentType; + + @ApiModelProperty("使用部门") + private List deptIds; + + @ApiModelProperty("使用岗位") + private String usePosition; + + @ApiModelProperty("使用状态") + private String usageStatus; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; + + @ApiModelProperty("使用状态列表") + private List usageStatusList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java deleted file mode 100644 index f5f4a61..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java +++ /dev/null @@ -1,38 +0,0 @@ -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 EquipmentQueryFrom extends BaseQueryForm { - - @ApiModelProperty("统一编号") - private String equipmentNo; - - @ApiModelProperty("设备名称") - private String equipmentName; - - @ApiModelProperty("设备类型(1受检设备;2特种设备)") - private String equipmentType; - - @ApiModelProperty("使用部门") - private List deptIds; - - @ApiModelProperty("使用岗位") - private String usePosition; - - @ApiModelProperty("使用状态") - private String usageStatus; - - @ApiModelProperty("证书有效期开始时间") - private String certificateValidStart; - - @ApiModelProperty("证书有效期结束时间") - private String certificateValidEnd; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java index 391bfe0..2d3bd33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java @@ -7,6 +7,8 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,6 +31,7 @@ @ExcelIgnore @ApiModelProperty("使用情况") + @DictCodeField(cacheName = MeterDictCode.RFID_USAGE_STATUS) private String usageStatus; @ExcelProperty("使用情况") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java index f0515a5..d4b7ab5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java @@ -1,5 +1,11 @@ package com.casic.missiles.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModelProperty; @@ -9,6 +15,11 @@ @Getter @Setter +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class CommonApproval { @ApiModelProperty("主键") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java index 724e9d8..e08ea2a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java @@ -1,5 +1,13 @@ package com.casic.missiles.model.equipment; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; @@ -12,6 +20,7 @@ import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -27,6 +36,11 @@ @Getter @Setter @TableName("eqpt_equipment_info") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class EquipmentInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -40,6 +54,7 @@ */ @ApiModelProperty("设备编号") @TableField("equipment_no") + @ExcelProperty(value = "统一编号",index = 0) private String equipmentNo; /** @@ -47,6 +62,7 @@ */ @ApiModelProperty("设备名称") @TableField("equipment_name") + @ExcelProperty(value = "设备名称",index = 1) private String equipmentName; /** @@ -66,6 +82,7 @@ @ApiModelProperty("使用状态名称") @TableField(exist = false) + @ExcelProperty(value = "使用状态",index = 8) private String usageStatusName; /** @@ -94,6 +111,7 @@ */ @ApiModelProperty("出厂编号") @TableField("manufacture_no") + @ExcelProperty(value = "出厂编号",index = 3) private String manufactureNo; /** @@ -122,6 +140,7 @@ */ @ApiModelProperty("型号规格") @TableField("model") + @ExcelProperty(value = "型号规格",index = 2) private String model; /** @@ -165,6 +184,8 @@ */ @ApiModelProperty("检定周期(月)") @TableField("check_cycle") + @ExcelProperty(value = "检定周期(月)",index = 6) + @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN, horizontalAlignment = HorizontalAlignmentEnum.LEFT) private Integer checkCycle; /** @@ -172,6 +193,7 @@ */ @ApiModelProperty("备注") @TableField("remark") + @ExcelProperty(value = "备注",index = 9) private String remark; /** @@ -200,6 +222,7 @@ */ @ApiModelProperty("证书有效期") @TableField("certificate_valid") + @ExcelProperty(value = "证书有效期",index = 7, converter = DateExcelConverter.class) private Date certificateValid; /** @@ -207,13 +230,20 @@ */ @ApiModelProperty("计量标识") @TableField("meter_identify") + @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) private String meterIdentify; + @ApiModelProperty("计量标识名称") + @TableField(exist = false) + @ExcelProperty(value = "计量标识",index = 5) + private String meterIdentifyName; + /** * 使用岗位 */ @ApiModelProperty("使用岗位") @TableField("use_position") + @ExcelProperty(value = "使用岗位",index = 4) private String usePosition; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java index 4e884eb..63bef34 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java @@ -8,10 +8,14 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_IMPLEMENT_STATUS; +import static com.casic.missiles.constants.MeterDictCode.FILE_TYPE; + /** *

* 受检设备-文档管理 @@ -81,15 +85,25 @@ */ @ApiModelProperty("文件类别") @TableField("file_type") + @DictCodeField(cacheName = FILE_TYPE) private String fileType; + @ApiModelProperty("文件类型名称") + @TableField(exist = false) + private String fileTypeName; + /** * 实施状态 */ @ApiModelProperty("实施状态") @TableField("implementation_status") + @DictCodeField(cacheName = FILE_IMPLEMENT_STATUS) private String implementationStatus; + @ApiModelProperty("实施状态名称") + @TableField(exist = false) + private String implementationStatusName; + /** * 文件附件 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java index 5862e11..fdd06e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java @@ -8,10 +8,13 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_LOG_TYPE; + /** *

* 受检设备-文档管理-变更记录表 @@ -46,8 +49,13 @@ */ @ApiModelProperty("变更类型") @TableField("log_type") + @DictCodeField(cacheName = FILE_LOG_TYPE) private String logType; + @ApiModelProperty("变更类型名称") + @TableField(exist = false) + private String logTypeName; + /** * 变更人id */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java index 662e2f6..a01b8d9 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java @@ -1,13 +1,19 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; + import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; +import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,18 +35,20 @@ /** * 主键 */ - @TableId("id") + @TableId("id") private Long id; /** * 申请编号 */ @TableField("approval_no") + @ExcelProperty("申请编号") private String approvalNo; /** * 申请名称 */ + @ExcelProperty("申请名称") @TableField("approval_name") private String approvalName; @@ -55,31 +63,6 @@ */ @TableField("reason") private String reason; - - /** - * 创建人id - */ - @TableField("create_user_id") - private Long createUserId; - - /** - * 创建人姓名 - */ - @TableField("create_user_name") - private String createUserName; - - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - - /** - * 更新时间 - */ - @TableField("update_time") - private Date updateTime; - /** * 创建人部门id */ @@ -89,8 +72,36 @@ /** * 创建人部门名称 */ + @ExcelProperty("创建单位") @TableField("create_dept_name") private String createDeptName; + /** + * 创建人id + */ + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ExcelProperty("创建人") + @TableField("create_user_name") + private String createUserName; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + /** * 流程实例id @@ -102,7 +113,12 @@ * 申请状态 */ @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java index 7d6be90..97b522a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java @@ -1,14 +1,22 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; import java.util.Date; import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.annotation.EqptExportModel; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -41,6 +49,7 @@ */ @ApiModelProperty("计划编号") @TableField("plan_no") + @ExcelProperty("计划编号") private String planNo; /** @@ -48,6 +57,7 @@ */ @ApiModelProperty("计划名称") @TableField("plan_name") + @ExcelProperty("计划名称") private String planName; /** @@ -60,6 +70,7 @@ @ApiModelProperty("计划分类名称") @TableField(exist = false) + @ExcelProperty("计划分类") private String planCategoryName; /** @@ -97,19 +108,7 @@ @TableField("remark") private String remark; - /** - * 创建人id - */ - @ApiModelProperty("创建人id") - @TableField("create_user_id") - private Long createUserId; - /** - * 创建人姓名 - */ - @ApiModelProperty("创建人姓名") - @TableField("create_user_name") - private String createUserName; /** * 创建单位id @@ -123,13 +122,29 @@ */ @ApiModelProperty("创建单位名称") @TableField("create_dept_name") + @ExcelProperty("创建单位") private String createDeptName; + /** + * 创建人id + */ + @ApiModelProperty("创建人id") + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ApiModelProperty("创建人姓名") + @TableField("create_user_name") + @ExcelProperty("创建人") + private String createUserName; /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java index 79461e6..ce39fb7 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java @@ -8,6 +8,8 @@ import java.util.Date; import java.util.List; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import com.casic.missiles.model.CommonApproval; import com.casic.missiles.model.equipment.EquipmentAttachment; import com.casic.missiles.model.equipment.EquipmentInfo; @@ -64,9 +66,10 @@ */ @ApiModelProperty("申请状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; - @ApiModelProperty("申请状态名称") + @ApiModelProperty("审批状态名称") @TableField(exist = false) private String approvalStatusName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java index 130f5cf..7e4a4de 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java @@ -40,11 +40,11 @@ @TableField("status_type") @ApiModelProperty("状态变更类型") + @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusType; @TableField(exist = false) @ApiModelProperty("状态变更类型名称") - @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusTypeName; @TableField("start_time") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java index db5162e..ddbf003 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +15,7 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -23,6 +31,11 @@ @Getter @Setter @TableName("eqpt_subcontract_certificate") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class SubcontractCertificate implements Serializable { private static final long serialVersionUID = 1L; @@ -39,6 +52,7 @@ */ @ApiModelProperty("证书编号") @TableField("certificate_no") + @ExcelProperty(value = "证书号",index = 0) private String certificateNo; /** @@ -46,6 +60,7 @@ */ @ApiModelProperty("证书名称") @TableField("certificate_name") + @ExcelProperty(value = "证书名称",index = 1) private String certificateName; /** @@ -67,6 +82,7 @@ */ @ApiModelProperty("检测单位名称") @TableField(exist = false) + @ExcelProperty(value = "检测单位",index = 6) private String subcontractorName; /** @@ -81,6 +97,7 @@ */ @ApiModelProperty("受检设备编号") @TableField(exist = false) + @ExcelProperty(value = "样品编号",index = 2) private String equipmentNo; /** @@ -88,6 +105,7 @@ */ @ApiModelProperty("受检设备名称") @TableField(exist = false) + @ExcelProperty(value = "样品名称",index = 3) private String equipmentName; /** @@ -95,6 +113,7 @@ */ @ApiModelProperty("出厂编号") @TableField(exist = false) + @ExcelProperty(value = "出厂编号",index = 5) private String equipmentManufactureNo; /** @@ -102,6 +121,7 @@ */ @ApiModelProperty("型号") @TableField(exist = false) + @ExcelProperty(value = "型号",index = 4) private String equipmentModel; /** @@ -144,6 +164,7 @@ */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",index = 7, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java index 5339e10..7ae7965 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -7,6 +8,9 @@ import java.io.Serializable; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -39,6 +43,7 @@ */ @ApiModelProperty("评审表编号") @TableField("review_no") + @ExcelProperty(value = "评审表编号",index = 0) private String reviewNo; /** @@ -46,6 +51,7 @@ */ @ApiModelProperty("评审表名称") @TableField("review_name") + @ExcelProperty(value = "评审表名称",index = 1) private String reviewName; /** @@ -60,6 +66,7 @@ */ @ApiModelProperty("申请人姓名") @TableField("create_user_name") + @ExcelProperty(value = "申请人",index = 4) private String createUserName; /** @@ -81,6 +88,7 @@ */ @ApiModelProperty("创建时间(即申请时间)") @TableField("create_time") + @ExcelProperty(value = "申请时间",index = 5, converter = DateExcelConverter.class) private Date createTime; /** @@ -109,6 +117,7 @@ */ @ApiModelProperty("分包机构名称(冗余字段)") @TableField("subcontractor_company_name") + @ExcelProperty(value = "分包机构名称",index = 2) private String subcontractorCompanyName; /** @@ -116,6 +125,7 @@ */ @ApiModelProperty("机构负责人(冗余字段)") @TableField("subcontractor_director_name") + @ExcelProperty(value = "机构负责人",index = 3) private String subcontractorDirectorName; /** @@ -214,6 +224,11 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java index 0de83b0..c4dcc17 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +9,9 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -40,6 +44,7 @@ */ @ApiModelProperty("分包方编号") @TableField("subcontractor_no") + @ExcelProperty(value = "分包方编号", index = 0) private String subcontractorNo; /** @@ -47,6 +52,7 @@ */ @ApiModelProperty("单位名称") @TableField("company_name") + @ExcelProperty(value = "单位名称", index = 1) private String companyName; /** @@ -131,6 +137,7 @@ */ @ApiModelProperty("机构负责人") @TableField("director_name") + @ExcelProperty(value = "机构负责人", index = 2) private String directorName; /** @@ -138,6 +145,7 @@ */ @ApiModelProperty("联系电话") @TableField("contact_number") + @ExcelProperty(value = "联系电话", index = 3) private String contactNumber; /** @@ -173,6 +181,7 @@ */ @ApiModelProperty("地址") @TableField("address") + @ExcelProperty(value = "地址", index = 5) private String address; /** @@ -187,6 +196,7 @@ */ @ApiModelProperty("测试能力") @TableField("test_ability") + @ExcelProperty(value = "测试能力", index = 4) private String testAbility; /** @@ -215,13 +225,19 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间", index = 6, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java index d7d16b9..91f15d5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java @@ -49,6 +49,13 @@ private String staffName; /** + * 联系方式 + */ + @ApiModelProperty("联系方式") + @TableField("staff_phone") + private String staffPhone; + + /** * 工作部门 */ @ApiModelProperty("工作部门") diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java index a967db1..7eab839 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java @@ -10,6 +10,8 @@ import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.model.CommonApproval; +import java.util.List; + public interface ICommonApprovalService extends IService { @@ -34,6 +36,8 @@ Page allPage(Page page, Q queryForm); + List allExport(Q queryForm); + QueryWrapper commonQuery(Q queryForm); T warpper(T obj); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java index 7ed83c0..0031746 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java @@ -1,15 +1,9 @@ package com.casic.missiles.service.equipment; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; -import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; -import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; -import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.equipment.EquipmentApprovalForm; -import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.model.equipment.EquipmentInfoApproval; -import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.service.ICommonApprovalService; import java.util.List; @@ -22,7 +16,7 @@ * @author zhangyingjie * @since 2023-07-21 */ -public interface IEquipmentInfoApprovalService extends ICommonApprovalService { +public interface IEquipmentInfoApprovalService extends ICommonApprovalService { Long saveOrUpdateApproval(EquipmentApprovalForm approvalForm); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java new file mode 100644 index 0000000..6284acf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EquipmentCertificateQueryForm 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/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java deleted file mode 100644 index 35d2d47..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java +++ /dev/null @@ -1,34 +0,0 @@ -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/dto/equipment/EquipmentQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java new file mode 100644 index 0000000..040a368 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java @@ -0,0 +1,41 @@ +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 EquipmentQueryForm extends BaseQueryForm { + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("设备类型(1受检设备;2特种设备)") + private String equipmentType; + + @ApiModelProperty("使用部门") + private List deptIds; + + @ApiModelProperty("使用岗位") + private String usePosition; + + @ApiModelProperty("使用状态") + private String usageStatus; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; + + @ApiModelProperty("使用状态列表") + private List usageStatusList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java deleted file mode 100644 index f5f4a61..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java +++ /dev/null @@ -1,38 +0,0 @@ -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 EquipmentQueryFrom extends BaseQueryForm { - - @ApiModelProperty("统一编号") - private String equipmentNo; - - @ApiModelProperty("设备名称") - private String equipmentName; - - @ApiModelProperty("设备类型(1受检设备;2特种设备)") - private String equipmentType; - - @ApiModelProperty("使用部门") - private List deptIds; - - @ApiModelProperty("使用岗位") - private String usePosition; - - @ApiModelProperty("使用状态") - private String usageStatus; - - @ApiModelProperty("证书有效期开始时间") - private String certificateValidStart; - - @ApiModelProperty("证书有效期结束时间") - private String certificateValidEnd; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java index 391bfe0..2d3bd33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java @@ -7,6 +7,8 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,6 +31,7 @@ @ExcelIgnore @ApiModelProperty("使用情况") + @DictCodeField(cacheName = MeterDictCode.RFID_USAGE_STATUS) private String usageStatus; @ExcelProperty("使用情况") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java index f0515a5..d4b7ab5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java @@ -1,5 +1,11 @@ package com.casic.missiles.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModelProperty; @@ -9,6 +15,11 @@ @Getter @Setter +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class CommonApproval { @ApiModelProperty("主键") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java index 724e9d8..e08ea2a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java @@ -1,5 +1,13 @@ package com.casic.missiles.model.equipment; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; @@ -12,6 +20,7 @@ import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -27,6 +36,11 @@ @Getter @Setter @TableName("eqpt_equipment_info") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class EquipmentInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -40,6 +54,7 @@ */ @ApiModelProperty("设备编号") @TableField("equipment_no") + @ExcelProperty(value = "统一编号",index = 0) private String equipmentNo; /** @@ -47,6 +62,7 @@ */ @ApiModelProperty("设备名称") @TableField("equipment_name") + @ExcelProperty(value = "设备名称",index = 1) private String equipmentName; /** @@ -66,6 +82,7 @@ @ApiModelProperty("使用状态名称") @TableField(exist = false) + @ExcelProperty(value = "使用状态",index = 8) private String usageStatusName; /** @@ -94,6 +111,7 @@ */ @ApiModelProperty("出厂编号") @TableField("manufacture_no") + @ExcelProperty(value = "出厂编号",index = 3) private String manufactureNo; /** @@ -122,6 +140,7 @@ */ @ApiModelProperty("型号规格") @TableField("model") + @ExcelProperty(value = "型号规格",index = 2) private String model; /** @@ -165,6 +184,8 @@ */ @ApiModelProperty("检定周期(月)") @TableField("check_cycle") + @ExcelProperty(value = "检定周期(月)",index = 6) + @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN, horizontalAlignment = HorizontalAlignmentEnum.LEFT) private Integer checkCycle; /** @@ -172,6 +193,7 @@ */ @ApiModelProperty("备注") @TableField("remark") + @ExcelProperty(value = "备注",index = 9) private String remark; /** @@ -200,6 +222,7 @@ */ @ApiModelProperty("证书有效期") @TableField("certificate_valid") + @ExcelProperty(value = "证书有效期",index = 7, converter = DateExcelConverter.class) private Date certificateValid; /** @@ -207,13 +230,20 @@ */ @ApiModelProperty("计量标识") @TableField("meter_identify") + @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) private String meterIdentify; + @ApiModelProperty("计量标识名称") + @TableField(exist = false) + @ExcelProperty(value = "计量标识",index = 5) + private String meterIdentifyName; + /** * 使用岗位 */ @ApiModelProperty("使用岗位") @TableField("use_position") + @ExcelProperty(value = "使用岗位",index = 4) private String usePosition; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java index 4e884eb..63bef34 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java @@ -8,10 +8,14 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_IMPLEMENT_STATUS; +import static com.casic.missiles.constants.MeterDictCode.FILE_TYPE; + /** *

* 受检设备-文档管理 @@ -81,15 +85,25 @@ */ @ApiModelProperty("文件类别") @TableField("file_type") + @DictCodeField(cacheName = FILE_TYPE) private String fileType; + @ApiModelProperty("文件类型名称") + @TableField(exist = false) + private String fileTypeName; + /** * 实施状态 */ @ApiModelProperty("实施状态") @TableField("implementation_status") + @DictCodeField(cacheName = FILE_IMPLEMENT_STATUS) private String implementationStatus; + @ApiModelProperty("实施状态名称") + @TableField(exist = false) + private String implementationStatusName; + /** * 文件附件 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java index 5862e11..fdd06e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java @@ -8,10 +8,13 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_LOG_TYPE; + /** *

* 受检设备-文档管理-变更记录表 @@ -46,8 +49,13 @@ */ @ApiModelProperty("变更类型") @TableField("log_type") + @DictCodeField(cacheName = FILE_LOG_TYPE) private String logType; + @ApiModelProperty("变更类型名称") + @TableField(exist = false) + private String logTypeName; + /** * 变更人id */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java index 662e2f6..a01b8d9 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java @@ -1,13 +1,19 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; + import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; +import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,18 +35,20 @@ /** * 主键 */ - @TableId("id") + @TableId("id") private Long id; /** * 申请编号 */ @TableField("approval_no") + @ExcelProperty("申请编号") private String approvalNo; /** * 申请名称 */ + @ExcelProperty("申请名称") @TableField("approval_name") private String approvalName; @@ -55,31 +63,6 @@ */ @TableField("reason") private String reason; - - /** - * 创建人id - */ - @TableField("create_user_id") - private Long createUserId; - - /** - * 创建人姓名 - */ - @TableField("create_user_name") - private String createUserName; - - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - - /** - * 更新时间 - */ - @TableField("update_time") - private Date updateTime; - /** * 创建人部门id */ @@ -89,8 +72,36 @@ /** * 创建人部门名称 */ + @ExcelProperty("创建单位") @TableField("create_dept_name") private String createDeptName; + /** + * 创建人id + */ + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ExcelProperty("创建人") + @TableField("create_user_name") + private String createUserName; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + /** * 流程实例id @@ -102,7 +113,12 @@ * 申请状态 */ @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java index 7d6be90..97b522a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java @@ -1,14 +1,22 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; import java.util.Date; import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.annotation.EqptExportModel; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -41,6 +49,7 @@ */ @ApiModelProperty("计划编号") @TableField("plan_no") + @ExcelProperty("计划编号") private String planNo; /** @@ -48,6 +57,7 @@ */ @ApiModelProperty("计划名称") @TableField("plan_name") + @ExcelProperty("计划名称") private String planName; /** @@ -60,6 +70,7 @@ @ApiModelProperty("计划分类名称") @TableField(exist = false) + @ExcelProperty("计划分类") private String planCategoryName; /** @@ -97,19 +108,7 @@ @TableField("remark") private String remark; - /** - * 创建人id - */ - @ApiModelProperty("创建人id") - @TableField("create_user_id") - private Long createUserId; - /** - * 创建人姓名 - */ - @ApiModelProperty("创建人姓名") - @TableField("create_user_name") - private String createUserName; /** * 创建单位id @@ -123,13 +122,29 @@ */ @ApiModelProperty("创建单位名称") @TableField("create_dept_name") + @ExcelProperty("创建单位") private String createDeptName; + /** + * 创建人id + */ + @ApiModelProperty("创建人id") + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ApiModelProperty("创建人姓名") + @TableField("create_user_name") + @ExcelProperty("创建人") + private String createUserName; /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java index 79461e6..ce39fb7 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java @@ -8,6 +8,8 @@ import java.util.Date; import java.util.List; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import com.casic.missiles.model.CommonApproval; import com.casic.missiles.model.equipment.EquipmentAttachment; import com.casic.missiles.model.equipment.EquipmentInfo; @@ -64,9 +66,10 @@ */ @ApiModelProperty("申请状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; - @ApiModelProperty("申请状态名称") + @ApiModelProperty("审批状态名称") @TableField(exist = false) private String approvalStatusName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java index 130f5cf..7e4a4de 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java @@ -40,11 +40,11 @@ @TableField("status_type") @ApiModelProperty("状态变更类型") + @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusType; @TableField(exist = false) @ApiModelProperty("状态变更类型名称") - @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusTypeName; @TableField("start_time") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java index db5162e..ddbf003 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +15,7 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -23,6 +31,11 @@ @Getter @Setter @TableName("eqpt_subcontract_certificate") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class SubcontractCertificate implements Serializable { private static final long serialVersionUID = 1L; @@ -39,6 +52,7 @@ */ @ApiModelProperty("证书编号") @TableField("certificate_no") + @ExcelProperty(value = "证书号",index = 0) private String certificateNo; /** @@ -46,6 +60,7 @@ */ @ApiModelProperty("证书名称") @TableField("certificate_name") + @ExcelProperty(value = "证书名称",index = 1) private String certificateName; /** @@ -67,6 +82,7 @@ */ @ApiModelProperty("检测单位名称") @TableField(exist = false) + @ExcelProperty(value = "检测单位",index = 6) private String subcontractorName; /** @@ -81,6 +97,7 @@ */ @ApiModelProperty("受检设备编号") @TableField(exist = false) + @ExcelProperty(value = "样品编号",index = 2) private String equipmentNo; /** @@ -88,6 +105,7 @@ */ @ApiModelProperty("受检设备名称") @TableField(exist = false) + @ExcelProperty(value = "样品名称",index = 3) private String equipmentName; /** @@ -95,6 +113,7 @@ */ @ApiModelProperty("出厂编号") @TableField(exist = false) + @ExcelProperty(value = "出厂编号",index = 5) private String equipmentManufactureNo; /** @@ -102,6 +121,7 @@ */ @ApiModelProperty("型号") @TableField(exist = false) + @ExcelProperty(value = "型号",index = 4) private String equipmentModel; /** @@ -144,6 +164,7 @@ */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",index = 7, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java index 5339e10..7ae7965 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -7,6 +8,9 @@ import java.io.Serializable; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -39,6 +43,7 @@ */ @ApiModelProperty("评审表编号") @TableField("review_no") + @ExcelProperty(value = "评审表编号",index = 0) private String reviewNo; /** @@ -46,6 +51,7 @@ */ @ApiModelProperty("评审表名称") @TableField("review_name") + @ExcelProperty(value = "评审表名称",index = 1) private String reviewName; /** @@ -60,6 +66,7 @@ */ @ApiModelProperty("申请人姓名") @TableField("create_user_name") + @ExcelProperty(value = "申请人",index = 4) private String createUserName; /** @@ -81,6 +88,7 @@ */ @ApiModelProperty("创建时间(即申请时间)") @TableField("create_time") + @ExcelProperty(value = "申请时间",index = 5, converter = DateExcelConverter.class) private Date createTime; /** @@ -109,6 +117,7 @@ */ @ApiModelProperty("分包机构名称(冗余字段)") @TableField("subcontractor_company_name") + @ExcelProperty(value = "分包机构名称",index = 2) private String subcontractorCompanyName; /** @@ -116,6 +125,7 @@ */ @ApiModelProperty("机构负责人(冗余字段)") @TableField("subcontractor_director_name") + @ExcelProperty(value = "机构负责人",index = 3) private String subcontractorDirectorName; /** @@ -214,6 +224,11 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java index 0de83b0..c4dcc17 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +9,9 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -40,6 +44,7 @@ */ @ApiModelProperty("分包方编号") @TableField("subcontractor_no") + @ExcelProperty(value = "分包方编号", index = 0) private String subcontractorNo; /** @@ -47,6 +52,7 @@ */ @ApiModelProperty("单位名称") @TableField("company_name") + @ExcelProperty(value = "单位名称", index = 1) private String companyName; /** @@ -131,6 +137,7 @@ */ @ApiModelProperty("机构负责人") @TableField("director_name") + @ExcelProperty(value = "机构负责人", index = 2) private String directorName; /** @@ -138,6 +145,7 @@ */ @ApiModelProperty("联系电话") @TableField("contact_number") + @ExcelProperty(value = "联系电话", index = 3) private String contactNumber; /** @@ -173,6 +181,7 @@ */ @ApiModelProperty("地址") @TableField("address") + @ExcelProperty(value = "地址", index = 5) private String address; /** @@ -187,6 +196,7 @@ */ @ApiModelProperty("测试能力") @TableField("test_ability") + @ExcelProperty(value = "测试能力", index = 4) private String testAbility; /** @@ -215,13 +225,19 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间", index = 6, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java index d7d16b9..91f15d5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java @@ -49,6 +49,13 @@ private String staffName; /** + * 联系方式 + */ + @ApiModelProperty("联系方式") + @TableField("staff_phone") + private String staffPhone; + + /** * 工作部门 */ @ApiModelProperty("工作部门") diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java index a967db1..7eab839 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java @@ -10,6 +10,8 @@ import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.model.CommonApproval; +import java.util.List; + public interface ICommonApprovalService extends IService { @@ -34,6 +36,8 @@ Page allPage(Page page, Q queryForm); + List allExport(Q queryForm); + QueryWrapper commonQuery(Q queryForm); T warpper(T obj); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java index 7ed83c0..0031746 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java @@ -1,15 +1,9 @@ package com.casic.missiles.service.equipment; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; -import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; -import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; -import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.equipment.EquipmentApprovalForm; -import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.model.equipment.EquipmentInfoApproval; -import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.service.ICommonApprovalService; import java.util.List; @@ -22,7 +16,7 @@ * @author zhangyingjie * @since 2023-07-21 */ -public interface IEquipmentInfoApprovalService extends ICommonApprovalService { +public interface IEquipmentInfoApprovalService extends ICommonApprovalService { Long saveOrUpdateApproval(EquipmentApprovalForm approvalForm); 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 c2f939d..eee21dc 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 @@ -18,25 +18,25 @@ */ public interface IEquipmentInfoService extends IService { - Page listPage(Page page, EquipmentQueryFrom queryFrom); + Page listPage(Page page, EquipmentQueryForm queryForm); - List list(EquipmentQueryFrom queryFrom); + List list(EquipmentQueryForm queryForm); - List groupByName(EquipmentQueryFrom queryFrom); + List groupByName(EquipmentQueryForm queryForm); EquipmentInfoForm detail(Long equipmentId); List allCertificate(Long equipmentId,String equipmentType); - boolean updateEquipmentStatus(Long equipmentId,String usageStatus); + void updateEquipmentStatus(Long equipmentId, String usageStatus); - boolean updateCertificateValid(Long equipmentId, Date certificateValid); - - boolean updateCertificateInfo(Long equipmentId,String checkOrganization,Date checkDate, Date certificateValid,String meterIdentify); + void updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify); void removeCertificateInfo(Long equipmentId,Long certificateId); - Page remindListPage(Page page,EquipmentQueryFrom queryFrom); + Page remindListPage(Page page, EquipmentQueryForm queryForm); - Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryFrom); + List remindList(EquipmentQueryForm queryForm); + + Page certificateListPage(Page page, EquipmentCertificateQueryForm queryForm); } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java new file mode 100644 index 0000000..6284acf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EquipmentCertificateQueryForm 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/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java deleted file mode 100644 index 35d2d47..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java +++ /dev/null @@ -1,34 +0,0 @@ -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/dto/equipment/EquipmentQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java new file mode 100644 index 0000000..040a368 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java @@ -0,0 +1,41 @@ +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 EquipmentQueryForm extends BaseQueryForm { + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("设备类型(1受检设备;2特种设备)") + private String equipmentType; + + @ApiModelProperty("使用部门") + private List deptIds; + + @ApiModelProperty("使用岗位") + private String usePosition; + + @ApiModelProperty("使用状态") + private String usageStatus; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; + + @ApiModelProperty("使用状态列表") + private List usageStatusList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java deleted file mode 100644 index f5f4a61..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java +++ /dev/null @@ -1,38 +0,0 @@ -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 EquipmentQueryFrom extends BaseQueryForm { - - @ApiModelProperty("统一编号") - private String equipmentNo; - - @ApiModelProperty("设备名称") - private String equipmentName; - - @ApiModelProperty("设备类型(1受检设备;2特种设备)") - private String equipmentType; - - @ApiModelProperty("使用部门") - private List deptIds; - - @ApiModelProperty("使用岗位") - private String usePosition; - - @ApiModelProperty("使用状态") - private String usageStatus; - - @ApiModelProperty("证书有效期开始时间") - private String certificateValidStart; - - @ApiModelProperty("证书有效期结束时间") - private String certificateValidEnd; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java index 391bfe0..2d3bd33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java @@ -7,6 +7,8 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,6 +31,7 @@ @ExcelIgnore @ApiModelProperty("使用情况") + @DictCodeField(cacheName = MeterDictCode.RFID_USAGE_STATUS) private String usageStatus; @ExcelProperty("使用情况") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java index f0515a5..d4b7ab5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java @@ -1,5 +1,11 @@ package com.casic.missiles.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModelProperty; @@ -9,6 +15,11 @@ @Getter @Setter +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class CommonApproval { @ApiModelProperty("主键") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java index 724e9d8..e08ea2a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java @@ -1,5 +1,13 @@ package com.casic.missiles.model.equipment; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; @@ -12,6 +20,7 @@ import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -27,6 +36,11 @@ @Getter @Setter @TableName("eqpt_equipment_info") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class EquipmentInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -40,6 +54,7 @@ */ @ApiModelProperty("设备编号") @TableField("equipment_no") + @ExcelProperty(value = "统一编号",index = 0) private String equipmentNo; /** @@ -47,6 +62,7 @@ */ @ApiModelProperty("设备名称") @TableField("equipment_name") + @ExcelProperty(value = "设备名称",index = 1) private String equipmentName; /** @@ -66,6 +82,7 @@ @ApiModelProperty("使用状态名称") @TableField(exist = false) + @ExcelProperty(value = "使用状态",index = 8) private String usageStatusName; /** @@ -94,6 +111,7 @@ */ @ApiModelProperty("出厂编号") @TableField("manufacture_no") + @ExcelProperty(value = "出厂编号",index = 3) private String manufactureNo; /** @@ -122,6 +140,7 @@ */ @ApiModelProperty("型号规格") @TableField("model") + @ExcelProperty(value = "型号规格",index = 2) private String model; /** @@ -165,6 +184,8 @@ */ @ApiModelProperty("检定周期(月)") @TableField("check_cycle") + @ExcelProperty(value = "检定周期(月)",index = 6) + @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN, horizontalAlignment = HorizontalAlignmentEnum.LEFT) private Integer checkCycle; /** @@ -172,6 +193,7 @@ */ @ApiModelProperty("备注") @TableField("remark") + @ExcelProperty(value = "备注",index = 9) private String remark; /** @@ -200,6 +222,7 @@ */ @ApiModelProperty("证书有效期") @TableField("certificate_valid") + @ExcelProperty(value = "证书有效期",index = 7, converter = DateExcelConverter.class) private Date certificateValid; /** @@ -207,13 +230,20 @@ */ @ApiModelProperty("计量标识") @TableField("meter_identify") + @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) private String meterIdentify; + @ApiModelProperty("计量标识名称") + @TableField(exist = false) + @ExcelProperty(value = "计量标识",index = 5) + private String meterIdentifyName; + /** * 使用岗位 */ @ApiModelProperty("使用岗位") @TableField("use_position") + @ExcelProperty(value = "使用岗位",index = 4) private String usePosition; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java index 4e884eb..63bef34 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java @@ -8,10 +8,14 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_IMPLEMENT_STATUS; +import static com.casic.missiles.constants.MeterDictCode.FILE_TYPE; + /** *

* 受检设备-文档管理 @@ -81,15 +85,25 @@ */ @ApiModelProperty("文件类别") @TableField("file_type") + @DictCodeField(cacheName = FILE_TYPE) private String fileType; + @ApiModelProperty("文件类型名称") + @TableField(exist = false) + private String fileTypeName; + /** * 实施状态 */ @ApiModelProperty("实施状态") @TableField("implementation_status") + @DictCodeField(cacheName = FILE_IMPLEMENT_STATUS) private String implementationStatus; + @ApiModelProperty("实施状态名称") + @TableField(exist = false) + private String implementationStatusName; + /** * 文件附件 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java index 5862e11..fdd06e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java @@ -8,10 +8,13 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_LOG_TYPE; + /** *

* 受检设备-文档管理-变更记录表 @@ -46,8 +49,13 @@ */ @ApiModelProperty("变更类型") @TableField("log_type") + @DictCodeField(cacheName = FILE_LOG_TYPE) private String logType; + @ApiModelProperty("变更类型名称") + @TableField(exist = false) + private String logTypeName; + /** * 变更人id */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java index 662e2f6..a01b8d9 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java @@ -1,13 +1,19 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; + import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; +import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,18 +35,20 @@ /** * 主键 */ - @TableId("id") + @TableId("id") private Long id; /** * 申请编号 */ @TableField("approval_no") + @ExcelProperty("申请编号") private String approvalNo; /** * 申请名称 */ + @ExcelProperty("申请名称") @TableField("approval_name") private String approvalName; @@ -55,31 +63,6 @@ */ @TableField("reason") private String reason; - - /** - * 创建人id - */ - @TableField("create_user_id") - private Long createUserId; - - /** - * 创建人姓名 - */ - @TableField("create_user_name") - private String createUserName; - - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - - /** - * 更新时间 - */ - @TableField("update_time") - private Date updateTime; - /** * 创建人部门id */ @@ -89,8 +72,36 @@ /** * 创建人部门名称 */ + @ExcelProperty("创建单位") @TableField("create_dept_name") private String createDeptName; + /** + * 创建人id + */ + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ExcelProperty("创建人") + @TableField("create_user_name") + private String createUserName; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + /** * 流程实例id @@ -102,7 +113,12 @@ * 申请状态 */ @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java index 7d6be90..97b522a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java @@ -1,14 +1,22 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; import java.util.Date; import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.annotation.EqptExportModel; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -41,6 +49,7 @@ */ @ApiModelProperty("计划编号") @TableField("plan_no") + @ExcelProperty("计划编号") private String planNo; /** @@ -48,6 +57,7 @@ */ @ApiModelProperty("计划名称") @TableField("plan_name") + @ExcelProperty("计划名称") private String planName; /** @@ -60,6 +70,7 @@ @ApiModelProperty("计划分类名称") @TableField(exist = false) + @ExcelProperty("计划分类") private String planCategoryName; /** @@ -97,19 +108,7 @@ @TableField("remark") private String remark; - /** - * 创建人id - */ - @ApiModelProperty("创建人id") - @TableField("create_user_id") - private Long createUserId; - /** - * 创建人姓名 - */ - @ApiModelProperty("创建人姓名") - @TableField("create_user_name") - private String createUserName; /** * 创建单位id @@ -123,13 +122,29 @@ */ @ApiModelProperty("创建单位名称") @TableField("create_dept_name") + @ExcelProperty("创建单位") private String createDeptName; + /** + * 创建人id + */ + @ApiModelProperty("创建人id") + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ApiModelProperty("创建人姓名") + @TableField("create_user_name") + @ExcelProperty("创建人") + private String createUserName; /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java index 79461e6..ce39fb7 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java @@ -8,6 +8,8 @@ import java.util.Date; import java.util.List; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import com.casic.missiles.model.CommonApproval; import com.casic.missiles.model.equipment.EquipmentAttachment; import com.casic.missiles.model.equipment.EquipmentInfo; @@ -64,9 +66,10 @@ */ @ApiModelProperty("申请状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; - @ApiModelProperty("申请状态名称") + @ApiModelProperty("审批状态名称") @TableField(exist = false) private String approvalStatusName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java index 130f5cf..7e4a4de 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java @@ -40,11 +40,11 @@ @TableField("status_type") @ApiModelProperty("状态变更类型") + @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusType; @TableField(exist = false) @ApiModelProperty("状态变更类型名称") - @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusTypeName; @TableField("start_time") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java index db5162e..ddbf003 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +15,7 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -23,6 +31,11 @@ @Getter @Setter @TableName("eqpt_subcontract_certificate") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class SubcontractCertificate implements Serializable { private static final long serialVersionUID = 1L; @@ -39,6 +52,7 @@ */ @ApiModelProperty("证书编号") @TableField("certificate_no") + @ExcelProperty(value = "证书号",index = 0) private String certificateNo; /** @@ -46,6 +60,7 @@ */ @ApiModelProperty("证书名称") @TableField("certificate_name") + @ExcelProperty(value = "证书名称",index = 1) private String certificateName; /** @@ -67,6 +82,7 @@ */ @ApiModelProperty("检测单位名称") @TableField(exist = false) + @ExcelProperty(value = "检测单位",index = 6) private String subcontractorName; /** @@ -81,6 +97,7 @@ */ @ApiModelProperty("受检设备编号") @TableField(exist = false) + @ExcelProperty(value = "样品编号",index = 2) private String equipmentNo; /** @@ -88,6 +105,7 @@ */ @ApiModelProperty("受检设备名称") @TableField(exist = false) + @ExcelProperty(value = "样品名称",index = 3) private String equipmentName; /** @@ -95,6 +113,7 @@ */ @ApiModelProperty("出厂编号") @TableField(exist = false) + @ExcelProperty(value = "出厂编号",index = 5) private String equipmentManufactureNo; /** @@ -102,6 +121,7 @@ */ @ApiModelProperty("型号") @TableField(exist = false) + @ExcelProperty(value = "型号",index = 4) private String equipmentModel; /** @@ -144,6 +164,7 @@ */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",index = 7, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java index 5339e10..7ae7965 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -7,6 +8,9 @@ import java.io.Serializable; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -39,6 +43,7 @@ */ @ApiModelProperty("评审表编号") @TableField("review_no") + @ExcelProperty(value = "评审表编号",index = 0) private String reviewNo; /** @@ -46,6 +51,7 @@ */ @ApiModelProperty("评审表名称") @TableField("review_name") + @ExcelProperty(value = "评审表名称",index = 1) private String reviewName; /** @@ -60,6 +66,7 @@ */ @ApiModelProperty("申请人姓名") @TableField("create_user_name") + @ExcelProperty(value = "申请人",index = 4) private String createUserName; /** @@ -81,6 +88,7 @@ */ @ApiModelProperty("创建时间(即申请时间)") @TableField("create_time") + @ExcelProperty(value = "申请时间",index = 5, converter = DateExcelConverter.class) private Date createTime; /** @@ -109,6 +117,7 @@ */ @ApiModelProperty("分包机构名称(冗余字段)") @TableField("subcontractor_company_name") + @ExcelProperty(value = "分包机构名称",index = 2) private String subcontractorCompanyName; /** @@ -116,6 +125,7 @@ */ @ApiModelProperty("机构负责人(冗余字段)") @TableField("subcontractor_director_name") + @ExcelProperty(value = "机构负责人",index = 3) private String subcontractorDirectorName; /** @@ -214,6 +224,11 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java index 0de83b0..c4dcc17 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +9,9 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -40,6 +44,7 @@ */ @ApiModelProperty("分包方编号") @TableField("subcontractor_no") + @ExcelProperty(value = "分包方编号", index = 0) private String subcontractorNo; /** @@ -47,6 +52,7 @@ */ @ApiModelProperty("单位名称") @TableField("company_name") + @ExcelProperty(value = "单位名称", index = 1) private String companyName; /** @@ -131,6 +137,7 @@ */ @ApiModelProperty("机构负责人") @TableField("director_name") + @ExcelProperty(value = "机构负责人", index = 2) private String directorName; /** @@ -138,6 +145,7 @@ */ @ApiModelProperty("联系电话") @TableField("contact_number") + @ExcelProperty(value = "联系电话", index = 3) private String contactNumber; /** @@ -173,6 +181,7 @@ */ @ApiModelProperty("地址") @TableField("address") + @ExcelProperty(value = "地址", index = 5) private String address; /** @@ -187,6 +196,7 @@ */ @ApiModelProperty("测试能力") @TableField("test_ability") + @ExcelProperty(value = "测试能力", index = 4) private String testAbility; /** @@ -215,13 +225,19 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间", index = 6, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java index d7d16b9..91f15d5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java @@ -49,6 +49,13 @@ private String staffName; /** + * 联系方式 + */ + @ApiModelProperty("联系方式") + @TableField("staff_phone") + private String staffPhone; + + /** * 工作部门 */ @ApiModelProperty("工作部门") diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java index a967db1..7eab839 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java @@ -10,6 +10,8 @@ import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.model.CommonApproval; +import java.util.List; + public interface ICommonApprovalService extends IService { @@ -34,6 +36,8 @@ Page allPage(Page page, Q queryForm); + List allExport(Q queryForm); + QueryWrapper commonQuery(Q queryForm); T warpper(T obj); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java index 7ed83c0..0031746 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java @@ -1,15 +1,9 @@ package com.casic.missiles.service.equipment; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; -import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; -import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; -import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.equipment.EquipmentApprovalForm; -import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.model.equipment.EquipmentInfoApproval; -import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.service.ICommonApprovalService; import java.util.List; @@ -22,7 +16,7 @@ * @author zhangyingjie * @since 2023-07-21 */ -public interface IEquipmentInfoApprovalService extends ICommonApprovalService { +public interface IEquipmentInfoApprovalService extends ICommonApprovalService { Long saveOrUpdateApproval(EquipmentApprovalForm approvalForm); 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 c2f939d..eee21dc 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 @@ -18,25 +18,25 @@ */ public interface IEquipmentInfoService extends IService { - Page listPage(Page page, EquipmentQueryFrom queryFrom); + Page listPage(Page page, EquipmentQueryForm queryForm); - List list(EquipmentQueryFrom queryFrom); + List list(EquipmentQueryForm queryForm); - List groupByName(EquipmentQueryFrom queryFrom); + List groupByName(EquipmentQueryForm queryForm); EquipmentInfoForm detail(Long equipmentId); List allCertificate(Long equipmentId,String equipmentType); - boolean updateEquipmentStatus(Long equipmentId,String usageStatus); + void updateEquipmentStatus(Long equipmentId, String usageStatus); - boolean updateCertificateValid(Long equipmentId, Date certificateValid); - - boolean updateCertificateInfo(Long equipmentId,String checkOrganization,Date checkDate, Date certificateValid,String meterIdentify); + void updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify); void removeCertificateInfo(Long equipmentId,Long certificateId); - Page remindListPage(Page page,EquipmentQueryFrom queryFrom); + Page remindListPage(Page page, EquipmentQueryForm queryForm); - Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryFrom); + List remindList(EquipmentQueryForm queryForm); + + Page certificateListPage(Page page, EquipmentCertificateQueryForm queryForm); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java index 06b6853..5fe001d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java @@ -212,6 +212,25 @@ } @Override + public List allExport(Q queryForm) { + QueryWrapper queryWrapper; + if(CollUtil.isEmpty(queryForm.getIds())){ + queryWrapper = commonQuery(queryForm); + queryWrapper.eq("approval_status",ApprovalStatusEnum.PASSED); + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + if(!ALL_TYPE.equals(dataScope.getScopeEnums())){ + queryWrapper.in("create_dept_id",dataScope.getDeptIds()); + } + }else { + queryWrapper = new QueryWrapper<>(); + queryWrapper.in("id",queryForm.getIds()); + } + List list = this.list(queryWrapper); + list.forEach(this::warpper); + return list; + } + + @Override public QueryWrapper commonQuery(Q queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); return queryWrapper; diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java new file mode 100644 index 0000000..6284acf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EquipmentCertificateQueryForm 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/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java deleted file mode 100644 index 35d2d47..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java +++ /dev/null @@ -1,34 +0,0 @@ -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/dto/equipment/EquipmentQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java new file mode 100644 index 0000000..040a368 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java @@ -0,0 +1,41 @@ +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 EquipmentQueryForm extends BaseQueryForm { + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("设备类型(1受检设备;2特种设备)") + private String equipmentType; + + @ApiModelProperty("使用部门") + private List deptIds; + + @ApiModelProperty("使用岗位") + private String usePosition; + + @ApiModelProperty("使用状态") + private String usageStatus; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; + + @ApiModelProperty("使用状态列表") + private List usageStatusList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java deleted file mode 100644 index f5f4a61..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java +++ /dev/null @@ -1,38 +0,0 @@ -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 EquipmentQueryFrom extends BaseQueryForm { - - @ApiModelProperty("统一编号") - private String equipmentNo; - - @ApiModelProperty("设备名称") - private String equipmentName; - - @ApiModelProperty("设备类型(1受检设备;2特种设备)") - private String equipmentType; - - @ApiModelProperty("使用部门") - private List deptIds; - - @ApiModelProperty("使用岗位") - private String usePosition; - - @ApiModelProperty("使用状态") - private String usageStatus; - - @ApiModelProperty("证书有效期开始时间") - private String certificateValidStart; - - @ApiModelProperty("证书有效期结束时间") - private String certificateValidEnd; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java index 391bfe0..2d3bd33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java @@ -7,6 +7,8 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,6 +31,7 @@ @ExcelIgnore @ApiModelProperty("使用情况") + @DictCodeField(cacheName = MeterDictCode.RFID_USAGE_STATUS) private String usageStatus; @ExcelProperty("使用情况") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java index f0515a5..d4b7ab5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java @@ -1,5 +1,11 @@ package com.casic.missiles.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModelProperty; @@ -9,6 +15,11 @@ @Getter @Setter +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class CommonApproval { @ApiModelProperty("主键") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java index 724e9d8..e08ea2a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java @@ -1,5 +1,13 @@ package com.casic.missiles.model.equipment; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; @@ -12,6 +20,7 @@ import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -27,6 +36,11 @@ @Getter @Setter @TableName("eqpt_equipment_info") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class EquipmentInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -40,6 +54,7 @@ */ @ApiModelProperty("设备编号") @TableField("equipment_no") + @ExcelProperty(value = "统一编号",index = 0) private String equipmentNo; /** @@ -47,6 +62,7 @@ */ @ApiModelProperty("设备名称") @TableField("equipment_name") + @ExcelProperty(value = "设备名称",index = 1) private String equipmentName; /** @@ -66,6 +82,7 @@ @ApiModelProperty("使用状态名称") @TableField(exist = false) + @ExcelProperty(value = "使用状态",index = 8) private String usageStatusName; /** @@ -94,6 +111,7 @@ */ @ApiModelProperty("出厂编号") @TableField("manufacture_no") + @ExcelProperty(value = "出厂编号",index = 3) private String manufactureNo; /** @@ -122,6 +140,7 @@ */ @ApiModelProperty("型号规格") @TableField("model") + @ExcelProperty(value = "型号规格",index = 2) private String model; /** @@ -165,6 +184,8 @@ */ @ApiModelProperty("检定周期(月)") @TableField("check_cycle") + @ExcelProperty(value = "检定周期(月)",index = 6) + @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN, horizontalAlignment = HorizontalAlignmentEnum.LEFT) private Integer checkCycle; /** @@ -172,6 +193,7 @@ */ @ApiModelProperty("备注") @TableField("remark") + @ExcelProperty(value = "备注",index = 9) private String remark; /** @@ -200,6 +222,7 @@ */ @ApiModelProperty("证书有效期") @TableField("certificate_valid") + @ExcelProperty(value = "证书有效期",index = 7, converter = DateExcelConverter.class) private Date certificateValid; /** @@ -207,13 +230,20 @@ */ @ApiModelProperty("计量标识") @TableField("meter_identify") + @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) private String meterIdentify; + @ApiModelProperty("计量标识名称") + @TableField(exist = false) + @ExcelProperty(value = "计量标识",index = 5) + private String meterIdentifyName; + /** * 使用岗位 */ @ApiModelProperty("使用岗位") @TableField("use_position") + @ExcelProperty(value = "使用岗位",index = 4) private String usePosition; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java index 4e884eb..63bef34 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java @@ -8,10 +8,14 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_IMPLEMENT_STATUS; +import static com.casic.missiles.constants.MeterDictCode.FILE_TYPE; + /** *

* 受检设备-文档管理 @@ -81,15 +85,25 @@ */ @ApiModelProperty("文件类别") @TableField("file_type") + @DictCodeField(cacheName = FILE_TYPE) private String fileType; + @ApiModelProperty("文件类型名称") + @TableField(exist = false) + private String fileTypeName; + /** * 实施状态 */ @ApiModelProperty("实施状态") @TableField("implementation_status") + @DictCodeField(cacheName = FILE_IMPLEMENT_STATUS) private String implementationStatus; + @ApiModelProperty("实施状态名称") + @TableField(exist = false) + private String implementationStatusName; + /** * 文件附件 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java index 5862e11..fdd06e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java @@ -8,10 +8,13 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_LOG_TYPE; + /** *

* 受检设备-文档管理-变更记录表 @@ -46,8 +49,13 @@ */ @ApiModelProperty("变更类型") @TableField("log_type") + @DictCodeField(cacheName = FILE_LOG_TYPE) private String logType; + @ApiModelProperty("变更类型名称") + @TableField(exist = false) + private String logTypeName; + /** * 变更人id */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java index 662e2f6..a01b8d9 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java @@ -1,13 +1,19 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; + import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; +import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,18 +35,20 @@ /** * 主键 */ - @TableId("id") + @TableId("id") private Long id; /** * 申请编号 */ @TableField("approval_no") + @ExcelProperty("申请编号") private String approvalNo; /** * 申请名称 */ + @ExcelProperty("申请名称") @TableField("approval_name") private String approvalName; @@ -55,31 +63,6 @@ */ @TableField("reason") private String reason; - - /** - * 创建人id - */ - @TableField("create_user_id") - private Long createUserId; - - /** - * 创建人姓名 - */ - @TableField("create_user_name") - private String createUserName; - - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - - /** - * 更新时间 - */ - @TableField("update_time") - private Date updateTime; - /** * 创建人部门id */ @@ -89,8 +72,36 @@ /** * 创建人部门名称 */ + @ExcelProperty("创建单位") @TableField("create_dept_name") private String createDeptName; + /** + * 创建人id + */ + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ExcelProperty("创建人") + @TableField("create_user_name") + private String createUserName; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + /** * 流程实例id @@ -102,7 +113,12 @@ * 申请状态 */ @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java index 7d6be90..97b522a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java @@ -1,14 +1,22 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; import java.util.Date; import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.annotation.EqptExportModel; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -41,6 +49,7 @@ */ @ApiModelProperty("计划编号") @TableField("plan_no") + @ExcelProperty("计划编号") private String planNo; /** @@ -48,6 +57,7 @@ */ @ApiModelProperty("计划名称") @TableField("plan_name") + @ExcelProperty("计划名称") private String planName; /** @@ -60,6 +70,7 @@ @ApiModelProperty("计划分类名称") @TableField(exist = false) + @ExcelProperty("计划分类") private String planCategoryName; /** @@ -97,19 +108,7 @@ @TableField("remark") private String remark; - /** - * 创建人id - */ - @ApiModelProperty("创建人id") - @TableField("create_user_id") - private Long createUserId; - /** - * 创建人姓名 - */ - @ApiModelProperty("创建人姓名") - @TableField("create_user_name") - private String createUserName; /** * 创建单位id @@ -123,13 +122,29 @@ */ @ApiModelProperty("创建单位名称") @TableField("create_dept_name") + @ExcelProperty("创建单位") private String createDeptName; + /** + * 创建人id + */ + @ApiModelProperty("创建人id") + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ApiModelProperty("创建人姓名") + @TableField("create_user_name") + @ExcelProperty("创建人") + private String createUserName; /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java index 79461e6..ce39fb7 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java @@ -8,6 +8,8 @@ import java.util.Date; import java.util.List; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import com.casic.missiles.model.CommonApproval; import com.casic.missiles.model.equipment.EquipmentAttachment; import com.casic.missiles.model.equipment.EquipmentInfo; @@ -64,9 +66,10 @@ */ @ApiModelProperty("申请状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; - @ApiModelProperty("申请状态名称") + @ApiModelProperty("审批状态名称") @TableField(exist = false) private String approvalStatusName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java index 130f5cf..7e4a4de 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java @@ -40,11 +40,11 @@ @TableField("status_type") @ApiModelProperty("状态变更类型") + @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusType; @TableField(exist = false) @ApiModelProperty("状态变更类型名称") - @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusTypeName; @TableField("start_time") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java index db5162e..ddbf003 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +15,7 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -23,6 +31,11 @@ @Getter @Setter @TableName("eqpt_subcontract_certificate") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class SubcontractCertificate implements Serializable { private static final long serialVersionUID = 1L; @@ -39,6 +52,7 @@ */ @ApiModelProperty("证书编号") @TableField("certificate_no") + @ExcelProperty(value = "证书号",index = 0) private String certificateNo; /** @@ -46,6 +60,7 @@ */ @ApiModelProperty("证书名称") @TableField("certificate_name") + @ExcelProperty(value = "证书名称",index = 1) private String certificateName; /** @@ -67,6 +82,7 @@ */ @ApiModelProperty("检测单位名称") @TableField(exist = false) + @ExcelProperty(value = "检测单位",index = 6) private String subcontractorName; /** @@ -81,6 +97,7 @@ */ @ApiModelProperty("受检设备编号") @TableField(exist = false) + @ExcelProperty(value = "样品编号",index = 2) private String equipmentNo; /** @@ -88,6 +105,7 @@ */ @ApiModelProperty("受检设备名称") @TableField(exist = false) + @ExcelProperty(value = "样品名称",index = 3) private String equipmentName; /** @@ -95,6 +113,7 @@ */ @ApiModelProperty("出厂编号") @TableField(exist = false) + @ExcelProperty(value = "出厂编号",index = 5) private String equipmentManufactureNo; /** @@ -102,6 +121,7 @@ */ @ApiModelProperty("型号") @TableField(exist = false) + @ExcelProperty(value = "型号",index = 4) private String equipmentModel; /** @@ -144,6 +164,7 @@ */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",index = 7, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java index 5339e10..7ae7965 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -7,6 +8,9 @@ import java.io.Serializable; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -39,6 +43,7 @@ */ @ApiModelProperty("评审表编号") @TableField("review_no") + @ExcelProperty(value = "评审表编号",index = 0) private String reviewNo; /** @@ -46,6 +51,7 @@ */ @ApiModelProperty("评审表名称") @TableField("review_name") + @ExcelProperty(value = "评审表名称",index = 1) private String reviewName; /** @@ -60,6 +66,7 @@ */ @ApiModelProperty("申请人姓名") @TableField("create_user_name") + @ExcelProperty(value = "申请人",index = 4) private String createUserName; /** @@ -81,6 +88,7 @@ */ @ApiModelProperty("创建时间(即申请时间)") @TableField("create_time") + @ExcelProperty(value = "申请时间",index = 5, converter = DateExcelConverter.class) private Date createTime; /** @@ -109,6 +117,7 @@ */ @ApiModelProperty("分包机构名称(冗余字段)") @TableField("subcontractor_company_name") + @ExcelProperty(value = "分包机构名称",index = 2) private String subcontractorCompanyName; /** @@ -116,6 +125,7 @@ */ @ApiModelProperty("机构负责人(冗余字段)") @TableField("subcontractor_director_name") + @ExcelProperty(value = "机构负责人",index = 3) private String subcontractorDirectorName; /** @@ -214,6 +224,11 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java index 0de83b0..c4dcc17 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +9,9 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -40,6 +44,7 @@ */ @ApiModelProperty("分包方编号") @TableField("subcontractor_no") + @ExcelProperty(value = "分包方编号", index = 0) private String subcontractorNo; /** @@ -47,6 +52,7 @@ */ @ApiModelProperty("单位名称") @TableField("company_name") + @ExcelProperty(value = "单位名称", index = 1) private String companyName; /** @@ -131,6 +137,7 @@ */ @ApiModelProperty("机构负责人") @TableField("director_name") + @ExcelProperty(value = "机构负责人", index = 2) private String directorName; /** @@ -138,6 +145,7 @@ */ @ApiModelProperty("联系电话") @TableField("contact_number") + @ExcelProperty(value = "联系电话", index = 3) private String contactNumber; /** @@ -173,6 +181,7 @@ */ @ApiModelProperty("地址") @TableField("address") + @ExcelProperty(value = "地址", index = 5) private String address; /** @@ -187,6 +196,7 @@ */ @ApiModelProperty("测试能力") @TableField("test_ability") + @ExcelProperty(value = "测试能力", index = 4) private String testAbility; /** @@ -215,13 +225,19 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间", index = 6, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java index d7d16b9..91f15d5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java @@ -49,6 +49,13 @@ private String staffName; /** + * 联系方式 + */ + @ApiModelProperty("联系方式") + @TableField("staff_phone") + private String staffPhone; + + /** * 工作部门 */ @ApiModelProperty("工作部门") diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java index a967db1..7eab839 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java @@ -10,6 +10,8 @@ import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.model.CommonApproval; +import java.util.List; + public interface ICommonApprovalService extends IService { @@ -34,6 +36,8 @@ Page allPage(Page page, Q queryForm); + List allExport(Q queryForm); + QueryWrapper commonQuery(Q queryForm); T warpper(T obj); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java index 7ed83c0..0031746 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java @@ -1,15 +1,9 @@ package com.casic.missiles.service.equipment; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; -import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; -import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; -import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.equipment.EquipmentApprovalForm; -import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.model.equipment.EquipmentInfoApproval; -import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.service.ICommonApprovalService; import java.util.List; @@ -22,7 +16,7 @@ * @author zhangyingjie * @since 2023-07-21 */ -public interface IEquipmentInfoApprovalService extends ICommonApprovalService { +public interface IEquipmentInfoApprovalService extends ICommonApprovalService { Long saveOrUpdateApproval(EquipmentApprovalForm approvalForm); 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 c2f939d..eee21dc 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 @@ -18,25 +18,25 @@ */ public interface IEquipmentInfoService extends IService { - Page listPage(Page page, EquipmentQueryFrom queryFrom); + Page listPage(Page page, EquipmentQueryForm queryForm); - List list(EquipmentQueryFrom queryFrom); + List list(EquipmentQueryForm queryForm); - List groupByName(EquipmentQueryFrom queryFrom); + List groupByName(EquipmentQueryForm queryForm); EquipmentInfoForm detail(Long equipmentId); List allCertificate(Long equipmentId,String equipmentType); - boolean updateEquipmentStatus(Long equipmentId,String usageStatus); + void updateEquipmentStatus(Long equipmentId, String usageStatus); - boolean updateCertificateValid(Long equipmentId, Date certificateValid); - - boolean updateCertificateInfo(Long equipmentId,String checkOrganization,Date checkDate, Date certificateValid,String meterIdentify); + void updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify); void removeCertificateInfo(Long equipmentId,Long certificateId); - Page remindListPage(Page page,EquipmentQueryFrom queryFrom); + Page remindListPage(Page page, EquipmentQueryForm queryForm); - Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryFrom); + List remindList(EquipmentQueryForm queryForm); + + Page certificateListPage(Page page, EquipmentCertificateQueryForm queryForm); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java index 06b6853..5fe001d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java @@ -212,6 +212,25 @@ } @Override + public List allExport(Q queryForm) { + QueryWrapper queryWrapper; + if(CollUtil.isEmpty(queryForm.getIds())){ + queryWrapper = commonQuery(queryForm); + queryWrapper.eq("approval_status",ApprovalStatusEnum.PASSED); + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + if(!ALL_TYPE.equals(dataScope.getScopeEnums())){ + queryWrapper.in("create_dept_id",dataScope.getDeptIds()); + } + }else { + queryWrapper = new QueryWrapper<>(); + queryWrapper.in("id",queryForm.getIds()); + } + List list = this.list(queryWrapper); + list.forEach(this::warpper); + return list; + } + + @Override public QueryWrapper commonQuery(Q queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); return queryWrapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java index 5e9824d..1ca0447 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java @@ -10,7 +10,7 @@ import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.equipment.EquipmentApprovalForm; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -53,7 +53,7 @@ */ @Service @Slf4j -public class EquipmentInfoApprovalServiceImpl extends CommonApprovalServiceImpl implements IEquipmentInfoApprovalService { +public class EquipmentInfoApprovalServiceImpl extends CommonApprovalServiceImpl implements IEquipmentInfoApprovalService { @Autowired private IEquipmentInfoService equipmentInfoService; @@ -251,7 +251,7 @@ } @Override - public QueryWrapper commonQuery(EquipmentQueryFrom queryForm) { + public QueryWrapper commonQuery(EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "equipment_no", queryForm.getEquipmentNo()); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java new file mode 100644 index 0000000..6284acf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EquipmentCertificateQueryForm 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/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java deleted file mode 100644 index 35d2d47..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java +++ /dev/null @@ -1,34 +0,0 @@ -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/dto/equipment/EquipmentQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java new file mode 100644 index 0000000..040a368 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java @@ -0,0 +1,41 @@ +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 EquipmentQueryForm extends BaseQueryForm { + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("设备类型(1受检设备;2特种设备)") + private String equipmentType; + + @ApiModelProperty("使用部门") + private List deptIds; + + @ApiModelProperty("使用岗位") + private String usePosition; + + @ApiModelProperty("使用状态") + private String usageStatus; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; + + @ApiModelProperty("使用状态列表") + private List usageStatusList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java deleted file mode 100644 index f5f4a61..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java +++ /dev/null @@ -1,38 +0,0 @@ -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 EquipmentQueryFrom extends BaseQueryForm { - - @ApiModelProperty("统一编号") - private String equipmentNo; - - @ApiModelProperty("设备名称") - private String equipmentName; - - @ApiModelProperty("设备类型(1受检设备;2特种设备)") - private String equipmentType; - - @ApiModelProperty("使用部门") - private List deptIds; - - @ApiModelProperty("使用岗位") - private String usePosition; - - @ApiModelProperty("使用状态") - private String usageStatus; - - @ApiModelProperty("证书有效期开始时间") - private String certificateValidStart; - - @ApiModelProperty("证书有效期结束时间") - private String certificateValidEnd; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java index 391bfe0..2d3bd33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java @@ -7,6 +7,8 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,6 +31,7 @@ @ExcelIgnore @ApiModelProperty("使用情况") + @DictCodeField(cacheName = MeterDictCode.RFID_USAGE_STATUS) private String usageStatus; @ExcelProperty("使用情况") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java index f0515a5..d4b7ab5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java @@ -1,5 +1,11 @@ package com.casic.missiles.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModelProperty; @@ -9,6 +15,11 @@ @Getter @Setter +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class CommonApproval { @ApiModelProperty("主键") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java index 724e9d8..e08ea2a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java @@ -1,5 +1,13 @@ package com.casic.missiles.model.equipment; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; @@ -12,6 +20,7 @@ import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -27,6 +36,11 @@ @Getter @Setter @TableName("eqpt_equipment_info") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class EquipmentInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -40,6 +54,7 @@ */ @ApiModelProperty("设备编号") @TableField("equipment_no") + @ExcelProperty(value = "统一编号",index = 0) private String equipmentNo; /** @@ -47,6 +62,7 @@ */ @ApiModelProperty("设备名称") @TableField("equipment_name") + @ExcelProperty(value = "设备名称",index = 1) private String equipmentName; /** @@ -66,6 +82,7 @@ @ApiModelProperty("使用状态名称") @TableField(exist = false) + @ExcelProperty(value = "使用状态",index = 8) private String usageStatusName; /** @@ -94,6 +111,7 @@ */ @ApiModelProperty("出厂编号") @TableField("manufacture_no") + @ExcelProperty(value = "出厂编号",index = 3) private String manufactureNo; /** @@ -122,6 +140,7 @@ */ @ApiModelProperty("型号规格") @TableField("model") + @ExcelProperty(value = "型号规格",index = 2) private String model; /** @@ -165,6 +184,8 @@ */ @ApiModelProperty("检定周期(月)") @TableField("check_cycle") + @ExcelProperty(value = "检定周期(月)",index = 6) + @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN, horizontalAlignment = HorizontalAlignmentEnum.LEFT) private Integer checkCycle; /** @@ -172,6 +193,7 @@ */ @ApiModelProperty("备注") @TableField("remark") + @ExcelProperty(value = "备注",index = 9) private String remark; /** @@ -200,6 +222,7 @@ */ @ApiModelProperty("证书有效期") @TableField("certificate_valid") + @ExcelProperty(value = "证书有效期",index = 7, converter = DateExcelConverter.class) private Date certificateValid; /** @@ -207,13 +230,20 @@ */ @ApiModelProperty("计量标识") @TableField("meter_identify") + @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) private String meterIdentify; + @ApiModelProperty("计量标识名称") + @TableField(exist = false) + @ExcelProperty(value = "计量标识",index = 5) + private String meterIdentifyName; + /** * 使用岗位 */ @ApiModelProperty("使用岗位") @TableField("use_position") + @ExcelProperty(value = "使用岗位",index = 4) private String usePosition; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java index 4e884eb..63bef34 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java @@ -8,10 +8,14 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_IMPLEMENT_STATUS; +import static com.casic.missiles.constants.MeterDictCode.FILE_TYPE; + /** *

* 受检设备-文档管理 @@ -81,15 +85,25 @@ */ @ApiModelProperty("文件类别") @TableField("file_type") + @DictCodeField(cacheName = FILE_TYPE) private String fileType; + @ApiModelProperty("文件类型名称") + @TableField(exist = false) + private String fileTypeName; + /** * 实施状态 */ @ApiModelProperty("实施状态") @TableField("implementation_status") + @DictCodeField(cacheName = FILE_IMPLEMENT_STATUS) private String implementationStatus; + @ApiModelProperty("实施状态名称") + @TableField(exist = false) + private String implementationStatusName; + /** * 文件附件 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java index 5862e11..fdd06e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java @@ -8,10 +8,13 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_LOG_TYPE; + /** *

* 受检设备-文档管理-变更记录表 @@ -46,8 +49,13 @@ */ @ApiModelProperty("变更类型") @TableField("log_type") + @DictCodeField(cacheName = FILE_LOG_TYPE) private String logType; + @ApiModelProperty("变更类型名称") + @TableField(exist = false) + private String logTypeName; + /** * 变更人id */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java index 662e2f6..a01b8d9 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java @@ -1,13 +1,19 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; + import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; +import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,18 +35,20 @@ /** * 主键 */ - @TableId("id") + @TableId("id") private Long id; /** * 申请编号 */ @TableField("approval_no") + @ExcelProperty("申请编号") private String approvalNo; /** * 申请名称 */ + @ExcelProperty("申请名称") @TableField("approval_name") private String approvalName; @@ -55,31 +63,6 @@ */ @TableField("reason") private String reason; - - /** - * 创建人id - */ - @TableField("create_user_id") - private Long createUserId; - - /** - * 创建人姓名 - */ - @TableField("create_user_name") - private String createUserName; - - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - - /** - * 更新时间 - */ - @TableField("update_time") - private Date updateTime; - /** * 创建人部门id */ @@ -89,8 +72,36 @@ /** * 创建人部门名称 */ + @ExcelProperty("创建单位") @TableField("create_dept_name") private String createDeptName; + /** + * 创建人id + */ + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ExcelProperty("创建人") + @TableField("create_user_name") + private String createUserName; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + /** * 流程实例id @@ -102,7 +113,12 @@ * 申请状态 */ @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java index 7d6be90..97b522a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java @@ -1,14 +1,22 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; import java.util.Date; import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.annotation.EqptExportModel; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -41,6 +49,7 @@ */ @ApiModelProperty("计划编号") @TableField("plan_no") + @ExcelProperty("计划编号") private String planNo; /** @@ -48,6 +57,7 @@ */ @ApiModelProperty("计划名称") @TableField("plan_name") + @ExcelProperty("计划名称") private String planName; /** @@ -60,6 +70,7 @@ @ApiModelProperty("计划分类名称") @TableField(exist = false) + @ExcelProperty("计划分类") private String planCategoryName; /** @@ -97,19 +108,7 @@ @TableField("remark") private String remark; - /** - * 创建人id - */ - @ApiModelProperty("创建人id") - @TableField("create_user_id") - private Long createUserId; - /** - * 创建人姓名 - */ - @ApiModelProperty("创建人姓名") - @TableField("create_user_name") - private String createUserName; /** * 创建单位id @@ -123,13 +122,29 @@ */ @ApiModelProperty("创建单位名称") @TableField("create_dept_name") + @ExcelProperty("创建单位") private String createDeptName; + /** + * 创建人id + */ + @ApiModelProperty("创建人id") + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ApiModelProperty("创建人姓名") + @TableField("create_user_name") + @ExcelProperty("创建人") + private String createUserName; /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java index 79461e6..ce39fb7 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java @@ -8,6 +8,8 @@ import java.util.Date; import java.util.List; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import com.casic.missiles.model.CommonApproval; import com.casic.missiles.model.equipment.EquipmentAttachment; import com.casic.missiles.model.equipment.EquipmentInfo; @@ -64,9 +66,10 @@ */ @ApiModelProperty("申请状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; - @ApiModelProperty("申请状态名称") + @ApiModelProperty("审批状态名称") @TableField(exist = false) private String approvalStatusName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java index 130f5cf..7e4a4de 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java @@ -40,11 +40,11 @@ @TableField("status_type") @ApiModelProperty("状态变更类型") + @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusType; @TableField(exist = false) @ApiModelProperty("状态变更类型名称") - @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusTypeName; @TableField("start_time") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java index db5162e..ddbf003 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +15,7 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -23,6 +31,11 @@ @Getter @Setter @TableName("eqpt_subcontract_certificate") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class SubcontractCertificate implements Serializable { private static final long serialVersionUID = 1L; @@ -39,6 +52,7 @@ */ @ApiModelProperty("证书编号") @TableField("certificate_no") + @ExcelProperty(value = "证书号",index = 0) private String certificateNo; /** @@ -46,6 +60,7 @@ */ @ApiModelProperty("证书名称") @TableField("certificate_name") + @ExcelProperty(value = "证书名称",index = 1) private String certificateName; /** @@ -67,6 +82,7 @@ */ @ApiModelProperty("检测单位名称") @TableField(exist = false) + @ExcelProperty(value = "检测单位",index = 6) private String subcontractorName; /** @@ -81,6 +97,7 @@ */ @ApiModelProperty("受检设备编号") @TableField(exist = false) + @ExcelProperty(value = "样品编号",index = 2) private String equipmentNo; /** @@ -88,6 +105,7 @@ */ @ApiModelProperty("受检设备名称") @TableField(exist = false) + @ExcelProperty(value = "样品名称",index = 3) private String equipmentName; /** @@ -95,6 +113,7 @@ */ @ApiModelProperty("出厂编号") @TableField(exist = false) + @ExcelProperty(value = "出厂编号",index = 5) private String equipmentManufactureNo; /** @@ -102,6 +121,7 @@ */ @ApiModelProperty("型号") @TableField(exist = false) + @ExcelProperty(value = "型号",index = 4) private String equipmentModel; /** @@ -144,6 +164,7 @@ */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",index = 7, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java index 5339e10..7ae7965 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -7,6 +8,9 @@ import java.io.Serializable; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -39,6 +43,7 @@ */ @ApiModelProperty("评审表编号") @TableField("review_no") + @ExcelProperty(value = "评审表编号",index = 0) private String reviewNo; /** @@ -46,6 +51,7 @@ */ @ApiModelProperty("评审表名称") @TableField("review_name") + @ExcelProperty(value = "评审表名称",index = 1) private String reviewName; /** @@ -60,6 +66,7 @@ */ @ApiModelProperty("申请人姓名") @TableField("create_user_name") + @ExcelProperty(value = "申请人",index = 4) private String createUserName; /** @@ -81,6 +88,7 @@ */ @ApiModelProperty("创建时间(即申请时间)") @TableField("create_time") + @ExcelProperty(value = "申请时间",index = 5, converter = DateExcelConverter.class) private Date createTime; /** @@ -109,6 +117,7 @@ */ @ApiModelProperty("分包机构名称(冗余字段)") @TableField("subcontractor_company_name") + @ExcelProperty(value = "分包机构名称",index = 2) private String subcontractorCompanyName; /** @@ -116,6 +125,7 @@ */ @ApiModelProperty("机构负责人(冗余字段)") @TableField("subcontractor_director_name") + @ExcelProperty(value = "机构负责人",index = 3) private String subcontractorDirectorName; /** @@ -214,6 +224,11 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java index 0de83b0..c4dcc17 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +9,9 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -40,6 +44,7 @@ */ @ApiModelProperty("分包方编号") @TableField("subcontractor_no") + @ExcelProperty(value = "分包方编号", index = 0) private String subcontractorNo; /** @@ -47,6 +52,7 @@ */ @ApiModelProperty("单位名称") @TableField("company_name") + @ExcelProperty(value = "单位名称", index = 1) private String companyName; /** @@ -131,6 +137,7 @@ */ @ApiModelProperty("机构负责人") @TableField("director_name") + @ExcelProperty(value = "机构负责人", index = 2) private String directorName; /** @@ -138,6 +145,7 @@ */ @ApiModelProperty("联系电话") @TableField("contact_number") + @ExcelProperty(value = "联系电话", index = 3) private String contactNumber; /** @@ -173,6 +181,7 @@ */ @ApiModelProperty("地址") @TableField("address") + @ExcelProperty(value = "地址", index = 5) private String address; /** @@ -187,6 +196,7 @@ */ @ApiModelProperty("测试能力") @TableField("test_ability") + @ExcelProperty(value = "测试能力", index = 4) private String testAbility; /** @@ -215,13 +225,19 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间", index = 6, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java index d7d16b9..91f15d5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java @@ -49,6 +49,13 @@ private String staffName; /** + * 联系方式 + */ + @ApiModelProperty("联系方式") + @TableField("staff_phone") + private String staffPhone; + + /** * 工作部门 */ @ApiModelProperty("工作部门") diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java index a967db1..7eab839 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java @@ -10,6 +10,8 @@ import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.model.CommonApproval; +import java.util.List; + public interface ICommonApprovalService extends IService { @@ -34,6 +36,8 @@ Page allPage(Page page, Q queryForm); + List allExport(Q queryForm); + QueryWrapper commonQuery(Q queryForm); T warpper(T obj); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java index 7ed83c0..0031746 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java @@ -1,15 +1,9 @@ package com.casic.missiles.service.equipment; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; -import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; -import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; -import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.equipment.EquipmentApprovalForm; -import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.model.equipment.EquipmentInfoApproval; -import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.service.ICommonApprovalService; import java.util.List; @@ -22,7 +16,7 @@ * @author zhangyingjie * @since 2023-07-21 */ -public interface IEquipmentInfoApprovalService extends ICommonApprovalService { +public interface IEquipmentInfoApprovalService extends ICommonApprovalService { Long saveOrUpdateApproval(EquipmentApprovalForm approvalForm); 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 c2f939d..eee21dc 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 @@ -18,25 +18,25 @@ */ public interface IEquipmentInfoService extends IService { - Page listPage(Page page, EquipmentQueryFrom queryFrom); + Page listPage(Page page, EquipmentQueryForm queryForm); - List list(EquipmentQueryFrom queryFrom); + List list(EquipmentQueryForm queryForm); - List groupByName(EquipmentQueryFrom queryFrom); + List groupByName(EquipmentQueryForm queryForm); EquipmentInfoForm detail(Long equipmentId); List allCertificate(Long equipmentId,String equipmentType); - boolean updateEquipmentStatus(Long equipmentId,String usageStatus); + void updateEquipmentStatus(Long equipmentId, String usageStatus); - boolean updateCertificateValid(Long equipmentId, Date certificateValid); - - boolean updateCertificateInfo(Long equipmentId,String checkOrganization,Date checkDate, Date certificateValid,String meterIdentify); + void updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify); void removeCertificateInfo(Long equipmentId,Long certificateId); - Page remindListPage(Page page,EquipmentQueryFrom queryFrom); + Page remindListPage(Page page, EquipmentQueryForm queryForm); - Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryFrom); + List remindList(EquipmentQueryForm queryForm); + + Page certificateListPage(Page page, EquipmentCertificateQueryForm queryForm); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java index 06b6853..5fe001d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java @@ -212,6 +212,25 @@ } @Override + public List allExport(Q queryForm) { + QueryWrapper queryWrapper; + if(CollUtil.isEmpty(queryForm.getIds())){ + queryWrapper = commonQuery(queryForm); + queryWrapper.eq("approval_status",ApprovalStatusEnum.PASSED); + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + if(!ALL_TYPE.equals(dataScope.getScopeEnums())){ + queryWrapper.in("create_dept_id",dataScope.getDeptIds()); + } + }else { + queryWrapper = new QueryWrapper<>(); + queryWrapper.in("id",queryForm.getIds()); + } + List list = this.list(queryWrapper); + list.forEach(this::warpper); + return list; + } + + @Override public QueryWrapper commonQuery(Q queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); return queryWrapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java index 5e9824d..1ca0447 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java @@ -10,7 +10,7 @@ import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.equipment.EquipmentApprovalForm; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -53,7 +53,7 @@ */ @Service @Slf4j -public class EquipmentInfoApprovalServiceImpl extends CommonApprovalServiceImpl implements IEquipmentInfoApprovalService { +public class EquipmentInfoApprovalServiceImpl extends CommonApprovalServiceImpl implements IEquipmentInfoApprovalService { @Autowired private IEquipmentInfoService equipmentInfoService; @@ -251,7 +251,7 @@ } @Override - public QueryWrapper commonQuery(EquipmentQueryFrom queryForm) { + public QueryWrapper commonQuery(EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "equipment_no", queryForm.getEquipmentNo()); 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 469317b..ae66c93 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 @@ -13,17 +13,21 @@ 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.EquipmentStatusTypeEnum; import com.casic.missiles.enums.equipment.EquipmentTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; import com.casic.missiles.model.equipment.EquipmentInfo; import com.casic.missiles.mapper.equipment.EquipmentInfoMapper; import com.casic.missiles.service.equipment.*; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.service.status.IEquipmentStatusLogService; 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; @@ -46,16 +50,17 @@ private final IEquipmentTechnicalTargetService technicalTargetService; private final IRemindConfigService remindConfigService; private final IEquipmentSpecialCertificateService specialCertificateService; + private final IEquipmentStatusLogService statusLogService; private ISubcontractCertificateService subcontractCertificateService; @Autowired - public void setSubcontractCertificateService(ISubcontractCertificateService subcontractCertificateService){ + public void setSubcontractCertificateService(ISubcontractCertificateService subcontractCertificateService) { this.subcontractCertificateService = subcontractCertificateService; } @Override - public Page listPage(Page page,EquipmentQueryFrom queryFrom) { - QueryWrapper queryWrapper = commonQuery(queryFrom); + public Page listPage(Page page, EquipmentQueryForm queryForm) { + QueryWrapper queryWrapper = commonQuery(queryForm); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.selectListPage(page, dataScope, queryWrapper); list.forEach(this::warpEquipmentInfo); @@ -74,8 +79,8 @@ } @Override - public List list(EquipmentQueryFrom queryFrom) { - QueryWrapper queryWrapper = commonQuery(queryFrom); + public List list(EquipmentQueryForm queryForm) { + QueryWrapper queryWrapper = commonQuery(queryForm); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.selectList(dataScope, queryWrapper); list.forEach(this::warpEquipmentInfo); @@ -83,17 +88,17 @@ } @Override - public List groupByName(EquipmentQueryFrom queryFrom) { + public List groupByName(EquipmentQueryForm queryForm) { DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - if(!ScopeEnums.ALL_TYPE.equals(dataScope.getScopeEnums())){ + if (!ScopeEnums.ALL_TYPE.equals(dataScope.getScopeEnums())) { List dataScopeDeptIds = dataScope.getDeptIds(); - if(ObjectUtil.isNull(queryFrom.getDeptIds())){ - queryFrom.setDeptIds(new ArrayList<>()); + if (ObjectUtil.isNull(queryForm.getDeptIds())) { + queryForm.setDeptIds(new ArrayList<>()); } - queryFrom.getDeptIds().addAll(dataScopeDeptIds); + queryForm.getDeptIds().addAll(dataScopeDeptIds); } - QueryWrapper queryWrapper = commonQuery(queryFrom); + QueryWrapper queryWrapper = commonQuery(queryForm); queryWrapper.groupBy("equipment_name"); queryWrapper.select("equipment_name as 'equipmentName',count(*) as 'count'"); @@ -102,17 +107,23 @@ } - public QueryWrapper commonQuery(EquipmentQueryFrom queryForm) { + public QueryWrapper commonQuery(EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); - queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "equipment_no", queryForm.getEquipmentNo()); - queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentName()), "equipment_name", queryForm.getEquipmentName()); - queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getEquipmentType()), "equipment_type", queryForm.getEquipmentType()); - queryWrapper.like(StrUtil.isNotEmpty(queryForm.getUsePosition()), "use_position", queryForm.getUsePosition()); - queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getUsageStatus()), "usage_status", queryForm.getUsageStatus()); - queryWrapper.ge(StrUtil.isNotEmpty(queryForm.getCertificateValidStart()), "certificate_valid", queryForm.getCertificateValidStart()); - queryWrapper.le(StrUtil.isNotEmpty(queryForm.getCertificateValidEnd()), "certificate_valid", queryForm.getCertificateValidEnd()); - queryWrapper.eq("is_del",0); + if(CollUtil.isNotEmpty(queryForm.getIds())){ + queryWrapper.in("ids",queryForm.getIds()); + }else { + queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "equipment_no", queryForm.getEquipmentNo()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentName()), "equipment_name", queryForm.getEquipmentName()); + queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getEquipmentType()), "equipment_type", queryForm.getEquipmentType()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getUsePosition()), "use_position", queryForm.getUsePosition()); + queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getUsageStatus()), "usage_status", queryForm.getUsageStatus()); + queryWrapper.ge(StrUtil.isNotEmpty(queryForm.getCertificateValidStart()), "certificate_valid", queryForm.getCertificateValidStart()); + queryWrapper.le(StrUtil.isNotEmpty(queryForm.getCertificateValidEnd()), "certificate_valid", queryForm.getCertificateValidEnd()); + queryWrapper.in(CollUtil.isNotEmpty(queryForm.getUsageStatusList()), "usage_status", queryForm.getUsageStatusList()); + + } + queryWrapper.eq("is_del", 0); return queryWrapper; } @@ -120,33 +131,33 @@ public EquipmentInfoForm detail(Long equipmentId) { EquipmentInfoForm infoForm = new EquipmentInfoForm(); EquipmentInfo equipmentInfo = this.getById(equipmentId); - if(ObjectUtil.isNotEmpty(equipmentInfo)){ + if (ObjectUtil.isNotEmpty(equipmentInfo)) { warpEquipmentInfo(equipmentInfo); equipmentInfo.setCompanyName(permissionContext.getDeptService().getDeptName(equipmentInfo.getCompanyId())); equipmentInfo.setDeptName(permissionContext.getDeptService().getDeptName(equipmentInfo.getDeptId())); equipmentInfo.setGroupInfos(groupInfoService.selectByEquipment(equipmentId)); - BeanUtil.copyProperties(equipmentInfo,infoForm); + BeanUtil.copyProperties(equipmentInfo, infoForm); infoForm.setAttachments(attachmentService.selectByEquipment(equipmentId)); infoForm.setTechnicalTargetList(technicalTargetService.selectByEquipment(equipmentId)); - infoForm.setCertificateList(allCertificate(equipmentId,equipmentInfo.getEquipmentType())); + infoForm.setCertificateList(allCertificate(equipmentId, equipmentInfo.getEquipmentType())); } return infoForm; } @Override - public List allCertificate(Long equipmentId,String equipmentType){ + public 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)); + subcontractList.forEach(i -> i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SUBCONTRACT)); listAll.addAll(subcontractList); - if(EquipmentTypeEnum.EQUIPMENT_TYPE_SPECIAL.equals(equipmentType)){ + if (EquipmentTypeEnum.EQUIPMENT_TYPE_SPECIAL.equals(equipmentType)) { List specicalList = specialCertificateService.listByEquipment(equipmentId); - specicalList.forEach(i->i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SPECIAL)); + specicalList.forEach(i -> i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SPECIAL)); listAll.addAll(specicalList); } listAll.sort(new Comparator() { @@ -159,55 +170,53 @@ } @Override - public boolean updateEquipmentStatus(Long equipmentId,String usageStatus){ + public void updateEquipmentStatus(Long equipmentId, String usageStatus) { UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id",equipmentId); - updateWrapper.set("usage_status",usageStatus); - return this.update(updateWrapper); + updateWrapper.eq("id", equipmentId); + updateWrapper.set("usage_status", usageStatus); + this.update(updateWrapper); } @Override - public boolean updateCertificateValid(Long equipmentId, Date certificateValid) { - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id",equipmentId); - updateWrapper.set("certificate_valid",certificateValid); - return this.update(updateWrapper); - } - - @Override - public boolean updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify) { + @Transactional + public void updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify) { 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); + if (ObjectUtil.isNotEmpty(equipmentInfo)) { + if (ObjectUtil.isEmpty(equipmentInfo.getCertificateValid()) || equipmentInfo.getCertificateValid().before(certificateValid)) { + equipmentInfo.setCheckOrganization(checkOrganization); + equipmentInfo.setCheckDate(checkDate); + equipmentInfo.setCertificateValid(certificateValid); + if (StrUtil.isNotEmpty(meterIdentify)) { + equipmentInfo.setMeterIdentify(meterIdentify); } - return this.update(updateWrapper); + this.updateById(equipmentInfo); + //当设备证书有效期更新且未到期时,设备状态自动变更为启封 + if (!EquipmentStatusTypeEnum.UNSEAL.equals(equipmentInfo.getUsageStatus()) + && !EquipmentStatusTypeEnum.SCRAP.equals(equipmentInfo.getUsageStatus()) + && certificateValid.after(new Date())) { + this.updateEquipmentStatus(equipmentId, EquipmentStatusTypeEnum.UNSEAL); + statusLogService.saveLog(equipmentId, StatusApprovalTypeEnum.UNSEAL,"设备证书更新"); + } + } } - return false; } - public void removeCertificateInfo(Long equipmentId,Long certificateId){ + 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()); + 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()){ + 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()); + 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); } @@ -215,11 +224,11 @@ } @Override - public Page remindListPage(Page page,EquipmentQueryFrom queryFrom) { + public Page remindListPage(Page page, EquipmentQueryForm queryForm) { Integer remindTime = remindConfigService.getRemindTimeByDeptId(permissionContext.getAuthService().getLoginUser().getDeptId()); Calendar calendar = Calendar.getInstance(); - calendar.add(Calendar.DATE,remindTime); - QueryWrapper queryWrapper = commonQuery(queryFrom); + calendar.add(Calendar.DATE, remindTime); + QueryWrapper queryWrapper = commonQuery(queryForm); queryWrapper.le("certificate_valid", calendar.getTime()); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.selectListPage(page, dataScope, queryWrapper); @@ -229,7 +238,20 @@ } @Override - public Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryForm) { + public List remindList(EquipmentQueryForm queryForm) { + Integer remindTime = remindConfigService.getRemindTimeByDeptId(permissionContext.getAuthService().getLoginUser().getDeptId()); + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.DATE, remindTime); + QueryWrapper queryWrapper = commonQuery(queryForm); + queryWrapper.le("certificate_valid", calendar.getTime()); + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + List list = this.baseMapper.selectList(dataScope, queryWrapper); + list.forEach(this::warpEquipmentInfo); + return list; + } + + @Override + public Page certificateListPage(Page page, EquipmentCertificateQueryForm queryForm) { DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); QueryWrapper queryWrapper = new QueryWrapper<>(); @@ -240,7 +262,7 @@ 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("e.is_del", 0); queryWrapper.eq("c.approval_status", ApprovalStatusEnum.PASSED); List list = this.baseMapper.bizCertificateListPage(page, dataScope, queryWrapper); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java new file mode 100644 index 0000000..6284acf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EquipmentCertificateQueryForm 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/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java deleted file mode 100644 index 35d2d47..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java +++ /dev/null @@ -1,34 +0,0 @@ -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/dto/equipment/EquipmentQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java new file mode 100644 index 0000000..040a368 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java @@ -0,0 +1,41 @@ +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 EquipmentQueryForm extends BaseQueryForm { + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("设备类型(1受检设备;2特种设备)") + private String equipmentType; + + @ApiModelProperty("使用部门") + private List deptIds; + + @ApiModelProperty("使用岗位") + private String usePosition; + + @ApiModelProperty("使用状态") + private String usageStatus; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; + + @ApiModelProperty("使用状态列表") + private List usageStatusList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java deleted file mode 100644 index f5f4a61..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java +++ /dev/null @@ -1,38 +0,0 @@ -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 EquipmentQueryFrom extends BaseQueryForm { - - @ApiModelProperty("统一编号") - private String equipmentNo; - - @ApiModelProperty("设备名称") - private String equipmentName; - - @ApiModelProperty("设备类型(1受检设备;2特种设备)") - private String equipmentType; - - @ApiModelProperty("使用部门") - private List deptIds; - - @ApiModelProperty("使用岗位") - private String usePosition; - - @ApiModelProperty("使用状态") - private String usageStatus; - - @ApiModelProperty("证书有效期开始时间") - private String certificateValidStart; - - @ApiModelProperty("证书有效期结束时间") - private String certificateValidEnd; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java index 391bfe0..2d3bd33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java @@ -7,6 +7,8 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,6 +31,7 @@ @ExcelIgnore @ApiModelProperty("使用情况") + @DictCodeField(cacheName = MeterDictCode.RFID_USAGE_STATUS) private String usageStatus; @ExcelProperty("使用情况") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java index f0515a5..d4b7ab5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java @@ -1,5 +1,11 @@ package com.casic.missiles.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModelProperty; @@ -9,6 +15,11 @@ @Getter @Setter +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class CommonApproval { @ApiModelProperty("主键") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java index 724e9d8..e08ea2a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java @@ -1,5 +1,13 @@ package com.casic.missiles.model.equipment; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; @@ -12,6 +20,7 @@ import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -27,6 +36,11 @@ @Getter @Setter @TableName("eqpt_equipment_info") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class EquipmentInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -40,6 +54,7 @@ */ @ApiModelProperty("设备编号") @TableField("equipment_no") + @ExcelProperty(value = "统一编号",index = 0) private String equipmentNo; /** @@ -47,6 +62,7 @@ */ @ApiModelProperty("设备名称") @TableField("equipment_name") + @ExcelProperty(value = "设备名称",index = 1) private String equipmentName; /** @@ -66,6 +82,7 @@ @ApiModelProperty("使用状态名称") @TableField(exist = false) + @ExcelProperty(value = "使用状态",index = 8) private String usageStatusName; /** @@ -94,6 +111,7 @@ */ @ApiModelProperty("出厂编号") @TableField("manufacture_no") + @ExcelProperty(value = "出厂编号",index = 3) private String manufactureNo; /** @@ -122,6 +140,7 @@ */ @ApiModelProperty("型号规格") @TableField("model") + @ExcelProperty(value = "型号规格",index = 2) private String model; /** @@ -165,6 +184,8 @@ */ @ApiModelProperty("检定周期(月)") @TableField("check_cycle") + @ExcelProperty(value = "检定周期(月)",index = 6) + @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN, horizontalAlignment = HorizontalAlignmentEnum.LEFT) private Integer checkCycle; /** @@ -172,6 +193,7 @@ */ @ApiModelProperty("备注") @TableField("remark") + @ExcelProperty(value = "备注",index = 9) private String remark; /** @@ -200,6 +222,7 @@ */ @ApiModelProperty("证书有效期") @TableField("certificate_valid") + @ExcelProperty(value = "证书有效期",index = 7, converter = DateExcelConverter.class) private Date certificateValid; /** @@ -207,13 +230,20 @@ */ @ApiModelProperty("计量标识") @TableField("meter_identify") + @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) private String meterIdentify; + @ApiModelProperty("计量标识名称") + @TableField(exist = false) + @ExcelProperty(value = "计量标识",index = 5) + private String meterIdentifyName; + /** * 使用岗位 */ @ApiModelProperty("使用岗位") @TableField("use_position") + @ExcelProperty(value = "使用岗位",index = 4) private String usePosition; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java index 4e884eb..63bef34 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java @@ -8,10 +8,14 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_IMPLEMENT_STATUS; +import static com.casic.missiles.constants.MeterDictCode.FILE_TYPE; + /** *

* 受检设备-文档管理 @@ -81,15 +85,25 @@ */ @ApiModelProperty("文件类别") @TableField("file_type") + @DictCodeField(cacheName = FILE_TYPE) private String fileType; + @ApiModelProperty("文件类型名称") + @TableField(exist = false) + private String fileTypeName; + /** * 实施状态 */ @ApiModelProperty("实施状态") @TableField("implementation_status") + @DictCodeField(cacheName = FILE_IMPLEMENT_STATUS) private String implementationStatus; + @ApiModelProperty("实施状态名称") + @TableField(exist = false) + private String implementationStatusName; + /** * 文件附件 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java index 5862e11..fdd06e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java @@ -8,10 +8,13 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_LOG_TYPE; + /** *

* 受检设备-文档管理-变更记录表 @@ -46,8 +49,13 @@ */ @ApiModelProperty("变更类型") @TableField("log_type") + @DictCodeField(cacheName = FILE_LOG_TYPE) private String logType; + @ApiModelProperty("变更类型名称") + @TableField(exist = false) + private String logTypeName; + /** * 变更人id */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java index 662e2f6..a01b8d9 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java @@ -1,13 +1,19 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; + import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; +import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,18 +35,20 @@ /** * 主键 */ - @TableId("id") + @TableId("id") private Long id; /** * 申请编号 */ @TableField("approval_no") + @ExcelProperty("申请编号") private String approvalNo; /** * 申请名称 */ + @ExcelProperty("申请名称") @TableField("approval_name") private String approvalName; @@ -55,31 +63,6 @@ */ @TableField("reason") private String reason; - - /** - * 创建人id - */ - @TableField("create_user_id") - private Long createUserId; - - /** - * 创建人姓名 - */ - @TableField("create_user_name") - private String createUserName; - - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - - /** - * 更新时间 - */ - @TableField("update_time") - private Date updateTime; - /** * 创建人部门id */ @@ -89,8 +72,36 @@ /** * 创建人部门名称 */ + @ExcelProperty("创建单位") @TableField("create_dept_name") private String createDeptName; + /** + * 创建人id + */ + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ExcelProperty("创建人") + @TableField("create_user_name") + private String createUserName; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + /** * 流程实例id @@ -102,7 +113,12 @@ * 申请状态 */ @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java index 7d6be90..97b522a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java @@ -1,14 +1,22 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; import java.util.Date; import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.annotation.EqptExportModel; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -41,6 +49,7 @@ */ @ApiModelProperty("计划编号") @TableField("plan_no") + @ExcelProperty("计划编号") private String planNo; /** @@ -48,6 +57,7 @@ */ @ApiModelProperty("计划名称") @TableField("plan_name") + @ExcelProperty("计划名称") private String planName; /** @@ -60,6 +70,7 @@ @ApiModelProperty("计划分类名称") @TableField(exist = false) + @ExcelProperty("计划分类") private String planCategoryName; /** @@ -97,19 +108,7 @@ @TableField("remark") private String remark; - /** - * 创建人id - */ - @ApiModelProperty("创建人id") - @TableField("create_user_id") - private Long createUserId; - /** - * 创建人姓名 - */ - @ApiModelProperty("创建人姓名") - @TableField("create_user_name") - private String createUserName; /** * 创建单位id @@ -123,13 +122,29 @@ */ @ApiModelProperty("创建单位名称") @TableField("create_dept_name") + @ExcelProperty("创建单位") private String createDeptName; + /** + * 创建人id + */ + @ApiModelProperty("创建人id") + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ApiModelProperty("创建人姓名") + @TableField("create_user_name") + @ExcelProperty("创建人") + private String createUserName; /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java index 79461e6..ce39fb7 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java @@ -8,6 +8,8 @@ import java.util.Date; import java.util.List; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import com.casic.missiles.model.CommonApproval; import com.casic.missiles.model.equipment.EquipmentAttachment; import com.casic.missiles.model.equipment.EquipmentInfo; @@ -64,9 +66,10 @@ */ @ApiModelProperty("申请状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; - @ApiModelProperty("申请状态名称") + @ApiModelProperty("审批状态名称") @TableField(exist = false) private String approvalStatusName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java index 130f5cf..7e4a4de 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java @@ -40,11 +40,11 @@ @TableField("status_type") @ApiModelProperty("状态变更类型") + @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusType; @TableField(exist = false) @ApiModelProperty("状态变更类型名称") - @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusTypeName; @TableField("start_time") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java index db5162e..ddbf003 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +15,7 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -23,6 +31,11 @@ @Getter @Setter @TableName("eqpt_subcontract_certificate") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class SubcontractCertificate implements Serializable { private static final long serialVersionUID = 1L; @@ -39,6 +52,7 @@ */ @ApiModelProperty("证书编号") @TableField("certificate_no") + @ExcelProperty(value = "证书号",index = 0) private String certificateNo; /** @@ -46,6 +60,7 @@ */ @ApiModelProperty("证书名称") @TableField("certificate_name") + @ExcelProperty(value = "证书名称",index = 1) private String certificateName; /** @@ -67,6 +82,7 @@ */ @ApiModelProperty("检测单位名称") @TableField(exist = false) + @ExcelProperty(value = "检测单位",index = 6) private String subcontractorName; /** @@ -81,6 +97,7 @@ */ @ApiModelProperty("受检设备编号") @TableField(exist = false) + @ExcelProperty(value = "样品编号",index = 2) private String equipmentNo; /** @@ -88,6 +105,7 @@ */ @ApiModelProperty("受检设备名称") @TableField(exist = false) + @ExcelProperty(value = "样品名称",index = 3) private String equipmentName; /** @@ -95,6 +113,7 @@ */ @ApiModelProperty("出厂编号") @TableField(exist = false) + @ExcelProperty(value = "出厂编号",index = 5) private String equipmentManufactureNo; /** @@ -102,6 +121,7 @@ */ @ApiModelProperty("型号") @TableField(exist = false) + @ExcelProperty(value = "型号",index = 4) private String equipmentModel; /** @@ -144,6 +164,7 @@ */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",index = 7, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java index 5339e10..7ae7965 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -7,6 +8,9 @@ import java.io.Serializable; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -39,6 +43,7 @@ */ @ApiModelProperty("评审表编号") @TableField("review_no") + @ExcelProperty(value = "评审表编号",index = 0) private String reviewNo; /** @@ -46,6 +51,7 @@ */ @ApiModelProperty("评审表名称") @TableField("review_name") + @ExcelProperty(value = "评审表名称",index = 1) private String reviewName; /** @@ -60,6 +66,7 @@ */ @ApiModelProperty("申请人姓名") @TableField("create_user_name") + @ExcelProperty(value = "申请人",index = 4) private String createUserName; /** @@ -81,6 +88,7 @@ */ @ApiModelProperty("创建时间(即申请时间)") @TableField("create_time") + @ExcelProperty(value = "申请时间",index = 5, converter = DateExcelConverter.class) private Date createTime; /** @@ -109,6 +117,7 @@ */ @ApiModelProperty("分包机构名称(冗余字段)") @TableField("subcontractor_company_name") + @ExcelProperty(value = "分包机构名称",index = 2) private String subcontractorCompanyName; /** @@ -116,6 +125,7 @@ */ @ApiModelProperty("机构负责人(冗余字段)") @TableField("subcontractor_director_name") + @ExcelProperty(value = "机构负责人",index = 3) private String subcontractorDirectorName; /** @@ -214,6 +224,11 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java index 0de83b0..c4dcc17 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +9,9 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -40,6 +44,7 @@ */ @ApiModelProperty("分包方编号") @TableField("subcontractor_no") + @ExcelProperty(value = "分包方编号", index = 0) private String subcontractorNo; /** @@ -47,6 +52,7 @@ */ @ApiModelProperty("单位名称") @TableField("company_name") + @ExcelProperty(value = "单位名称", index = 1) private String companyName; /** @@ -131,6 +137,7 @@ */ @ApiModelProperty("机构负责人") @TableField("director_name") + @ExcelProperty(value = "机构负责人", index = 2) private String directorName; /** @@ -138,6 +145,7 @@ */ @ApiModelProperty("联系电话") @TableField("contact_number") + @ExcelProperty(value = "联系电话", index = 3) private String contactNumber; /** @@ -173,6 +181,7 @@ */ @ApiModelProperty("地址") @TableField("address") + @ExcelProperty(value = "地址", index = 5) private String address; /** @@ -187,6 +196,7 @@ */ @ApiModelProperty("测试能力") @TableField("test_ability") + @ExcelProperty(value = "测试能力", index = 4) private String testAbility; /** @@ -215,13 +225,19 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间", index = 6, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java index d7d16b9..91f15d5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java @@ -49,6 +49,13 @@ private String staffName; /** + * 联系方式 + */ + @ApiModelProperty("联系方式") + @TableField("staff_phone") + private String staffPhone; + + /** * 工作部门 */ @ApiModelProperty("工作部门") diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java index a967db1..7eab839 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java @@ -10,6 +10,8 @@ import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.model.CommonApproval; +import java.util.List; + public interface ICommonApprovalService extends IService { @@ -34,6 +36,8 @@ Page allPage(Page page, Q queryForm); + List allExport(Q queryForm); + QueryWrapper commonQuery(Q queryForm); T warpper(T obj); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java index 7ed83c0..0031746 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java @@ -1,15 +1,9 @@ package com.casic.missiles.service.equipment; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; -import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; -import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; -import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.equipment.EquipmentApprovalForm; -import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.model.equipment.EquipmentInfoApproval; -import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.service.ICommonApprovalService; import java.util.List; @@ -22,7 +16,7 @@ * @author zhangyingjie * @since 2023-07-21 */ -public interface IEquipmentInfoApprovalService extends ICommonApprovalService { +public interface IEquipmentInfoApprovalService extends ICommonApprovalService { Long saveOrUpdateApproval(EquipmentApprovalForm approvalForm); 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 c2f939d..eee21dc 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 @@ -18,25 +18,25 @@ */ public interface IEquipmentInfoService extends IService { - Page listPage(Page page, EquipmentQueryFrom queryFrom); + Page listPage(Page page, EquipmentQueryForm queryForm); - List list(EquipmentQueryFrom queryFrom); + List list(EquipmentQueryForm queryForm); - List groupByName(EquipmentQueryFrom queryFrom); + List groupByName(EquipmentQueryForm queryForm); EquipmentInfoForm detail(Long equipmentId); List allCertificate(Long equipmentId,String equipmentType); - boolean updateEquipmentStatus(Long equipmentId,String usageStatus); + void updateEquipmentStatus(Long equipmentId, String usageStatus); - boolean updateCertificateValid(Long equipmentId, Date certificateValid); - - boolean updateCertificateInfo(Long equipmentId,String checkOrganization,Date checkDate, Date certificateValid,String meterIdentify); + void updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify); void removeCertificateInfo(Long equipmentId,Long certificateId); - Page remindListPage(Page page,EquipmentQueryFrom queryFrom); + Page remindListPage(Page page, EquipmentQueryForm queryForm); - Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryFrom); + List remindList(EquipmentQueryForm queryForm); + + Page certificateListPage(Page page, EquipmentCertificateQueryForm queryForm); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java index 06b6853..5fe001d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java @@ -212,6 +212,25 @@ } @Override + public List allExport(Q queryForm) { + QueryWrapper queryWrapper; + if(CollUtil.isEmpty(queryForm.getIds())){ + queryWrapper = commonQuery(queryForm); + queryWrapper.eq("approval_status",ApprovalStatusEnum.PASSED); + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + if(!ALL_TYPE.equals(dataScope.getScopeEnums())){ + queryWrapper.in("create_dept_id",dataScope.getDeptIds()); + } + }else { + queryWrapper = new QueryWrapper<>(); + queryWrapper.in("id",queryForm.getIds()); + } + List list = this.list(queryWrapper); + list.forEach(this::warpper); + return list; + } + + @Override public QueryWrapper commonQuery(Q queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); return queryWrapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java index 5e9824d..1ca0447 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java @@ -10,7 +10,7 @@ import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.equipment.EquipmentApprovalForm; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -53,7 +53,7 @@ */ @Service @Slf4j -public class EquipmentInfoApprovalServiceImpl extends CommonApprovalServiceImpl implements IEquipmentInfoApprovalService { +public class EquipmentInfoApprovalServiceImpl extends CommonApprovalServiceImpl implements IEquipmentInfoApprovalService { @Autowired private IEquipmentInfoService equipmentInfoService; @@ -251,7 +251,7 @@ } @Override - public QueryWrapper commonQuery(EquipmentQueryFrom queryForm) { + public QueryWrapper commonQuery(EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "equipment_no", queryForm.getEquipmentNo()); 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 469317b..ae66c93 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 @@ -13,17 +13,21 @@ 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.EquipmentStatusTypeEnum; import com.casic.missiles.enums.equipment.EquipmentTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; import com.casic.missiles.model.equipment.EquipmentInfo; import com.casic.missiles.mapper.equipment.EquipmentInfoMapper; import com.casic.missiles.service.equipment.*; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.service.status.IEquipmentStatusLogService; 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; @@ -46,16 +50,17 @@ private final IEquipmentTechnicalTargetService technicalTargetService; private final IRemindConfigService remindConfigService; private final IEquipmentSpecialCertificateService specialCertificateService; + private final IEquipmentStatusLogService statusLogService; private ISubcontractCertificateService subcontractCertificateService; @Autowired - public void setSubcontractCertificateService(ISubcontractCertificateService subcontractCertificateService){ + public void setSubcontractCertificateService(ISubcontractCertificateService subcontractCertificateService) { this.subcontractCertificateService = subcontractCertificateService; } @Override - public Page listPage(Page page,EquipmentQueryFrom queryFrom) { - QueryWrapper queryWrapper = commonQuery(queryFrom); + public Page listPage(Page page, EquipmentQueryForm queryForm) { + QueryWrapper queryWrapper = commonQuery(queryForm); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.selectListPage(page, dataScope, queryWrapper); list.forEach(this::warpEquipmentInfo); @@ -74,8 +79,8 @@ } @Override - public List list(EquipmentQueryFrom queryFrom) { - QueryWrapper queryWrapper = commonQuery(queryFrom); + public List list(EquipmentQueryForm queryForm) { + QueryWrapper queryWrapper = commonQuery(queryForm); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.selectList(dataScope, queryWrapper); list.forEach(this::warpEquipmentInfo); @@ -83,17 +88,17 @@ } @Override - public List groupByName(EquipmentQueryFrom queryFrom) { + public List groupByName(EquipmentQueryForm queryForm) { DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - if(!ScopeEnums.ALL_TYPE.equals(dataScope.getScopeEnums())){ + if (!ScopeEnums.ALL_TYPE.equals(dataScope.getScopeEnums())) { List dataScopeDeptIds = dataScope.getDeptIds(); - if(ObjectUtil.isNull(queryFrom.getDeptIds())){ - queryFrom.setDeptIds(new ArrayList<>()); + if (ObjectUtil.isNull(queryForm.getDeptIds())) { + queryForm.setDeptIds(new ArrayList<>()); } - queryFrom.getDeptIds().addAll(dataScopeDeptIds); + queryForm.getDeptIds().addAll(dataScopeDeptIds); } - QueryWrapper queryWrapper = commonQuery(queryFrom); + QueryWrapper queryWrapper = commonQuery(queryForm); queryWrapper.groupBy("equipment_name"); queryWrapper.select("equipment_name as 'equipmentName',count(*) as 'count'"); @@ -102,17 +107,23 @@ } - public QueryWrapper commonQuery(EquipmentQueryFrom queryForm) { + public QueryWrapper commonQuery(EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); - queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "equipment_no", queryForm.getEquipmentNo()); - queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentName()), "equipment_name", queryForm.getEquipmentName()); - queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getEquipmentType()), "equipment_type", queryForm.getEquipmentType()); - queryWrapper.like(StrUtil.isNotEmpty(queryForm.getUsePosition()), "use_position", queryForm.getUsePosition()); - queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getUsageStatus()), "usage_status", queryForm.getUsageStatus()); - queryWrapper.ge(StrUtil.isNotEmpty(queryForm.getCertificateValidStart()), "certificate_valid", queryForm.getCertificateValidStart()); - queryWrapper.le(StrUtil.isNotEmpty(queryForm.getCertificateValidEnd()), "certificate_valid", queryForm.getCertificateValidEnd()); - queryWrapper.eq("is_del",0); + if(CollUtil.isNotEmpty(queryForm.getIds())){ + queryWrapper.in("ids",queryForm.getIds()); + }else { + queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "equipment_no", queryForm.getEquipmentNo()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentName()), "equipment_name", queryForm.getEquipmentName()); + queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getEquipmentType()), "equipment_type", queryForm.getEquipmentType()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getUsePosition()), "use_position", queryForm.getUsePosition()); + queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getUsageStatus()), "usage_status", queryForm.getUsageStatus()); + queryWrapper.ge(StrUtil.isNotEmpty(queryForm.getCertificateValidStart()), "certificate_valid", queryForm.getCertificateValidStart()); + queryWrapper.le(StrUtil.isNotEmpty(queryForm.getCertificateValidEnd()), "certificate_valid", queryForm.getCertificateValidEnd()); + queryWrapper.in(CollUtil.isNotEmpty(queryForm.getUsageStatusList()), "usage_status", queryForm.getUsageStatusList()); + + } + queryWrapper.eq("is_del", 0); return queryWrapper; } @@ -120,33 +131,33 @@ public EquipmentInfoForm detail(Long equipmentId) { EquipmentInfoForm infoForm = new EquipmentInfoForm(); EquipmentInfo equipmentInfo = this.getById(equipmentId); - if(ObjectUtil.isNotEmpty(equipmentInfo)){ + if (ObjectUtil.isNotEmpty(equipmentInfo)) { warpEquipmentInfo(equipmentInfo); equipmentInfo.setCompanyName(permissionContext.getDeptService().getDeptName(equipmentInfo.getCompanyId())); equipmentInfo.setDeptName(permissionContext.getDeptService().getDeptName(equipmentInfo.getDeptId())); equipmentInfo.setGroupInfos(groupInfoService.selectByEquipment(equipmentId)); - BeanUtil.copyProperties(equipmentInfo,infoForm); + BeanUtil.copyProperties(equipmentInfo, infoForm); infoForm.setAttachments(attachmentService.selectByEquipment(equipmentId)); infoForm.setTechnicalTargetList(technicalTargetService.selectByEquipment(equipmentId)); - infoForm.setCertificateList(allCertificate(equipmentId,equipmentInfo.getEquipmentType())); + infoForm.setCertificateList(allCertificate(equipmentId, equipmentInfo.getEquipmentType())); } return infoForm; } @Override - public List allCertificate(Long equipmentId,String equipmentType){ + public 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)); + subcontractList.forEach(i -> i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SUBCONTRACT)); listAll.addAll(subcontractList); - if(EquipmentTypeEnum.EQUIPMENT_TYPE_SPECIAL.equals(equipmentType)){ + if (EquipmentTypeEnum.EQUIPMENT_TYPE_SPECIAL.equals(equipmentType)) { List specicalList = specialCertificateService.listByEquipment(equipmentId); - specicalList.forEach(i->i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SPECIAL)); + specicalList.forEach(i -> i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SPECIAL)); listAll.addAll(specicalList); } listAll.sort(new Comparator() { @@ -159,55 +170,53 @@ } @Override - public boolean updateEquipmentStatus(Long equipmentId,String usageStatus){ + public void updateEquipmentStatus(Long equipmentId, String usageStatus) { UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id",equipmentId); - updateWrapper.set("usage_status",usageStatus); - return this.update(updateWrapper); + updateWrapper.eq("id", equipmentId); + updateWrapper.set("usage_status", usageStatus); + this.update(updateWrapper); } @Override - public boolean updateCertificateValid(Long equipmentId, Date certificateValid) { - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id",equipmentId); - updateWrapper.set("certificate_valid",certificateValid); - return this.update(updateWrapper); - } - - @Override - public boolean updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify) { + @Transactional + public void updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify) { 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); + if (ObjectUtil.isNotEmpty(equipmentInfo)) { + if (ObjectUtil.isEmpty(equipmentInfo.getCertificateValid()) || equipmentInfo.getCertificateValid().before(certificateValid)) { + equipmentInfo.setCheckOrganization(checkOrganization); + equipmentInfo.setCheckDate(checkDate); + equipmentInfo.setCertificateValid(certificateValid); + if (StrUtil.isNotEmpty(meterIdentify)) { + equipmentInfo.setMeterIdentify(meterIdentify); } - return this.update(updateWrapper); + this.updateById(equipmentInfo); + //当设备证书有效期更新且未到期时,设备状态自动变更为启封 + if (!EquipmentStatusTypeEnum.UNSEAL.equals(equipmentInfo.getUsageStatus()) + && !EquipmentStatusTypeEnum.SCRAP.equals(equipmentInfo.getUsageStatus()) + && certificateValid.after(new Date())) { + this.updateEquipmentStatus(equipmentId, EquipmentStatusTypeEnum.UNSEAL); + statusLogService.saveLog(equipmentId, StatusApprovalTypeEnum.UNSEAL,"设备证书更新"); + } + } } - return false; } - public void removeCertificateInfo(Long equipmentId,Long certificateId){ + 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()); + 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()){ + 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()); + 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); } @@ -215,11 +224,11 @@ } @Override - public Page remindListPage(Page page,EquipmentQueryFrom queryFrom) { + public Page remindListPage(Page page, EquipmentQueryForm queryForm) { Integer remindTime = remindConfigService.getRemindTimeByDeptId(permissionContext.getAuthService().getLoginUser().getDeptId()); Calendar calendar = Calendar.getInstance(); - calendar.add(Calendar.DATE,remindTime); - QueryWrapper queryWrapper = commonQuery(queryFrom); + calendar.add(Calendar.DATE, remindTime); + QueryWrapper queryWrapper = commonQuery(queryForm); queryWrapper.le("certificate_valid", calendar.getTime()); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.selectListPage(page, dataScope, queryWrapper); @@ -229,7 +238,20 @@ } @Override - public Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryForm) { + public List remindList(EquipmentQueryForm queryForm) { + Integer remindTime = remindConfigService.getRemindTimeByDeptId(permissionContext.getAuthService().getLoginUser().getDeptId()); + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.DATE, remindTime); + QueryWrapper queryWrapper = commonQuery(queryForm); + queryWrapper.le("certificate_valid", calendar.getTime()); + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + List list = this.baseMapper.selectList(dataScope, queryWrapper); + list.forEach(this::warpEquipmentInfo); + return list; + } + + @Override + public Page certificateListPage(Page page, EquipmentCertificateQueryForm queryForm) { DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); QueryWrapper queryWrapper = new QueryWrapper<>(); @@ -240,7 +262,7 @@ 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("e.is_del", 0); queryWrapper.eq("c.approval_status", ApprovalStatusEnum.PASSED); List list = this.baseMapper.bizCertificateListPage(page, dataScope, queryWrapper); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java index 138cbf4..5bf434a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.impl.file; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; @@ -57,6 +58,8 @@ @Override public Page listPage(Page page, String fileNo, String fileName) { QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(StrUtil.isNotEmpty(fileNo),"file_no",fileNo); + queryWrapper.like(StrUtil.isNotEmpty(fileName),"file_name",fileName); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.listScopePage(page,dataScope,queryWrapper); list.forEach(i-> { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java new file mode 100644 index 0000000..6284acf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EquipmentCertificateQueryForm 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/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java deleted file mode 100644 index 35d2d47..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java +++ /dev/null @@ -1,34 +0,0 @@ -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/dto/equipment/EquipmentQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java new file mode 100644 index 0000000..040a368 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java @@ -0,0 +1,41 @@ +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 EquipmentQueryForm extends BaseQueryForm { + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("设备类型(1受检设备;2特种设备)") + private String equipmentType; + + @ApiModelProperty("使用部门") + private List deptIds; + + @ApiModelProperty("使用岗位") + private String usePosition; + + @ApiModelProperty("使用状态") + private String usageStatus; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; + + @ApiModelProperty("使用状态列表") + private List usageStatusList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java deleted file mode 100644 index f5f4a61..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java +++ /dev/null @@ -1,38 +0,0 @@ -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 EquipmentQueryFrom extends BaseQueryForm { - - @ApiModelProperty("统一编号") - private String equipmentNo; - - @ApiModelProperty("设备名称") - private String equipmentName; - - @ApiModelProperty("设备类型(1受检设备;2特种设备)") - private String equipmentType; - - @ApiModelProperty("使用部门") - private List deptIds; - - @ApiModelProperty("使用岗位") - private String usePosition; - - @ApiModelProperty("使用状态") - private String usageStatus; - - @ApiModelProperty("证书有效期开始时间") - private String certificateValidStart; - - @ApiModelProperty("证书有效期结束时间") - private String certificateValidEnd; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java index 391bfe0..2d3bd33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java @@ -7,6 +7,8 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,6 +31,7 @@ @ExcelIgnore @ApiModelProperty("使用情况") + @DictCodeField(cacheName = MeterDictCode.RFID_USAGE_STATUS) private String usageStatus; @ExcelProperty("使用情况") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java index f0515a5..d4b7ab5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java @@ -1,5 +1,11 @@ package com.casic.missiles.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModelProperty; @@ -9,6 +15,11 @@ @Getter @Setter +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class CommonApproval { @ApiModelProperty("主键") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java index 724e9d8..e08ea2a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java @@ -1,5 +1,13 @@ package com.casic.missiles.model.equipment; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; @@ -12,6 +20,7 @@ import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -27,6 +36,11 @@ @Getter @Setter @TableName("eqpt_equipment_info") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class EquipmentInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -40,6 +54,7 @@ */ @ApiModelProperty("设备编号") @TableField("equipment_no") + @ExcelProperty(value = "统一编号",index = 0) private String equipmentNo; /** @@ -47,6 +62,7 @@ */ @ApiModelProperty("设备名称") @TableField("equipment_name") + @ExcelProperty(value = "设备名称",index = 1) private String equipmentName; /** @@ -66,6 +82,7 @@ @ApiModelProperty("使用状态名称") @TableField(exist = false) + @ExcelProperty(value = "使用状态",index = 8) private String usageStatusName; /** @@ -94,6 +111,7 @@ */ @ApiModelProperty("出厂编号") @TableField("manufacture_no") + @ExcelProperty(value = "出厂编号",index = 3) private String manufactureNo; /** @@ -122,6 +140,7 @@ */ @ApiModelProperty("型号规格") @TableField("model") + @ExcelProperty(value = "型号规格",index = 2) private String model; /** @@ -165,6 +184,8 @@ */ @ApiModelProperty("检定周期(月)") @TableField("check_cycle") + @ExcelProperty(value = "检定周期(月)",index = 6) + @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN, horizontalAlignment = HorizontalAlignmentEnum.LEFT) private Integer checkCycle; /** @@ -172,6 +193,7 @@ */ @ApiModelProperty("备注") @TableField("remark") + @ExcelProperty(value = "备注",index = 9) private String remark; /** @@ -200,6 +222,7 @@ */ @ApiModelProperty("证书有效期") @TableField("certificate_valid") + @ExcelProperty(value = "证书有效期",index = 7, converter = DateExcelConverter.class) private Date certificateValid; /** @@ -207,13 +230,20 @@ */ @ApiModelProperty("计量标识") @TableField("meter_identify") + @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) private String meterIdentify; + @ApiModelProperty("计量标识名称") + @TableField(exist = false) + @ExcelProperty(value = "计量标识",index = 5) + private String meterIdentifyName; + /** * 使用岗位 */ @ApiModelProperty("使用岗位") @TableField("use_position") + @ExcelProperty(value = "使用岗位",index = 4) private String usePosition; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java index 4e884eb..63bef34 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java @@ -8,10 +8,14 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_IMPLEMENT_STATUS; +import static com.casic.missiles.constants.MeterDictCode.FILE_TYPE; + /** *

* 受检设备-文档管理 @@ -81,15 +85,25 @@ */ @ApiModelProperty("文件类别") @TableField("file_type") + @DictCodeField(cacheName = FILE_TYPE) private String fileType; + @ApiModelProperty("文件类型名称") + @TableField(exist = false) + private String fileTypeName; + /** * 实施状态 */ @ApiModelProperty("实施状态") @TableField("implementation_status") + @DictCodeField(cacheName = FILE_IMPLEMENT_STATUS) private String implementationStatus; + @ApiModelProperty("实施状态名称") + @TableField(exist = false) + private String implementationStatusName; + /** * 文件附件 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java index 5862e11..fdd06e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java @@ -8,10 +8,13 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_LOG_TYPE; + /** *

* 受检设备-文档管理-变更记录表 @@ -46,8 +49,13 @@ */ @ApiModelProperty("变更类型") @TableField("log_type") + @DictCodeField(cacheName = FILE_LOG_TYPE) private String logType; + @ApiModelProperty("变更类型名称") + @TableField(exist = false) + private String logTypeName; + /** * 变更人id */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java index 662e2f6..a01b8d9 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java @@ -1,13 +1,19 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; + import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; +import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,18 +35,20 @@ /** * 主键 */ - @TableId("id") + @TableId("id") private Long id; /** * 申请编号 */ @TableField("approval_no") + @ExcelProperty("申请编号") private String approvalNo; /** * 申请名称 */ + @ExcelProperty("申请名称") @TableField("approval_name") private String approvalName; @@ -55,31 +63,6 @@ */ @TableField("reason") private String reason; - - /** - * 创建人id - */ - @TableField("create_user_id") - private Long createUserId; - - /** - * 创建人姓名 - */ - @TableField("create_user_name") - private String createUserName; - - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - - /** - * 更新时间 - */ - @TableField("update_time") - private Date updateTime; - /** * 创建人部门id */ @@ -89,8 +72,36 @@ /** * 创建人部门名称 */ + @ExcelProperty("创建单位") @TableField("create_dept_name") private String createDeptName; + /** + * 创建人id + */ + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ExcelProperty("创建人") + @TableField("create_user_name") + private String createUserName; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + /** * 流程实例id @@ -102,7 +113,12 @@ * 申请状态 */ @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java index 7d6be90..97b522a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java @@ -1,14 +1,22 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; import java.util.Date; import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.annotation.EqptExportModel; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -41,6 +49,7 @@ */ @ApiModelProperty("计划编号") @TableField("plan_no") + @ExcelProperty("计划编号") private String planNo; /** @@ -48,6 +57,7 @@ */ @ApiModelProperty("计划名称") @TableField("plan_name") + @ExcelProperty("计划名称") private String planName; /** @@ -60,6 +70,7 @@ @ApiModelProperty("计划分类名称") @TableField(exist = false) + @ExcelProperty("计划分类") private String planCategoryName; /** @@ -97,19 +108,7 @@ @TableField("remark") private String remark; - /** - * 创建人id - */ - @ApiModelProperty("创建人id") - @TableField("create_user_id") - private Long createUserId; - /** - * 创建人姓名 - */ - @ApiModelProperty("创建人姓名") - @TableField("create_user_name") - private String createUserName; /** * 创建单位id @@ -123,13 +122,29 @@ */ @ApiModelProperty("创建单位名称") @TableField("create_dept_name") + @ExcelProperty("创建单位") private String createDeptName; + /** + * 创建人id + */ + @ApiModelProperty("创建人id") + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ApiModelProperty("创建人姓名") + @TableField("create_user_name") + @ExcelProperty("创建人") + private String createUserName; /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java index 79461e6..ce39fb7 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java @@ -8,6 +8,8 @@ import java.util.Date; import java.util.List; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import com.casic.missiles.model.CommonApproval; import com.casic.missiles.model.equipment.EquipmentAttachment; import com.casic.missiles.model.equipment.EquipmentInfo; @@ -64,9 +66,10 @@ */ @ApiModelProperty("申请状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; - @ApiModelProperty("申请状态名称") + @ApiModelProperty("审批状态名称") @TableField(exist = false) private String approvalStatusName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java index 130f5cf..7e4a4de 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java @@ -40,11 +40,11 @@ @TableField("status_type") @ApiModelProperty("状态变更类型") + @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusType; @TableField(exist = false) @ApiModelProperty("状态变更类型名称") - @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusTypeName; @TableField("start_time") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java index db5162e..ddbf003 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +15,7 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -23,6 +31,11 @@ @Getter @Setter @TableName("eqpt_subcontract_certificate") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class SubcontractCertificate implements Serializable { private static final long serialVersionUID = 1L; @@ -39,6 +52,7 @@ */ @ApiModelProperty("证书编号") @TableField("certificate_no") + @ExcelProperty(value = "证书号",index = 0) private String certificateNo; /** @@ -46,6 +60,7 @@ */ @ApiModelProperty("证书名称") @TableField("certificate_name") + @ExcelProperty(value = "证书名称",index = 1) private String certificateName; /** @@ -67,6 +82,7 @@ */ @ApiModelProperty("检测单位名称") @TableField(exist = false) + @ExcelProperty(value = "检测单位",index = 6) private String subcontractorName; /** @@ -81,6 +97,7 @@ */ @ApiModelProperty("受检设备编号") @TableField(exist = false) + @ExcelProperty(value = "样品编号",index = 2) private String equipmentNo; /** @@ -88,6 +105,7 @@ */ @ApiModelProperty("受检设备名称") @TableField(exist = false) + @ExcelProperty(value = "样品名称",index = 3) private String equipmentName; /** @@ -95,6 +113,7 @@ */ @ApiModelProperty("出厂编号") @TableField(exist = false) + @ExcelProperty(value = "出厂编号",index = 5) private String equipmentManufactureNo; /** @@ -102,6 +121,7 @@ */ @ApiModelProperty("型号") @TableField(exist = false) + @ExcelProperty(value = "型号",index = 4) private String equipmentModel; /** @@ -144,6 +164,7 @@ */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",index = 7, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java index 5339e10..7ae7965 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -7,6 +8,9 @@ import java.io.Serializable; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -39,6 +43,7 @@ */ @ApiModelProperty("评审表编号") @TableField("review_no") + @ExcelProperty(value = "评审表编号",index = 0) private String reviewNo; /** @@ -46,6 +51,7 @@ */ @ApiModelProperty("评审表名称") @TableField("review_name") + @ExcelProperty(value = "评审表名称",index = 1) private String reviewName; /** @@ -60,6 +66,7 @@ */ @ApiModelProperty("申请人姓名") @TableField("create_user_name") + @ExcelProperty(value = "申请人",index = 4) private String createUserName; /** @@ -81,6 +88,7 @@ */ @ApiModelProperty("创建时间(即申请时间)") @TableField("create_time") + @ExcelProperty(value = "申请时间",index = 5, converter = DateExcelConverter.class) private Date createTime; /** @@ -109,6 +117,7 @@ */ @ApiModelProperty("分包机构名称(冗余字段)") @TableField("subcontractor_company_name") + @ExcelProperty(value = "分包机构名称",index = 2) private String subcontractorCompanyName; /** @@ -116,6 +125,7 @@ */ @ApiModelProperty("机构负责人(冗余字段)") @TableField("subcontractor_director_name") + @ExcelProperty(value = "机构负责人",index = 3) private String subcontractorDirectorName; /** @@ -214,6 +224,11 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java index 0de83b0..c4dcc17 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +9,9 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -40,6 +44,7 @@ */ @ApiModelProperty("分包方编号") @TableField("subcontractor_no") + @ExcelProperty(value = "分包方编号", index = 0) private String subcontractorNo; /** @@ -47,6 +52,7 @@ */ @ApiModelProperty("单位名称") @TableField("company_name") + @ExcelProperty(value = "单位名称", index = 1) private String companyName; /** @@ -131,6 +137,7 @@ */ @ApiModelProperty("机构负责人") @TableField("director_name") + @ExcelProperty(value = "机构负责人", index = 2) private String directorName; /** @@ -138,6 +145,7 @@ */ @ApiModelProperty("联系电话") @TableField("contact_number") + @ExcelProperty(value = "联系电话", index = 3) private String contactNumber; /** @@ -173,6 +181,7 @@ */ @ApiModelProperty("地址") @TableField("address") + @ExcelProperty(value = "地址", index = 5) private String address; /** @@ -187,6 +196,7 @@ */ @ApiModelProperty("测试能力") @TableField("test_ability") + @ExcelProperty(value = "测试能力", index = 4) private String testAbility; /** @@ -215,13 +225,19 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间", index = 6, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java index d7d16b9..91f15d5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java @@ -49,6 +49,13 @@ private String staffName; /** + * 联系方式 + */ + @ApiModelProperty("联系方式") + @TableField("staff_phone") + private String staffPhone; + + /** * 工作部门 */ @ApiModelProperty("工作部门") diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java index a967db1..7eab839 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java @@ -10,6 +10,8 @@ import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.model.CommonApproval; +import java.util.List; + public interface ICommonApprovalService extends IService { @@ -34,6 +36,8 @@ Page allPage(Page page, Q queryForm); + List allExport(Q queryForm); + QueryWrapper commonQuery(Q queryForm); T warpper(T obj); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java index 7ed83c0..0031746 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java @@ -1,15 +1,9 @@ package com.casic.missiles.service.equipment; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; -import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; -import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; -import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.equipment.EquipmentApprovalForm; -import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.model.equipment.EquipmentInfoApproval; -import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.service.ICommonApprovalService; import java.util.List; @@ -22,7 +16,7 @@ * @author zhangyingjie * @since 2023-07-21 */ -public interface IEquipmentInfoApprovalService extends ICommonApprovalService { +public interface IEquipmentInfoApprovalService extends ICommonApprovalService { Long saveOrUpdateApproval(EquipmentApprovalForm approvalForm); 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 c2f939d..eee21dc 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 @@ -18,25 +18,25 @@ */ public interface IEquipmentInfoService extends IService { - Page listPage(Page page, EquipmentQueryFrom queryFrom); + Page listPage(Page page, EquipmentQueryForm queryForm); - List list(EquipmentQueryFrom queryFrom); + List list(EquipmentQueryForm queryForm); - List groupByName(EquipmentQueryFrom queryFrom); + List groupByName(EquipmentQueryForm queryForm); EquipmentInfoForm detail(Long equipmentId); List allCertificate(Long equipmentId,String equipmentType); - boolean updateEquipmentStatus(Long equipmentId,String usageStatus); + void updateEquipmentStatus(Long equipmentId, String usageStatus); - boolean updateCertificateValid(Long equipmentId, Date certificateValid); - - boolean updateCertificateInfo(Long equipmentId,String checkOrganization,Date checkDate, Date certificateValid,String meterIdentify); + void updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify); void removeCertificateInfo(Long equipmentId,Long certificateId); - Page remindListPage(Page page,EquipmentQueryFrom queryFrom); + Page remindListPage(Page page, EquipmentQueryForm queryForm); - Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryFrom); + List remindList(EquipmentQueryForm queryForm); + + Page certificateListPage(Page page, EquipmentCertificateQueryForm queryForm); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java index 06b6853..5fe001d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java @@ -212,6 +212,25 @@ } @Override + public List allExport(Q queryForm) { + QueryWrapper queryWrapper; + if(CollUtil.isEmpty(queryForm.getIds())){ + queryWrapper = commonQuery(queryForm); + queryWrapper.eq("approval_status",ApprovalStatusEnum.PASSED); + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + if(!ALL_TYPE.equals(dataScope.getScopeEnums())){ + queryWrapper.in("create_dept_id",dataScope.getDeptIds()); + } + }else { + queryWrapper = new QueryWrapper<>(); + queryWrapper.in("id",queryForm.getIds()); + } + List list = this.list(queryWrapper); + list.forEach(this::warpper); + return list; + } + + @Override public QueryWrapper commonQuery(Q queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); return queryWrapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java index 5e9824d..1ca0447 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java @@ -10,7 +10,7 @@ import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.equipment.EquipmentApprovalForm; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -53,7 +53,7 @@ */ @Service @Slf4j -public class EquipmentInfoApprovalServiceImpl extends CommonApprovalServiceImpl implements IEquipmentInfoApprovalService { +public class EquipmentInfoApprovalServiceImpl extends CommonApprovalServiceImpl implements IEquipmentInfoApprovalService { @Autowired private IEquipmentInfoService equipmentInfoService; @@ -251,7 +251,7 @@ } @Override - public QueryWrapper commonQuery(EquipmentQueryFrom queryForm) { + public QueryWrapper commonQuery(EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "equipment_no", queryForm.getEquipmentNo()); 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 469317b..ae66c93 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 @@ -13,17 +13,21 @@ 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.EquipmentStatusTypeEnum; import com.casic.missiles.enums.equipment.EquipmentTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; import com.casic.missiles.model.equipment.EquipmentInfo; import com.casic.missiles.mapper.equipment.EquipmentInfoMapper; import com.casic.missiles.service.equipment.*; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.service.status.IEquipmentStatusLogService; 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; @@ -46,16 +50,17 @@ private final IEquipmentTechnicalTargetService technicalTargetService; private final IRemindConfigService remindConfigService; private final IEquipmentSpecialCertificateService specialCertificateService; + private final IEquipmentStatusLogService statusLogService; private ISubcontractCertificateService subcontractCertificateService; @Autowired - public void setSubcontractCertificateService(ISubcontractCertificateService subcontractCertificateService){ + public void setSubcontractCertificateService(ISubcontractCertificateService subcontractCertificateService) { this.subcontractCertificateService = subcontractCertificateService; } @Override - public Page listPage(Page page,EquipmentQueryFrom queryFrom) { - QueryWrapper queryWrapper = commonQuery(queryFrom); + public Page listPage(Page page, EquipmentQueryForm queryForm) { + QueryWrapper queryWrapper = commonQuery(queryForm); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.selectListPage(page, dataScope, queryWrapper); list.forEach(this::warpEquipmentInfo); @@ -74,8 +79,8 @@ } @Override - public List list(EquipmentQueryFrom queryFrom) { - QueryWrapper queryWrapper = commonQuery(queryFrom); + public List list(EquipmentQueryForm queryForm) { + QueryWrapper queryWrapper = commonQuery(queryForm); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.selectList(dataScope, queryWrapper); list.forEach(this::warpEquipmentInfo); @@ -83,17 +88,17 @@ } @Override - public List groupByName(EquipmentQueryFrom queryFrom) { + public List groupByName(EquipmentQueryForm queryForm) { DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - if(!ScopeEnums.ALL_TYPE.equals(dataScope.getScopeEnums())){ + if (!ScopeEnums.ALL_TYPE.equals(dataScope.getScopeEnums())) { List dataScopeDeptIds = dataScope.getDeptIds(); - if(ObjectUtil.isNull(queryFrom.getDeptIds())){ - queryFrom.setDeptIds(new ArrayList<>()); + if (ObjectUtil.isNull(queryForm.getDeptIds())) { + queryForm.setDeptIds(new ArrayList<>()); } - queryFrom.getDeptIds().addAll(dataScopeDeptIds); + queryForm.getDeptIds().addAll(dataScopeDeptIds); } - QueryWrapper queryWrapper = commonQuery(queryFrom); + QueryWrapper queryWrapper = commonQuery(queryForm); queryWrapper.groupBy("equipment_name"); queryWrapper.select("equipment_name as 'equipmentName',count(*) as 'count'"); @@ -102,17 +107,23 @@ } - public QueryWrapper commonQuery(EquipmentQueryFrom queryForm) { + public QueryWrapper commonQuery(EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); - queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "equipment_no", queryForm.getEquipmentNo()); - queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentName()), "equipment_name", queryForm.getEquipmentName()); - queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getEquipmentType()), "equipment_type", queryForm.getEquipmentType()); - queryWrapper.like(StrUtil.isNotEmpty(queryForm.getUsePosition()), "use_position", queryForm.getUsePosition()); - queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getUsageStatus()), "usage_status", queryForm.getUsageStatus()); - queryWrapper.ge(StrUtil.isNotEmpty(queryForm.getCertificateValidStart()), "certificate_valid", queryForm.getCertificateValidStart()); - queryWrapper.le(StrUtil.isNotEmpty(queryForm.getCertificateValidEnd()), "certificate_valid", queryForm.getCertificateValidEnd()); - queryWrapper.eq("is_del",0); + if(CollUtil.isNotEmpty(queryForm.getIds())){ + queryWrapper.in("ids",queryForm.getIds()); + }else { + queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "equipment_no", queryForm.getEquipmentNo()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentName()), "equipment_name", queryForm.getEquipmentName()); + queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getEquipmentType()), "equipment_type", queryForm.getEquipmentType()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getUsePosition()), "use_position", queryForm.getUsePosition()); + queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getUsageStatus()), "usage_status", queryForm.getUsageStatus()); + queryWrapper.ge(StrUtil.isNotEmpty(queryForm.getCertificateValidStart()), "certificate_valid", queryForm.getCertificateValidStart()); + queryWrapper.le(StrUtil.isNotEmpty(queryForm.getCertificateValidEnd()), "certificate_valid", queryForm.getCertificateValidEnd()); + queryWrapper.in(CollUtil.isNotEmpty(queryForm.getUsageStatusList()), "usage_status", queryForm.getUsageStatusList()); + + } + queryWrapper.eq("is_del", 0); return queryWrapper; } @@ -120,33 +131,33 @@ public EquipmentInfoForm detail(Long equipmentId) { EquipmentInfoForm infoForm = new EquipmentInfoForm(); EquipmentInfo equipmentInfo = this.getById(equipmentId); - if(ObjectUtil.isNotEmpty(equipmentInfo)){ + if (ObjectUtil.isNotEmpty(equipmentInfo)) { warpEquipmentInfo(equipmentInfo); equipmentInfo.setCompanyName(permissionContext.getDeptService().getDeptName(equipmentInfo.getCompanyId())); equipmentInfo.setDeptName(permissionContext.getDeptService().getDeptName(equipmentInfo.getDeptId())); equipmentInfo.setGroupInfos(groupInfoService.selectByEquipment(equipmentId)); - BeanUtil.copyProperties(equipmentInfo,infoForm); + BeanUtil.copyProperties(equipmentInfo, infoForm); infoForm.setAttachments(attachmentService.selectByEquipment(equipmentId)); infoForm.setTechnicalTargetList(technicalTargetService.selectByEquipment(equipmentId)); - infoForm.setCertificateList(allCertificate(equipmentId,equipmentInfo.getEquipmentType())); + infoForm.setCertificateList(allCertificate(equipmentId, equipmentInfo.getEquipmentType())); } return infoForm; } @Override - public List allCertificate(Long equipmentId,String equipmentType){ + public 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)); + subcontractList.forEach(i -> i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SUBCONTRACT)); listAll.addAll(subcontractList); - if(EquipmentTypeEnum.EQUIPMENT_TYPE_SPECIAL.equals(equipmentType)){ + if (EquipmentTypeEnum.EQUIPMENT_TYPE_SPECIAL.equals(equipmentType)) { List specicalList = specialCertificateService.listByEquipment(equipmentId); - specicalList.forEach(i->i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SPECIAL)); + specicalList.forEach(i -> i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SPECIAL)); listAll.addAll(specicalList); } listAll.sort(new Comparator() { @@ -159,55 +170,53 @@ } @Override - public boolean updateEquipmentStatus(Long equipmentId,String usageStatus){ + public void updateEquipmentStatus(Long equipmentId, String usageStatus) { UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id",equipmentId); - updateWrapper.set("usage_status",usageStatus); - return this.update(updateWrapper); + updateWrapper.eq("id", equipmentId); + updateWrapper.set("usage_status", usageStatus); + this.update(updateWrapper); } @Override - public boolean updateCertificateValid(Long equipmentId, Date certificateValid) { - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id",equipmentId); - updateWrapper.set("certificate_valid",certificateValid); - return this.update(updateWrapper); - } - - @Override - public boolean updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify) { + @Transactional + public void updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify) { 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); + if (ObjectUtil.isNotEmpty(equipmentInfo)) { + if (ObjectUtil.isEmpty(equipmentInfo.getCertificateValid()) || equipmentInfo.getCertificateValid().before(certificateValid)) { + equipmentInfo.setCheckOrganization(checkOrganization); + equipmentInfo.setCheckDate(checkDate); + equipmentInfo.setCertificateValid(certificateValid); + if (StrUtil.isNotEmpty(meterIdentify)) { + equipmentInfo.setMeterIdentify(meterIdentify); } - return this.update(updateWrapper); + this.updateById(equipmentInfo); + //当设备证书有效期更新且未到期时,设备状态自动变更为启封 + if (!EquipmentStatusTypeEnum.UNSEAL.equals(equipmentInfo.getUsageStatus()) + && !EquipmentStatusTypeEnum.SCRAP.equals(equipmentInfo.getUsageStatus()) + && certificateValid.after(new Date())) { + this.updateEquipmentStatus(equipmentId, EquipmentStatusTypeEnum.UNSEAL); + statusLogService.saveLog(equipmentId, StatusApprovalTypeEnum.UNSEAL,"设备证书更新"); + } + } } - return false; } - public void removeCertificateInfo(Long equipmentId,Long certificateId){ + 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()); + 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()){ + 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()); + 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); } @@ -215,11 +224,11 @@ } @Override - public Page remindListPage(Page page,EquipmentQueryFrom queryFrom) { + public Page remindListPage(Page page, EquipmentQueryForm queryForm) { Integer remindTime = remindConfigService.getRemindTimeByDeptId(permissionContext.getAuthService().getLoginUser().getDeptId()); Calendar calendar = Calendar.getInstance(); - calendar.add(Calendar.DATE,remindTime); - QueryWrapper queryWrapper = commonQuery(queryFrom); + calendar.add(Calendar.DATE, remindTime); + QueryWrapper queryWrapper = commonQuery(queryForm); queryWrapper.le("certificate_valid", calendar.getTime()); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.selectListPage(page, dataScope, queryWrapper); @@ -229,7 +238,20 @@ } @Override - public Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryForm) { + public List remindList(EquipmentQueryForm queryForm) { + Integer remindTime = remindConfigService.getRemindTimeByDeptId(permissionContext.getAuthService().getLoginUser().getDeptId()); + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.DATE, remindTime); + QueryWrapper queryWrapper = commonQuery(queryForm); + queryWrapper.le("certificate_valid", calendar.getTime()); + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + List list = this.baseMapper.selectList(dataScope, queryWrapper); + list.forEach(this::warpEquipmentInfo); + return list; + } + + @Override + public Page certificateListPage(Page page, EquipmentCertificateQueryForm queryForm) { DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); QueryWrapper queryWrapper = new QueryWrapper<>(); @@ -240,7 +262,7 @@ 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("e.is_del", 0); queryWrapper.eq("c.approval_status", ApprovalStatusEnum.PASSED); List list = this.baseMapper.bizCertificateListPage(page, dataScope, queryWrapper); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java index 138cbf4..5bf434a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.impl.file; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; @@ -57,6 +58,8 @@ @Override public Page listPage(Page page, String fileNo, String fileName) { QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(StrUtil.isNotEmpty(fileNo),"file_no",fileNo); + queryWrapper.like(StrUtil.isNotEmpty(fileName),"file_name",fileName); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.listScopePage(page,dataScope,queryWrapper); list.forEach(i-> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/PlanNotifyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/PlanNotifyServiceImpl.java index 0cf2db9..1c102c2 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/PlanNotifyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/PlanNotifyServiceImpl.java @@ -20,6 +20,7 @@ import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -44,11 +45,18 @@ @Transactional public class PlanNotifyServiceImpl extends ServiceImpl implements IPlanNotifyService { - private final IPlanService planService; + private final IPlanEquipmentRelationService planRelationService; private final IPlanNotifyRelationService notifyRelationService; private final AbstractUserService userService; + private IPlanService planService; + + @Autowired + public void setPlanService(IPlanService planService){ + this.planService = planService; + } + /** * 发送送检通知 * diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java new file mode 100644 index 0000000..6284acf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EquipmentCertificateQueryForm 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/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java deleted file mode 100644 index 35d2d47..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java +++ /dev/null @@ -1,34 +0,0 @@ -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/dto/equipment/EquipmentQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java new file mode 100644 index 0000000..040a368 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java @@ -0,0 +1,41 @@ +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 EquipmentQueryForm extends BaseQueryForm { + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("设备类型(1受检设备;2特种设备)") + private String equipmentType; + + @ApiModelProperty("使用部门") + private List deptIds; + + @ApiModelProperty("使用岗位") + private String usePosition; + + @ApiModelProperty("使用状态") + private String usageStatus; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; + + @ApiModelProperty("使用状态列表") + private List usageStatusList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java deleted file mode 100644 index f5f4a61..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java +++ /dev/null @@ -1,38 +0,0 @@ -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 EquipmentQueryFrom extends BaseQueryForm { - - @ApiModelProperty("统一编号") - private String equipmentNo; - - @ApiModelProperty("设备名称") - private String equipmentName; - - @ApiModelProperty("设备类型(1受检设备;2特种设备)") - private String equipmentType; - - @ApiModelProperty("使用部门") - private List deptIds; - - @ApiModelProperty("使用岗位") - private String usePosition; - - @ApiModelProperty("使用状态") - private String usageStatus; - - @ApiModelProperty("证书有效期开始时间") - private String certificateValidStart; - - @ApiModelProperty("证书有效期结束时间") - private String certificateValidEnd; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java index 391bfe0..2d3bd33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java @@ -7,6 +7,8 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,6 +31,7 @@ @ExcelIgnore @ApiModelProperty("使用情况") + @DictCodeField(cacheName = MeterDictCode.RFID_USAGE_STATUS) private String usageStatus; @ExcelProperty("使用情况") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java index f0515a5..d4b7ab5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java @@ -1,5 +1,11 @@ package com.casic.missiles.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModelProperty; @@ -9,6 +15,11 @@ @Getter @Setter +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class CommonApproval { @ApiModelProperty("主键") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java index 724e9d8..e08ea2a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java @@ -1,5 +1,13 @@ package com.casic.missiles.model.equipment; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; @@ -12,6 +20,7 @@ import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -27,6 +36,11 @@ @Getter @Setter @TableName("eqpt_equipment_info") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class EquipmentInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -40,6 +54,7 @@ */ @ApiModelProperty("设备编号") @TableField("equipment_no") + @ExcelProperty(value = "统一编号",index = 0) private String equipmentNo; /** @@ -47,6 +62,7 @@ */ @ApiModelProperty("设备名称") @TableField("equipment_name") + @ExcelProperty(value = "设备名称",index = 1) private String equipmentName; /** @@ -66,6 +82,7 @@ @ApiModelProperty("使用状态名称") @TableField(exist = false) + @ExcelProperty(value = "使用状态",index = 8) private String usageStatusName; /** @@ -94,6 +111,7 @@ */ @ApiModelProperty("出厂编号") @TableField("manufacture_no") + @ExcelProperty(value = "出厂编号",index = 3) private String manufactureNo; /** @@ -122,6 +140,7 @@ */ @ApiModelProperty("型号规格") @TableField("model") + @ExcelProperty(value = "型号规格",index = 2) private String model; /** @@ -165,6 +184,8 @@ */ @ApiModelProperty("检定周期(月)") @TableField("check_cycle") + @ExcelProperty(value = "检定周期(月)",index = 6) + @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN, horizontalAlignment = HorizontalAlignmentEnum.LEFT) private Integer checkCycle; /** @@ -172,6 +193,7 @@ */ @ApiModelProperty("备注") @TableField("remark") + @ExcelProperty(value = "备注",index = 9) private String remark; /** @@ -200,6 +222,7 @@ */ @ApiModelProperty("证书有效期") @TableField("certificate_valid") + @ExcelProperty(value = "证书有效期",index = 7, converter = DateExcelConverter.class) private Date certificateValid; /** @@ -207,13 +230,20 @@ */ @ApiModelProperty("计量标识") @TableField("meter_identify") + @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) private String meterIdentify; + @ApiModelProperty("计量标识名称") + @TableField(exist = false) + @ExcelProperty(value = "计量标识",index = 5) + private String meterIdentifyName; + /** * 使用岗位 */ @ApiModelProperty("使用岗位") @TableField("use_position") + @ExcelProperty(value = "使用岗位",index = 4) private String usePosition; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java index 4e884eb..63bef34 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java @@ -8,10 +8,14 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_IMPLEMENT_STATUS; +import static com.casic.missiles.constants.MeterDictCode.FILE_TYPE; + /** *

* 受检设备-文档管理 @@ -81,15 +85,25 @@ */ @ApiModelProperty("文件类别") @TableField("file_type") + @DictCodeField(cacheName = FILE_TYPE) private String fileType; + @ApiModelProperty("文件类型名称") + @TableField(exist = false) + private String fileTypeName; + /** * 实施状态 */ @ApiModelProperty("实施状态") @TableField("implementation_status") + @DictCodeField(cacheName = FILE_IMPLEMENT_STATUS) private String implementationStatus; + @ApiModelProperty("实施状态名称") + @TableField(exist = false) + private String implementationStatusName; + /** * 文件附件 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java index 5862e11..fdd06e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java @@ -8,10 +8,13 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_LOG_TYPE; + /** *

* 受检设备-文档管理-变更记录表 @@ -46,8 +49,13 @@ */ @ApiModelProperty("变更类型") @TableField("log_type") + @DictCodeField(cacheName = FILE_LOG_TYPE) private String logType; + @ApiModelProperty("变更类型名称") + @TableField(exist = false) + private String logTypeName; + /** * 变更人id */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java index 662e2f6..a01b8d9 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java @@ -1,13 +1,19 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; + import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; +import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,18 +35,20 @@ /** * 主键 */ - @TableId("id") + @TableId("id") private Long id; /** * 申请编号 */ @TableField("approval_no") + @ExcelProperty("申请编号") private String approvalNo; /** * 申请名称 */ + @ExcelProperty("申请名称") @TableField("approval_name") private String approvalName; @@ -55,31 +63,6 @@ */ @TableField("reason") private String reason; - - /** - * 创建人id - */ - @TableField("create_user_id") - private Long createUserId; - - /** - * 创建人姓名 - */ - @TableField("create_user_name") - private String createUserName; - - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - - /** - * 更新时间 - */ - @TableField("update_time") - private Date updateTime; - /** * 创建人部门id */ @@ -89,8 +72,36 @@ /** * 创建人部门名称 */ + @ExcelProperty("创建单位") @TableField("create_dept_name") private String createDeptName; + /** + * 创建人id + */ + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ExcelProperty("创建人") + @TableField("create_user_name") + private String createUserName; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + /** * 流程实例id @@ -102,7 +113,12 @@ * 申请状态 */ @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java index 7d6be90..97b522a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java @@ -1,14 +1,22 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; import java.util.Date; import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.annotation.EqptExportModel; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -41,6 +49,7 @@ */ @ApiModelProperty("计划编号") @TableField("plan_no") + @ExcelProperty("计划编号") private String planNo; /** @@ -48,6 +57,7 @@ */ @ApiModelProperty("计划名称") @TableField("plan_name") + @ExcelProperty("计划名称") private String planName; /** @@ -60,6 +70,7 @@ @ApiModelProperty("计划分类名称") @TableField(exist = false) + @ExcelProperty("计划分类") private String planCategoryName; /** @@ -97,19 +108,7 @@ @TableField("remark") private String remark; - /** - * 创建人id - */ - @ApiModelProperty("创建人id") - @TableField("create_user_id") - private Long createUserId; - /** - * 创建人姓名 - */ - @ApiModelProperty("创建人姓名") - @TableField("create_user_name") - private String createUserName; /** * 创建单位id @@ -123,13 +122,29 @@ */ @ApiModelProperty("创建单位名称") @TableField("create_dept_name") + @ExcelProperty("创建单位") private String createDeptName; + /** + * 创建人id + */ + @ApiModelProperty("创建人id") + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ApiModelProperty("创建人姓名") + @TableField("create_user_name") + @ExcelProperty("创建人") + private String createUserName; /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java index 79461e6..ce39fb7 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java @@ -8,6 +8,8 @@ import java.util.Date; import java.util.List; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import com.casic.missiles.model.CommonApproval; import com.casic.missiles.model.equipment.EquipmentAttachment; import com.casic.missiles.model.equipment.EquipmentInfo; @@ -64,9 +66,10 @@ */ @ApiModelProperty("申请状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; - @ApiModelProperty("申请状态名称") + @ApiModelProperty("审批状态名称") @TableField(exist = false) private String approvalStatusName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java index 130f5cf..7e4a4de 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java @@ -40,11 +40,11 @@ @TableField("status_type") @ApiModelProperty("状态变更类型") + @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusType; @TableField(exist = false) @ApiModelProperty("状态变更类型名称") - @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusTypeName; @TableField("start_time") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java index db5162e..ddbf003 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +15,7 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -23,6 +31,11 @@ @Getter @Setter @TableName("eqpt_subcontract_certificate") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class SubcontractCertificate implements Serializable { private static final long serialVersionUID = 1L; @@ -39,6 +52,7 @@ */ @ApiModelProperty("证书编号") @TableField("certificate_no") + @ExcelProperty(value = "证书号",index = 0) private String certificateNo; /** @@ -46,6 +60,7 @@ */ @ApiModelProperty("证书名称") @TableField("certificate_name") + @ExcelProperty(value = "证书名称",index = 1) private String certificateName; /** @@ -67,6 +82,7 @@ */ @ApiModelProperty("检测单位名称") @TableField(exist = false) + @ExcelProperty(value = "检测单位",index = 6) private String subcontractorName; /** @@ -81,6 +97,7 @@ */ @ApiModelProperty("受检设备编号") @TableField(exist = false) + @ExcelProperty(value = "样品编号",index = 2) private String equipmentNo; /** @@ -88,6 +105,7 @@ */ @ApiModelProperty("受检设备名称") @TableField(exist = false) + @ExcelProperty(value = "样品名称",index = 3) private String equipmentName; /** @@ -95,6 +113,7 @@ */ @ApiModelProperty("出厂编号") @TableField(exist = false) + @ExcelProperty(value = "出厂编号",index = 5) private String equipmentManufactureNo; /** @@ -102,6 +121,7 @@ */ @ApiModelProperty("型号") @TableField(exist = false) + @ExcelProperty(value = "型号",index = 4) private String equipmentModel; /** @@ -144,6 +164,7 @@ */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",index = 7, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java index 5339e10..7ae7965 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -7,6 +8,9 @@ import java.io.Serializable; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -39,6 +43,7 @@ */ @ApiModelProperty("评审表编号") @TableField("review_no") + @ExcelProperty(value = "评审表编号",index = 0) private String reviewNo; /** @@ -46,6 +51,7 @@ */ @ApiModelProperty("评审表名称") @TableField("review_name") + @ExcelProperty(value = "评审表名称",index = 1) private String reviewName; /** @@ -60,6 +66,7 @@ */ @ApiModelProperty("申请人姓名") @TableField("create_user_name") + @ExcelProperty(value = "申请人",index = 4) private String createUserName; /** @@ -81,6 +88,7 @@ */ @ApiModelProperty("创建时间(即申请时间)") @TableField("create_time") + @ExcelProperty(value = "申请时间",index = 5, converter = DateExcelConverter.class) private Date createTime; /** @@ -109,6 +117,7 @@ */ @ApiModelProperty("分包机构名称(冗余字段)") @TableField("subcontractor_company_name") + @ExcelProperty(value = "分包机构名称",index = 2) private String subcontractorCompanyName; /** @@ -116,6 +125,7 @@ */ @ApiModelProperty("机构负责人(冗余字段)") @TableField("subcontractor_director_name") + @ExcelProperty(value = "机构负责人",index = 3) private String subcontractorDirectorName; /** @@ -214,6 +224,11 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java index 0de83b0..c4dcc17 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +9,9 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -40,6 +44,7 @@ */ @ApiModelProperty("分包方编号") @TableField("subcontractor_no") + @ExcelProperty(value = "分包方编号", index = 0) private String subcontractorNo; /** @@ -47,6 +52,7 @@ */ @ApiModelProperty("单位名称") @TableField("company_name") + @ExcelProperty(value = "单位名称", index = 1) private String companyName; /** @@ -131,6 +137,7 @@ */ @ApiModelProperty("机构负责人") @TableField("director_name") + @ExcelProperty(value = "机构负责人", index = 2) private String directorName; /** @@ -138,6 +145,7 @@ */ @ApiModelProperty("联系电话") @TableField("contact_number") + @ExcelProperty(value = "联系电话", index = 3) private String contactNumber; /** @@ -173,6 +181,7 @@ */ @ApiModelProperty("地址") @TableField("address") + @ExcelProperty(value = "地址", index = 5) private String address; /** @@ -187,6 +196,7 @@ */ @ApiModelProperty("测试能力") @TableField("test_ability") + @ExcelProperty(value = "测试能力", index = 4) private String testAbility; /** @@ -215,13 +225,19 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间", index = 6, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java index d7d16b9..91f15d5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java @@ -49,6 +49,13 @@ private String staffName; /** + * 联系方式 + */ + @ApiModelProperty("联系方式") + @TableField("staff_phone") + private String staffPhone; + + /** * 工作部门 */ @ApiModelProperty("工作部门") diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java index a967db1..7eab839 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java @@ -10,6 +10,8 @@ import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.model.CommonApproval; +import java.util.List; + public interface ICommonApprovalService extends IService { @@ -34,6 +36,8 @@ Page allPage(Page page, Q queryForm); + List allExport(Q queryForm); + QueryWrapper commonQuery(Q queryForm); T warpper(T obj); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java index 7ed83c0..0031746 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java @@ -1,15 +1,9 @@ package com.casic.missiles.service.equipment; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; -import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; -import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; -import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.equipment.EquipmentApprovalForm; -import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.model.equipment.EquipmentInfoApproval; -import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.service.ICommonApprovalService; import java.util.List; @@ -22,7 +16,7 @@ * @author zhangyingjie * @since 2023-07-21 */ -public interface IEquipmentInfoApprovalService extends ICommonApprovalService { +public interface IEquipmentInfoApprovalService extends ICommonApprovalService { Long saveOrUpdateApproval(EquipmentApprovalForm approvalForm); 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 c2f939d..eee21dc 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 @@ -18,25 +18,25 @@ */ public interface IEquipmentInfoService extends IService { - Page listPage(Page page, EquipmentQueryFrom queryFrom); + Page listPage(Page page, EquipmentQueryForm queryForm); - List list(EquipmentQueryFrom queryFrom); + List list(EquipmentQueryForm queryForm); - List groupByName(EquipmentQueryFrom queryFrom); + List groupByName(EquipmentQueryForm queryForm); EquipmentInfoForm detail(Long equipmentId); List allCertificate(Long equipmentId,String equipmentType); - boolean updateEquipmentStatus(Long equipmentId,String usageStatus); + void updateEquipmentStatus(Long equipmentId, String usageStatus); - boolean updateCertificateValid(Long equipmentId, Date certificateValid); - - boolean updateCertificateInfo(Long equipmentId,String checkOrganization,Date checkDate, Date certificateValid,String meterIdentify); + void updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify); void removeCertificateInfo(Long equipmentId,Long certificateId); - Page remindListPage(Page page,EquipmentQueryFrom queryFrom); + Page remindListPage(Page page, EquipmentQueryForm queryForm); - Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryFrom); + List remindList(EquipmentQueryForm queryForm); + + Page certificateListPage(Page page, EquipmentCertificateQueryForm queryForm); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java index 06b6853..5fe001d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java @@ -212,6 +212,25 @@ } @Override + public List allExport(Q queryForm) { + QueryWrapper queryWrapper; + if(CollUtil.isEmpty(queryForm.getIds())){ + queryWrapper = commonQuery(queryForm); + queryWrapper.eq("approval_status",ApprovalStatusEnum.PASSED); + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + if(!ALL_TYPE.equals(dataScope.getScopeEnums())){ + queryWrapper.in("create_dept_id",dataScope.getDeptIds()); + } + }else { + queryWrapper = new QueryWrapper<>(); + queryWrapper.in("id",queryForm.getIds()); + } + List list = this.list(queryWrapper); + list.forEach(this::warpper); + return list; + } + + @Override public QueryWrapper commonQuery(Q queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); return queryWrapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java index 5e9824d..1ca0447 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java @@ -10,7 +10,7 @@ import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.equipment.EquipmentApprovalForm; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -53,7 +53,7 @@ */ @Service @Slf4j -public class EquipmentInfoApprovalServiceImpl extends CommonApprovalServiceImpl implements IEquipmentInfoApprovalService { +public class EquipmentInfoApprovalServiceImpl extends CommonApprovalServiceImpl implements IEquipmentInfoApprovalService { @Autowired private IEquipmentInfoService equipmentInfoService; @@ -251,7 +251,7 @@ } @Override - public QueryWrapper commonQuery(EquipmentQueryFrom queryForm) { + public QueryWrapper commonQuery(EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "equipment_no", queryForm.getEquipmentNo()); 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 469317b..ae66c93 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 @@ -13,17 +13,21 @@ 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.EquipmentStatusTypeEnum; import com.casic.missiles.enums.equipment.EquipmentTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; import com.casic.missiles.model.equipment.EquipmentInfo; import com.casic.missiles.mapper.equipment.EquipmentInfoMapper; import com.casic.missiles.service.equipment.*; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.service.status.IEquipmentStatusLogService; 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; @@ -46,16 +50,17 @@ private final IEquipmentTechnicalTargetService technicalTargetService; private final IRemindConfigService remindConfigService; private final IEquipmentSpecialCertificateService specialCertificateService; + private final IEquipmentStatusLogService statusLogService; private ISubcontractCertificateService subcontractCertificateService; @Autowired - public void setSubcontractCertificateService(ISubcontractCertificateService subcontractCertificateService){ + public void setSubcontractCertificateService(ISubcontractCertificateService subcontractCertificateService) { this.subcontractCertificateService = subcontractCertificateService; } @Override - public Page listPage(Page page,EquipmentQueryFrom queryFrom) { - QueryWrapper queryWrapper = commonQuery(queryFrom); + public Page listPage(Page page, EquipmentQueryForm queryForm) { + QueryWrapper queryWrapper = commonQuery(queryForm); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.selectListPage(page, dataScope, queryWrapper); list.forEach(this::warpEquipmentInfo); @@ -74,8 +79,8 @@ } @Override - public List list(EquipmentQueryFrom queryFrom) { - QueryWrapper queryWrapper = commonQuery(queryFrom); + public List list(EquipmentQueryForm queryForm) { + QueryWrapper queryWrapper = commonQuery(queryForm); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.selectList(dataScope, queryWrapper); list.forEach(this::warpEquipmentInfo); @@ -83,17 +88,17 @@ } @Override - public List groupByName(EquipmentQueryFrom queryFrom) { + public List groupByName(EquipmentQueryForm queryForm) { DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - if(!ScopeEnums.ALL_TYPE.equals(dataScope.getScopeEnums())){ + if (!ScopeEnums.ALL_TYPE.equals(dataScope.getScopeEnums())) { List dataScopeDeptIds = dataScope.getDeptIds(); - if(ObjectUtil.isNull(queryFrom.getDeptIds())){ - queryFrom.setDeptIds(new ArrayList<>()); + if (ObjectUtil.isNull(queryForm.getDeptIds())) { + queryForm.setDeptIds(new ArrayList<>()); } - queryFrom.getDeptIds().addAll(dataScopeDeptIds); + queryForm.getDeptIds().addAll(dataScopeDeptIds); } - QueryWrapper queryWrapper = commonQuery(queryFrom); + QueryWrapper queryWrapper = commonQuery(queryForm); queryWrapper.groupBy("equipment_name"); queryWrapper.select("equipment_name as 'equipmentName',count(*) as 'count'"); @@ -102,17 +107,23 @@ } - public QueryWrapper commonQuery(EquipmentQueryFrom queryForm) { + public QueryWrapper commonQuery(EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); - queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "equipment_no", queryForm.getEquipmentNo()); - queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentName()), "equipment_name", queryForm.getEquipmentName()); - queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getEquipmentType()), "equipment_type", queryForm.getEquipmentType()); - queryWrapper.like(StrUtil.isNotEmpty(queryForm.getUsePosition()), "use_position", queryForm.getUsePosition()); - queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getUsageStatus()), "usage_status", queryForm.getUsageStatus()); - queryWrapper.ge(StrUtil.isNotEmpty(queryForm.getCertificateValidStart()), "certificate_valid", queryForm.getCertificateValidStart()); - queryWrapper.le(StrUtil.isNotEmpty(queryForm.getCertificateValidEnd()), "certificate_valid", queryForm.getCertificateValidEnd()); - queryWrapper.eq("is_del",0); + if(CollUtil.isNotEmpty(queryForm.getIds())){ + queryWrapper.in("ids",queryForm.getIds()); + }else { + queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "equipment_no", queryForm.getEquipmentNo()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentName()), "equipment_name", queryForm.getEquipmentName()); + queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getEquipmentType()), "equipment_type", queryForm.getEquipmentType()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getUsePosition()), "use_position", queryForm.getUsePosition()); + queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getUsageStatus()), "usage_status", queryForm.getUsageStatus()); + queryWrapper.ge(StrUtil.isNotEmpty(queryForm.getCertificateValidStart()), "certificate_valid", queryForm.getCertificateValidStart()); + queryWrapper.le(StrUtil.isNotEmpty(queryForm.getCertificateValidEnd()), "certificate_valid", queryForm.getCertificateValidEnd()); + queryWrapper.in(CollUtil.isNotEmpty(queryForm.getUsageStatusList()), "usage_status", queryForm.getUsageStatusList()); + + } + queryWrapper.eq("is_del", 0); return queryWrapper; } @@ -120,33 +131,33 @@ public EquipmentInfoForm detail(Long equipmentId) { EquipmentInfoForm infoForm = new EquipmentInfoForm(); EquipmentInfo equipmentInfo = this.getById(equipmentId); - if(ObjectUtil.isNotEmpty(equipmentInfo)){ + if (ObjectUtil.isNotEmpty(equipmentInfo)) { warpEquipmentInfo(equipmentInfo); equipmentInfo.setCompanyName(permissionContext.getDeptService().getDeptName(equipmentInfo.getCompanyId())); equipmentInfo.setDeptName(permissionContext.getDeptService().getDeptName(equipmentInfo.getDeptId())); equipmentInfo.setGroupInfos(groupInfoService.selectByEquipment(equipmentId)); - BeanUtil.copyProperties(equipmentInfo,infoForm); + BeanUtil.copyProperties(equipmentInfo, infoForm); infoForm.setAttachments(attachmentService.selectByEquipment(equipmentId)); infoForm.setTechnicalTargetList(technicalTargetService.selectByEquipment(equipmentId)); - infoForm.setCertificateList(allCertificate(equipmentId,equipmentInfo.getEquipmentType())); + infoForm.setCertificateList(allCertificate(equipmentId, equipmentInfo.getEquipmentType())); } return infoForm; } @Override - public List allCertificate(Long equipmentId,String equipmentType){ + public 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)); + subcontractList.forEach(i -> i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SUBCONTRACT)); listAll.addAll(subcontractList); - if(EquipmentTypeEnum.EQUIPMENT_TYPE_SPECIAL.equals(equipmentType)){ + if (EquipmentTypeEnum.EQUIPMENT_TYPE_SPECIAL.equals(equipmentType)) { List specicalList = specialCertificateService.listByEquipment(equipmentId); - specicalList.forEach(i->i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SPECIAL)); + specicalList.forEach(i -> i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SPECIAL)); listAll.addAll(specicalList); } listAll.sort(new Comparator() { @@ -159,55 +170,53 @@ } @Override - public boolean updateEquipmentStatus(Long equipmentId,String usageStatus){ + public void updateEquipmentStatus(Long equipmentId, String usageStatus) { UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id",equipmentId); - updateWrapper.set("usage_status",usageStatus); - return this.update(updateWrapper); + updateWrapper.eq("id", equipmentId); + updateWrapper.set("usage_status", usageStatus); + this.update(updateWrapper); } @Override - public boolean updateCertificateValid(Long equipmentId, Date certificateValid) { - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id",equipmentId); - updateWrapper.set("certificate_valid",certificateValid); - return this.update(updateWrapper); - } - - @Override - public boolean updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify) { + @Transactional + public void updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify) { 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); + if (ObjectUtil.isNotEmpty(equipmentInfo)) { + if (ObjectUtil.isEmpty(equipmentInfo.getCertificateValid()) || equipmentInfo.getCertificateValid().before(certificateValid)) { + equipmentInfo.setCheckOrganization(checkOrganization); + equipmentInfo.setCheckDate(checkDate); + equipmentInfo.setCertificateValid(certificateValid); + if (StrUtil.isNotEmpty(meterIdentify)) { + equipmentInfo.setMeterIdentify(meterIdentify); } - return this.update(updateWrapper); + this.updateById(equipmentInfo); + //当设备证书有效期更新且未到期时,设备状态自动变更为启封 + if (!EquipmentStatusTypeEnum.UNSEAL.equals(equipmentInfo.getUsageStatus()) + && !EquipmentStatusTypeEnum.SCRAP.equals(equipmentInfo.getUsageStatus()) + && certificateValid.after(new Date())) { + this.updateEquipmentStatus(equipmentId, EquipmentStatusTypeEnum.UNSEAL); + statusLogService.saveLog(equipmentId, StatusApprovalTypeEnum.UNSEAL,"设备证书更新"); + } + } } - return false; } - public void removeCertificateInfo(Long equipmentId,Long certificateId){ + 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()); + 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()){ + 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()); + 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); } @@ -215,11 +224,11 @@ } @Override - public Page remindListPage(Page page,EquipmentQueryFrom queryFrom) { + public Page remindListPage(Page page, EquipmentQueryForm queryForm) { Integer remindTime = remindConfigService.getRemindTimeByDeptId(permissionContext.getAuthService().getLoginUser().getDeptId()); Calendar calendar = Calendar.getInstance(); - calendar.add(Calendar.DATE,remindTime); - QueryWrapper queryWrapper = commonQuery(queryFrom); + calendar.add(Calendar.DATE, remindTime); + QueryWrapper queryWrapper = commonQuery(queryForm); queryWrapper.le("certificate_valid", calendar.getTime()); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.selectListPage(page, dataScope, queryWrapper); @@ -229,7 +238,20 @@ } @Override - public Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryForm) { + public List remindList(EquipmentQueryForm queryForm) { + Integer remindTime = remindConfigService.getRemindTimeByDeptId(permissionContext.getAuthService().getLoginUser().getDeptId()); + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.DATE, remindTime); + QueryWrapper queryWrapper = commonQuery(queryForm); + queryWrapper.le("certificate_valid", calendar.getTime()); + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + List list = this.baseMapper.selectList(dataScope, queryWrapper); + list.forEach(this::warpEquipmentInfo); + return list; + } + + @Override + public Page certificateListPage(Page page, EquipmentCertificateQueryForm queryForm) { DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); QueryWrapper queryWrapper = new QueryWrapper<>(); @@ -240,7 +262,7 @@ 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("e.is_del", 0); queryWrapper.eq("c.approval_status", ApprovalStatusEnum.PASSED); List list = this.baseMapper.bizCertificateListPage(page, dataScope, queryWrapper); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java index 138cbf4..5bf434a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.impl.file; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; @@ -57,6 +58,8 @@ @Override public Page listPage(Page page, String fileNo, String fileName) { QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(StrUtil.isNotEmpty(fileNo),"file_no",fileNo); + queryWrapper.like(StrUtil.isNotEmpty(fileName),"file_name",fileName); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.listScopePage(page,dataScope,queryWrapper); list.forEach(i-> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/PlanNotifyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/PlanNotifyServiceImpl.java index 0cf2db9..1c102c2 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/PlanNotifyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/PlanNotifyServiceImpl.java @@ -20,6 +20,7 @@ import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -44,11 +45,18 @@ @Transactional public class PlanNotifyServiceImpl extends ServiceImpl implements IPlanNotifyService { - private final IPlanService planService; + private final IPlanEquipmentRelationService planRelationService; private final IPlanNotifyRelationService notifyRelationService; private final AbstractUserService userService; + private IPlanService planService; + + @Autowired + public void setPlanService(IPlanService planService){ + this.planService = planService; + } + /** * 发送送检通知 * diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java index 6f4d423..6878d5e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java @@ -4,24 +4,14 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; 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.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.datascope.DataScope; -import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.equipment.EquipmentApprovalForm; -import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; -import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; -import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.status.EquipmentStatusQueryForm; import com.casic.missiles.enums.ApprovalStatusEnum; import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.model.equipment.EquipmentInfo; -import com.casic.missiles.model.equipment.EquipmentInfoApproval; -import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.model.status.EquipmentStatusApproval; import com.casic.missiles.mapper.status.EquipmentStatusApprovalMapper; import com.casic.missiles.service.IBaseApprovalService; @@ -29,14 +19,12 @@ import com.casic.missiles.service.equipment.IEquipmentInfoService; import com.casic.missiles.service.impl.CommonApprovalServiceImpl; import com.casic.missiles.service.status.IEquipmentStatusApprovalService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.RequiredArgsConstructor; -import org.flowable.engine.runtime.ProcessInstance; import org.springframework.stereotype.Service; -import java.io.Serializable; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; @@ -131,8 +119,6 @@ break; case DELAY: equipmentInfoService.updateEquipmentStatus(approval.getEquipmentId(), EquipmentStatusTypeEnum.DELAY); - //todo 延长有效期 ?? - equipmentInfoService.updateCertificateValid(approval.getEquipmentId(),approval.getDelayTime()); break; default: break; @@ -155,6 +141,7 @@ queryWrapper.eq("approval.approval_status", queryForm.getApprovalStatus()); } List list = this.baseMapper.listPage(page, queryWrapper); + list.forEach(this::warpApprovalInfo); page.setRecords(list); return page; } @@ -177,6 +164,7 @@ approval.setTaskId(toBeApprovedDTO.getTaskId()); approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); } + warpApprovalInfo(approval); } page.setRecords(list); return page; @@ -191,6 +179,7 @@ QueryWrapper queryWrapper = commonQuery(queryForm); queryWrapper.in("approval.id", approvedIds); List list = this.baseMapper.listPage(page, queryWrapper); + list.forEach(this::warpApprovalInfo); page.setRecords(list); return page; } @@ -201,10 +190,20 @@ queryWrapper.eq("approval.approval_status",ApprovalStatusEnum.PASSED); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.listScopePage(dataScope, page, queryWrapper); + list.forEach(this::warpApprovalInfo); page.setRecords(list); return page; } + private void warpApprovalInfo(EquipmentStatusApproval i) { + try { + i.setCompanyName(permissionContext.getDeptService().getDeptName(i.getCompanyId())); + DictCodeUtils.convertDictCodeToName(i); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + @Override public QueryWrapper commonQuery(EquipmentStatusQueryForm queryForm) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java new file mode 100644 index 0000000..6284acf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EquipmentCertificateQueryForm 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/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java deleted file mode 100644 index 35d2d47..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java +++ /dev/null @@ -1,34 +0,0 @@ -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/dto/equipment/EquipmentQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java new file mode 100644 index 0000000..040a368 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java @@ -0,0 +1,41 @@ +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 EquipmentQueryForm extends BaseQueryForm { + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("设备类型(1受检设备;2特种设备)") + private String equipmentType; + + @ApiModelProperty("使用部门") + private List deptIds; + + @ApiModelProperty("使用岗位") + private String usePosition; + + @ApiModelProperty("使用状态") + private String usageStatus; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; + + @ApiModelProperty("使用状态列表") + private List usageStatusList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java deleted file mode 100644 index f5f4a61..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java +++ /dev/null @@ -1,38 +0,0 @@ -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 EquipmentQueryFrom extends BaseQueryForm { - - @ApiModelProperty("统一编号") - private String equipmentNo; - - @ApiModelProperty("设备名称") - private String equipmentName; - - @ApiModelProperty("设备类型(1受检设备;2特种设备)") - private String equipmentType; - - @ApiModelProperty("使用部门") - private List deptIds; - - @ApiModelProperty("使用岗位") - private String usePosition; - - @ApiModelProperty("使用状态") - private String usageStatus; - - @ApiModelProperty("证书有效期开始时间") - private String certificateValidStart; - - @ApiModelProperty("证书有效期结束时间") - private String certificateValidEnd; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java index 391bfe0..2d3bd33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java @@ -7,6 +7,8 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,6 +31,7 @@ @ExcelIgnore @ApiModelProperty("使用情况") + @DictCodeField(cacheName = MeterDictCode.RFID_USAGE_STATUS) private String usageStatus; @ExcelProperty("使用情况") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java index f0515a5..d4b7ab5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java @@ -1,5 +1,11 @@ package com.casic.missiles.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModelProperty; @@ -9,6 +15,11 @@ @Getter @Setter +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class CommonApproval { @ApiModelProperty("主键") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java index 724e9d8..e08ea2a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java @@ -1,5 +1,13 @@ package com.casic.missiles.model.equipment; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; @@ -12,6 +20,7 @@ import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -27,6 +36,11 @@ @Getter @Setter @TableName("eqpt_equipment_info") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class EquipmentInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -40,6 +54,7 @@ */ @ApiModelProperty("设备编号") @TableField("equipment_no") + @ExcelProperty(value = "统一编号",index = 0) private String equipmentNo; /** @@ -47,6 +62,7 @@ */ @ApiModelProperty("设备名称") @TableField("equipment_name") + @ExcelProperty(value = "设备名称",index = 1) private String equipmentName; /** @@ -66,6 +82,7 @@ @ApiModelProperty("使用状态名称") @TableField(exist = false) + @ExcelProperty(value = "使用状态",index = 8) private String usageStatusName; /** @@ -94,6 +111,7 @@ */ @ApiModelProperty("出厂编号") @TableField("manufacture_no") + @ExcelProperty(value = "出厂编号",index = 3) private String manufactureNo; /** @@ -122,6 +140,7 @@ */ @ApiModelProperty("型号规格") @TableField("model") + @ExcelProperty(value = "型号规格",index = 2) private String model; /** @@ -165,6 +184,8 @@ */ @ApiModelProperty("检定周期(月)") @TableField("check_cycle") + @ExcelProperty(value = "检定周期(月)",index = 6) + @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN, horizontalAlignment = HorizontalAlignmentEnum.LEFT) private Integer checkCycle; /** @@ -172,6 +193,7 @@ */ @ApiModelProperty("备注") @TableField("remark") + @ExcelProperty(value = "备注",index = 9) private String remark; /** @@ -200,6 +222,7 @@ */ @ApiModelProperty("证书有效期") @TableField("certificate_valid") + @ExcelProperty(value = "证书有效期",index = 7, converter = DateExcelConverter.class) private Date certificateValid; /** @@ -207,13 +230,20 @@ */ @ApiModelProperty("计量标识") @TableField("meter_identify") + @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) private String meterIdentify; + @ApiModelProperty("计量标识名称") + @TableField(exist = false) + @ExcelProperty(value = "计量标识",index = 5) + private String meterIdentifyName; + /** * 使用岗位 */ @ApiModelProperty("使用岗位") @TableField("use_position") + @ExcelProperty(value = "使用岗位",index = 4) private String usePosition; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java index 4e884eb..63bef34 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java @@ -8,10 +8,14 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_IMPLEMENT_STATUS; +import static com.casic.missiles.constants.MeterDictCode.FILE_TYPE; + /** *

* 受检设备-文档管理 @@ -81,15 +85,25 @@ */ @ApiModelProperty("文件类别") @TableField("file_type") + @DictCodeField(cacheName = FILE_TYPE) private String fileType; + @ApiModelProperty("文件类型名称") + @TableField(exist = false) + private String fileTypeName; + /** * 实施状态 */ @ApiModelProperty("实施状态") @TableField("implementation_status") + @DictCodeField(cacheName = FILE_IMPLEMENT_STATUS) private String implementationStatus; + @ApiModelProperty("实施状态名称") + @TableField(exist = false) + private String implementationStatusName; + /** * 文件附件 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java index 5862e11..fdd06e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java @@ -8,10 +8,13 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_LOG_TYPE; + /** *

* 受检设备-文档管理-变更记录表 @@ -46,8 +49,13 @@ */ @ApiModelProperty("变更类型") @TableField("log_type") + @DictCodeField(cacheName = FILE_LOG_TYPE) private String logType; + @ApiModelProperty("变更类型名称") + @TableField(exist = false) + private String logTypeName; + /** * 变更人id */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java index 662e2f6..a01b8d9 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java @@ -1,13 +1,19 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; + import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; +import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,18 +35,20 @@ /** * 主键 */ - @TableId("id") + @TableId("id") private Long id; /** * 申请编号 */ @TableField("approval_no") + @ExcelProperty("申请编号") private String approvalNo; /** * 申请名称 */ + @ExcelProperty("申请名称") @TableField("approval_name") private String approvalName; @@ -55,31 +63,6 @@ */ @TableField("reason") private String reason; - - /** - * 创建人id - */ - @TableField("create_user_id") - private Long createUserId; - - /** - * 创建人姓名 - */ - @TableField("create_user_name") - private String createUserName; - - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - - /** - * 更新时间 - */ - @TableField("update_time") - private Date updateTime; - /** * 创建人部门id */ @@ -89,8 +72,36 @@ /** * 创建人部门名称 */ + @ExcelProperty("创建单位") @TableField("create_dept_name") private String createDeptName; + /** + * 创建人id + */ + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ExcelProperty("创建人") + @TableField("create_user_name") + private String createUserName; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + /** * 流程实例id @@ -102,7 +113,12 @@ * 申请状态 */ @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java index 7d6be90..97b522a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java @@ -1,14 +1,22 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; import java.util.Date; import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.annotation.EqptExportModel; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -41,6 +49,7 @@ */ @ApiModelProperty("计划编号") @TableField("plan_no") + @ExcelProperty("计划编号") private String planNo; /** @@ -48,6 +57,7 @@ */ @ApiModelProperty("计划名称") @TableField("plan_name") + @ExcelProperty("计划名称") private String planName; /** @@ -60,6 +70,7 @@ @ApiModelProperty("计划分类名称") @TableField(exist = false) + @ExcelProperty("计划分类") private String planCategoryName; /** @@ -97,19 +108,7 @@ @TableField("remark") private String remark; - /** - * 创建人id - */ - @ApiModelProperty("创建人id") - @TableField("create_user_id") - private Long createUserId; - /** - * 创建人姓名 - */ - @ApiModelProperty("创建人姓名") - @TableField("create_user_name") - private String createUserName; /** * 创建单位id @@ -123,13 +122,29 @@ */ @ApiModelProperty("创建单位名称") @TableField("create_dept_name") + @ExcelProperty("创建单位") private String createDeptName; + /** + * 创建人id + */ + @ApiModelProperty("创建人id") + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ApiModelProperty("创建人姓名") + @TableField("create_user_name") + @ExcelProperty("创建人") + private String createUserName; /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java index 79461e6..ce39fb7 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java @@ -8,6 +8,8 @@ import java.util.Date; import java.util.List; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import com.casic.missiles.model.CommonApproval; import com.casic.missiles.model.equipment.EquipmentAttachment; import com.casic.missiles.model.equipment.EquipmentInfo; @@ -64,9 +66,10 @@ */ @ApiModelProperty("申请状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; - @ApiModelProperty("申请状态名称") + @ApiModelProperty("审批状态名称") @TableField(exist = false) private String approvalStatusName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java index 130f5cf..7e4a4de 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java @@ -40,11 +40,11 @@ @TableField("status_type") @ApiModelProperty("状态变更类型") + @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusType; @TableField(exist = false) @ApiModelProperty("状态变更类型名称") - @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusTypeName; @TableField("start_time") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java index db5162e..ddbf003 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +15,7 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -23,6 +31,11 @@ @Getter @Setter @TableName("eqpt_subcontract_certificate") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class SubcontractCertificate implements Serializable { private static final long serialVersionUID = 1L; @@ -39,6 +52,7 @@ */ @ApiModelProperty("证书编号") @TableField("certificate_no") + @ExcelProperty(value = "证书号",index = 0) private String certificateNo; /** @@ -46,6 +60,7 @@ */ @ApiModelProperty("证书名称") @TableField("certificate_name") + @ExcelProperty(value = "证书名称",index = 1) private String certificateName; /** @@ -67,6 +82,7 @@ */ @ApiModelProperty("检测单位名称") @TableField(exist = false) + @ExcelProperty(value = "检测单位",index = 6) private String subcontractorName; /** @@ -81,6 +97,7 @@ */ @ApiModelProperty("受检设备编号") @TableField(exist = false) + @ExcelProperty(value = "样品编号",index = 2) private String equipmentNo; /** @@ -88,6 +105,7 @@ */ @ApiModelProperty("受检设备名称") @TableField(exist = false) + @ExcelProperty(value = "样品名称",index = 3) private String equipmentName; /** @@ -95,6 +113,7 @@ */ @ApiModelProperty("出厂编号") @TableField(exist = false) + @ExcelProperty(value = "出厂编号",index = 5) private String equipmentManufactureNo; /** @@ -102,6 +121,7 @@ */ @ApiModelProperty("型号") @TableField(exist = false) + @ExcelProperty(value = "型号",index = 4) private String equipmentModel; /** @@ -144,6 +164,7 @@ */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",index = 7, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java index 5339e10..7ae7965 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -7,6 +8,9 @@ import java.io.Serializable; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -39,6 +43,7 @@ */ @ApiModelProperty("评审表编号") @TableField("review_no") + @ExcelProperty(value = "评审表编号",index = 0) private String reviewNo; /** @@ -46,6 +51,7 @@ */ @ApiModelProperty("评审表名称") @TableField("review_name") + @ExcelProperty(value = "评审表名称",index = 1) private String reviewName; /** @@ -60,6 +66,7 @@ */ @ApiModelProperty("申请人姓名") @TableField("create_user_name") + @ExcelProperty(value = "申请人",index = 4) private String createUserName; /** @@ -81,6 +88,7 @@ */ @ApiModelProperty("创建时间(即申请时间)") @TableField("create_time") + @ExcelProperty(value = "申请时间",index = 5, converter = DateExcelConverter.class) private Date createTime; /** @@ -109,6 +117,7 @@ */ @ApiModelProperty("分包机构名称(冗余字段)") @TableField("subcontractor_company_name") + @ExcelProperty(value = "分包机构名称",index = 2) private String subcontractorCompanyName; /** @@ -116,6 +125,7 @@ */ @ApiModelProperty("机构负责人(冗余字段)") @TableField("subcontractor_director_name") + @ExcelProperty(value = "机构负责人",index = 3) private String subcontractorDirectorName; /** @@ -214,6 +224,11 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java index 0de83b0..c4dcc17 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +9,9 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -40,6 +44,7 @@ */ @ApiModelProperty("分包方编号") @TableField("subcontractor_no") + @ExcelProperty(value = "分包方编号", index = 0) private String subcontractorNo; /** @@ -47,6 +52,7 @@ */ @ApiModelProperty("单位名称") @TableField("company_name") + @ExcelProperty(value = "单位名称", index = 1) private String companyName; /** @@ -131,6 +137,7 @@ */ @ApiModelProperty("机构负责人") @TableField("director_name") + @ExcelProperty(value = "机构负责人", index = 2) private String directorName; /** @@ -138,6 +145,7 @@ */ @ApiModelProperty("联系电话") @TableField("contact_number") + @ExcelProperty(value = "联系电话", index = 3) private String contactNumber; /** @@ -173,6 +181,7 @@ */ @ApiModelProperty("地址") @TableField("address") + @ExcelProperty(value = "地址", index = 5) private String address; /** @@ -187,6 +196,7 @@ */ @ApiModelProperty("测试能力") @TableField("test_ability") + @ExcelProperty(value = "测试能力", index = 4) private String testAbility; /** @@ -215,13 +225,19 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间", index = 6, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java index d7d16b9..91f15d5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java @@ -49,6 +49,13 @@ private String staffName; /** + * 联系方式 + */ + @ApiModelProperty("联系方式") + @TableField("staff_phone") + private String staffPhone; + + /** * 工作部门 */ @ApiModelProperty("工作部门") diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java index a967db1..7eab839 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java @@ -10,6 +10,8 @@ import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.model.CommonApproval; +import java.util.List; + public interface ICommonApprovalService extends IService { @@ -34,6 +36,8 @@ Page allPage(Page page, Q queryForm); + List allExport(Q queryForm); + QueryWrapper commonQuery(Q queryForm); T warpper(T obj); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java index 7ed83c0..0031746 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java @@ -1,15 +1,9 @@ package com.casic.missiles.service.equipment; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; -import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; -import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; -import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.equipment.EquipmentApprovalForm; -import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.model.equipment.EquipmentInfoApproval; -import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.service.ICommonApprovalService; import java.util.List; @@ -22,7 +16,7 @@ * @author zhangyingjie * @since 2023-07-21 */ -public interface IEquipmentInfoApprovalService extends ICommonApprovalService { +public interface IEquipmentInfoApprovalService extends ICommonApprovalService { Long saveOrUpdateApproval(EquipmentApprovalForm approvalForm); 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 c2f939d..eee21dc 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 @@ -18,25 +18,25 @@ */ public interface IEquipmentInfoService extends IService { - Page listPage(Page page, EquipmentQueryFrom queryFrom); + Page listPage(Page page, EquipmentQueryForm queryForm); - List list(EquipmentQueryFrom queryFrom); + List list(EquipmentQueryForm queryForm); - List groupByName(EquipmentQueryFrom queryFrom); + List groupByName(EquipmentQueryForm queryForm); EquipmentInfoForm detail(Long equipmentId); List allCertificate(Long equipmentId,String equipmentType); - boolean updateEquipmentStatus(Long equipmentId,String usageStatus); + void updateEquipmentStatus(Long equipmentId, String usageStatus); - boolean updateCertificateValid(Long equipmentId, Date certificateValid); - - boolean updateCertificateInfo(Long equipmentId,String checkOrganization,Date checkDate, Date certificateValid,String meterIdentify); + void updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify); void removeCertificateInfo(Long equipmentId,Long certificateId); - Page remindListPage(Page page,EquipmentQueryFrom queryFrom); + Page remindListPage(Page page, EquipmentQueryForm queryForm); - Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryFrom); + List remindList(EquipmentQueryForm queryForm); + + Page certificateListPage(Page page, EquipmentCertificateQueryForm queryForm); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java index 06b6853..5fe001d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java @@ -212,6 +212,25 @@ } @Override + public List allExport(Q queryForm) { + QueryWrapper queryWrapper; + if(CollUtil.isEmpty(queryForm.getIds())){ + queryWrapper = commonQuery(queryForm); + queryWrapper.eq("approval_status",ApprovalStatusEnum.PASSED); + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + if(!ALL_TYPE.equals(dataScope.getScopeEnums())){ + queryWrapper.in("create_dept_id",dataScope.getDeptIds()); + } + }else { + queryWrapper = new QueryWrapper<>(); + queryWrapper.in("id",queryForm.getIds()); + } + List list = this.list(queryWrapper); + list.forEach(this::warpper); + return list; + } + + @Override public QueryWrapper commonQuery(Q queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); return queryWrapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java index 5e9824d..1ca0447 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java @@ -10,7 +10,7 @@ import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.equipment.EquipmentApprovalForm; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -53,7 +53,7 @@ */ @Service @Slf4j -public class EquipmentInfoApprovalServiceImpl extends CommonApprovalServiceImpl implements IEquipmentInfoApprovalService { +public class EquipmentInfoApprovalServiceImpl extends CommonApprovalServiceImpl implements IEquipmentInfoApprovalService { @Autowired private IEquipmentInfoService equipmentInfoService; @@ -251,7 +251,7 @@ } @Override - public QueryWrapper commonQuery(EquipmentQueryFrom queryForm) { + public QueryWrapper commonQuery(EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "equipment_no", queryForm.getEquipmentNo()); 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 469317b..ae66c93 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 @@ -13,17 +13,21 @@ 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.EquipmentStatusTypeEnum; import com.casic.missiles.enums.equipment.EquipmentTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; import com.casic.missiles.model.equipment.EquipmentInfo; import com.casic.missiles.mapper.equipment.EquipmentInfoMapper; import com.casic.missiles.service.equipment.*; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.service.status.IEquipmentStatusLogService; 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; @@ -46,16 +50,17 @@ private final IEquipmentTechnicalTargetService technicalTargetService; private final IRemindConfigService remindConfigService; private final IEquipmentSpecialCertificateService specialCertificateService; + private final IEquipmentStatusLogService statusLogService; private ISubcontractCertificateService subcontractCertificateService; @Autowired - public void setSubcontractCertificateService(ISubcontractCertificateService subcontractCertificateService){ + public void setSubcontractCertificateService(ISubcontractCertificateService subcontractCertificateService) { this.subcontractCertificateService = subcontractCertificateService; } @Override - public Page listPage(Page page,EquipmentQueryFrom queryFrom) { - QueryWrapper queryWrapper = commonQuery(queryFrom); + public Page listPage(Page page, EquipmentQueryForm queryForm) { + QueryWrapper queryWrapper = commonQuery(queryForm); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.selectListPage(page, dataScope, queryWrapper); list.forEach(this::warpEquipmentInfo); @@ -74,8 +79,8 @@ } @Override - public List list(EquipmentQueryFrom queryFrom) { - QueryWrapper queryWrapper = commonQuery(queryFrom); + public List list(EquipmentQueryForm queryForm) { + QueryWrapper queryWrapper = commonQuery(queryForm); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.selectList(dataScope, queryWrapper); list.forEach(this::warpEquipmentInfo); @@ -83,17 +88,17 @@ } @Override - public List groupByName(EquipmentQueryFrom queryFrom) { + public List groupByName(EquipmentQueryForm queryForm) { DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - if(!ScopeEnums.ALL_TYPE.equals(dataScope.getScopeEnums())){ + if (!ScopeEnums.ALL_TYPE.equals(dataScope.getScopeEnums())) { List dataScopeDeptIds = dataScope.getDeptIds(); - if(ObjectUtil.isNull(queryFrom.getDeptIds())){ - queryFrom.setDeptIds(new ArrayList<>()); + if (ObjectUtil.isNull(queryForm.getDeptIds())) { + queryForm.setDeptIds(new ArrayList<>()); } - queryFrom.getDeptIds().addAll(dataScopeDeptIds); + queryForm.getDeptIds().addAll(dataScopeDeptIds); } - QueryWrapper queryWrapper = commonQuery(queryFrom); + QueryWrapper queryWrapper = commonQuery(queryForm); queryWrapper.groupBy("equipment_name"); queryWrapper.select("equipment_name as 'equipmentName',count(*) as 'count'"); @@ -102,17 +107,23 @@ } - public QueryWrapper commonQuery(EquipmentQueryFrom queryForm) { + public QueryWrapper commonQuery(EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); - queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "equipment_no", queryForm.getEquipmentNo()); - queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentName()), "equipment_name", queryForm.getEquipmentName()); - queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getEquipmentType()), "equipment_type", queryForm.getEquipmentType()); - queryWrapper.like(StrUtil.isNotEmpty(queryForm.getUsePosition()), "use_position", queryForm.getUsePosition()); - queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getUsageStatus()), "usage_status", queryForm.getUsageStatus()); - queryWrapper.ge(StrUtil.isNotEmpty(queryForm.getCertificateValidStart()), "certificate_valid", queryForm.getCertificateValidStart()); - queryWrapper.le(StrUtil.isNotEmpty(queryForm.getCertificateValidEnd()), "certificate_valid", queryForm.getCertificateValidEnd()); - queryWrapper.eq("is_del",0); + if(CollUtil.isNotEmpty(queryForm.getIds())){ + queryWrapper.in("ids",queryForm.getIds()); + }else { + queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "equipment_no", queryForm.getEquipmentNo()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentName()), "equipment_name", queryForm.getEquipmentName()); + queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getEquipmentType()), "equipment_type", queryForm.getEquipmentType()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getUsePosition()), "use_position", queryForm.getUsePosition()); + queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getUsageStatus()), "usage_status", queryForm.getUsageStatus()); + queryWrapper.ge(StrUtil.isNotEmpty(queryForm.getCertificateValidStart()), "certificate_valid", queryForm.getCertificateValidStart()); + queryWrapper.le(StrUtil.isNotEmpty(queryForm.getCertificateValidEnd()), "certificate_valid", queryForm.getCertificateValidEnd()); + queryWrapper.in(CollUtil.isNotEmpty(queryForm.getUsageStatusList()), "usage_status", queryForm.getUsageStatusList()); + + } + queryWrapper.eq("is_del", 0); return queryWrapper; } @@ -120,33 +131,33 @@ public EquipmentInfoForm detail(Long equipmentId) { EquipmentInfoForm infoForm = new EquipmentInfoForm(); EquipmentInfo equipmentInfo = this.getById(equipmentId); - if(ObjectUtil.isNotEmpty(equipmentInfo)){ + if (ObjectUtil.isNotEmpty(equipmentInfo)) { warpEquipmentInfo(equipmentInfo); equipmentInfo.setCompanyName(permissionContext.getDeptService().getDeptName(equipmentInfo.getCompanyId())); equipmentInfo.setDeptName(permissionContext.getDeptService().getDeptName(equipmentInfo.getDeptId())); equipmentInfo.setGroupInfos(groupInfoService.selectByEquipment(equipmentId)); - BeanUtil.copyProperties(equipmentInfo,infoForm); + BeanUtil.copyProperties(equipmentInfo, infoForm); infoForm.setAttachments(attachmentService.selectByEquipment(equipmentId)); infoForm.setTechnicalTargetList(technicalTargetService.selectByEquipment(equipmentId)); - infoForm.setCertificateList(allCertificate(equipmentId,equipmentInfo.getEquipmentType())); + infoForm.setCertificateList(allCertificate(equipmentId, equipmentInfo.getEquipmentType())); } return infoForm; } @Override - public List allCertificate(Long equipmentId,String equipmentType){ + public 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)); + subcontractList.forEach(i -> i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SUBCONTRACT)); listAll.addAll(subcontractList); - if(EquipmentTypeEnum.EQUIPMENT_TYPE_SPECIAL.equals(equipmentType)){ + if (EquipmentTypeEnum.EQUIPMENT_TYPE_SPECIAL.equals(equipmentType)) { List specicalList = specialCertificateService.listByEquipment(equipmentId); - specicalList.forEach(i->i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SPECIAL)); + specicalList.forEach(i -> i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SPECIAL)); listAll.addAll(specicalList); } listAll.sort(new Comparator() { @@ -159,55 +170,53 @@ } @Override - public boolean updateEquipmentStatus(Long equipmentId,String usageStatus){ + public void updateEquipmentStatus(Long equipmentId, String usageStatus) { UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id",equipmentId); - updateWrapper.set("usage_status",usageStatus); - return this.update(updateWrapper); + updateWrapper.eq("id", equipmentId); + updateWrapper.set("usage_status", usageStatus); + this.update(updateWrapper); } @Override - public boolean updateCertificateValid(Long equipmentId, Date certificateValid) { - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id",equipmentId); - updateWrapper.set("certificate_valid",certificateValid); - return this.update(updateWrapper); - } - - @Override - public boolean updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify) { + @Transactional + public void updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify) { 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); + if (ObjectUtil.isNotEmpty(equipmentInfo)) { + if (ObjectUtil.isEmpty(equipmentInfo.getCertificateValid()) || equipmentInfo.getCertificateValid().before(certificateValid)) { + equipmentInfo.setCheckOrganization(checkOrganization); + equipmentInfo.setCheckDate(checkDate); + equipmentInfo.setCertificateValid(certificateValid); + if (StrUtil.isNotEmpty(meterIdentify)) { + equipmentInfo.setMeterIdentify(meterIdentify); } - return this.update(updateWrapper); + this.updateById(equipmentInfo); + //当设备证书有效期更新且未到期时,设备状态自动变更为启封 + if (!EquipmentStatusTypeEnum.UNSEAL.equals(equipmentInfo.getUsageStatus()) + && !EquipmentStatusTypeEnum.SCRAP.equals(equipmentInfo.getUsageStatus()) + && certificateValid.after(new Date())) { + this.updateEquipmentStatus(equipmentId, EquipmentStatusTypeEnum.UNSEAL); + statusLogService.saveLog(equipmentId, StatusApprovalTypeEnum.UNSEAL,"设备证书更新"); + } + } } - return false; } - public void removeCertificateInfo(Long equipmentId,Long certificateId){ + 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()); + 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()){ + 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()); + 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); } @@ -215,11 +224,11 @@ } @Override - public Page remindListPage(Page page,EquipmentQueryFrom queryFrom) { + public Page remindListPage(Page page, EquipmentQueryForm queryForm) { Integer remindTime = remindConfigService.getRemindTimeByDeptId(permissionContext.getAuthService().getLoginUser().getDeptId()); Calendar calendar = Calendar.getInstance(); - calendar.add(Calendar.DATE,remindTime); - QueryWrapper queryWrapper = commonQuery(queryFrom); + calendar.add(Calendar.DATE, remindTime); + QueryWrapper queryWrapper = commonQuery(queryForm); queryWrapper.le("certificate_valid", calendar.getTime()); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.selectListPage(page, dataScope, queryWrapper); @@ -229,7 +238,20 @@ } @Override - public Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryForm) { + public List remindList(EquipmentQueryForm queryForm) { + Integer remindTime = remindConfigService.getRemindTimeByDeptId(permissionContext.getAuthService().getLoginUser().getDeptId()); + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.DATE, remindTime); + QueryWrapper queryWrapper = commonQuery(queryForm); + queryWrapper.le("certificate_valid", calendar.getTime()); + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + List list = this.baseMapper.selectList(dataScope, queryWrapper); + list.forEach(this::warpEquipmentInfo); + return list; + } + + @Override + public Page certificateListPage(Page page, EquipmentCertificateQueryForm queryForm) { DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); QueryWrapper queryWrapper = new QueryWrapper<>(); @@ -240,7 +262,7 @@ 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("e.is_del", 0); queryWrapper.eq("c.approval_status", ApprovalStatusEnum.PASSED); List list = this.baseMapper.bizCertificateListPage(page, dataScope, queryWrapper); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java index 138cbf4..5bf434a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.impl.file; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; @@ -57,6 +58,8 @@ @Override public Page listPage(Page page, String fileNo, String fileName) { QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(StrUtil.isNotEmpty(fileNo),"file_no",fileNo); + queryWrapper.like(StrUtil.isNotEmpty(fileName),"file_name",fileName); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.listScopePage(page,dataScope,queryWrapper); list.forEach(i-> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/PlanNotifyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/PlanNotifyServiceImpl.java index 0cf2db9..1c102c2 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/PlanNotifyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/PlanNotifyServiceImpl.java @@ -20,6 +20,7 @@ import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -44,11 +45,18 @@ @Transactional public class PlanNotifyServiceImpl extends ServiceImpl implements IPlanNotifyService { - private final IPlanService planService; + private final IPlanEquipmentRelationService planRelationService; private final IPlanNotifyRelationService notifyRelationService; private final AbstractUserService userService; + private IPlanService planService; + + @Autowired + public void setPlanService(IPlanService planService){ + this.planService = planService; + } + /** * 发送送检通知 * diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java index 6f4d423..6878d5e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java @@ -4,24 +4,14 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; 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.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.datascope.DataScope; -import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.equipment.EquipmentApprovalForm; -import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; -import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; -import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.status.EquipmentStatusQueryForm; import com.casic.missiles.enums.ApprovalStatusEnum; import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.model.equipment.EquipmentInfo; -import com.casic.missiles.model.equipment.EquipmentInfoApproval; -import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.model.status.EquipmentStatusApproval; import com.casic.missiles.mapper.status.EquipmentStatusApprovalMapper; import com.casic.missiles.service.IBaseApprovalService; @@ -29,14 +19,12 @@ import com.casic.missiles.service.equipment.IEquipmentInfoService; import com.casic.missiles.service.impl.CommonApprovalServiceImpl; import com.casic.missiles.service.status.IEquipmentStatusApprovalService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.RequiredArgsConstructor; -import org.flowable.engine.runtime.ProcessInstance; import org.springframework.stereotype.Service; -import java.io.Serializable; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; @@ -131,8 +119,6 @@ break; case DELAY: equipmentInfoService.updateEquipmentStatus(approval.getEquipmentId(), EquipmentStatusTypeEnum.DELAY); - //todo 延长有效期 ?? - equipmentInfoService.updateCertificateValid(approval.getEquipmentId(),approval.getDelayTime()); break; default: break; @@ -155,6 +141,7 @@ queryWrapper.eq("approval.approval_status", queryForm.getApprovalStatus()); } List list = this.baseMapper.listPage(page, queryWrapper); + list.forEach(this::warpApprovalInfo); page.setRecords(list); return page; } @@ -177,6 +164,7 @@ approval.setTaskId(toBeApprovedDTO.getTaskId()); approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); } + warpApprovalInfo(approval); } page.setRecords(list); return page; @@ -191,6 +179,7 @@ QueryWrapper queryWrapper = commonQuery(queryForm); queryWrapper.in("approval.id", approvedIds); List list = this.baseMapper.listPage(page, queryWrapper); + list.forEach(this::warpApprovalInfo); page.setRecords(list); return page; } @@ -201,10 +190,20 @@ queryWrapper.eq("approval.approval_status",ApprovalStatusEnum.PASSED); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.listScopePage(dataScope, page, queryWrapper); + list.forEach(this::warpApprovalInfo); page.setRecords(list); return page; } + private void warpApprovalInfo(EquipmentStatusApproval i) { + try { + i.setCompanyName(permissionContext.getDeptService().getDeptName(i.getCompanyId())); + DictCodeUtils.convertDictCodeToName(i); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + @Override public QueryWrapper commonQuery(EquipmentStatusQueryForm queryForm) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusLogServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusLogServiceImpl.java index 0a84def..de1f710 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusLogServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusLogServiceImpl.java @@ -26,21 +26,30 @@ @Override public void saveLog(EquipmentStatusApproval statusApproval) { + this.saveLog(statusApproval.getEquipmentId(),statusApproval.getApprovalType(),statusApproval.getApprovalReason(),statusApproval.getCreateUserId(),statusApproval.getCreateUserName()); + } + + public void saveLog(Long equipmentId,String statusType,String reason){ + this.saveLog(equipmentId,statusType,reason,null,null); + } + + public void saveLog(Long equipmentId,String statusType,String reason, Long createUserId, String createUserName){ QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("equipment_id",statusApproval.getEquipmentId()); + queryWrapper.eq("equipment_id",equipmentId); queryWrapper.orderByDesc("start_time"); queryWrapper.last("limit 1"); EquipmentStatusLog lastLog = this.getOne(queryWrapper); if(ObjectUtil.isNotEmpty(lastLog)){ lastLog.setEndTime(new Date()); + this.updateById(lastLog); } EquipmentStatusLog newLog = new EquipmentStatusLog(); - newLog.setEquipmentId(statusApproval.getEquipmentId()); - newLog.setStatusType(statusApproval.getApprovalType()); + newLog.setEquipmentId(equipmentId); + newLog.setStatusType(statusType); newLog.setStartTime(new Date()); - newLog.setReason(statusApproval.getApprovalReason()); - newLog.setCreateUserId(statusApproval.getCreateUserId()); - newLog.setCreateUserName(statusApproval.getCreateUserName()); + newLog.setReason(reason); + newLog.setCreateUserId(createUserId); + newLog.setCreateUserName(createUserName); this.save(newLog); } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java new file mode 100644 index 0000000..6284acf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EquipmentCertificateQueryForm 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/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java deleted file mode 100644 index 35d2d47..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java +++ /dev/null @@ -1,34 +0,0 @@ -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/dto/equipment/EquipmentQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java new file mode 100644 index 0000000..040a368 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java @@ -0,0 +1,41 @@ +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 EquipmentQueryForm extends BaseQueryForm { + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("设备类型(1受检设备;2特种设备)") + private String equipmentType; + + @ApiModelProperty("使用部门") + private List deptIds; + + @ApiModelProperty("使用岗位") + private String usePosition; + + @ApiModelProperty("使用状态") + private String usageStatus; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; + + @ApiModelProperty("使用状态列表") + private List usageStatusList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java deleted file mode 100644 index f5f4a61..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java +++ /dev/null @@ -1,38 +0,0 @@ -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 EquipmentQueryFrom extends BaseQueryForm { - - @ApiModelProperty("统一编号") - private String equipmentNo; - - @ApiModelProperty("设备名称") - private String equipmentName; - - @ApiModelProperty("设备类型(1受检设备;2特种设备)") - private String equipmentType; - - @ApiModelProperty("使用部门") - private List deptIds; - - @ApiModelProperty("使用岗位") - private String usePosition; - - @ApiModelProperty("使用状态") - private String usageStatus; - - @ApiModelProperty("证书有效期开始时间") - private String certificateValidStart; - - @ApiModelProperty("证书有效期结束时间") - private String certificateValidEnd; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java index 391bfe0..2d3bd33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java @@ -7,6 +7,8 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,6 +31,7 @@ @ExcelIgnore @ApiModelProperty("使用情况") + @DictCodeField(cacheName = MeterDictCode.RFID_USAGE_STATUS) private String usageStatus; @ExcelProperty("使用情况") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java index f0515a5..d4b7ab5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java @@ -1,5 +1,11 @@ package com.casic.missiles.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModelProperty; @@ -9,6 +15,11 @@ @Getter @Setter +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class CommonApproval { @ApiModelProperty("主键") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java index 724e9d8..e08ea2a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java @@ -1,5 +1,13 @@ package com.casic.missiles.model.equipment; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; @@ -12,6 +20,7 @@ import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -27,6 +36,11 @@ @Getter @Setter @TableName("eqpt_equipment_info") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class EquipmentInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -40,6 +54,7 @@ */ @ApiModelProperty("设备编号") @TableField("equipment_no") + @ExcelProperty(value = "统一编号",index = 0) private String equipmentNo; /** @@ -47,6 +62,7 @@ */ @ApiModelProperty("设备名称") @TableField("equipment_name") + @ExcelProperty(value = "设备名称",index = 1) private String equipmentName; /** @@ -66,6 +82,7 @@ @ApiModelProperty("使用状态名称") @TableField(exist = false) + @ExcelProperty(value = "使用状态",index = 8) private String usageStatusName; /** @@ -94,6 +111,7 @@ */ @ApiModelProperty("出厂编号") @TableField("manufacture_no") + @ExcelProperty(value = "出厂编号",index = 3) private String manufactureNo; /** @@ -122,6 +140,7 @@ */ @ApiModelProperty("型号规格") @TableField("model") + @ExcelProperty(value = "型号规格",index = 2) private String model; /** @@ -165,6 +184,8 @@ */ @ApiModelProperty("检定周期(月)") @TableField("check_cycle") + @ExcelProperty(value = "检定周期(月)",index = 6) + @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN, horizontalAlignment = HorizontalAlignmentEnum.LEFT) private Integer checkCycle; /** @@ -172,6 +193,7 @@ */ @ApiModelProperty("备注") @TableField("remark") + @ExcelProperty(value = "备注",index = 9) private String remark; /** @@ -200,6 +222,7 @@ */ @ApiModelProperty("证书有效期") @TableField("certificate_valid") + @ExcelProperty(value = "证书有效期",index = 7, converter = DateExcelConverter.class) private Date certificateValid; /** @@ -207,13 +230,20 @@ */ @ApiModelProperty("计量标识") @TableField("meter_identify") + @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) private String meterIdentify; + @ApiModelProperty("计量标识名称") + @TableField(exist = false) + @ExcelProperty(value = "计量标识",index = 5) + private String meterIdentifyName; + /** * 使用岗位 */ @ApiModelProperty("使用岗位") @TableField("use_position") + @ExcelProperty(value = "使用岗位",index = 4) private String usePosition; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java index 4e884eb..63bef34 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java @@ -8,10 +8,14 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_IMPLEMENT_STATUS; +import static com.casic.missiles.constants.MeterDictCode.FILE_TYPE; + /** *

* 受检设备-文档管理 @@ -81,15 +85,25 @@ */ @ApiModelProperty("文件类别") @TableField("file_type") + @DictCodeField(cacheName = FILE_TYPE) private String fileType; + @ApiModelProperty("文件类型名称") + @TableField(exist = false) + private String fileTypeName; + /** * 实施状态 */ @ApiModelProperty("实施状态") @TableField("implementation_status") + @DictCodeField(cacheName = FILE_IMPLEMENT_STATUS) private String implementationStatus; + @ApiModelProperty("实施状态名称") + @TableField(exist = false) + private String implementationStatusName; + /** * 文件附件 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java index 5862e11..fdd06e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java @@ -8,10 +8,13 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_LOG_TYPE; + /** *

* 受检设备-文档管理-变更记录表 @@ -46,8 +49,13 @@ */ @ApiModelProperty("变更类型") @TableField("log_type") + @DictCodeField(cacheName = FILE_LOG_TYPE) private String logType; + @ApiModelProperty("变更类型名称") + @TableField(exist = false) + private String logTypeName; + /** * 变更人id */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java index 662e2f6..a01b8d9 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java @@ -1,13 +1,19 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; + import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; +import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,18 +35,20 @@ /** * 主键 */ - @TableId("id") + @TableId("id") private Long id; /** * 申请编号 */ @TableField("approval_no") + @ExcelProperty("申请编号") private String approvalNo; /** * 申请名称 */ + @ExcelProperty("申请名称") @TableField("approval_name") private String approvalName; @@ -55,31 +63,6 @@ */ @TableField("reason") private String reason; - - /** - * 创建人id - */ - @TableField("create_user_id") - private Long createUserId; - - /** - * 创建人姓名 - */ - @TableField("create_user_name") - private String createUserName; - - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - - /** - * 更新时间 - */ - @TableField("update_time") - private Date updateTime; - /** * 创建人部门id */ @@ -89,8 +72,36 @@ /** * 创建人部门名称 */ + @ExcelProperty("创建单位") @TableField("create_dept_name") private String createDeptName; + /** + * 创建人id + */ + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ExcelProperty("创建人") + @TableField("create_user_name") + private String createUserName; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + /** * 流程实例id @@ -102,7 +113,12 @@ * 申请状态 */ @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java index 7d6be90..97b522a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java @@ -1,14 +1,22 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; import java.util.Date; import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.annotation.EqptExportModel; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -41,6 +49,7 @@ */ @ApiModelProperty("计划编号") @TableField("plan_no") + @ExcelProperty("计划编号") private String planNo; /** @@ -48,6 +57,7 @@ */ @ApiModelProperty("计划名称") @TableField("plan_name") + @ExcelProperty("计划名称") private String planName; /** @@ -60,6 +70,7 @@ @ApiModelProperty("计划分类名称") @TableField(exist = false) + @ExcelProperty("计划分类") private String planCategoryName; /** @@ -97,19 +108,7 @@ @TableField("remark") private String remark; - /** - * 创建人id - */ - @ApiModelProperty("创建人id") - @TableField("create_user_id") - private Long createUserId; - /** - * 创建人姓名 - */ - @ApiModelProperty("创建人姓名") - @TableField("create_user_name") - private String createUserName; /** * 创建单位id @@ -123,13 +122,29 @@ */ @ApiModelProperty("创建单位名称") @TableField("create_dept_name") + @ExcelProperty("创建单位") private String createDeptName; + /** + * 创建人id + */ + @ApiModelProperty("创建人id") + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ApiModelProperty("创建人姓名") + @TableField("create_user_name") + @ExcelProperty("创建人") + private String createUserName; /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java index 79461e6..ce39fb7 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java @@ -8,6 +8,8 @@ import java.util.Date; import java.util.List; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import com.casic.missiles.model.CommonApproval; import com.casic.missiles.model.equipment.EquipmentAttachment; import com.casic.missiles.model.equipment.EquipmentInfo; @@ -64,9 +66,10 @@ */ @ApiModelProperty("申请状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; - @ApiModelProperty("申请状态名称") + @ApiModelProperty("审批状态名称") @TableField(exist = false) private String approvalStatusName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java index 130f5cf..7e4a4de 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java @@ -40,11 +40,11 @@ @TableField("status_type") @ApiModelProperty("状态变更类型") + @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusType; @TableField(exist = false) @ApiModelProperty("状态变更类型名称") - @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusTypeName; @TableField("start_time") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java index db5162e..ddbf003 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +15,7 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -23,6 +31,11 @@ @Getter @Setter @TableName("eqpt_subcontract_certificate") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class SubcontractCertificate implements Serializable { private static final long serialVersionUID = 1L; @@ -39,6 +52,7 @@ */ @ApiModelProperty("证书编号") @TableField("certificate_no") + @ExcelProperty(value = "证书号",index = 0) private String certificateNo; /** @@ -46,6 +60,7 @@ */ @ApiModelProperty("证书名称") @TableField("certificate_name") + @ExcelProperty(value = "证书名称",index = 1) private String certificateName; /** @@ -67,6 +82,7 @@ */ @ApiModelProperty("检测单位名称") @TableField(exist = false) + @ExcelProperty(value = "检测单位",index = 6) private String subcontractorName; /** @@ -81,6 +97,7 @@ */ @ApiModelProperty("受检设备编号") @TableField(exist = false) + @ExcelProperty(value = "样品编号",index = 2) private String equipmentNo; /** @@ -88,6 +105,7 @@ */ @ApiModelProperty("受检设备名称") @TableField(exist = false) + @ExcelProperty(value = "样品名称",index = 3) private String equipmentName; /** @@ -95,6 +113,7 @@ */ @ApiModelProperty("出厂编号") @TableField(exist = false) + @ExcelProperty(value = "出厂编号",index = 5) private String equipmentManufactureNo; /** @@ -102,6 +121,7 @@ */ @ApiModelProperty("型号") @TableField(exist = false) + @ExcelProperty(value = "型号",index = 4) private String equipmentModel; /** @@ -144,6 +164,7 @@ */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",index = 7, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java index 5339e10..7ae7965 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -7,6 +8,9 @@ import java.io.Serializable; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -39,6 +43,7 @@ */ @ApiModelProperty("评审表编号") @TableField("review_no") + @ExcelProperty(value = "评审表编号",index = 0) private String reviewNo; /** @@ -46,6 +51,7 @@ */ @ApiModelProperty("评审表名称") @TableField("review_name") + @ExcelProperty(value = "评审表名称",index = 1) private String reviewName; /** @@ -60,6 +66,7 @@ */ @ApiModelProperty("申请人姓名") @TableField("create_user_name") + @ExcelProperty(value = "申请人",index = 4) private String createUserName; /** @@ -81,6 +88,7 @@ */ @ApiModelProperty("创建时间(即申请时间)") @TableField("create_time") + @ExcelProperty(value = "申请时间",index = 5, converter = DateExcelConverter.class) private Date createTime; /** @@ -109,6 +117,7 @@ */ @ApiModelProperty("分包机构名称(冗余字段)") @TableField("subcontractor_company_name") + @ExcelProperty(value = "分包机构名称",index = 2) private String subcontractorCompanyName; /** @@ -116,6 +125,7 @@ */ @ApiModelProperty("机构负责人(冗余字段)") @TableField("subcontractor_director_name") + @ExcelProperty(value = "机构负责人",index = 3) private String subcontractorDirectorName; /** @@ -214,6 +224,11 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java index 0de83b0..c4dcc17 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +9,9 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -40,6 +44,7 @@ */ @ApiModelProperty("分包方编号") @TableField("subcontractor_no") + @ExcelProperty(value = "分包方编号", index = 0) private String subcontractorNo; /** @@ -47,6 +52,7 @@ */ @ApiModelProperty("单位名称") @TableField("company_name") + @ExcelProperty(value = "单位名称", index = 1) private String companyName; /** @@ -131,6 +137,7 @@ */ @ApiModelProperty("机构负责人") @TableField("director_name") + @ExcelProperty(value = "机构负责人", index = 2) private String directorName; /** @@ -138,6 +145,7 @@ */ @ApiModelProperty("联系电话") @TableField("contact_number") + @ExcelProperty(value = "联系电话", index = 3) private String contactNumber; /** @@ -173,6 +181,7 @@ */ @ApiModelProperty("地址") @TableField("address") + @ExcelProperty(value = "地址", index = 5) private String address; /** @@ -187,6 +196,7 @@ */ @ApiModelProperty("测试能力") @TableField("test_ability") + @ExcelProperty(value = "测试能力", index = 4) private String testAbility; /** @@ -215,13 +225,19 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间", index = 6, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java index d7d16b9..91f15d5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java @@ -49,6 +49,13 @@ private String staffName; /** + * 联系方式 + */ + @ApiModelProperty("联系方式") + @TableField("staff_phone") + private String staffPhone; + + /** * 工作部门 */ @ApiModelProperty("工作部门") diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java index a967db1..7eab839 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java @@ -10,6 +10,8 @@ import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.model.CommonApproval; +import java.util.List; + public interface ICommonApprovalService extends IService { @@ -34,6 +36,8 @@ Page allPage(Page page, Q queryForm); + List allExport(Q queryForm); + QueryWrapper commonQuery(Q queryForm); T warpper(T obj); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java index 7ed83c0..0031746 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java @@ -1,15 +1,9 @@ package com.casic.missiles.service.equipment; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; -import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; -import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; -import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.equipment.EquipmentApprovalForm; -import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.model.equipment.EquipmentInfoApproval; -import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.service.ICommonApprovalService; import java.util.List; @@ -22,7 +16,7 @@ * @author zhangyingjie * @since 2023-07-21 */ -public interface IEquipmentInfoApprovalService extends ICommonApprovalService { +public interface IEquipmentInfoApprovalService extends ICommonApprovalService { Long saveOrUpdateApproval(EquipmentApprovalForm approvalForm); 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 c2f939d..eee21dc 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 @@ -18,25 +18,25 @@ */ public interface IEquipmentInfoService extends IService { - Page listPage(Page page, EquipmentQueryFrom queryFrom); + Page listPage(Page page, EquipmentQueryForm queryForm); - List list(EquipmentQueryFrom queryFrom); + List list(EquipmentQueryForm queryForm); - List groupByName(EquipmentQueryFrom queryFrom); + List groupByName(EquipmentQueryForm queryForm); EquipmentInfoForm detail(Long equipmentId); List allCertificate(Long equipmentId,String equipmentType); - boolean updateEquipmentStatus(Long equipmentId,String usageStatus); + void updateEquipmentStatus(Long equipmentId, String usageStatus); - boolean updateCertificateValid(Long equipmentId, Date certificateValid); - - boolean updateCertificateInfo(Long equipmentId,String checkOrganization,Date checkDate, Date certificateValid,String meterIdentify); + void updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify); void removeCertificateInfo(Long equipmentId,Long certificateId); - Page remindListPage(Page page,EquipmentQueryFrom queryFrom); + Page remindListPage(Page page, EquipmentQueryForm queryForm); - Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryFrom); + List remindList(EquipmentQueryForm queryForm); + + Page certificateListPage(Page page, EquipmentCertificateQueryForm queryForm); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java index 06b6853..5fe001d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java @@ -212,6 +212,25 @@ } @Override + public List allExport(Q queryForm) { + QueryWrapper queryWrapper; + if(CollUtil.isEmpty(queryForm.getIds())){ + queryWrapper = commonQuery(queryForm); + queryWrapper.eq("approval_status",ApprovalStatusEnum.PASSED); + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + if(!ALL_TYPE.equals(dataScope.getScopeEnums())){ + queryWrapper.in("create_dept_id",dataScope.getDeptIds()); + } + }else { + queryWrapper = new QueryWrapper<>(); + queryWrapper.in("id",queryForm.getIds()); + } + List list = this.list(queryWrapper); + list.forEach(this::warpper); + return list; + } + + @Override public QueryWrapper commonQuery(Q queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); return queryWrapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java index 5e9824d..1ca0447 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java @@ -10,7 +10,7 @@ import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.equipment.EquipmentApprovalForm; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -53,7 +53,7 @@ */ @Service @Slf4j -public class EquipmentInfoApprovalServiceImpl extends CommonApprovalServiceImpl implements IEquipmentInfoApprovalService { +public class EquipmentInfoApprovalServiceImpl extends CommonApprovalServiceImpl implements IEquipmentInfoApprovalService { @Autowired private IEquipmentInfoService equipmentInfoService; @@ -251,7 +251,7 @@ } @Override - public QueryWrapper commonQuery(EquipmentQueryFrom queryForm) { + public QueryWrapper commonQuery(EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "equipment_no", queryForm.getEquipmentNo()); 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 469317b..ae66c93 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 @@ -13,17 +13,21 @@ 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.EquipmentStatusTypeEnum; import com.casic.missiles.enums.equipment.EquipmentTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; import com.casic.missiles.model.equipment.EquipmentInfo; import com.casic.missiles.mapper.equipment.EquipmentInfoMapper; import com.casic.missiles.service.equipment.*; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.service.status.IEquipmentStatusLogService; 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; @@ -46,16 +50,17 @@ private final IEquipmentTechnicalTargetService technicalTargetService; private final IRemindConfigService remindConfigService; private final IEquipmentSpecialCertificateService specialCertificateService; + private final IEquipmentStatusLogService statusLogService; private ISubcontractCertificateService subcontractCertificateService; @Autowired - public void setSubcontractCertificateService(ISubcontractCertificateService subcontractCertificateService){ + public void setSubcontractCertificateService(ISubcontractCertificateService subcontractCertificateService) { this.subcontractCertificateService = subcontractCertificateService; } @Override - public Page listPage(Page page,EquipmentQueryFrom queryFrom) { - QueryWrapper queryWrapper = commonQuery(queryFrom); + public Page listPage(Page page, EquipmentQueryForm queryForm) { + QueryWrapper queryWrapper = commonQuery(queryForm); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.selectListPage(page, dataScope, queryWrapper); list.forEach(this::warpEquipmentInfo); @@ -74,8 +79,8 @@ } @Override - public List list(EquipmentQueryFrom queryFrom) { - QueryWrapper queryWrapper = commonQuery(queryFrom); + public List list(EquipmentQueryForm queryForm) { + QueryWrapper queryWrapper = commonQuery(queryForm); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.selectList(dataScope, queryWrapper); list.forEach(this::warpEquipmentInfo); @@ -83,17 +88,17 @@ } @Override - public List groupByName(EquipmentQueryFrom queryFrom) { + public List groupByName(EquipmentQueryForm queryForm) { DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - if(!ScopeEnums.ALL_TYPE.equals(dataScope.getScopeEnums())){ + if (!ScopeEnums.ALL_TYPE.equals(dataScope.getScopeEnums())) { List dataScopeDeptIds = dataScope.getDeptIds(); - if(ObjectUtil.isNull(queryFrom.getDeptIds())){ - queryFrom.setDeptIds(new ArrayList<>()); + if (ObjectUtil.isNull(queryForm.getDeptIds())) { + queryForm.setDeptIds(new ArrayList<>()); } - queryFrom.getDeptIds().addAll(dataScopeDeptIds); + queryForm.getDeptIds().addAll(dataScopeDeptIds); } - QueryWrapper queryWrapper = commonQuery(queryFrom); + QueryWrapper queryWrapper = commonQuery(queryForm); queryWrapper.groupBy("equipment_name"); queryWrapper.select("equipment_name as 'equipmentName',count(*) as 'count'"); @@ -102,17 +107,23 @@ } - public QueryWrapper commonQuery(EquipmentQueryFrom queryForm) { + public QueryWrapper commonQuery(EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); - queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "equipment_no", queryForm.getEquipmentNo()); - queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentName()), "equipment_name", queryForm.getEquipmentName()); - queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getEquipmentType()), "equipment_type", queryForm.getEquipmentType()); - queryWrapper.like(StrUtil.isNotEmpty(queryForm.getUsePosition()), "use_position", queryForm.getUsePosition()); - queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getUsageStatus()), "usage_status", queryForm.getUsageStatus()); - queryWrapper.ge(StrUtil.isNotEmpty(queryForm.getCertificateValidStart()), "certificate_valid", queryForm.getCertificateValidStart()); - queryWrapper.le(StrUtil.isNotEmpty(queryForm.getCertificateValidEnd()), "certificate_valid", queryForm.getCertificateValidEnd()); - queryWrapper.eq("is_del",0); + if(CollUtil.isNotEmpty(queryForm.getIds())){ + queryWrapper.in("ids",queryForm.getIds()); + }else { + queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "equipment_no", queryForm.getEquipmentNo()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentName()), "equipment_name", queryForm.getEquipmentName()); + queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getEquipmentType()), "equipment_type", queryForm.getEquipmentType()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getUsePosition()), "use_position", queryForm.getUsePosition()); + queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getUsageStatus()), "usage_status", queryForm.getUsageStatus()); + queryWrapper.ge(StrUtil.isNotEmpty(queryForm.getCertificateValidStart()), "certificate_valid", queryForm.getCertificateValidStart()); + queryWrapper.le(StrUtil.isNotEmpty(queryForm.getCertificateValidEnd()), "certificate_valid", queryForm.getCertificateValidEnd()); + queryWrapper.in(CollUtil.isNotEmpty(queryForm.getUsageStatusList()), "usage_status", queryForm.getUsageStatusList()); + + } + queryWrapper.eq("is_del", 0); return queryWrapper; } @@ -120,33 +131,33 @@ public EquipmentInfoForm detail(Long equipmentId) { EquipmentInfoForm infoForm = new EquipmentInfoForm(); EquipmentInfo equipmentInfo = this.getById(equipmentId); - if(ObjectUtil.isNotEmpty(equipmentInfo)){ + if (ObjectUtil.isNotEmpty(equipmentInfo)) { warpEquipmentInfo(equipmentInfo); equipmentInfo.setCompanyName(permissionContext.getDeptService().getDeptName(equipmentInfo.getCompanyId())); equipmentInfo.setDeptName(permissionContext.getDeptService().getDeptName(equipmentInfo.getDeptId())); equipmentInfo.setGroupInfos(groupInfoService.selectByEquipment(equipmentId)); - BeanUtil.copyProperties(equipmentInfo,infoForm); + BeanUtil.copyProperties(equipmentInfo, infoForm); infoForm.setAttachments(attachmentService.selectByEquipment(equipmentId)); infoForm.setTechnicalTargetList(technicalTargetService.selectByEquipment(equipmentId)); - infoForm.setCertificateList(allCertificate(equipmentId,equipmentInfo.getEquipmentType())); + infoForm.setCertificateList(allCertificate(equipmentId, equipmentInfo.getEquipmentType())); } return infoForm; } @Override - public List allCertificate(Long equipmentId,String equipmentType){ + public 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)); + subcontractList.forEach(i -> i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SUBCONTRACT)); listAll.addAll(subcontractList); - if(EquipmentTypeEnum.EQUIPMENT_TYPE_SPECIAL.equals(equipmentType)){ + if (EquipmentTypeEnum.EQUIPMENT_TYPE_SPECIAL.equals(equipmentType)) { List specicalList = specialCertificateService.listByEquipment(equipmentId); - specicalList.forEach(i->i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SPECIAL)); + specicalList.forEach(i -> i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SPECIAL)); listAll.addAll(specicalList); } listAll.sort(new Comparator() { @@ -159,55 +170,53 @@ } @Override - public boolean updateEquipmentStatus(Long equipmentId,String usageStatus){ + public void updateEquipmentStatus(Long equipmentId, String usageStatus) { UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id",equipmentId); - updateWrapper.set("usage_status",usageStatus); - return this.update(updateWrapper); + updateWrapper.eq("id", equipmentId); + updateWrapper.set("usage_status", usageStatus); + this.update(updateWrapper); } @Override - public boolean updateCertificateValid(Long equipmentId, Date certificateValid) { - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id",equipmentId); - updateWrapper.set("certificate_valid",certificateValid); - return this.update(updateWrapper); - } - - @Override - public boolean updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify) { + @Transactional + public void updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify) { 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); + if (ObjectUtil.isNotEmpty(equipmentInfo)) { + if (ObjectUtil.isEmpty(equipmentInfo.getCertificateValid()) || equipmentInfo.getCertificateValid().before(certificateValid)) { + equipmentInfo.setCheckOrganization(checkOrganization); + equipmentInfo.setCheckDate(checkDate); + equipmentInfo.setCertificateValid(certificateValid); + if (StrUtil.isNotEmpty(meterIdentify)) { + equipmentInfo.setMeterIdentify(meterIdentify); } - return this.update(updateWrapper); + this.updateById(equipmentInfo); + //当设备证书有效期更新且未到期时,设备状态自动变更为启封 + if (!EquipmentStatusTypeEnum.UNSEAL.equals(equipmentInfo.getUsageStatus()) + && !EquipmentStatusTypeEnum.SCRAP.equals(equipmentInfo.getUsageStatus()) + && certificateValid.after(new Date())) { + this.updateEquipmentStatus(equipmentId, EquipmentStatusTypeEnum.UNSEAL); + statusLogService.saveLog(equipmentId, StatusApprovalTypeEnum.UNSEAL,"设备证书更新"); + } + } } - return false; } - public void removeCertificateInfo(Long equipmentId,Long certificateId){ + 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()); + 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()){ + 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()); + 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); } @@ -215,11 +224,11 @@ } @Override - public Page remindListPage(Page page,EquipmentQueryFrom queryFrom) { + public Page remindListPage(Page page, EquipmentQueryForm queryForm) { Integer remindTime = remindConfigService.getRemindTimeByDeptId(permissionContext.getAuthService().getLoginUser().getDeptId()); Calendar calendar = Calendar.getInstance(); - calendar.add(Calendar.DATE,remindTime); - QueryWrapper queryWrapper = commonQuery(queryFrom); + calendar.add(Calendar.DATE, remindTime); + QueryWrapper queryWrapper = commonQuery(queryForm); queryWrapper.le("certificate_valid", calendar.getTime()); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.selectListPage(page, dataScope, queryWrapper); @@ -229,7 +238,20 @@ } @Override - public Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryForm) { + public List remindList(EquipmentQueryForm queryForm) { + Integer remindTime = remindConfigService.getRemindTimeByDeptId(permissionContext.getAuthService().getLoginUser().getDeptId()); + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.DATE, remindTime); + QueryWrapper queryWrapper = commonQuery(queryForm); + queryWrapper.le("certificate_valid", calendar.getTime()); + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + List list = this.baseMapper.selectList(dataScope, queryWrapper); + list.forEach(this::warpEquipmentInfo); + return list; + } + + @Override + public Page certificateListPage(Page page, EquipmentCertificateQueryForm queryForm) { DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); QueryWrapper queryWrapper = new QueryWrapper<>(); @@ -240,7 +262,7 @@ 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("e.is_del", 0); queryWrapper.eq("c.approval_status", ApprovalStatusEnum.PASSED); List list = this.baseMapper.bizCertificateListPage(page, dataScope, queryWrapper); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java index 138cbf4..5bf434a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.impl.file; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; @@ -57,6 +58,8 @@ @Override public Page listPage(Page page, String fileNo, String fileName) { QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(StrUtil.isNotEmpty(fileNo),"file_no",fileNo); + queryWrapper.like(StrUtil.isNotEmpty(fileName),"file_name",fileName); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.listScopePage(page,dataScope,queryWrapper); list.forEach(i-> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/PlanNotifyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/PlanNotifyServiceImpl.java index 0cf2db9..1c102c2 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/PlanNotifyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/PlanNotifyServiceImpl.java @@ -20,6 +20,7 @@ import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -44,11 +45,18 @@ @Transactional public class PlanNotifyServiceImpl extends ServiceImpl implements IPlanNotifyService { - private final IPlanService planService; + private final IPlanEquipmentRelationService planRelationService; private final IPlanNotifyRelationService notifyRelationService; private final AbstractUserService userService; + private IPlanService planService; + + @Autowired + public void setPlanService(IPlanService planService){ + this.planService = planService; + } + /** * 发送送检通知 * diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java index 6f4d423..6878d5e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java @@ -4,24 +4,14 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; 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.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.datascope.DataScope; -import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.equipment.EquipmentApprovalForm; -import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; -import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; -import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.status.EquipmentStatusQueryForm; import com.casic.missiles.enums.ApprovalStatusEnum; import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.model.equipment.EquipmentInfo; -import com.casic.missiles.model.equipment.EquipmentInfoApproval; -import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.model.status.EquipmentStatusApproval; import com.casic.missiles.mapper.status.EquipmentStatusApprovalMapper; import com.casic.missiles.service.IBaseApprovalService; @@ -29,14 +19,12 @@ import com.casic.missiles.service.equipment.IEquipmentInfoService; import com.casic.missiles.service.impl.CommonApprovalServiceImpl; import com.casic.missiles.service.status.IEquipmentStatusApprovalService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.RequiredArgsConstructor; -import org.flowable.engine.runtime.ProcessInstance; import org.springframework.stereotype.Service; -import java.io.Serializable; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; @@ -131,8 +119,6 @@ break; case DELAY: equipmentInfoService.updateEquipmentStatus(approval.getEquipmentId(), EquipmentStatusTypeEnum.DELAY); - //todo 延长有效期 ?? - equipmentInfoService.updateCertificateValid(approval.getEquipmentId(),approval.getDelayTime()); break; default: break; @@ -155,6 +141,7 @@ queryWrapper.eq("approval.approval_status", queryForm.getApprovalStatus()); } List list = this.baseMapper.listPage(page, queryWrapper); + list.forEach(this::warpApprovalInfo); page.setRecords(list); return page; } @@ -177,6 +164,7 @@ approval.setTaskId(toBeApprovedDTO.getTaskId()); approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); } + warpApprovalInfo(approval); } page.setRecords(list); return page; @@ -191,6 +179,7 @@ QueryWrapper queryWrapper = commonQuery(queryForm); queryWrapper.in("approval.id", approvedIds); List list = this.baseMapper.listPage(page, queryWrapper); + list.forEach(this::warpApprovalInfo); page.setRecords(list); return page; } @@ -201,10 +190,20 @@ queryWrapper.eq("approval.approval_status",ApprovalStatusEnum.PASSED); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.listScopePage(dataScope, page, queryWrapper); + list.forEach(this::warpApprovalInfo); page.setRecords(list); return page; } + private void warpApprovalInfo(EquipmentStatusApproval i) { + try { + i.setCompanyName(permissionContext.getDeptService().getDeptName(i.getCompanyId())); + DictCodeUtils.convertDictCodeToName(i); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + @Override public QueryWrapper commonQuery(EquipmentStatusQueryForm queryForm) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusLogServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusLogServiceImpl.java index 0a84def..de1f710 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusLogServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusLogServiceImpl.java @@ -26,21 +26,30 @@ @Override public void saveLog(EquipmentStatusApproval statusApproval) { + this.saveLog(statusApproval.getEquipmentId(),statusApproval.getApprovalType(),statusApproval.getApprovalReason(),statusApproval.getCreateUserId(),statusApproval.getCreateUserName()); + } + + public void saveLog(Long equipmentId,String statusType,String reason){ + this.saveLog(equipmentId,statusType,reason,null,null); + } + + public void saveLog(Long equipmentId,String statusType,String reason, Long createUserId, String createUserName){ QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("equipment_id",statusApproval.getEquipmentId()); + queryWrapper.eq("equipment_id",equipmentId); queryWrapper.orderByDesc("start_time"); queryWrapper.last("limit 1"); EquipmentStatusLog lastLog = this.getOne(queryWrapper); if(ObjectUtil.isNotEmpty(lastLog)){ lastLog.setEndTime(new Date()); + this.updateById(lastLog); } EquipmentStatusLog newLog = new EquipmentStatusLog(); - newLog.setEquipmentId(statusApproval.getEquipmentId()); - newLog.setStatusType(statusApproval.getApprovalType()); + newLog.setEquipmentId(equipmentId); + newLog.setStatusType(statusType); newLog.setStartTime(new Date()); - newLog.setReason(statusApproval.getApprovalReason()); - newLog.setCreateUserId(statusApproval.getCreateUserId()); - newLog.setCreateUserName(statusApproval.getCreateUserName()); + newLog.setReason(reason); + newLog.setCreateUserId(createUserId); + newLog.setCreateUserName(createUserName); this.save(newLog); } 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 fcd7955..d86249b 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,5 +1,6 @@ package com.casic.missiles.service.impl.subcontract; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -71,6 +72,20 @@ } @Override + public List listScope(String certificateNo, String certificateName, String equipmentNo, String equipmentName, String subcontractorName, String createTimeStart, String createTimeEnd, List ids) { + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + dataScope.setScopeName("createDeptId"); + QueryWrapper queryWrapper; + if(CollUtil.isNotEmpty(ids)){ + queryWrapper = new QueryWrapper<>(); + queryWrapper.in("c.id",ids); + }else { + queryWrapper = commonQuery(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); + } + return this.baseMapper.listScope(dataScope,queryWrapper); + } + + @Override public List listBySubcontractor(Long subcontractorId) { return this.baseMapper.listBySubcontractor(subcontractorId); } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java new file mode 100644 index 0000000..6284acf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EquipmentCertificateQueryForm 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/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java deleted file mode 100644 index 35d2d47..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java +++ /dev/null @@ -1,34 +0,0 @@ -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/dto/equipment/EquipmentQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java new file mode 100644 index 0000000..040a368 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java @@ -0,0 +1,41 @@ +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 EquipmentQueryForm extends BaseQueryForm { + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("设备类型(1受检设备;2特种设备)") + private String equipmentType; + + @ApiModelProperty("使用部门") + private List deptIds; + + @ApiModelProperty("使用岗位") + private String usePosition; + + @ApiModelProperty("使用状态") + private String usageStatus; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; + + @ApiModelProperty("使用状态列表") + private List usageStatusList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java deleted file mode 100644 index f5f4a61..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java +++ /dev/null @@ -1,38 +0,0 @@ -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 EquipmentQueryFrom extends BaseQueryForm { - - @ApiModelProperty("统一编号") - private String equipmentNo; - - @ApiModelProperty("设备名称") - private String equipmentName; - - @ApiModelProperty("设备类型(1受检设备;2特种设备)") - private String equipmentType; - - @ApiModelProperty("使用部门") - private List deptIds; - - @ApiModelProperty("使用岗位") - private String usePosition; - - @ApiModelProperty("使用状态") - private String usageStatus; - - @ApiModelProperty("证书有效期开始时间") - private String certificateValidStart; - - @ApiModelProperty("证书有效期结束时间") - private String certificateValidEnd; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java index 391bfe0..2d3bd33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java @@ -7,6 +7,8 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,6 +31,7 @@ @ExcelIgnore @ApiModelProperty("使用情况") + @DictCodeField(cacheName = MeterDictCode.RFID_USAGE_STATUS) private String usageStatus; @ExcelProperty("使用情况") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java index f0515a5..d4b7ab5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java @@ -1,5 +1,11 @@ package com.casic.missiles.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModelProperty; @@ -9,6 +15,11 @@ @Getter @Setter +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class CommonApproval { @ApiModelProperty("主键") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java index 724e9d8..e08ea2a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java @@ -1,5 +1,13 @@ package com.casic.missiles.model.equipment; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; @@ -12,6 +20,7 @@ import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -27,6 +36,11 @@ @Getter @Setter @TableName("eqpt_equipment_info") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class EquipmentInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -40,6 +54,7 @@ */ @ApiModelProperty("设备编号") @TableField("equipment_no") + @ExcelProperty(value = "统一编号",index = 0) private String equipmentNo; /** @@ -47,6 +62,7 @@ */ @ApiModelProperty("设备名称") @TableField("equipment_name") + @ExcelProperty(value = "设备名称",index = 1) private String equipmentName; /** @@ -66,6 +82,7 @@ @ApiModelProperty("使用状态名称") @TableField(exist = false) + @ExcelProperty(value = "使用状态",index = 8) private String usageStatusName; /** @@ -94,6 +111,7 @@ */ @ApiModelProperty("出厂编号") @TableField("manufacture_no") + @ExcelProperty(value = "出厂编号",index = 3) private String manufactureNo; /** @@ -122,6 +140,7 @@ */ @ApiModelProperty("型号规格") @TableField("model") + @ExcelProperty(value = "型号规格",index = 2) private String model; /** @@ -165,6 +184,8 @@ */ @ApiModelProperty("检定周期(月)") @TableField("check_cycle") + @ExcelProperty(value = "检定周期(月)",index = 6) + @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN, horizontalAlignment = HorizontalAlignmentEnum.LEFT) private Integer checkCycle; /** @@ -172,6 +193,7 @@ */ @ApiModelProperty("备注") @TableField("remark") + @ExcelProperty(value = "备注",index = 9) private String remark; /** @@ -200,6 +222,7 @@ */ @ApiModelProperty("证书有效期") @TableField("certificate_valid") + @ExcelProperty(value = "证书有效期",index = 7, converter = DateExcelConverter.class) private Date certificateValid; /** @@ -207,13 +230,20 @@ */ @ApiModelProperty("计量标识") @TableField("meter_identify") + @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) private String meterIdentify; + @ApiModelProperty("计量标识名称") + @TableField(exist = false) + @ExcelProperty(value = "计量标识",index = 5) + private String meterIdentifyName; + /** * 使用岗位 */ @ApiModelProperty("使用岗位") @TableField("use_position") + @ExcelProperty(value = "使用岗位",index = 4) private String usePosition; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java index 4e884eb..63bef34 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java @@ -8,10 +8,14 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_IMPLEMENT_STATUS; +import static com.casic.missiles.constants.MeterDictCode.FILE_TYPE; + /** *

* 受检设备-文档管理 @@ -81,15 +85,25 @@ */ @ApiModelProperty("文件类别") @TableField("file_type") + @DictCodeField(cacheName = FILE_TYPE) private String fileType; + @ApiModelProperty("文件类型名称") + @TableField(exist = false) + private String fileTypeName; + /** * 实施状态 */ @ApiModelProperty("实施状态") @TableField("implementation_status") + @DictCodeField(cacheName = FILE_IMPLEMENT_STATUS) private String implementationStatus; + @ApiModelProperty("实施状态名称") + @TableField(exist = false) + private String implementationStatusName; + /** * 文件附件 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java index 5862e11..fdd06e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java @@ -8,10 +8,13 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_LOG_TYPE; + /** *

* 受检设备-文档管理-变更记录表 @@ -46,8 +49,13 @@ */ @ApiModelProperty("变更类型") @TableField("log_type") + @DictCodeField(cacheName = FILE_LOG_TYPE) private String logType; + @ApiModelProperty("变更类型名称") + @TableField(exist = false) + private String logTypeName; + /** * 变更人id */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java index 662e2f6..a01b8d9 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java @@ -1,13 +1,19 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; + import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; +import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,18 +35,20 @@ /** * 主键 */ - @TableId("id") + @TableId("id") private Long id; /** * 申请编号 */ @TableField("approval_no") + @ExcelProperty("申请编号") private String approvalNo; /** * 申请名称 */ + @ExcelProperty("申请名称") @TableField("approval_name") private String approvalName; @@ -55,31 +63,6 @@ */ @TableField("reason") private String reason; - - /** - * 创建人id - */ - @TableField("create_user_id") - private Long createUserId; - - /** - * 创建人姓名 - */ - @TableField("create_user_name") - private String createUserName; - - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - - /** - * 更新时间 - */ - @TableField("update_time") - private Date updateTime; - /** * 创建人部门id */ @@ -89,8 +72,36 @@ /** * 创建人部门名称 */ + @ExcelProperty("创建单位") @TableField("create_dept_name") private String createDeptName; + /** + * 创建人id + */ + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ExcelProperty("创建人") + @TableField("create_user_name") + private String createUserName; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + /** * 流程实例id @@ -102,7 +113,12 @@ * 申请状态 */ @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java index 7d6be90..97b522a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java @@ -1,14 +1,22 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; import java.util.Date; import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.annotation.EqptExportModel; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -41,6 +49,7 @@ */ @ApiModelProperty("计划编号") @TableField("plan_no") + @ExcelProperty("计划编号") private String planNo; /** @@ -48,6 +57,7 @@ */ @ApiModelProperty("计划名称") @TableField("plan_name") + @ExcelProperty("计划名称") private String planName; /** @@ -60,6 +70,7 @@ @ApiModelProperty("计划分类名称") @TableField(exist = false) + @ExcelProperty("计划分类") private String planCategoryName; /** @@ -97,19 +108,7 @@ @TableField("remark") private String remark; - /** - * 创建人id - */ - @ApiModelProperty("创建人id") - @TableField("create_user_id") - private Long createUserId; - /** - * 创建人姓名 - */ - @ApiModelProperty("创建人姓名") - @TableField("create_user_name") - private String createUserName; /** * 创建单位id @@ -123,13 +122,29 @@ */ @ApiModelProperty("创建单位名称") @TableField("create_dept_name") + @ExcelProperty("创建单位") private String createDeptName; + /** + * 创建人id + */ + @ApiModelProperty("创建人id") + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ApiModelProperty("创建人姓名") + @TableField("create_user_name") + @ExcelProperty("创建人") + private String createUserName; /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java index 79461e6..ce39fb7 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java @@ -8,6 +8,8 @@ import java.util.Date; import java.util.List; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import com.casic.missiles.model.CommonApproval; import com.casic.missiles.model.equipment.EquipmentAttachment; import com.casic.missiles.model.equipment.EquipmentInfo; @@ -64,9 +66,10 @@ */ @ApiModelProperty("申请状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; - @ApiModelProperty("申请状态名称") + @ApiModelProperty("审批状态名称") @TableField(exist = false) private String approvalStatusName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java index 130f5cf..7e4a4de 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java @@ -40,11 +40,11 @@ @TableField("status_type") @ApiModelProperty("状态变更类型") + @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusType; @TableField(exist = false) @ApiModelProperty("状态变更类型名称") - @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusTypeName; @TableField("start_time") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java index db5162e..ddbf003 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +15,7 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -23,6 +31,11 @@ @Getter @Setter @TableName("eqpt_subcontract_certificate") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class SubcontractCertificate implements Serializable { private static final long serialVersionUID = 1L; @@ -39,6 +52,7 @@ */ @ApiModelProperty("证书编号") @TableField("certificate_no") + @ExcelProperty(value = "证书号",index = 0) private String certificateNo; /** @@ -46,6 +60,7 @@ */ @ApiModelProperty("证书名称") @TableField("certificate_name") + @ExcelProperty(value = "证书名称",index = 1) private String certificateName; /** @@ -67,6 +82,7 @@ */ @ApiModelProperty("检测单位名称") @TableField(exist = false) + @ExcelProperty(value = "检测单位",index = 6) private String subcontractorName; /** @@ -81,6 +97,7 @@ */ @ApiModelProperty("受检设备编号") @TableField(exist = false) + @ExcelProperty(value = "样品编号",index = 2) private String equipmentNo; /** @@ -88,6 +105,7 @@ */ @ApiModelProperty("受检设备名称") @TableField(exist = false) + @ExcelProperty(value = "样品名称",index = 3) private String equipmentName; /** @@ -95,6 +113,7 @@ */ @ApiModelProperty("出厂编号") @TableField(exist = false) + @ExcelProperty(value = "出厂编号",index = 5) private String equipmentManufactureNo; /** @@ -102,6 +121,7 @@ */ @ApiModelProperty("型号") @TableField(exist = false) + @ExcelProperty(value = "型号",index = 4) private String equipmentModel; /** @@ -144,6 +164,7 @@ */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",index = 7, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java index 5339e10..7ae7965 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -7,6 +8,9 @@ import java.io.Serializable; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -39,6 +43,7 @@ */ @ApiModelProperty("评审表编号") @TableField("review_no") + @ExcelProperty(value = "评审表编号",index = 0) private String reviewNo; /** @@ -46,6 +51,7 @@ */ @ApiModelProperty("评审表名称") @TableField("review_name") + @ExcelProperty(value = "评审表名称",index = 1) private String reviewName; /** @@ -60,6 +66,7 @@ */ @ApiModelProperty("申请人姓名") @TableField("create_user_name") + @ExcelProperty(value = "申请人",index = 4) private String createUserName; /** @@ -81,6 +88,7 @@ */ @ApiModelProperty("创建时间(即申请时间)") @TableField("create_time") + @ExcelProperty(value = "申请时间",index = 5, converter = DateExcelConverter.class) private Date createTime; /** @@ -109,6 +117,7 @@ */ @ApiModelProperty("分包机构名称(冗余字段)") @TableField("subcontractor_company_name") + @ExcelProperty(value = "分包机构名称",index = 2) private String subcontractorCompanyName; /** @@ -116,6 +125,7 @@ */ @ApiModelProperty("机构负责人(冗余字段)") @TableField("subcontractor_director_name") + @ExcelProperty(value = "机构负责人",index = 3) private String subcontractorDirectorName; /** @@ -214,6 +224,11 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java index 0de83b0..c4dcc17 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +9,9 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -40,6 +44,7 @@ */ @ApiModelProperty("分包方编号") @TableField("subcontractor_no") + @ExcelProperty(value = "分包方编号", index = 0) private String subcontractorNo; /** @@ -47,6 +52,7 @@ */ @ApiModelProperty("单位名称") @TableField("company_name") + @ExcelProperty(value = "单位名称", index = 1) private String companyName; /** @@ -131,6 +137,7 @@ */ @ApiModelProperty("机构负责人") @TableField("director_name") + @ExcelProperty(value = "机构负责人", index = 2) private String directorName; /** @@ -138,6 +145,7 @@ */ @ApiModelProperty("联系电话") @TableField("contact_number") + @ExcelProperty(value = "联系电话", index = 3) private String contactNumber; /** @@ -173,6 +181,7 @@ */ @ApiModelProperty("地址") @TableField("address") + @ExcelProperty(value = "地址", index = 5) private String address; /** @@ -187,6 +196,7 @@ */ @ApiModelProperty("测试能力") @TableField("test_ability") + @ExcelProperty(value = "测试能力", index = 4) private String testAbility; /** @@ -215,13 +225,19 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间", index = 6, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java index d7d16b9..91f15d5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java @@ -49,6 +49,13 @@ private String staffName; /** + * 联系方式 + */ + @ApiModelProperty("联系方式") + @TableField("staff_phone") + private String staffPhone; + + /** * 工作部门 */ @ApiModelProperty("工作部门") diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java index a967db1..7eab839 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java @@ -10,6 +10,8 @@ import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.model.CommonApproval; +import java.util.List; + public interface ICommonApprovalService extends IService { @@ -34,6 +36,8 @@ Page allPage(Page page, Q queryForm); + List allExport(Q queryForm); + QueryWrapper commonQuery(Q queryForm); T warpper(T obj); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java index 7ed83c0..0031746 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java @@ -1,15 +1,9 @@ package com.casic.missiles.service.equipment; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; -import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; -import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; -import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.equipment.EquipmentApprovalForm; -import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.model.equipment.EquipmentInfoApproval; -import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.service.ICommonApprovalService; import java.util.List; @@ -22,7 +16,7 @@ * @author zhangyingjie * @since 2023-07-21 */ -public interface IEquipmentInfoApprovalService extends ICommonApprovalService { +public interface IEquipmentInfoApprovalService extends ICommonApprovalService { Long saveOrUpdateApproval(EquipmentApprovalForm approvalForm); 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 c2f939d..eee21dc 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 @@ -18,25 +18,25 @@ */ public interface IEquipmentInfoService extends IService { - Page listPage(Page page, EquipmentQueryFrom queryFrom); + Page listPage(Page page, EquipmentQueryForm queryForm); - List list(EquipmentQueryFrom queryFrom); + List list(EquipmentQueryForm queryForm); - List groupByName(EquipmentQueryFrom queryFrom); + List groupByName(EquipmentQueryForm queryForm); EquipmentInfoForm detail(Long equipmentId); List allCertificate(Long equipmentId,String equipmentType); - boolean updateEquipmentStatus(Long equipmentId,String usageStatus); + void updateEquipmentStatus(Long equipmentId, String usageStatus); - boolean updateCertificateValid(Long equipmentId, Date certificateValid); - - boolean updateCertificateInfo(Long equipmentId,String checkOrganization,Date checkDate, Date certificateValid,String meterIdentify); + void updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify); void removeCertificateInfo(Long equipmentId,Long certificateId); - Page remindListPage(Page page,EquipmentQueryFrom queryFrom); + Page remindListPage(Page page, EquipmentQueryForm queryForm); - Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryFrom); + List remindList(EquipmentQueryForm queryForm); + + Page certificateListPage(Page page, EquipmentCertificateQueryForm queryForm); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java index 06b6853..5fe001d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java @@ -212,6 +212,25 @@ } @Override + public List allExport(Q queryForm) { + QueryWrapper queryWrapper; + if(CollUtil.isEmpty(queryForm.getIds())){ + queryWrapper = commonQuery(queryForm); + queryWrapper.eq("approval_status",ApprovalStatusEnum.PASSED); + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + if(!ALL_TYPE.equals(dataScope.getScopeEnums())){ + queryWrapper.in("create_dept_id",dataScope.getDeptIds()); + } + }else { + queryWrapper = new QueryWrapper<>(); + queryWrapper.in("id",queryForm.getIds()); + } + List list = this.list(queryWrapper); + list.forEach(this::warpper); + return list; + } + + @Override public QueryWrapper commonQuery(Q queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); return queryWrapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java index 5e9824d..1ca0447 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java @@ -10,7 +10,7 @@ import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.equipment.EquipmentApprovalForm; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -53,7 +53,7 @@ */ @Service @Slf4j -public class EquipmentInfoApprovalServiceImpl extends CommonApprovalServiceImpl implements IEquipmentInfoApprovalService { +public class EquipmentInfoApprovalServiceImpl extends CommonApprovalServiceImpl implements IEquipmentInfoApprovalService { @Autowired private IEquipmentInfoService equipmentInfoService; @@ -251,7 +251,7 @@ } @Override - public QueryWrapper commonQuery(EquipmentQueryFrom queryForm) { + public QueryWrapper commonQuery(EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "equipment_no", queryForm.getEquipmentNo()); 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 469317b..ae66c93 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 @@ -13,17 +13,21 @@ 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.EquipmentStatusTypeEnum; import com.casic.missiles.enums.equipment.EquipmentTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; import com.casic.missiles.model.equipment.EquipmentInfo; import com.casic.missiles.mapper.equipment.EquipmentInfoMapper; import com.casic.missiles.service.equipment.*; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.service.status.IEquipmentStatusLogService; 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; @@ -46,16 +50,17 @@ private final IEquipmentTechnicalTargetService technicalTargetService; private final IRemindConfigService remindConfigService; private final IEquipmentSpecialCertificateService specialCertificateService; + private final IEquipmentStatusLogService statusLogService; private ISubcontractCertificateService subcontractCertificateService; @Autowired - public void setSubcontractCertificateService(ISubcontractCertificateService subcontractCertificateService){ + public void setSubcontractCertificateService(ISubcontractCertificateService subcontractCertificateService) { this.subcontractCertificateService = subcontractCertificateService; } @Override - public Page listPage(Page page,EquipmentQueryFrom queryFrom) { - QueryWrapper queryWrapper = commonQuery(queryFrom); + public Page listPage(Page page, EquipmentQueryForm queryForm) { + QueryWrapper queryWrapper = commonQuery(queryForm); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.selectListPage(page, dataScope, queryWrapper); list.forEach(this::warpEquipmentInfo); @@ -74,8 +79,8 @@ } @Override - public List list(EquipmentQueryFrom queryFrom) { - QueryWrapper queryWrapper = commonQuery(queryFrom); + public List list(EquipmentQueryForm queryForm) { + QueryWrapper queryWrapper = commonQuery(queryForm); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.selectList(dataScope, queryWrapper); list.forEach(this::warpEquipmentInfo); @@ -83,17 +88,17 @@ } @Override - public List groupByName(EquipmentQueryFrom queryFrom) { + public List groupByName(EquipmentQueryForm queryForm) { DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - if(!ScopeEnums.ALL_TYPE.equals(dataScope.getScopeEnums())){ + if (!ScopeEnums.ALL_TYPE.equals(dataScope.getScopeEnums())) { List dataScopeDeptIds = dataScope.getDeptIds(); - if(ObjectUtil.isNull(queryFrom.getDeptIds())){ - queryFrom.setDeptIds(new ArrayList<>()); + if (ObjectUtil.isNull(queryForm.getDeptIds())) { + queryForm.setDeptIds(new ArrayList<>()); } - queryFrom.getDeptIds().addAll(dataScopeDeptIds); + queryForm.getDeptIds().addAll(dataScopeDeptIds); } - QueryWrapper queryWrapper = commonQuery(queryFrom); + QueryWrapper queryWrapper = commonQuery(queryForm); queryWrapper.groupBy("equipment_name"); queryWrapper.select("equipment_name as 'equipmentName',count(*) as 'count'"); @@ -102,17 +107,23 @@ } - public QueryWrapper commonQuery(EquipmentQueryFrom queryForm) { + public QueryWrapper commonQuery(EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); - queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "equipment_no", queryForm.getEquipmentNo()); - queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentName()), "equipment_name", queryForm.getEquipmentName()); - queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getEquipmentType()), "equipment_type", queryForm.getEquipmentType()); - queryWrapper.like(StrUtil.isNotEmpty(queryForm.getUsePosition()), "use_position", queryForm.getUsePosition()); - queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getUsageStatus()), "usage_status", queryForm.getUsageStatus()); - queryWrapper.ge(StrUtil.isNotEmpty(queryForm.getCertificateValidStart()), "certificate_valid", queryForm.getCertificateValidStart()); - queryWrapper.le(StrUtil.isNotEmpty(queryForm.getCertificateValidEnd()), "certificate_valid", queryForm.getCertificateValidEnd()); - queryWrapper.eq("is_del",0); + if(CollUtil.isNotEmpty(queryForm.getIds())){ + queryWrapper.in("ids",queryForm.getIds()); + }else { + queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "equipment_no", queryForm.getEquipmentNo()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentName()), "equipment_name", queryForm.getEquipmentName()); + queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getEquipmentType()), "equipment_type", queryForm.getEquipmentType()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getUsePosition()), "use_position", queryForm.getUsePosition()); + queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getUsageStatus()), "usage_status", queryForm.getUsageStatus()); + queryWrapper.ge(StrUtil.isNotEmpty(queryForm.getCertificateValidStart()), "certificate_valid", queryForm.getCertificateValidStart()); + queryWrapper.le(StrUtil.isNotEmpty(queryForm.getCertificateValidEnd()), "certificate_valid", queryForm.getCertificateValidEnd()); + queryWrapper.in(CollUtil.isNotEmpty(queryForm.getUsageStatusList()), "usage_status", queryForm.getUsageStatusList()); + + } + queryWrapper.eq("is_del", 0); return queryWrapper; } @@ -120,33 +131,33 @@ public EquipmentInfoForm detail(Long equipmentId) { EquipmentInfoForm infoForm = new EquipmentInfoForm(); EquipmentInfo equipmentInfo = this.getById(equipmentId); - if(ObjectUtil.isNotEmpty(equipmentInfo)){ + if (ObjectUtil.isNotEmpty(equipmentInfo)) { warpEquipmentInfo(equipmentInfo); equipmentInfo.setCompanyName(permissionContext.getDeptService().getDeptName(equipmentInfo.getCompanyId())); equipmentInfo.setDeptName(permissionContext.getDeptService().getDeptName(equipmentInfo.getDeptId())); equipmentInfo.setGroupInfos(groupInfoService.selectByEquipment(equipmentId)); - BeanUtil.copyProperties(equipmentInfo,infoForm); + BeanUtil.copyProperties(equipmentInfo, infoForm); infoForm.setAttachments(attachmentService.selectByEquipment(equipmentId)); infoForm.setTechnicalTargetList(technicalTargetService.selectByEquipment(equipmentId)); - infoForm.setCertificateList(allCertificate(equipmentId,equipmentInfo.getEquipmentType())); + infoForm.setCertificateList(allCertificate(equipmentId, equipmentInfo.getEquipmentType())); } return infoForm; } @Override - public List allCertificate(Long equipmentId,String equipmentType){ + public 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)); + subcontractList.forEach(i -> i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SUBCONTRACT)); listAll.addAll(subcontractList); - if(EquipmentTypeEnum.EQUIPMENT_TYPE_SPECIAL.equals(equipmentType)){ + if (EquipmentTypeEnum.EQUIPMENT_TYPE_SPECIAL.equals(equipmentType)) { List specicalList = specialCertificateService.listByEquipment(equipmentId); - specicalList.forEach(i->i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SPECIAL)); + specicalList.forEach(i -> i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SPECIAL)); listAll.addAll(specicalList); } listAll.sort(new Comparator() { @@ -159,55 +170,53 @@ } @Override - public boolean updateEquipmentStatus(Long equipmentId,String usageStatus){ + public void updateEquipmentStatus(Long equipmentId, String usageStatus) { UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id",equipmentId); - updateWrapper.set("usage_status",usageStatus); - return this.update(updateWrapper); + updateWrapper.eq("id", equipmentId); + updateWrapper.set("usage_status", usageStatus); + this.update(updateWrapper); } @Override - public boolean updateCertificateValid(Long equipmentId, Date certificateValid) { - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id",equipmentId); - updateWrapper.set("certificate_valid",certificateValid); - return this.update(updateWrapper); - } - - @Override - public boolean updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify) { + @Transactional + public void updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify) { 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); + if (ObjectUtil.isNotEmpty(equipmentInfo)) { + if (ObjectUtil.isEmpty(equipmentInfo.getCertificateValid()) || equipmentInfo.getCertificateValid().before(certificateValid)) { + equipmentInfo.setCheckOrganization(checkOrganization); + equipmentInfo.setCheckDate(checkDate); + equipmentInfo.setCertificateValid(certificateValid); + if (StrUtil.isNotEmpty(meterIdentify)) { + equipmentInfo.setMeterIdentify(meterIdentify); } - return this.update(updateWrapper); + this.updateById(equipmentInfo); + //当设备证书有效期更新且未到期时,设备状态自动变更为启封 + if (!EquipmentStatusTypeEnum.UNSEAL.equals(equipmentInfo.getUsageStatus()) + && !EquipmentStatusTypeEnum.SCRAP.equals(equipmentInfo.getUsageStatus()) + && certificateValid.after(new Date())) { + this.updateEquipmentStatus(equipmentId, EquipmentStatusTypeEnum.UNSEAL); + statusLogService.saveLog(equipmentId, StatusApprovalTypeEnum.UNSEAL,"设备证书更新"); + } + } } - return false; } - public void removeCertificateInfo(Long equipmentId,Long certificateId){ + 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()); + 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()){ + 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()); + 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); } @@ -215,11 +224,11 @@ } @Override - public Page remindListPage(Page page,EquipmentQueryFrom queryFrom) { + public Page remindListPage(Page page, EquipmentQueryForm queryForm) { Integer remindTime = remindConfigService.getRemindTimeByDeptId(permissionContext.getAuthService().getLoginUser().getDeptId()); Calendar calendar = Calendar.getInstance(); - calendar.add(Calendar.DATE,remindTime); - QueryWrapper queryWrapper = commonQuery(queryFrom); + calendar.add(Calendar.DATE, remindTime); + QueryWrapper queryWrapper = commonQuery(queryForm); queryWrapper.le("certificate_valid", calendar.getTime()); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.selectListPage(page, dataScope, queryWrapper); @@ -229,7 +238,20 @@ } @Override - public Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryForm) { + public List remindList(EquipmentQueryForm queryForm) { + Integer remindTime = remindConfigService.getRemindTimeByDeptId(permissionContext.getAuthService().getLoginUser().getDeptId()); + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.DATE, remindTime); + QueryWrapper queryWrapper = commonQuery(queryForm); + queryWrapper.le("certificate_valid", calendar.getTime()); + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + List list = this.baseMapper.selectList(dataScope, queryWrapper); + list.forEach(this::warpEquipmentInfo); + return list; + } + + @Override + public Page certificateListPage(Page page, EquipmentCertificateQueryForm queryForm) { DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); QueryWrapper queryWrapper = new QueryWrapper<>(); @@ -240,7 +262,7 @@ 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("e.is_del", 0); queryWrapper.eq("c.approval_status", ApprovalStatusEnum.PASSED); List list = this.baseMapper.bizCertificateListPage(page, dataScope, queryWrapper); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java index 138cbf4..5bf434a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.impl.file; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; @@ -57,6 +58,8 @@ @Override public Page listPage(Page page, String fileNo, String fileName) { QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(StrUtil.isNotEmpty(fileNo),"file_no",fileNo); + queryWrapper.like(StrUtil.isNotEmpty(fileName),"file_name",fileName); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.listScopePage(page,dataScope,queryWrapper); list.forEach(i-> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/PlanNotifyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/PlanNotifyServiceImpl.java index 0cf2db9..1c102c2 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/PlanNotifyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/PlanNotifyServiceImpl.java @@ -20,6 +20,7 @@ import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -44,11 +45,18 @@ @Transactional public class PlanNotifyServiceImpl extends ServiceImpl implements IPlanNotifyService { - private final IPlanService planService; + private final IPlanEquipmentRelationService planRelationService; private final IPlanNotifyRelationService notifyRelationService; private final AbstractUserService userService; + private IPlanService planService; + + @Autowired + public void setPlanService(IPlanService planService){ + this.planService = planService; + } + /** * 发送送检通知 * diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java index 6f4d423..6878d5e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java @@ -4,24 +4,14 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; 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.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.datascope.DataScope; -import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.equipment.EquipmentApprovalForm; -import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; -import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; -import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.status.EquipmentStatusQueryForm; import com.casic.missiles.enums.ApprovalStatusEnum; import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.model.equipment.EquipmentInfo; -import com.casic.missiles.model.equipment.EquipmentInfoApproval; -import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.model.status.EquipmentStatusApproval; import com.casic.missiles.mapper.status.EquipmentStatusApprovalMapper; import com.casic.missiles.service.IBaseApprovalService; @@ -29,14 +19,12 @@ import com.casic.missiles.service.equipment.IEquipmentInfoService; import com.casic.missiles.service.impl.CommonApprovalServiceImpl; import com.casic.missiles.service.status.IEquipmentStatusApprovalService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.RequiredArgsConstructor; -import org.flowable.engine.runtime.ProcessInstance; import org.springframework.stereotype.Service; -import java.io.Serializable; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; @@ -131,8 +119,6 @@ break; case DELAY: equipmentInfoService.updateEquipmentStatus(approval.getEquipmentId(), EquipmentStatusTypeEnum.DELAY); - //todo 延长有效期 ?? - equipmentInfoService.updateCertificateValid(approval.getEquipmentId(),approval.getDelayTime()); break; default: break; @@ -155,6 +141,7 @@ queryWrapper.eq("approval.approval_status", queryForm.getApprovalStatus()); } List list = this.baseMapper.listPage(page, queryWrapper); + list.forEach(this::warpApprovalInfo); page.setRecords(list); return page; } @@ -177,6 +164,7 @@ approval.setTaskId(toBeApprovedDTO.getTaskId()); approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); } + warpApprovalInfo(approval); } page.setRecords(list); return page; @@ -191,6 +179,7 @@ QueryWrapper queryWrapper = commonQuery(queryForm); queryWrapper.in("approval.id", approvedIds); List list = this.baseMapper.listPage(page, queryWrapper); + list.forEach(this::warpApprovalInfo); page.setRecords(list); return page; } @@ -201,10 +190,20 @@ queryWrapper.eq("approval.approval_status",ApprovalStatusEnum.PASSED); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.listScopePage(dataScope, page, queryWrapper); + list.forEach(this::warpApprovalInfo); page.setRecords(list); return page; } + private void warpApprovalInfo(EquipmentStatusApproval i) { + try { + i.setCompanyName(permissionContext.getDeptService().getDeptName(i.getCompanyId())); + DictCodeUtils.convertDictCodeToName(i); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + @Override public QueryWrapper commonQuery(EquipmentStatusQueryForm queryForm) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusLogServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusLogServiceImpl.java index 0a84def..de1f710 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusLogServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusLogServiceImpl.java @@ -26,21 +26,30 @@ @Override public void saveLog(EquipmentStatusApproval statusApproval) { + this.saveLog(statusApproval.getEquipmentId(),statusApproval.getApprovalType(),statusApproval.getApprovalReason(),statusApproval.getCreateUserId(),statusApproval.getCreateUserName()); + } + + public void saveLog(Long equipmentId,String statusType,String reason){ + this.saveLog(equipmentId,statusType,reason,null,null); + } + + public void saveLog(Long equipmentId,String statusType,String reason, Long createUserId, String createUserName){ QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("equipment_id",statusApproval.getEquipmentId()); + queryWrapper.eq("equipment_id",equipmentId); queryWrapper.orderByDesc("start_time"); queryWrapper.last("limit 1"); EquipmentStatusLog lastLog = this.getOne(queryWrapper); if(ObjectUtil.isNotEmpty(lastLog)){ lastLog.setEndTime(new Date()); + this.updateById(lastLog); } EquipmentStatusLog newLog = new EquipmentStatusLog(); - newLog.setEquipmentId(statusApproval.getEquipmentId()); - newLog.setStatusType(statusApproval.getApprovalType()); + newLog.setEquipmentId(equipmentId); + newLog.setStatusType(statusType); newLog.setStartTime(new Date()); - newLog.setReason(statusApproval.getApprovalReason()); - newLog.setCreateUserId(statusApproval.getCreateUserId()); - newLog.setCreateUserName(statusApproval.getCreateUserName()); + newLog.setReason(reason); + newLog.setCreateUserId(createUserId); + newLog.setCreateUserName(createUserName); this.save(newLog); } 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 fcd7955..d86249b 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,5 +1,6 @@ package com.casic.missiles.service.impl.subcontract; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -71,6 +72,20 @@ } @Override + public List listScope(String certificateNo, String certificateName, String equipmentNo, String equipmentName, String subcontractorName, String createTimeStart, String createTimeEnd, List ids) { + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + dataScope.setScopeName("createDeptId"); + QueryWrapper queryWrapper; + if(CollUtil.isNotEmpty(ids)){ + queryWrapper = new QueryWrapper<>(); + queryWrapper.in("c.id",ids); + }else { + queryWrapper = commonQuery(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); + } + return this.baseMapper.listScope(dataScope,queryWrapper); + } + + @Override public List listBySubcontractor(Long subcontractorId) { return this.baseMapper.listBySubcontractor(subcontractorId); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractReviewRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractReviewRelationServiceImpl.java index 7ff04f6..01ab093 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractReviewRelationServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractReviewRelationServiceImpl.java @@ -39,10 +39,7 @@ @Override public List listByReview(Long reviewId) { - // todo - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("review_id", reviewId); - return this.list(queryWrapper); + return this.baseMapper.listByReview(reviewId); } } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java new file mode 100644 index 0000000..6284acf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EquipmentCertificateQueryForm 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/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java deleted file mode 100644 index 35d2d47..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java +++ /dev/null @@ -1,34 +0,0 @@ -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/dto/equipment/EquipmentQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java new file mode 100644 index 0000000..040a368 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java @@ -0,0 +1,41 @@ +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 EquipmentQueryForm extends BaseQueryForm { + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("设备类型(1受检设备;2特种设备)") + private String equipmentType; + + @ApiModelProperty("使用部门") + private List deptIds; + + @ApiModelProperty("使用岗位") + private String usePosition; + + @ApiModelProperty("使用状态") + private String usageStatus; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; + + @ApiModelProperty("使用状态列表") + private List usageStatusList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java deleted file mode 100644 index f5f4a61..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java +++ /dev/null @@ -1,38 +0,0 @@ -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 EquipmentQueryFrom extends BaseQueryForm { - - @ApiModelProperty("统一编号") - private String equipmentNo; - - @ApiModelProperty("设备名称") - private String equipmentName; - - @ApiModelProperty("设备类型(1受检设备;2特种设备)") - private String equipmentType; - - @ApiModelProperty("使用部门") - private List deptIds; - - @ApiModelProperty("使用岗位") - private String usePosition; - - @ApiModelProperty("使用状态") - private String usageStatus; - - @ApiModelProperty("证书有效期开始时间") - private String certificateValidStart; - - @ApiModelProperty("证书有效期结束时间") - private String certificateValidEnd; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java index 391bfe0..2d3bd33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java @@ -7,6 +7,8 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,6 +31,7 @@ @ExcelIgnore @ApiModelProperty("使用情况") + @DictCodeField(cacheName = MeterDictCode.RFID_USAGE_STATUS) private String usageStatus; @ExcelProperty("使用情况") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java index f0515a5..d4b7ab5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java @@ -1,5 +1,11 @@ package com.casic.missiles.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModelProperty; @@ -9,6 +15,11 @@ @Getter @Setter +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class CommonApproval { @ApiModelProperty("主键") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java index 724e9d8..e08ea2a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java @@ -1,5 +1,13 @@ package com.casic.missiles.model.equipment; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; @@ -12,6 +20,7 @@ import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -27,6 +36,11 @@ @Getter @Setter @TableName("eqpt_equipment_info") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class EquipmentInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -40,6 +54,7 @@ */ @ApiModelProperty("设备编号") @TableField("equipment_no") + @ExcelProperty(value = "统一编号",index = 0) private String equipmentNo; /** @@ -47,6 +62,7 @@ */ @ApiModelProperty("设备名称") @TableField("equipment_name") + @ExcelProperty(value = "设备名称",index = 1) private String equipmentName; /** @@ -66,6 +82,7 @@ @ApiModelProperty("使用状态名称") @TableField(exist = false) + @ExcelProperty(value = "使用状态",index = 8) private String usageStatusName; /** @@ -94,6 +111,7 @@ */ @ApiModelProperty("出厂编号") @TableField("manufacture_no") + @ExcelProperty(value = "出厂编号",index = 3) private String manufactureNo; /** @@ -122,6 +140,7 @@ */ @ApiModelProperty("型号规格") @TableField("model") + @ExcelProperty(value = "型号规格",index = 2) private String model; /** @@ -165,6 +184,8 @@ */ @ApiModelProperty("检定周期(月)") @TableField("check_cycle") + @ExcelProperty(value = "检定周期(月)",index = 6) + @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN, horizontalAlignment = HorizontalAlignmentEnum.LEFT) private Integer checkCycle; /** @@ -172,6 +193,7 @@ */ @ApiModelProperty("备注") @TableField("remark") + @ExcelProperty(value = "备注",index = 9) private String remark; /** @@ -200,6 +222,7 @@ */ @ApiModelProperty("证书有效期") @TableField("certificate_valid") + @ExcelProperty(value = "证书有效期",index = 7, converter = DateExcelConverter.class) private Date certificateValid; /** @@ -207,13 +230,20 @@ */ @ApiModelProperty("计量标识") @TableField("meter_identify") + @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) private String meterIdentify; + @ApiModelProperty("计量标识名称") + @TableField(exist = false) + @ExcelProperty(value = "计量标识",index = 5) + private String meterIdentifyName; + /** * 使用岗位 */ @ApiModelProperty("使用岗位") @TableField("use_position") + @ExcelProperty(value = "使用岗位",index = 4) private String usePosition; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java index 4e884eb..63bef34 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java @@ -8,10 +8,14 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_IMPLEMENT_STATUS; +import static com.casic.missiles.constants.MeterDictCode.FILE_TYPE; + /** *

* 受检设备-文档管理 @@ -81,15 +85,25 @@ */ @ApiModelProperty("文件类别") @TableField("file_type") + @DictCodeField(cacheName = FILE_TYPE) private String fileType; + @ApiModelProperty("文件类型名称") + @TableField(exist = false) + private String fileTypeName; + /** * 实施状态 */ @ApiModelProperty("实施状态") @TableField("implementation_status") + @DictCodeField(cacheName = FILE_IMPLEMENT_STATUS) private String implementationStatus; + @ApiModelProperty("实施状态名称") + @TableField(exist = false) + private String implementationStatusName; + /** * 文件附件 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java index 5862e11..fdd06e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java @@ -8,10 +8,13 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_LOG_TYPE; + /** *

* 受检设备-文档管理-变更记录表 @@ -46,8 +49,13 @@ */ @ApiModelProperty("变更类型") @TableField("log_type") + @DictCodeField(cacheName = FILE_LOG_TYPE) private String logType; + @ApiModelProperty("变更类型名称") + @TableField(exist = false) + private String logTypeName; + /** * 变更人id */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java index 662e2f6..a01b8d9 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java @@ -1,13 +1,19 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; + import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; +import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,18 +35,20 @@ /** * 主键 */ - @TableId("id") + @TableId("id") private Long id; /** * 申请编号 */ @TableField("approval_no") + @ExcelProperty("申请编号") private String approvalNo; /** * 申请名称 */ + @ExcelProperty("申请名称") @TableField("approval_name") private String approvalName; @@ -55,31 +63,6 @@ */ @TableField("reason") private String reason; - - /** - * 创建人id - */ - @TableField("create_user_id") - private Long createUserId; - - /** - * 创建人姓名 - */ - @TableField("create_user_name") - private String createUserName; - - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - - /** - * 更新时间 - */ - @TableField("update_time") - private Date updateTime; - /** * 创建人部门id */ @@ -89,8 +72,36 @@ /** * 创建人部门名称 */ + @ExcelProperty("创建单位") @TableField("create_dept_name") private String createDeptName; + /** + * 创建人id + */ + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ExcelProperty("创建人") + @TableField("create_user_name") + private String createUserName; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + /** * 流程实例id @@ -102,7 +113,12 @@ * 申请状态 */ @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java index 7d6be90..97b522a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java @@ -1,14 +1,22 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; import java.util.Date; import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.annotation.EqptExportModel; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -41,6 +49,7 @@ */ @ApiModelProperty("计划编号") @TableField("plan_no") + @ExcelProperty("计划编号") private String planNo; /** @@ -48,6 +57,7 @@ */ @ApiModelProperty("计划名称") @TableField("plan_name") + @ExcelProperty("计划名称") private String planName; /** @@ -60,6 +70,7 @@ @ApiModelProperty("计划分类名称") @TableField(exist = false) + @ExcelProperty("计划分类") private String planCategoryName; /** @@ -97,19 +108,7 @@ @TableField("remark") private String remark; - /** - * 创建人id - */ - @ApiModelProperty("创建人id") - @TableField("create_user_id") - private Long createUserId; - /** - * 创建人姓名 - */ - @ApiModelProperty("创建人姓名") - @TableField("create_user_name") - private String createUserName; /** * 创建单位id @@ -123,13 +122,29 @@ */ @ApiModelProperty("创建单位名称") @TableField("create_dept_name") + @ExcelProperty("创建单位") private String createDeptName; + /** + * 创建人id + */ + @ApiModelProperty("创建人id") + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ApiModelProperty("创建人姓名") + @TableField("create_user_name") + @ExcelProperty("创建人") + private String createUserName; /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java index 79461e6..ce39fb7 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java @@ -8,6 +8,8 @@ import java.util.Date; import java.util.List; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import com.casic.missiles.model.CommonApproval; import com.casic.missiles.model.equipment.EquipmentAttachment; import com.casic.missiles.model.equipment.EquipmentInfo; @@ -64,9 +66,10 @@ */ @ApiModelProperty("申请状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; - @ApiModelProperty("申请状态名称") + @ApiModelProperty("审批状态名称") @TableField(exist = false) private String approvalStatusName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java index 130f5cf..7e4a4de 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java @@ -40,11 +40,11 @@ @TableField("status_type") @ApiModelProperty("状态变更类型") + @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusType; @TableField(exist = false) @ApiModelProperty("状态变更类型名称") - @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusTypeName; @TableField("start_time") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java index db5162e..ddbf003 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +15,7 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -23,6 +31,11 @@ @Getter @Setter @TableName("eqpt_subcontract_certificate") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class SubcontractCertificate implements Serializable { private static final long serialVersionUID = 1L; @@ -39,6 +52,7 @@ */ @ApiModelProperty("证书编号") @TableField("certificate_no") + @ExcelProperty(value = "证书号",index = 0) private String certificateNo; /** @@ -46,6 +60,7 @@ */ @ApiModelProperty("证书名称") @TableField("certificate_name") + @ExcelProperty(value = "证书名称",index = 1) private String certificateName; /** @@ -67,6 +82,7 @@ */ @ApiModelProperty("检测单位名称") @TableField(exist = false) + @ExcelProperty(value = "检测单位",index = 6) private String subcontractorName; /** @@ -81,6 +97,7 @@ */ @ApiModelProperty("受检设备编号") @TableField(exist = false) + @ExcelProperty(value = "样品编号",index = 2) private String equipmentNo; /** @@ -88,6 +105,7 @@ */ @ApiModelProperty("受检设备名称") @TableField(exist = false) + @ExcelProperty(value = "样品名称",index = 3) private String equipmentName; /** @@ -95,6 +113,7 @@ */ @ApiModelProperty("出厂编号") @TableField(exist = false) + @ExcelProperty(value = "出厂编号",index = 5) private String equipmentManufactureNo; /** @@ -102,6 +121,7 @@ */ @ApiModelProperty("型号") @TableField(exist = false) + @ExcelProperty(value = "型号",index = 4) private String equipmentModel; /** @@ -144,6 +164,7 @@ */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",index = 7, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java index 5339e10..7ae7965 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -7,6 +8,9 @@ import java.io.Serializable; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -39,6 +43,7 @@ */ @ApiModelProperty("评审表编号") @TableField("review_no") + @ExcelProperty(value = "评审表编号",index = 0) private String reviewNo; /** @@ -46,6 +51,7 @@ */ @ApiModelProperty("评审表名称") @TableField("review_name") + @ExcelProperty(value = "评审表名称",index = 1) private String reviewName; /** @@ -60,6 +66,7 @@ */ @ApiModelProperty("申请人姓名") @TableField("create_user_name") + @ExcelProperty(value = "申请人",index = 4) private String createUserName; /** @@ -81,6 +88,7 @@ */ @ApiModelProperty("创建时间(即申请时间)") @TableField("create_time") + @ExcelProperty(value = "申请时间",index = 5, converter = DateExcelConverter.class) private Date createTime; /** @@ -109,6 +117,7 @@ */ @ApiModelProperty("分包机构名称(冗余字段)") @TableField("subcontractor_company_name") + @ExcelProperty(value = "分包机构名称",index = 2) private String subcontractorCompanyName; /** @@ -116,6 +125,7 @@ */ @ApiModelProperty("机构负责人(冗余字段)") @TableField("subcontractor_director_name") + @ExcelProperty(value = "机构负责人",index = 3) private String subcontractorDirectorName; /** @@ -214,6 +224,11 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java index 0de83b0..c4dcc17 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +9,9 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -40,6 +44,7 @@ */ @ApiModelProperty("分包方编号") @TableField("subcontractor_no") + @ExcelProperty(value = "分包方编号", index = 0) private String subcontractorNo; /** @@ -47,6 +52,7 @@ */ @ApiModelProperty("单位名称") @TableField("company_name") + @ExcelProperty(value = "单位名称", index = 1) private String companyName; /** @@ -131,6 +137,7 @@ */ @ApiModelProperty("机构负责人") @TableField("director_name") + @ExcelProperty(value = "机构负责人", index = 2) private String directorName; /** @@ -138,6 +145,7 @@ */ @ApiModelProperty("联系电话") @TableField("contact_number") + @ExcelProperty(value = "联系电话", index = 3) private String contactNumber; /** @@ -173,6 +181,7 @@ */ @ApiModelProperty("地址") @TableField("address") + @ExcelProperty(value = "地址", index = 5) private String address; /** @@ -187,6 +196,7 @@ */ @ApiModelProperty("测试能力") @TableField("test_ability") + @ExcelProperty(value = "测试能力", index = 4) private String testAbility; /** @@ -215,13 +225,19 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间", index = 6, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java index d7d16b9..91f15d5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java @@ -49,6 +49,13 @@ private String staffName; /** + * 联系方式 + */ + @ApiModelProperty("联系方式") + @TableField("staff_phone") + private String staffPhone; + + /** * 工作部门 */ @ApiModelProperty("工作部门") diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java index a967db1..7eab839 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java @@ -10,6 +10,8 @@ import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.model.CommonApproval; +import java.util.List; + public interface ICommonApprovalService extends IService { @@ -34,6 +36,8 @@ Page allPage(Page page, Q queryForm); + List allExport(Q queryForm); + QueryWrapper commonQuery(Q queryForm); T warpper(T obj); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java index 7ed83c0..0031746 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java @@ -1,15 +1,9 @@ package com.casic.missiles.service.equipment; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; -import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; -import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; -import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.equipment.EquipmentApprovalForm; -import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.model.equipment.EquipmentInfoApproval; -import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.service.ICommonApprovalService; import java.util.List; @@ -22,7 +16,7 @@ * @author zhangyingjie * @since 2023-07-21 */ -public interface IEquipmentInfoApprovalService extends ICommonApprovalService { +public interface IEquipmentInfoApprovalService extends ICommonApprovalService { Long saveOrUpdateApproval(EquipmentApprovalForm approvalForm); 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 c2f939d..eee21dc 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 @@ -18,25 +18,25 @@ */ public interface IEquipmentInfoService extends IService { - Page listPage(Page page, EquipmentQueryFrom queryFrom); + Page listPage(Page page, EquipmentQueryForm queryForm); - List list(EquipmentQueryFrom queryFrom); + List list(EquipmentQueryForm queryForm); - List groupByName(EquipmentQueryFrom queryFrom); + List groupByName(EquipmentQueryForm queryForm); EquipmentInfoForm detail(Long equipmentId); List allCertificate(Long equipmentId,String equipmentType); - boolean updateEquipmentStatus(Long equipmentId,String usageStatus); + void updateEquipmentStatus(Long equipmentId, String usageStatus); - boolean updateCertificateValid(Long equipmentId, Date certificateValid); - - boolean updateCertificateInfo(Long equipmentId,String checkOrganization,Date checkDate, Date certificateValid,String meterIdentify); + void updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify); void removeCertificateInfo(Long equipmentId,Long certificateId); - Page remindListPage(Page page,EquipmentQueryFrom queryFrom); + Page remindListPage(Page page, EquipmentQueryForm queryForm); - Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryFrom); + List remindList(EquipmentQueryForm queryForm); + + Page certificateListPage(Page page, EquipmentCertificateQueryForm queryForm); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java index 06b6853..5fe001d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java @@ -212,6 +212,25 @@ } @Override + public List allExport(Q queryForm) { + QueryWrapper queryWrapper; + if(CollUtil.isEmpty(queryForm.getIds())){ + queryWrapper = commonQuery(queryForm); + queryWrapper.eq("approval_status",ApprovalStatusEnum.PASSED); + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + if(!ALL_TYPE.equals(dataScope.getScopeEnums())){ + queryWrapper.in("create_dept_id",dataScope.getDeptIds()); + } + }else { + queryWrapper = new QueryWrapper<>(); + queryWrapper.in("id",queryForm.getIds()); + } + List list = this.list(queryWrapper); + list.forEach(this::warpper); + return list; + } + + @Override public QueryWrapper commonQuery(Q queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); return queryWrapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java index 5e9824d..1ca0447 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java @@ -10,7 +10,7 @@ import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.equipment.EquipmentApprovalForm; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -53,7 +53,7 @@ */ @Service @Slf4j -public class EquipmentInfoApprovalServiceImpl extends CommonApprovalServiceImpl implements IEquipmentInfoApprovalService { +public class EquipmentInfoApprovalServiceImpl extends CommonApprovalServiceImpl implements IEquipmentInfoApprovalService { @Autowired private IEquipmentInfoService equipmentInfoService; @@ -251,7 +251,7 @@ } @Override - public QueryWrapper commonQuery(EquipmentQueryFrom queryForm) { + public QueryWrapper commonQuery(EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "equipment_no", queryForm.getEquipmentNo()); 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 469317b..ae66c93 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 @@ -13,17 +13,21 @@ 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.EquipmentStatusTypeEnum; import com.casic.missiles.enums.equipment.EquipmentTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; import com.casic.missiles.model.equipment.EquipmentInfo; import com.casic.missiles.mapper.equipment.EquipmentInfoMapper; import com.casic.missiles.service.equipment.*; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.service.status.IEquipmentStatusLogService; 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; @@ -46,16 +50,17 @@ private final IEquipmentTechnicalTargetService technicalTargetService; private final IRemindConfigService remindConfigService; private final IEquipmentSpecialCertificateService specialCertificateService; + private final IEquipmentStatusLogService statusLogService; private ISubcontractCertificateService subcontractCertificateService; @Autowired - public void setSubcontractCertificateService(ISubcontractCertificateService subcontractCertificateService){ + public void setSubcontractCertificateService(ISubcontractCertificateService subcontractCertificateService) { this.subcontractCertificateService = subcontractCertificateService; } @Override - public Page listPage(Page page,EquipmentQueryFrom queryFrom) { - QueryWrapper queryWrapper = commonQuery(queryFrom); + public Page listPage(Page page, EquipmentQueryForm queryForm) { + QueryWrapper queryWrapper = commonQuery(queryForm); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.selectListPage(page, dataScope, queryWrapper); list.forEach(this::warpEquipmentInfo); @@ -74,8 +79,8 @@ } @Override - public List list(EquipmentQueryFrom queryFrom) { - QueryWrapper queryWrapper = commonQuery(queryFrom); + public List list(EquipmentQueryForm queryForm) { + QueryWrapper queryWrapper = commonQuery(queryForm); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.selectList(dataScope, queryWrapper); list.forEach(this::warpEquipmentInfo); @@ -83,17 +88,17 @@ } @Override - public List groupByName(EquipmentQueryFrom queryFrom) { + public List groupByName(EquipmentQueryForm queryForm) { DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - if(!ScopeEnums.ALL_TYPE.equals(dataScope.getScopeEnums())){ + if (!ScopeEnums.ALL_TYPE.equals(dataScope.getScopeEnums())) { List dataScopeDeptIds = dataScope.getDeptIds(); - if(ObjectUtil.isNull(queryFrom.getDeptIds())){ - queryFrom.setDeptIds(new ArrayList<>()); + if (ObjectUtil.isNull(queryForm.getDeptIds())) { + queryForm.setDeptIds(new ArrayList<>()); } - queryFrom.getDeptIds().addAll(dataScopeDeptIds); + queryForm.getDeptIds().addAll(dataScopeDeptIds); } - QueryWrapper queryWrapper = commonQuery(queryFrom); + QueryWrapper queryWrapper = commonQuery(queryForm); queryWrapper.groupBy("equipment_name"); queryWrapper.select("equipment_name as 'equipmentName',count(*) as 'count'"); @@ -102,17 +107,23 @@ } - public QueryWrapper commonQuery(EquipmentQueryFrom queryForm) { + public QueryWrapper commonQuery(EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); - queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "equipment_no", queryForm.getEquipmentNo()); - queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentName()), "equipment_name", queryForm.getEquipmentName()); - queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getEquipmentType()), "equipment_type", queryForm.getEquipmentType()); - queryWrapper.like(StrUtil.isNotEmpty(queryForm.getUsePosition()), "use_position", queryForm.getUsePosition()); - queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getUsageStatus()), "usage_status", queryForm.getUsageStatus()); - queryWrapper.ge(StrUtil.isNotEmpty(queryForm.getCertificateValidStart()), "certificate_valid", queryForm.getCertificateValidStart()); - queryWrapper.le(StrUtil.isNotEmpty(queryForm.getCertificateValidEnd()), "certificate_valid", queryForm.getCertificateValidEnd()); - queryWrapper.eq("is_del",0); + if(CollUtil.isNotEmpty(queryForm.getIds())){ + queryWrapper.in("ids",queryForm.getIds()); + }else { + queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "equipment_no", queryForm.getEquipmentNo()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentName()), "equipment_name", queryForm.getEquipmentName()); + queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getEquipmentType()), "equipment_type", queryForm.getEquipmentType()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getUsePosition()), "use_position", queryForm.getUsePosition()); + queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getUsageStatus()), "usage_status", queryForm.getUsageStatus()); + queryWrapper.ge(StrUtil.isNotEmpty(queryForm.getCertificateValidStart()), "certificate_valid", queryForm.getCertificateValidStart()); + queryWrapper.le(StrUtil.isNotEmpty(queryForm.getCertificateValidEnd()), "certificate_valid", queryForm.getCertificateValidEnd()); + queryWrapper.in(CollUtil.isNotEmpty(queryForm.getUsageStatusList()), "usage_status", queryForm.getUsageStatusList()); + + } + queryWrapper.eq("is_del", 0); return queryWrapper; } @@ -120,33 +131,33 @@ public EquipmentInfoForm detail(Long equipmentId) { EquipmentInfoForm infoForm = new EquipmentInfoForm(); EquipmentInfo equipmentInfo = this.getById(equipmentId); - if(ObjectUtil.isNotEmpty(equipmentInfo)){ + if (ObjectUtil.isNotEmpty(equipmentInfo)) { warpEquipmentInfo(equipmentInfo); equipmentInfo.setCompanyName(permissionContext.getDeptService().getDeptName(equipmentInfo.getCompanyId())); equipmentInfo.setDeptName(permissionContext.getDeptService().getDeptName(equipmentInfo.getDeptId())); equipmentInfo.setGroupInfos(groupInfoService.selectByEquipment(equipmentId)); - BeanUtil.copyProperties(equipmentInfo,infoForm); + BeanUtil.copyProperties(equipmentInfo, infoForm); infoForm.setAttachments(attachmentService.selectByEquipment(equipmentId)); infoForm.setTechnicalTargetList(technicalTargetService.selectByEquipment(equipmentId)); - infoForm.setCertificateList(allCertificate(equipmentId,equipmentInfo.getEquipmentType())); + infoForm.setCertificateList(allCertificate(equipmentId, equipmentInfo.getEquipmentType())); } return infoForm; } @Override - public List allCertificate(Long equipmentId,String equipmentType){ + public 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)); + subcontractList.forEach(i -> i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SUBCONTRACT)); listAll.addAll(subcontractList); - if(EquipmentTypeEnum.EQUIPMENT_TYPE_SPECIAL.equals(equipmentType)){ + if (EquipmentTypeEnum.EQUIPMENT_TYPE_SPECIAL.equals(equipmentType)) { List specicalList = specialCertificateService.listByEquipment(equipmentId); - specicalList.forEach(i->i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SPECIAL)); + specicalList.forEach(i -> i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SPECIAL)); listAll.addAll(specicalList); } listAll.sort(new Comparator() { @@ -159,55 +170,53 @@ } @Override - public boolean updateEquipmentStatus(Long equipmentId,String usageStatus){ + public void updateEquipmentStatus(Long equipmentId, String usageStatus) { UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id",equipmentId); - updateWrapper.set("usage_status",usageStatus); - return this.update(updateWrapper); + updateWrapper.eq("id", equipmentId); + updateWrapper.set("usage_status", usageStatus); + this.update(updateWrapper); } @Override - public boolean updateCertificateValid(Long equipmentId, Date certificateValid) { - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id",equipmentId); - updateWrapper.set("certificate_valid",certificateValid); - return this.update(updateWrapper); - } - - @Override - public boolean updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify) { + @Transactional + public void updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify) { 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); + if (ObjectUtil.isNotEmpty(equipmentInfo)) { + if (ObjectUtil.isEmpty(equipmentInfo.getCertificateValid()) || equipmentInfo.getCertificateValid().before(certificateValid)) { + equipmentInfo.setCheckOrganization(checkOrganization); + equipmentInfo.setCheckDate(checkDate); + equipmentInfo.setCertificateValid(certificateValid); + if (StrUtil.isNotEmpty(meterIdentify)) { + equipmentInfo.setMeterIdentify(meterIdentify); } - return this.update(updateWrapper); + this.updateById(equipmentInfo); + //当设备证书有效期更新且未到期时,设备状态自动变更为启封 + if (!EquipmentStatusTypeEnum.UNSEAL.equals(equipmentInfo.getUsageStatus()) + && !EquipmentStatusTypeEnum.SCRAP.equals(equipmentInfo.getUsageStatus()) + && certificateValid.after(new Date())) { + this.updateEquipmentStatus(equipmentId, EquipmentStatusTypeEnum.UNSEAL); + statusLogService.saveLog(equipmentId, StatusApprovalTypeEnum.UNSEAL,"设备证书更新"); + } + } } - return false; } - public void removeCertificateInfo(Long equipmentId,Long certificateId){ + 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()); + 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()){ + 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()); + 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); } @@ -215,11 +224,11 @@ } @Override - public Page remindListPage(Page page,EquipmentQueryFrom queryFrom) { + public Page remindListPage(Page page, EquipmentQueryForm queryForm) { Integer remindTime = remindConfigService.getRemindTimeByDeptId(permissionContext.getAuthService().getLoginUser().getDeptId()); Calendar calendar = Calendar.getInstance(); - calendar.add(Calendar.DATE,remindTime); - QueryWrapper queryWrapper = commonQuery(queryFrom); + calendar.add(Calendar.DATE, remindTime); + QueryWrapper queryWrapper = commonQuery(queryForm); queryWrapper.le("certificate_valid", calendar.getTime()); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.selectListPage(page, dataScope, queryWrapper); @@ -229,7 +238,20 @@ } @Override - public Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryForm) { + public List remindList(EquipmentQueryForm queryForm) { + Integer remindTime = remindConfigService.getRemindTimeByDeptId(permissionContext.getAuthService().getLoginUser().getDeptId()); + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.DATE, remindTime); + QueryWrapper queryWrapper = commonQuery(queryForm); + queryWrapper.le("certificate_valid", calendar.getTime()); + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + List list = this.baseMapper.selectList(dataScope, queryWrapper); + list.forEach(this::warpEquipmentInfo); + return list; + } + + @Override + public Page certificateListPage(Page page, EquipmentCertificateQueryForm queryForm) { DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); QueryWrapper queryWrapper = new QueryWrapper<>(); @@ -240,7 +262,7 @@ 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("e.is_del", 0); queryWrapper.eq("c.approval_status", ApprovalStatusEnum.PASSED); List list = this.baseMapper.bizCertificateListPage(page, dataScope, queryWrapper); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java index 138cbf4..5bf434a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.impl.file; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; @@ -57,6 +58,8 @@ @Override public Page listPage(Page page, String fileNo, String fileName) { QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(StrUtil.isNotEmpty(fileNo),"file_no",fileNo); + queryWrapper.like(StrUtil.isNotEmpty(fileName),"file_name",fileName); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.listScopePage(page,dataScope,queryWrapper); list.forEach(i-> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/PlanNotifyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/PlanNotifyServiceImpl.java index 0cf2db9..1c102c2 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/PlanNotifyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/PlanNotifyServiceImpl.java @@ -20,6 +20,7 @@ import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -44,11 +45,18 @@ @Transactional public class PlanNotifyServiceImpl extends ServiceImpl implements IPlanNotifyService { - private final IPlanService planService; + private final IPlanEquipmentRelationService planRelationService; private final IPlanNotifyRelationService notifyRelationService; private final AbstractUserService userService; + private IPlanService planService; + + @Autowired + public void setPlanService(IPlanService planService){ + this.planService = planService; + } + /** * 发送送检通知 * diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java index 6f4d423..6878d5e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java @@ -4,24 +4,14 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; 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.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.datascope.DataScope; -import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.equipment.EquipmentApprovalForm; -import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; -import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; -import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.status.EquipmentStatusQueryForm; import com.casic.missiles.enums.ApprovalStatusEnum; import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.model.equipment.EquipmentInfo; -import com.casic.missiles.model.equipment.EquipmentInfoApproval; -import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.model.status.EquipmentStatusApproval; import com.casic.missiles.mapper.status.EquipmentStatusApprovalMapper; import com.casic.missiles.service.IBaseApprovalService; @@ -29,14 +19,12 @@ import com.casic.missiles.service.equipment.IEquipmentInfoService; import com.casic.missiles.service.impl.CommonApprovalServiceImpl; import com.casic.missiles.service.status.IEquipmentStatusApprovalService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.RequiredArgsConstructor; -import org.flowable.engine.runtime.ProcessInstance; import org.springframework.stereotype.Service; -import java.io.Serializable; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; @@ -131,8 +119,6 @@ break; case DELAY: equipmentInfoService.updateEquipmentStatus(approval.getEquipmentId(), EquipmentStatusTypeEnum.DELAY); - //todo 延长有效期 ?? - equipmentInfoService.updateCertificateValid(approval.getEquipmentId(),approval.getDelayTime()); break; default: break; @@ -155,6 +141,7 @@ queryWrapper.eq("approval.approval_status", queryForm.getApprovalStatus()); } List list = this.baseMapper.listPage(page, queryWrapper); + list.forEach(this::warpApprovalInfo); page.setRecords(list); return page; } @@ -177,6 +164,7 @@ approval.setTaskId(toBeApprovedDTO.getTaskId()); approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); } + warpApprovalInfo(approval); } page.setRecords(list); return page; @@ -191,6 +179,7 @@ QueryWrapper queryWrapper = commonQuery(queryForm); queryWrapper.in("approval.id", approvedIds); List list = this.baseMapper.listPage(page, queryWrapper); + list.forEach(this::warpApprovalInfo); page.setRecords(list); return page; } @@ -201,10 +190,20 @@ queryWrapper.eq("approval.approval_status",ApprovalStatusEnum.PASSED); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.listScopePage(dataScope, page, queryWrapper); + list.forEach(this::warpApprovalInfo); page.setRecords(list); return page; } + private void warpApprovalInfo(EquipmentStatusApproval i) { + try { + i.setCompanyName(permissionContext.getDeptService().getDeptName(i.getCompanyId())); + DictCodeUtils.convertDictCodeToName(i); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + @Override public QueryWrapper commonQuery(EquipmentStatusQueryForm queryForm) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusLogServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusLogServiceImpl.java index 0a84def..de1f710 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusLogServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusLogServiceImpl.java @@ -26,21 +26,30 @@ @Override public void saveLog(EquipmentStatusApproval statusApproval) { + this.saveLog(statusApproval.getEquipmentId(),statusApproval.getApprovalType(),statusApproval.getApprovalReason(),statusApproval.getCreateUserId(),statusApproval.getCreateUserName()); + } + + public void saveLog(Long equipmentId,String statusType,String reason){ + this.saveLog(equipmentId,statusType,reason,null,null); + } + + public void saveLog(Long equipmentId,String statusType,String reason, Long createUserId, String createUserName){ QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("equipment_id",statusApproval.getEquipmentId()); + queryWrapper.eq("equipment_id",equipmentId); queryWrapper.orderByDesc("start_time"); queryWrapper.last("limit 1"); EquipmentStatusLog lastLog = this.getOne(queryWrapper); if(ObjectUtil.isNotEmpty(lastLog)){ lastLog.setEndTime(new Date()); + this.updateById(lastLog); } EquipmentStatusLog newLog = new EquipmentStatusLog(); - newLog.setEquipmentId(statusApproval.getEquipmentId()); - newLog.setStatusType(statusApproval.getApprovalType()); + newLog.setEquipmentId(equipmentId); + newLog.setStatusType(statusType); newLog.setStartTime(new Date()); - newLog.setReason(statusApproval.getApprovalReason()); - newLog.setCreateUserId(statusApproval.getCreateUserId()); - newLog.setCreateUserName(statusApproval.getCreateUserName()); + newLog.setReason(reason); + newLog.setCreateUserId(createUserId); + newLog.setCreateUserName(createUserName); this.save(newLog); } 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 fcd7955..d86249b 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,5 +1,6 @@ package com.casic.missiles.service.impl.subcontract; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -71,6 +72,20 @@ } @Override + public List listScope(String certificateNo, String certificateName, String equipmentNo, String equipmentName, String subcontractorName, String createTimeStart, String createTimeEnd, List ids) { + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + dataScope.setScopeName("createDeptId"); + QueryWrapper queryWrapper; + if(CollUtil.isNotEmpty(ids)){ + queryWrapper = new QueryWrapper<>(); + queryWrapper.in("c.id",ids); + }else { + queryWrapper = commonQuery(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); + } + return this.baseMapper.listScope(dataScope,queryWrapper); + } + + @Override public List listBySubcontractor(Long subcontractorId) { return this.baseMapper.listBySubcontractor(subcontractorId); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractReviewRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractReviewRelationServiceImpl.java index 7ff04f6..01ab093 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractReviewRelationServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractReviewRelationServiceImpl.java @@ -39,10 +39,7 @@ @Override public List listByReview(Long reviewId) { - // todo - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("review_id", reviewId); - return this.list(queryWrapper); + return this.baseMapper.listByReview(reviewId); } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractReviewServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractReviewServiceImpl.java index b645210..e8c8db4 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractReviewServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractReviewServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.impl.subcontract; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.casic.missiles.dto.subcontract.SubcontractReviewForm; @@ -61,7 +62,9 @@ @Override public SubcontractReviewForm detail(Long reviewId) { - SubcontractReviewForm form = (SubcontractReviewForm) this.getById(reviewId); + SubcontractReview review = this.getById(reviewId); + SubcontractReviewForm form = new SubcontractReviewForm(); + BeanUtil.copyProperties(review,form); Subcontractor subcontractor = subcontractorService.getById(form.getSubcontractorId()); form.setFax(subcontractor.getFax()); form.setAddress(subcontractor.getAddress()); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java new file mode 100644 index 0000000..6284acf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EquipmentCertificateQueryForm 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/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java deleted file mode 100644 index 35d2d47..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java +++ /dev/null @@ -1,34 +0,0 @@ -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/dto/equipment/EquipmentQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java new file mode 100644 index 0000000..040a368 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java @@ -0,0 +1,41 @@ +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 EquipmentQueryForm extends BaseQueryForm { + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("设备类型(1受检设备;2特种设备)") + private String equipmentType; + + @ApiModelProperty("使用部门") + private List deptIds; + + @ApiModelProperty("使用岗位") + private String usePosition; + + @ApiModelProperty("使用状态") + private String usageStatus; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; + + @ApiModelProperty("使用状态列表") + private List usageStatusList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java deleted file mode 100644 index f5f4a61..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java +++ /dev/null @@ -1,38 +0,0 @@ -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 EquipmentQueryFrom extends BaseQueryForm { - - @ApiModelProperty("统一编号") - private String equipmentNo; - - @ApiModelProperty("设备名称") - private String equipmentName; - - @ApiModelProperty("设备类型(1受检设备;2特种设备)") - private String equipmentType; - - @ApiModelProperty("使用部门") - private List deptIds; - - @ApiModelProperty("使用岗位") - private String usePosition; - - @ApiModelProperty("使用状态") - private String usageStatus; - - @ApiModelProperty("证书有效期开始时间") - private String certificateValidStart; - - @ApiModelProperty("证书有效期结束时间") - private String certificateValidEnd; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java index 391bfe0..2d3bd33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java @@ -7,6 +7,8 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,6 +31,7 @@ @ExcelIgnore @ApiModelProperty("使用情况") + @DictCodeField(cacheName = MeterDictCode.RFID_USAGE_STATUS) private String usageStatus; @ExcelProperty("使用情况") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java index f0515a5..d4b7ab5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java @@ -1,5 +1,11 @@ package com.casic.missiles.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModelProperty; @@ -9,6 +15,11 @@ @Getter @Setter +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class CommonApproval { @ApiModelProperty("主键") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java index 724e9d8..e08ea2a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java @@ -1,5 +1,13 @@ package com.casic.missiles.model.equipment; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; @@ -12,6 +20,7 @@ import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -27,6 +36,11 @@ @Getter @Setter @TableName("eqpt_equipment_info") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class EquipmentInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -40,6 +54,7 @@ */ @ApiModelProperty("设备编号") @TableField("equipment_no") + @ExcelProperty(value = "统一编号",index = 0) private String equipmentNo; /** @@ -47,6 +62,7 @@ */ @ApiModelProperty("设备名称") @TableField("equipment_name") + @ExcelProperty(value = "设备名称",index = 1) private String equipmentName; /** @@ -66,6 +82,7 @@ @ApiModelProperty("使用状态名称") @TableField(exist = false) + @ExcelProperty(value = "使用状态",index = 8) private String usageStatusName; /** @@ -94,6 +111,7 @@ */ @ApiModelProperty("出厂编号") @TableField("manufacture_no") + @ExcelProperty(value = "出厂编号",index = 3) private String manufactureNo; /** @@ -122,6 +140,7 @@ */ @ApiModelProperty("型号规格") @TableField("model") + @ExcelProperty(value = "型号规格",index = 2) private String model; /** @@ -165,6 +184,8 @@ */ @ApiModelProperty("检定周期(月)") @TableField("check_cycle") + @ExcelProperty(value = "检定周期(月)",index = 6) + @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN, horizontalAlignment = HorizontalAlignmentEnum.LEFT) private Integer checkCycle; /** @@ -172,6 +193,7 @@ */ @ApiModelProperty("备注") @TableField("remark") + @ExcelProperty(value = "备注",index = 9) private String remark; /** @@ -200,6 +222,7 @@ */ @ApiModelProperty("证书有效期") @TableField("certificate_valid") + @ExcelProperty(value = "证书有效期",index = 7, converter = DateExcelConverter.class) private Date certificateValid; /** @@ -207,13 +230,20 @@ */ @ApiModelProperty("计量标识") @TableField("meter_identify") + @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) private String meterIdentify; + @ApiModelProperty("计量标识名称") + @TableField(exist = false) + @ExcelProperty(value = "计量标识",index = 5) + private String meterIdentifyName; + /** * 使用岗位 */ @ApiModelProperty("使用岗位") @TableField("use_position") + @ExcelProperty(value = "使用岗位",index = 4) private String usePosition; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java index 4e884eb..63bef34 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java @@ -8,10 +8,14 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_IMPLEMENT_STATUS; +import static com.casic.missiles.constants.MeterDictCode.FILE_TYPE; + /** *

* 受检设备-文档管理 @@ -81,15 +85,25 @@ */ @ApiModelProperty("文件类别") @TableField("file_type") + @DictCodeField(cacheName = FILE_TYPE) private String fileType; + @ApiModelProperty("文件类型名称") + @TableField(exist = false) + private String fileTypeName; + /** * 实施状态 */ @ApiModelProperty("实施状态") @TableField("implementation_status") + @DictCodeField(cacheName = FILE_IMPLEMENT_STATUS) private String implementationStatus; + @ApiModelProperty("实施状态名称") + @TableField(exist = false) + private String implementationStatusName; + /** * 文件附件 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java index 5862e11..fdd06e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java @@ -8,10 +8,13 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_LOG_TYPE; + /** *

* 受检设备-文档管理-变更记录表 @@ -46,8 +49,13 @@ */ @ApiModelProperty("变更类型") @TableField("log_type") + @DictCodeField(cacheName = FILE_LOG_TYPE) private String logType; + @ApiModelProperty("变更类型名称") + @TableField(exist = false) + private String logTypeName; + /** * 变更人id */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java index 662e2f6..a01b8d9 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java @@ -1,13 +1,19 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; + import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; +import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,18 +35,20 @@ /** * 主键 */ - @TableId("id") + @TableId("id") private Long id; /** * 申请编号 */ @TableField("approval_no") + @ExcelProperty("申请编号") private String approvalNo; /** * 申请名称 */ + @ExcelProperty("申请名称") @TableField("approval_name") private String approvalName; @@ -55,31 +63,6 @@ */ @TableField("reason") private String reason; - - /** - * 创建人id - */ - @TableField("create_user_id") - private Long createUserId; - - /** - * 创建人姓名 - */ - @TableField("create_user_name") - private String createUserName; - - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - - /** - * 更新时间 - */ - @TableField("update_time") - private Date updateTime; - /** * 创建人部门id */ @@ -89,8 +72,36 @@ /** * 创建人部门名称 */ + @ExcelProperty("创建单位") @TableField("create_dept_name") private String createDeptName; + /** + * 创建人id + */ + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ExcelProperty("创建人") + @TableField("create_user_name") + private String createUserName; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + /** * 流程实例id @@ -102,7 +113,12 @@ * 申请状态 */ @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java index 7d6be90..97b522a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java @@ -1,14 +1,22 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; import java.util.Date; import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.annotation.EqptExportModel; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -41,6 +49,7 @@ */ @ApiModelProperty("计划编号") @TableField("plan_no") + @ExcelProperty("计划编号") private String planNo; /** @@ -48,6 +57,7 @@ */ @ApiModelProperty("计划名称") @TableField("plan_name") + @ExcelProperty("计划名称") private String planName; /** @@ -60,6 +70,7 @@ @ApiModelProperty("计划分类名称") @TableField(exist = false) + @ExcelProperty("计划分类") private String planCategoryName; /** @@ -97,19 +108,7 @@ @TableField("remark") private String remark; - /** - * 创建人id - */ - @ApiModelProperty("创建人id") - @TableField("create_user_id") - private Long createUserId; - /** - * 创建人姓名 - */ - @ApiModelProperty("创建人姓名") - @TableField("create_user_name") - private String createUserName; /** * 创建单位id @@ -123,13 +122,29 @@ */ @ApiModelProperty("创建单位名称") @TableField("create_dept_name") + @ExcelProperty("创建单位") private String createDeptName; + /** + * 创建人id + */ + @ApiModelProperty("创建人id") + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ApiModelProperty("创建人姓名") + @TableField("create_user_name") + @ExcelProperty("创建人") + private String createUserName; /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java index 79461e6..ce39fb7 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java @@ -8,6 +8,8 @@ import java.util.Date; import java.util.List; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import com.casic.missiles.model.CommonApproval; import com.casic.missiles.model.equipment.EquipmentAttachment; import com.casic.missiles.model.equipment.EquipmentInfo; @@ -64,9 +66,10 @@ */ @ApiModelProperty("申请状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; - @ApiModelProperty("申请状态名称") + @ApiModelProperty("审批状态名称") @TableField(exist = false) private String approvalStatusName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java index 130f5cf..7e4a4de 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java @@ -40,11 +40,11 @@ @TableField("status_type") @ApiModelProperty("状态变更类型") + @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusType; @TableField(exist = false) @ApiModelProperty("状态变更类型名称") - @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusTypeName; @TableField("start_time") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java index db5162e..ddbf003 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +15,7 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -23,6 +31,11 @@ @Getter @Setter @TableName("eqpt_subcontract_certificate") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class SubcontractCertificate implements Serializable { private static final long serialVersionUID = 1L; @@ -39,6 +52,7 @@ */ @ApiModelProperty("证书编号") @TableField("certificate_no") + @ExcelProperty(value = "证书号",index = 0) private String certificateNo; /** @@ -46,6 +60,7 @@ */ @ApiModelProperty("证书名称") @TableField("certificate_name") + @ExcelProperty(value = "证书名称",index = 1) private String certificateName; /** @@ -67,6 +82,7 @@ */ @ApiModelProperty("检测单位名称") @TableField(exist = false) + @ExcelProperty(value = "检测单位",index = 6) private String subcontractorName; /** @@ -81,6 +97,7 @@ */ @ApiModelProperty("受检设备编号") @TableField(exist = false) + @ExcelProperty(value = "样品编号",index = 2) private String equipmentNo; /** @@ -88,6 +105,7 @@ */ @ApiModelProperty("受检设备名称") @TableField(exist = false) + @ExcelProperty(value = "样品名称",index = 3) private String equipmentName; /** @@ -95,6 +113,7 @@ */ @ApiModelProperty("出厂编号") @TableField(exist = false) + @ExcelProperty(value = "出厂编号",index = 5) private String equipmentManufactureNo; /** @@ -102,6 +121,7 @@ */ @ApiModelProperty("型号") @TableField(exist = false) + @ExcelProperty(value = "型号",index = 4) private String equipmentModel; /** @@ -144,6 +164,7 @@ */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",index = 7, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java index 5339e10..7ae7965 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -7,6 +8,9 @@ import java.io.Serializable; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -39,6 +43,7 @@ */ @ApiModelProperty("评审表编号") @TableField("review_no") + @ExcelProperty(value = "评审表编号",index = 0) private String reviewNo; /** @@ -46,6 +51,7 @@ */ @ApiModelProperty("评审表名称") @TableField("review_name") + @ExcelProperty(value = "评审表名称",index = 1) private String reviewName; /** @@ -60,6 +66,7 @@ */ @ApiModelProperty("申请人姓名") @TableField("create_user_name") + @ExcelProperty(value = "申请人",index = 4) private String createUserName; /** @@ -81,6 +88,7 @@ */ @ApiModelProperty("创建时间(即申请时间)") @TableField("create_time") + @ExcelProperty(value = "申请时间",index = 5, converter = DateExcelConverter.class) private Date createTime; /** @@ -109,6 +117,7 @@ */ @ApiModelProperty("分包机构名称(冗余字段)") @TableField("subcontractor_company_name") + @ExcelProperty(value = "分包机构名称",index = 2) private String subcontractorCompanyName; /** @@ -116,6 +125,7 @@ */ @ApiModelProperty("机构负责人(冗余字段)") @TableField("subcontractor_director_name") + @ExcelProperty(value = "机构负责人",index = 3) private String subcontractorDirectorName; /** @@ -214,6 +224,11 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java index 0de83b0..c4dcc17 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +9,9 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -40,6 +44,7 @@ */ @ApiModelProperty("分包方编号") @TableField("subcontractor_no") + @ExcelProperty(value = "分包方编号", index = 0) private String subcontractorNo; /** @@ -47,6 +52,7 @@ */ @ApiModelProperty("单位名称") @TableField("company_name") + @ExcelProperty(value = "单位名称", index = 1) private String companyName; /** @@ -131,6 +137,7 @@ */ @ApiModelProperty("机构负责人") @TableField("director_name") + @ExcelProperty(value = "机构负责人", index = 2) private String directorName; /** @@ -138,6 +145,7 @@ */ @ApiModelProperty("联系电话") @TableField("contact_number") + @ExcelProperty(value = "联系电话", index = 3) private String contactNumber; /** @@ -173,6 +181,7 @@ */ @ApiModelProperty("地址") @TableField("address") + @ExcelProperty(value = "地址", index = 5) private String address; /** @@ -187,6 +196,7 @@ */ @ApiModelProperty("测试能力") @TableField("test_ability") + @ExcelProperty(value = "测试能力", index = 4) private String testAbility; /** @@ -215,13 +225,19 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间", index = 6, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java index d7d16b9..91f15d5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java @@ -49,6 +49,13 @@ private String staffName; /** + * 联系方式 + */ + @ApiModelProperty("联系方式") + @TableField("staff_phone") + private String staffPhone; + + /** * 工作部门 */ @ApiModelProperty("工作部门") diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java index a967db1..7eab839 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java @@ -10,6 +10,8 @@ import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.model.CommonApproval; +import java.util.List; + public interface ICommonApprovalService extends IService { @@ -34,6 +36,8 @@ Page allPage(Page page, Q queryForm); + List allExport(Q queryForm); + QueryWrapper commonQuery(Q queryForm); T warpper(T obj); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java index 7ed83c0..0031746 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java @@ -1,15 +1,9 @@ package com.casic.missiles.service.equipment; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; -import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; -import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; -import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.equipment.EquipmentApprovalForm; -import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.model.equipment.EquipmentInfoApproval; -import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.service.ICommonApprovalService; import java.util.List; @@ -22,7 +16,7 @@ * @author zhangyingjie * @since 2023-07-21 */ -public interface IEquipmentInfoApprovalService extends ICommonApprovalService { +public interface IEquipmentInfoApprovalService extends ICommonApprovalService { Long saveOrUpdateApproval(EquipmentApprovalForm approvalForm); 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 c2f939d..eee21dc 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 @@ -18,25 +18,25 @@ */ public interface IEquipmentInfoService extends IService { - Page listPage(Page page, EquipmentQueryFrom queryFrom); + Page listPage(Page page, EquipmentQueryForm queryForm); - List list(EquipmentQueryFrom queryFrom); + List list(EquipmentQueryForm queryForm); - List groupByName(EquipmentQueryFrom queryFrom); + List groupByName(EquipmentQueryForm queryForm); EquipmentInfoForm detail(Long equipmentId); List allCertificate(Long equipmentId,String equipmentType); - boolean updateEquipmentStatus(Long equipmentId,String usageStatus); + void updateEquipmentStatus(Long equipmentId, String usageStatus); - boolean updateCertificateValid(Long equipmentId, Date certificateValid); - - boolean updateCertificateInfo(Long equipmentId,String checkOrganization,Date checkDate, Date certificateValid,String meterIdentify); + void updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify); void removeCertificateInfo(Long equipmentId,Long certificateId); - Page remindListPage(Page page,EquipmentQueryFrom queryFrom); + Page remindListPage(Page page, EquipmentQueryForm queryForm); - Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryFrom); + List remindList(EquipmentQueryForm queryForm); + + Page certificateListPage(Page page, EquipmentCertificateQueryForm queryForm); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java index 06b6853..5fe001d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java @@ -212,6 +212,25 @@ } @Override + public List allExport(Q queryForm) { + QueryWrapper queryWrapper; + if(CollUtil.isEmpty(queryForm.getIds())){ + queryWrapper = commonQuery(queryForm); + queryWrapper.eq("approval_status",ApprovalStatusEnum.PASSED); + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + if(!ALL_TYPE.equals(dataScope.getScopeEnums())){ + queryWrapper.in("create_dept_id",dataScope.getDeptIds()); + } + }else { + queryWrapper = new QueryWrapper<>(); + queryWrapper.in("id",queryForm.getIds()); + } + List list = this.list(queryWrapper); + list.forEach(this::warpper); + return list; + } + + @Override public QueryWrapper commonQuery(Q queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); return queryWrapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java index 5e9824d..1ca0447 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java @@ -10,7 +10,7 @@ import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.equipment.EquipmentApprovalForm; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -53,7 +53,7 @@ */ @Service @Slf4j -public class EquipmentInfoApprovalServiceImpl extends CommonApprovalServiceImpl implements IEquipmentInfoApprovalService { +public class EquipmentInfoApprovalServiceImpl extends CommonApprovalServiceImpl implements IEquipmentInfoApprovalService { @Autowired private IEquipmentInfoService equipmentInfoService; @@ -251,7 +251,7 @@ } @Override - public QueryWrapper commonQuery(EquipmentQueryFrom queryForm) { + public QueryWrapper commonQuery(EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "equipment_no", queryForm.getEquipmentNo()); 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 469317b..ae66c93 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 @@ -13,17 +13,21 @@ 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.EquipmentStatusTypeEnum; import com.casic.missiles.enums.equipment.EquipmentTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; import com.casic.missiles.model.equipment.EquipmentInfo; import com.casic.missiles.mapper.equipment.EquipmentInfoMapper; import com.casic.missiles.service.equipment.*; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.service.status.IEquipmentStatusLogService; 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; @@ -46,16 +50,17 @@ private final IEquipmentTechnicalTargetService technicalTargetService; private final IRemindConfigService remindConfigService; private final IEquipmentSpecialCertificateService specialCertificateService; + private final IEquipmentStatusLogService statusLogService; private ISubcontractCertificateService subcontractCertificateService; @Autowired - public void setSubcontractCertificateService(ISubcontractCertificateService subcontractCertificateService){ + public void setSubcontractCertificateService(ISubcontractCertificateService subcontractCertificateService) { this.subcontractCertificateService = subcontractCertificateService; } @Override - public Page listPage(Page page,EquipmentQueryFrom queryFrom) { - QueryWrapper queryWrapper = commonQuery(queryFrom); + public Page listPage(Page page, EquipmentQueryForm queryForm) { + QueryWrapper queryWrapper = commonQuery(queryForm); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.selectListPage(page, dataScope, queryWrapper); list.forEach(this::warpEquipmentInfo); @@ -74,8 +79,8 @@ } @Override - public List list(EquipmentQueryFrom queryFrom) { - QueryWrapper queryWrapper = commonQuery(queryFrom); + public List list(EquipmentQueryForm queryForm) { + QueryWrapper queryWrapper = commonQuery(queryForm); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.selectList(dataScope, queryWrapper); list.forEach(this::warpEquipmentInfo); @@ -83,17 +88,17 @@ } @Override - public List groupByName(EquipmentQueryFrom queryFrom) { + public List groupByName(EquipmentQueryForm queryForm) { DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - if(!ScopeEnums.ALL_TYPE.equals(dataScope.getScopeEnums())){ + if (!ScopeEnums.ALL_TYPE.equals(dataScope.getScopeEnums())) { List dataScopeDeptIds = dataScope.getDeptIds(); - if(ObjectUtil.isNull(queryFrom.getDeptIds())){ - queryFrom.setDeptIds(new ArrayList<>()); + if (ObjectUtil.isNull(queryForm.getDeptIds())) { + queryForm.setDeptIds(new ArrayList<>()); } - queryFrom.getDeptIds().addAll(dataScopeDeptIds); + queryForm.getDeptIds().addAll(dataScopeDeptIds); } - QueryWrapper queryWrapper = commonQuery(queryFrom); + QueryWrapper queryWrapper = commonQuery(queryForm); queryWrapper.groupBy("equipment_name"); queryWrapper.select("equipment_name as 'equipmentName',count(*) as 'count'"); @@ -102,17 +107,23 @@ } - public QueryWrapper commonQuery(EquipmentQueryFrom queryForm) { + public QueryWrapper commonQuery(EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); - queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "equipment_no", queryForm.getEquipmentNo()); - queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentName()), "equipment_name", queryForm.getEquipmentName()); - queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getEquipmentType()), "equipment_type", queryForm.getEquipmentType()); - queryWrapper.like(StrUtil.isNotEmpty(queryForm.getUsePosition()), "use_position", queryForm.getUsePosition()); - queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getUsageStatus()), "usage_status", queryForm.getUsageStatus()); - queryWrapper.ge(StrUtil.isNotEmpty(queryForm.getCertificateValidStart()), "certificate_valid", queryForm.getCertificateValidStart()); - queryWrapper.le(StrUtil.isNotEmpty(queryForm.getCertificateValidEnd()), "certificate_valid", queryForm.getCertificateValidEnd()); - queryWrapper.eq("is_del",0); + if(CollUtil.isNotEmpty(queryForm.getIds())){ + queryWrapper.in("ids",queryForm.getIds()); + }else { + queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "equipment_no", queryForm.getEquipmentNo()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentName()), "equipment_name", queryForm.getEquipmentName()); + queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getEquipmentType()), "equipment_type", queryForm.getEquipmentType()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getUsePosition()), "use_position", queryForm.getUsePosition()); + queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getUsageStatus()), "usage_status", queryForm.getUsageStatus()); + queryWrapper.ge(StrUtil.isNotEmpty(queryForm.getCertificateValidStart()), "certificate_valid", queryForm.getCertificateValidStart()); + queryWrapper.le(StrUtil.isNotEmpty(queryForm.getCertificateValidEnd()), "certificate_valid", queryForm.getCertificateValidEnd()); + queryWrapper.in(CollUtil.isNotEmpty(queryForm.getUsageStatusList()), "usage_status", queryForm.getUsageStatusList()); + + } + queryWrapper.eq("is_del", 0); return queryWrapper; } @@ -120,33 +131,33 @@ public EquipmentInfoForm detail(Long equipmentId) { EquipmentInfoForm infoForm = new EquipmentInfoForm(); EquipmentInfo equipmentInfo = this.getById(equipmentId); - if(ObjectUtil.isNotEmpty(equipmentInfo)){ + if (ObjectUtil.isNotEmpty(equipmentInfo)) { warpEquipmentInfo(equipmentInfo); equipmentInfo.setCompanyName(permissionContext.getDeptService().getDeptName(equipmentInfo.getCompanyId())); equipmentInfo.setDeptName(permissionContext.getDeptService().getDeptName(equipmentInfo.getDeptId())); equipmentInfo.setGroupInfos(groupInfoService.selectByEquipment(equipmentId)); - BeanUtil.copyProperties(equipmentInfo,infoForm); + BeanUtil.copyProperties(equipmentInfo, infoForm); infoForm.setAttachments(attachmentService.selectByEquipment(equipmentId)); infoForm.setTechnicalTargetList(technicalTargetService.selectByEquipment(equipmentId)); - infoForm.setCertificateList(allCertificate(equipmentId,equipmentInfo.getEquipmentType())); + infoForm.setCertificateList(allCertificate(equipmentId, equipmentInfo.getEquipmentType())); } return infoForm; } @Override - public List allCertificate(Long equipmentId,String equipmentType){ + public 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)); + subcontractList.forEach(i -> i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SUBCONTRACT)); listAll.addAll(subcontractList); - if(EquipmentTypeEnum.EQUIPMENT_TYPE_SPECIAL.equals(equipmentType)){ + if (EquipmentTypeEnum.EQUIPMENT_TYPE_SPECIAL.equals(equipmentType)) { List specicalList = specialCertificateService.listByEquipment(equipmentId); - specicalList.forEach(i->i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SPECIAL)); + specicalList.forEach(i -> i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SPECIAL)); listAll.addAll(specicalList); } listAll.sort(new Comparator() { @@ -159,55 +170,53 @@ } @Override - public boolean updateEquipmentStatus(Long equipmentId,String usageStatus){ + public void updateEquipmentStatus(Long equipmentId, String usageStatus) { UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id",equipmentId); - updateWrapper.set("usage_status",usageStatus); - return this.update(updateWrapper); + updateWrapper.eq("id", equipmentId); + updateWrapper.set("usage_status", usageStatus); + this.update(updateWrapper); } @Override - public boolean updateCertificateValid(Long equipmentId, Date certificateValid) { - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id",equipmentId); - updateWrapper.set("certificate_valid",certificateValid); - return this.update(updateWrapper); - } - - @Override - public boolean updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify) { + @Transactional + public void updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify) { 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); + if (ObjectUtil.isNotEmpty(equipmentInfo)) { + if (ObjectUtil.isEmpty(equipmentInfo.getCertificateValid()) || equipmentInfo.getCertificateValid().before(certificateValid)) { + equipmentInfo.setCheckOrganization(checkOrganization); + equipmentInfo.setCheckDate(checkDate); + equipmentInfo.setCertificateValid(certificateValid); + if (StrUtil.isNotEmpty(meterIdentify)) { + equipmentInfo.setMeterIdentify(meterIdentify); } - return this.update(updateWrapper); + this.updateById(equipmentInfo); + //当设备证书有效期更新且未到期时,设备状态自动变更为启封 + if (!EquipmentStatusTypeEnum.UNSEAL.equals(equipmentInfo.getUsageStatus()) + && !EquipmentStatusTypeEnum.SCRAP.equals(equipmentInfo.getUsageStatus()) + && certificateValid.after(new Date())) { + this.updateEquipmentStatus(equipmentId, EquipmentStatusTypeEnum.UNSEAL); + statusLogService.saveLog(equipmentId, StatusApprovalTypeEnum.UNSEAL,"设备证书更新"); + } + } } - return false; } - public void removeCertificateInfo(Long equipmentId,Long certificateId){ + 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()); + 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()){ + 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()); + 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); } @@ -215,11 +224,11 @@ } @Override - public Page remindListPage(Page page,EquipmentQueryFrom queryFrom) { + public Page remindListPage(Page page, EquipmentQueryForm queryForm) { Integer remindTime = remindConfigService.getRemindTimeByDeptId(permissionContext.getAuthService().getLoginUser().getDeptId()); Calendar calendar = Calendar.getInstance(); - calendar.add(Calendar.DATE,remindTime); - QueryWrapper queryWrapper = commonQuery(queryFrom); + calendar.add(Calendar.DATE, remindTime); + QueryWrapper queryWrapper = commonQuery(queryForm); queryWrapper.le("certificate_valid", calendar.getTime()); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.selectListPage(page, dataScope, queryWrapper); @@ -229,7 +238,20 @@ } @Override - public Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryForm) { + public List remindList(EquipmentQueryForm queryForm) { + Integer remindTime = remindConfigService.getRemindTimeByDeptId(permissionContext.getAuthService().getLoginUser().getDeptId()); + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.DATE, remindTime); + QueryWrapper queryWrapper = commonQuery(queryForm); + queryWrapper.le("certificate_valid", calendar.getTime()); + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + List list = this.baseMapper.selectList(dataScope, queryWrapper); + list.forEach(this::warpEquipmentInfo); + return list; + } + + @Override + public Page certificateListPage(Page page, EquipmentCertificateQueryForm queryForm) { DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); QueryWrapper queryWrapper = new QueryWrapper<>(); @@ -240,7 +262,7 @@ 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("e.is_del", 0); queryWrapper.eq("c.approval_status", ApprovalStatusEnum.PASSED); List list = this.baseMapper.bizCertificateListPage(page, dataScope, queryWrapper); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java index 138cbf4..5bf434a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.impl.file; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; @@ -57,6 +58,8 @@ @Override public Page listPage(Page page, String fileNo, String fileName) { QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(StrUtil.isNotEmpty(fileNo),"file_no",fileNo); + queryWrapper.like(StrUtil.isNotEmpty(fileName),"file_name",fileName); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.listScopePage(page,dataScope,queryWrapper); list.forEach(i-> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/PlanNotifyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/PlanNotifyServiceImpl.java index 0cf2db9..1c102c2 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/PlanNotifyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/PlanNotifyServiceImpl.java @@ -20,6 +20,7 @@ import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -44,11 +45,18 @@ @Transactional public class PlanNotifyServiceImpl extends ServiceImpl implements IPlanNotifyService { - private final IPlanService planService; + private final IPlanEquipmentRelationService planRelationService; private final IPlanNotifyRelationService notifyRelationService; private final AbstractUserService userService; + private IPlanService planService; + + @Autowired + public void setPlanService(IPlanService planService){ + this.planService = planService; + } + /** * 发送送检通知 * diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java index 6f4d423..6878d5e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java @@ -4,24 +4,14 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; 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.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.datascope.DataScope; -import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.equipment.EquipmentApprovalForm; -import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; -import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; -import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.status.EquipmentStatusQueryForm; import com.casic.missiles.enums.ApprovalStatusEnum; import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.model.equipment.EquipmentInfo; -import com.casic.missiles.model.equipment.EquipmentInfoApproval; -import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.model.status.EquipmentStatusApproval; import com.casic.missiles.mapper.status.EquipmentStatusApprovalMapper; import com.casic.missiles.service.IBaseApprovalService; @@ -29,14 +19,12 @@ import com.casic.missiles.service.equipment.IEquipmentInfoService; import com.casic.missiles.service.impl.CommonApprovalServiceImpl; import com.casic.missiles.service.status.IEquipmentStatusApprovalService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.RequiredArgsConstructor; -import org.flowable.engine.runtime.ProcessInstance; import org.springframework.stereotype.Service; -import java.io.Serializable; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; @@ -131,8 +119,6 @@ break; case DELAY: equipmentInfoService.updateEquipmentStatus(approval.getEquipmentId(), EquipmentStatusTypeEnum.DELAY); - //todo 延长有效期 ?? - equipmentInfoService.updateCertificateValid(approval.getEquipmentId(),approval.getDelayTime()); break; default: break; @@ -155,6 +141,7 @@ queryWrapper.eq("approval.approval_status", queryForm.getApprovalStatus()); } List list = this.baseMapper.listPage(page, queryWrapper); + list.forEach(this::warpApprovalInfo); page.setRecords(list); return page; } @@ -177,6 +164,7 @@ approval.setTaskId(toBeApprovedDTO.getTaskId()); approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); } + warpApprovalInfo(approval); } page.setRecords(list); return page; @@ -191,6 +179,7 @@ QueryWrapper queryWrapper = commonQuery(queryForm); queryWrapper.in("approval.id", approvedIds); List list = this.baseMapper.listPage(page, queryWrapper); + list.forEach(this::warpApprovalInfo); page.setRecords(list); return page; } @@ -201,10 +190,20 @@ queryWrapper.eq("approval.approval_status",ApprovalStatusEnum.PASSED); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.listScopePage(dataScope, page, queryWrapper); + list.forEach(this::warpApprovalInfo); page.setRecords(list); return page; } + private void warpApprovalInfo(EquipmentStatusApproval i) { + try { + i.setCompanyName(permissionContext.getDeptService().getDeptName(i.getCompanyId())); + DictCodeUtils.convertDictCodeToName(i); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + @Override public QueryWrapper commonQuery(EquipmentStatusQueryForm queryForm) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusLogServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusLogServiceImpl.java index 0a84def..de1f710 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusLogServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusLogServiceImpl.java @@ -26,21 +26,30 @@ @Override public void saveLog(EquipmentStatusApproval statusApproval) { + this.saveLog(statusApproval.getEquipmentId(),statusApproval.getApprovalType(),statusApproval.getApprovalReason(),statusApproval.getCreateUserId(),statusApproval.getCreateUserName()); + } + + public void saveLog(Long equipmentId,String statusType,String reason){ + this.saveLog(equipmentId,statusType,reason,null,null); + } + + public void saveLog(Long equipmentId,String statusType,String reason, Long createUserId, String createUserName){ QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("equipment_id",statusApproval.getEquipmentId()); + queryWrapper.eq("equipment_id",equipmentId); queryWrapper.orderByDesc("start_time"); queryWrapper.last("limit 1"); EquipmentStatusLog lastLog = this.getOne(queryWrapper); if(ObjectUtil.isNotEmpty(lastLog)){ lastLog.setEndTime(new Date()); + this.updateById(lastLog); } EquipmentStatusLog newLog = new EquipmentStatusLog(); - newLog.setEquipmentId(statusApproval.getEquipmentId()); - newLog.setStatusType(statusApproval.getApprovalType()); + newLog.setEquipmentId(equipmentId); + newLog.setStatusType(statusType); newLog.setStartTime(new Date()); - newLog.setReason(statusApproval.getApprovalReason()); - newLog.setCreateUserId(statusApproval.getCreateUserId()); - newLog.setCreateUserName(statusApproval.getCreateUserName()); + newLog.setReason(reason); + newLog.setCreateUserId(createUserId); + newLog.setCreateUserName(createUserName); this.save(newLog); } 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 fcd7955..d86249b 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,5 +1,6 @@ package com.casic.missiles.service.impl.subcontract; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -71,6 +72,20 @@ } @Override + public List listScope(String certificateNo, String certificateName, String equipmentNo, String equipmentName, String subcontractorName, String createTimeStart, String createTimeEnd, List ids) { + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + dataScope.setScopeName("createDeptId"); + QueryWrapper queryWrapper; + if(CollUtil.isNotEmpty(ids)){ + queryWrapper = new QueryWrapper<>(); + queryWrapper.in("c.id",ids); + }else { + queryWrapper = commonQuery(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); + } + return this.baseMapper.listScope(dataScope,queryWrapper); + } + + @Override public List listBySubcontractor(Long subcontractorId) { return this.baseMapper.listBySubcontractor(subcontractorId); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractReviewRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractReviewRelationServiceImpl.java index 7ff04f6..01ab093 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractReviewRelationServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractReviewRelationServiceImpl.java @@ -39,10 +39,7 @@ @Override public List listByReview(Long reviewId) { - // todo - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("review_id", reviewId); - return this.list(queryWrapper); + return this.baseMapper.listByReview(reviewId); } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractReviewServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractReviewServiceImpl.java index b645210..e8c8db4 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractReviewServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractReviewServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.impl.subcontract; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.casic.missiles.dto.subcontract.SubcontractReviewForm; @@ -61,7 +62,9 @@ @Override public SubcontractReviewForm detail(Long reviewId) { - SubcontractReviewForm form = (SubcontractReviewForm) this.getById(reviewId); + SubcontractReview review = this.getById(reviewId); + SubcontractReviewForm form = new SubcontractReviewForm(); + BeanUtil.copyProperties(review,form); Subcontractor subcontractor = subcontractorService.getById(form.getSubcontractorId()); form.setFax(subcontractor.getFax()); form.setAddress(subcontractor.getAddress()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/status/IEquipmentStatusLogService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/status/IEquipmentStatusLogService.java index 179b6c2..f4134d0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/status/IEquipmentStatusLogService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/status/IEquipmentStatusLogService.java @@ -18,5 +18,9 @@ void saveLog(EquipmentStatusApproval statusApproval); + void saveLog(Long equipmentId,String statusType,String reason); + + void saveLog(Long equipmentId,String statusType,String reason, Long createUserId, String createUserName); + List listByEquipment(Long equipmentId); } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java index 0c88628..c7c78fb 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentStatusTypeEnum.java @@ -5,7 +5,7 @@ /** * 设备状态申请:封存 */ - String SEAL= "1"; + String SEAL= "3"; /** * 设备状态申请:启封(在用) */ @@ -13,13 +13,13 @@ /** * 设备状态申请:禁用 */ - String DISABLE= "3"; + String DISABLE= "1"; /** * 设备状态申请:报废 */ - String SCRAP= "4"; + String SCRAP= "2"; /** * 设备状态申请:延用 */ - String DELAY= "5"; + String DELAY= "4"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java index 250d886..2039244 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CasicBeanUtil.java @@ -52,7 +52,7 @@ break; } } - if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null)) { + if ((beforeValue != null && !"".equals(beforeValue) && !beforeValue.equals(afterValue)) || ((beforeValue == null || "".equals(beforeValue)) && afterValue != null && !"".equals(afterValue))) { return false; } } catch (IllegalAccessException e) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 1aab5c1..a7e6947 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -31,9 +31,9 @@ continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); - if (StringUtils.isEmpty(name)) { - throw new BusinessException(500, dictCodeField.message()); - } +// if (StringUtils.isEmpty(name)) { +// throw new BusinessException(500, dictCodeField.message()); +// } String destFieldName = field.getName() + "Name"; Field destField = object.getClass().getDeclaredField(destFieldName); if (destField == null) { 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 18356e2..c3a92fc 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 @@ -26,7 +26,7 @@ List bizCertificateListPage(@Param("page") Page page, @Param("dataScope") DataScope dataScope, - @Param("ew") QueryWrapper queryFrom); + @Param("ew") QueryWrapper queryForm); List bizCertificateList(@Param("equipmentId") Long equipmentId); 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 749feff..e3dba22 100644 --- a/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/subcontract/SubcontractCertificateMapper.xml @@ -48,7 +48,7 @@ c.check_date as checkDate, c.certificate_valid as certificateValid, c.meter_identify as meterIdentify, - c.original_record as origianlRecord, + c.original_record as originalRecord, c.certificate_report as certificateReport, c.create_time as createTime, c.update_time as updateTime, diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml index b7e5779..2d66c01 100644 --- a/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/system/SystemRfidMapper.xml @@ -24,16 +24,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + @@ -47,16 +49,18 @@ SELECT r.rfid as rfid, r.deptId as deptId, - if(e.id is null,"0","1") as useStatus, - e.equipment_no as equipmnetNo, + if(e.id is null,"0","1") as usageStatus, + e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.use_position as usePosition, e.director_name as directorName FROM r left join eqpt_equipment_info e on r.rfid = e.rfid - - ${ew.sqlSegment} - + + + ${ew.sqlSegment} + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java index 062693e..e8edd4a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/CasicApiApplication.java @@ -1,11 +1,15 @@ package com.casic.missiles; +import cn.hutool.core.annotation.AnnotationUtil; +import com.casic.missiles.annotation.EqptExportModel; +import com.casic.missiles.model.plan.Plan; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java index 1fda525..8dbc1fd 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/CommonApprovalController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.BaseQueryForm; @@ -23,8 +24,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; +import java.util.List; -public class CommonApprovalController extends BaseController { + +public class CommonApprovalController extends ExportController { private ICommonApprovalService service; @@ -106,4 +111,13 @@ page = service.allPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("全部列表导出") + @PostMapping("/allExport") + @ResponseBody + public void allExport(@RequestBody Q queryForm) throws IOException { + List list = service.allExport(queryForm); + Class entityClass = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; + super.exportExcel(entityClass,list,""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java index 69f04b5..7e220ef 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentApprovalController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; @@ -15,8 +15,6 @@ import com.casic.missiles.model.equipment.EquipmentInfoApproval; import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService; 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; @@ -89,18 +87,18 @@ @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") @PostMapping("/approval/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.listPage(page, queryFrom); + page = approvalService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @ApiOperation("审批列表-待审批") @PostMapping("/approval/toApprovalListPage") @ResponseBody - public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> toApprovalListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.toApprovalListPage(page, queryFrom); + page = approvalService.toApprovalListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -108,9 +106,9 @@ @ApiOperation("审批列表-已审批") @PostMapping("/approval/approvedListPage") @ResponseBody - public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> approvedListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = approvalService.approvedListPage(page, queryFrom); + page = approvalService.approvedListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } 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 627a277..3e5b766 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 @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; @@ -19,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.lang.reflect.ParameterizedType; import java.util.List; @Api(tags = "设备管理接口") @@ -26,16 +28,16 @@ @Controller @RequestMapping("/equipment") @RequiredArgsConstructor -public class EquipmentInfoController extends BaseController { +public class EquipmentInfoController extends ExportController { private final IEquipmentInfoService equipmentInfoService; @ApiOperation("设备分页列表") @PostMapping("/info/listPage") @ResponseBody - public ReturnDTO> listPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> listPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.listPage(page, queryFrom); + page = equipmentInfoService.listPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } @@ -43,17 +45,25 @@ @ApiOperation("设备列表") @PostMapping("/info/list") @ResponseBody - public ReturnDTO> list(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.list(queryFrom); + public ReturnDTO> list(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.list(queryForm); return ReturnUtil.success(list); } + + @ApiOperation("设备列表导出") + @PostMapping("/info/export") + @ResponseBody + public void listExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.list(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } @ApiOperation("设备聚合列表") @PostMapping("/info/groupByName") @ResponseBody - public ReturnDTO> groupByName(@RequestBody EquipmentQueryFrom queryFrom) { - List list = equipmentInfoService.groupByName(queryFrom); + public ReturnDTO> groupByName(@RequestBody EquipmentQueryForm queryForm) { + List list = equipmentInfoService.groupByName(queryForm); return ReturnUtil.success(list); } @@ -71,18 +81,26 @@ @ApiOperation("到期提醒分页列表") @PostMapping("/remind/listPage") @ResponseBody - public ReturnDTO> remindListPage(@RequestBody EquipmentQueryFrom queryFrom) { + public ReturnDTO> remindListPage(@RequestBody EquipmentQueryForm queryForm) { Page page = PageFactory.defaultPage(); - page = equipmentInfoService.remindListPage(page, queryFrom); + page = equipmentInfoService.remindListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } + @ApiOperation("到期提醒列表导出") + @PostMapping("/remind/listExport") + @ResponseBody + public void remindListExport(@RequestBody EquipmentQueryForm queryForm) throws IOException { + List list = equipmentInfoService.remindList(queryForm); + super.exportExcel(EquipmentInfo.class,list,""); + } + @ApiOperation("证书管理分页列表") @PostMapping("/certificate/listPage") @ResponseBody - public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryFrom queryFrom){ + public ReturnDTO> certificateListPage(@RequestBody EquipmentCertificateQueryForm queryForm){ Page page = PageFactory.defaultPage(); - page = equipmentInfoService.certificateListPage(page, queryFrom); + page = equipmentInfoService.certificateListPage(page, queryForm); return ReturnUtil.success(super.packForBT(page)); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java index 9717b78..c340737 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/PlanController.java @@ -81,79 +81,4 @@ return ReturnUtil.success(relationService.listByPlanAndName(planId,equipmentName)); } -// @ApiOperation("删除审批") -// @PostMapping("/approval/delete") -// @ResponseBody -// public ReturnDTO deleteApproval(Long id) { -// planService.removeApproval(id); -// return ReturnUtil.success(); -// } -// -// @ApiOperation("提交审批") -// @PostMapping("/approval/submit") -// @ResponseBody -// public ReturnDTO submitApproval(@RequestBody ApprovalSubmitRequest submitRequest) { -// return planService.submitApproval(submitRequest); -// } -// -// @ApiOperation("取消审批") -// @PostMapping("/approval/cancel") -// @ResponseBody -// public ReturnDTO cancelApproval(@RequestBody ApprovalRevokeRequest revokeRequest) { -// return planService.cancelApproval(revokeRequest); -// } -// -// @ApiOperation("同意审批") -// @PostMapping("/approval/agree") -// @ResponseBody -// public ReturnDTO agreeApproval(@RequestBody BaseApprovalRequest agreeRequest) { -// return planService.agreeApproval(agreeRequest); -// } -// -// @ApiOperation("拒绝审批") -// @PostMapping("/approval/refuse") -// @ResponseBody -// public ReturnDTO refuseApproval(@RequestBody BaseApprovalRequest refuseRequest) { -// return planService.refuseApproval(refuseRequest); -// } -// -// -// -// @ApiOperation("审批列表-审批/草稿箱/审批中/已通过/未通过/已取消") -// @PostMapping("/approval/listPage") -// @ResponseBody -// public ReturnDTO> listPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.listPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// @ApiOperation("审批列表-待审批") -// @PostMapping("/approval/toApprovalListPage") -// @ResponseBody -// public ReturnDTO> toApprovalListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.toApprovalListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("审批列表-已审批") -// @PostMapping("/approval/approvedListPage") -// @ResponseBody -// public ReturnDTO> approvedListPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.approvedListPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } -// -// -// @ApiOperation("全部列表") -// @PostMapping("/allPage") -// @ResponseBody -// public ReturnDTO> allPage(@RequestBody PlanQueryForm queryForm) { -// Page page = PageFactory.defaultPage(); -// page = planService.allPage(page, queryForm); -// return ReturnUtil.success(super.packForBT(page)); -// } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java index d3673ac..b798a3a 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractCertificateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -15,19 +16,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.List; + @Controller @RequestMapping("/subcontract/certificate") @Slf4j @Api(tags = "分包证书模块") @RequiredArgsConstructor -public class SubcontractCertificateController extends BaseController { +public class SubcontractCertificateController extends ExportController { private final ISubcontractCertificateService certificateService; @ApiOperation("新建/编辑") @PostMapping("/addOrUpdate") @ResponseBody - public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate){ + public ReturnDTO addOrUpdate(@RequestBody SubcontractCertificate certificate) { certificateService.saveOrUpdateInfo(certificate); return ReturnUtil.success(); } @@ -35,7 +39,7 @@ @ApiOperation("删除证书") @PostMapping("remove") @ResponseBody - public ReturnDTO remove(Long id){ + public ReturnDTO remove(Long id) { certificateService.removeInfo(id); return ReturnUtil.success(); } @@ -43,11 +47,22 @@ @ApiOperation("分页列表") @GetMapping("/listPage") @ResponseBody - public ReturnDTO> listPage(String certificateNo,String certificateName, - String equipmentNo,String equipmentName,String subcontractorName, - String createTimeStart,String createTimeEnd){ + public ReturnDTO> listPage(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd) { Page page = PageFactory.defaultPage(); - page = certificateService.listScopePage(page,certificateNo,certificateName,equipmentNo,equipmentName,subcontractorName,createTimeStart,createTimeEnd); + page = certificateService.listScopePage(page, certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); return ReturnUtil.success(super.packForBT(page)); } + + @ApiOperation("导出") + @PostMapping("/export") + @ResponseBody + public void export(String certificateNo, String certificateName, + String equipmentNo, String equipmentName, String subcontractorName, + String createTimeStart, String createTimeEnd, + @RequestParam("ids") List ids) throws IOException { + List list = certificateService.listScope(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd, ids); + super.exportExcel(SubcontractCertificate.class, list, ""); + } } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java index 9c9611b..85283b4 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/subcontract/SubcontractorController.java @@ -24,7 +24,6 @@ @Autowired private ISubcontractorService service; - public SubcontractorController(ISubcontractorService service) { super(service); } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java index a1da97f..3dca093 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemRfidController.java @@ -46,6 +46,7 @@ @ApiOperation("导出") @PostMapping("export") + @ResponseBody public void export(String rfid, String equipmentNo, String equipmentName, String useStatus,@RequestParam(value = "rfids",required = false) List rfids) throws IOException { List list = rfidService.list(rfid,equipmentNo,equipmentName,useStatus,rfids); super.exportExcel(RfidListDTO.class, list, ExportEnum.RFID_EXPORT.getSheetName()); diff --git a/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java new file mode 100644 index 0000000..72514d8 --- /dev/null +++ b/casic-metering-job/src/main/java/com/casic/missiles/job/handler/EquipmentExpireJobHandler.java @@ -0,0 +1,66 @@ +package com.casic.missiles.job.handler; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; +import com.casic.missiles.model.equipment.EquipmentInfo; +import com.casic.missiles.model.status.EquipmentStatusApproval; +import com.casic.missiles.service.equipment.IEquipmentInfoService; +import com.casic.missiles.service.status.IEquipmentStatusApprovalService; +import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@RequiredArgsConstructor +public class EquipmentExpireJobHandler { + + private final IEquipmentInfoService equipmentInfoService; + private final IEquipmentStatusApprovalService statusApprovalService; + private final IEquipmentStatusLogService statusLogService; + + /** + * 当(在用/延用状态的)设备证书有效期过期、且超过延用时效,设备状态自动变更为禁用 + */ + @XxlJob("equipmentExpireJobHandler") + public void equipmentExpireHandler(){ + XxlJobHelper.log("check equipment expire"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_del", 0); + queryWrapper.lt("certificate_valid", new Date()); + queryWrapper.and(i->i.eq("usage_status", EquipmentStatusTypeEnum.UNSEAL).or().eq("usage_status",EquipmentStatusTypeEnum.DELAY)); + List equipmentInfoList = equipmentInfoService.list(); + + for (EquipmentInfo equipmentInfo : equipmentInfoList) { + // 延用状态时,获取延用时效 + if(EquipmentStatusTypeEnum.DELAY.equals(equipmentInfo.getUsageStatus())){ + QueryWrapper statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("equipment_id",equipmentInfo.getId()); + statusQueryWrapper.eq("", StatusApprovalTypeEnum.DELAY); + statusQueryWrapper.orderByDesc("create_time"); + statusQueryWrapper.last("limit 1"); + EquipmentStatusApproval statusApproval = statusApprovalService.getOne(statusQueryWrapper); + if(ObjectUtil.isNotEmpty(statusApproval) && statusApproval.getDelayTime().after(new Date())){ + continue; + } + } + + // 设为禁用 + equipmentInfo.setUsageStatus(EquipmentStatusTypeEnum.DISABLE); + equipmentInfoService.updateById(equipmentInfo); + // 添加流转日志 + statusLogService.saveLog(equipmentInfo.getId(),StatusApprovalTypeEnum.DISABLE,"设备证书到期"); + XxlJobHelper.log(String.format("update equipment %s status",equipmentInfo.getEquipmentNo())); + } + } + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java new file mode 100644 index 0000000..5ac3b6a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/EqptExportModel.java @@ -0,0 +1,44 @@ +package com.casic.missiles.annotation; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import org.springframework.core.annotation.AliasFor; + +import java.lang.annotation.*; + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@ColumnWidth +@HeadRowHeight +@ContentRowHeight +@ContentStyle +public @interface EqptExportModel { + + String value() default "test"; + + @AliasFor(annotation = ColumnWidth.class, attribute = "value") + int columnWidth() default 35; + + @AliasFor(annotation = HeadRowHeight.class, attribute = "value") + short headRowHeight() default 20; + + @AliasFor(annotation = ContentRowHeight.class, attribute = "value") + short contentRowHeight() default 20; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderLeft() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderRight() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderTop() default BorderStyleEnum.THIN; + + @AliasFor(annotation = ContentStyle.class) + BorderStyleEnum borderBottom() default BorderStyleEnum.THIN; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 0b7172c..3addd20 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -7,6 +7,43 @@ */ public interface MeterDictCode { + /** + * 通用 + */ + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + + /** + * 受检系统 + */ + // 系统前缀 + String DICT_PREFIX = "eqpt"; + //受检设备使用状态 + String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; + // 设备申请类型 + String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; + // 设备状态申请类型 + String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; + // 设备计量标识 + String EQUIPMENT_METER_IDENTITY = DICT_PREFIX + "MeterIdentify"; + // 计量计划计划分类 + String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; + // 计量计划执行情况 + String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; + // 计量计划检定完成度 + String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; + // 文档变更类型 + String FILE_LOG_TYPE = DICT_PREFIX + "FileLogType"; + + String FILE_TYPE = DICT_PREFIX + "FileType"; + + String FILE_IMPLEMENT_STATUS = DICT_PREFIX + "ImplementStatus"; + + String RFID_USAGE_STATUS = DICT_PREFIX + "RfidUsageStatus"; + + /** + * 业务管理 + */ //委托方签名情况 String SIGN_STATUS = "bizSignStatus"; //组别代码/培训组别 @@ -17,134 +54,11 @@ String SAMPLE_STATUS = "sampleStatus"; //检定方式 String MEASURE_TYPE = "measureType"; - - String DICT_PREFIX = "eqpt"; - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; -// String APPROVAL_STATUS = DICT_PREFIX + "ApprovalStatus"; - - - String PLAN_CATEGORY = DICT_PREFIX + "PlanType"; - String PLAN_EXECUTE_STATUS = DICT_PREFIX + "PlanExecuteStatus"; - - String PLAN_CHECK_COMPLETION = DICT_PREFIX + "PlanCheckCompletion"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - - /** - * 设备台账字典code - */ - //设备类别 - String EQUIPMENT_USAGE_STATUS = DICT_PREFIX + "DeviceUseStatus"; - - String EQUIPMENT_APPROVAL_TYPE = DICT_PREFIX + "EquipmentApprovalType"; - - String EQUIPMENT_STATUS_APPROVAL_TYPE = DICT_PREFIX + "EquipmentStatusApprovalType"; - - - //设备类别 - String EQUIPMENT_CATEGORY = "bizEquipmentCategory"; - //计量标识 - String METER_IDENTIFY = "bizMeterIdentify"; - //设备类型 - String EQUIPMENT_TYPE = "bizEquipmentType"; - //标准类型 - String STANDARD_TYPE = "bizStandardType"; - //等级 - String EQUIPMENT_LEVEL = "bizEquipmentLevel"; - //使用状态 - String USAGE_STATUS = "bizUsageStatus"; - //检定周期 - String MEASURE_CYCLE = "bizMeasureCycle"; - - //管理状态 - String MANAGER_STATE = "managerState"; - //ABC 设备级别 - String ABC = "ABC"; - // 检定周期 - String MESURE_CYCLE = "mesureCycle"; - //专业分类 - String MAJOR_CATEGORY = "majorCategory"; - //检定结果 - String MESURE_RESULT = "mesureResult"; - //管理级别 - String MANAGER_LEVEL = "managerLevel"; - //折旧方法 - String DEPRECIATION_METHOD = "depreciationMethod"; - - /** - * 标准装置 字典code - */ - //类别 - String STANDARD_CATEGORY = "standardCategory"; - //管理状态 - String STANDARD_MANAGER_STATE = "standardManagerState"; - //标准等级 - String STANDARD_LEVEL = "standardLevel"; - //传递范围 - String STANDARD_TRANSMIT_RANGE = "transmitRange"; - //计量专业 - String MEASURE_MAJOR = "measureMajor"; - //资本来源 - String CAPITAL_SOURCE = "capitalSource"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_TYPE = "equipmentApplyType"; - //设备-申请类型 - String EQUIPMENT_APPLY_PROCESS_RESULT = "equipmentApplyProcessResult"; - //检查结果 - String CHECK_RESULT = "checkResult"; - //检查结果 - String ACCEPTANCE_CHECK_RESULT = "acceptanceCheckResult"; - - /** - * 业务管理 - */ //委托书状态 String ORDER_STATUS = "orderStatus"; //检测状态 String MEASURE_STATUS = "measureStatus"; - //打印状态 - String PRINT_STATUS = "printStatus"; - //证书类型 - String CERTIFICATE_TYPE = "certificationType"; - //证书类别 - String CERTIFICATE_CLASS = "certificationClass"; - //证书管理-检校专业 - String CALIBRATION_MAJOR = "calibrationMajor"; - //分包原因 - String OUTSOURCE_REASON = "outsourceReason"; - - /** - * 工作台 - */ - String MESSAGE_TYPE = "messageType"; - - String MESSAGE_SOURCE_MODULE = "messageSourceModule"; - // APP全局查询类型 - String APP_AGGREGATE_QUERY_TYPE = "appAggregateQueryType"; - String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; - String CONFIG_FILE_TYPE = "configFileType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java new file mode 100644 index 0000000..e682e99 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/converter/DateExcelConverter.java @@ -0,0 +1,34 @@ +package com.casic.missiles.converter; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.GlobalConfiguration; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.metadata.property.ExcelContentProperty; + +import java.util.Date; + +public class DateExcelConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + return Date.class; + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + return CellDataTypeEnum.STRING; + } + + @Override + public Date convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return DateUtil.parseDate(cellData.getStringValue()); + } + + @Override + public WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { + return new WriteCellData<>(DateUtil.formatDate(value)); + } +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java index 82e4c8f..c4de1e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseQueryForm.java @@ -4,6 +4,8 @@ import lombok.Getter; import lombok.Setter; +import java.util.List; + @Getter @Setter public class BaseQueryForm { @@ -13,4 +15,7 @@ @ApiModelProperty("流程formId(待审批/已审批列表传)") private String formId; + + @ApiModelProperty("id列表(导出接口传)") + private List ids; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java new file mode 100644 index 0000000..6284acf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryForm.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.equipment; + +import com.casic.missiles.dto.BaseQueryForm; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EquipmentCertificateQueryForm 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/dto/equipment/EquipmentCertificateQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java deleted file mode 100644 index 35d2d47..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentCertificateQueryFrom.java +++ /dev/null @@ -1,34 +0,0 @@ -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/dto/equipment/EquipmentQueryForm.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java new file mode 100644 index 0000000..040a368 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryForm.java @@ -0,0 +1,41 @@ +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 EquipmentQueryForm extends BaseQueryForm { + + @ApiModelProperty("统一编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("设备类型(1受检设备;2特种设备)") + private String equipmentType; + + @ApiModelProperty("使用部门") + private List deptIds; + + @ApiModelProperty("使用岗位") + private String usePosition; + + @ApiModelProperty("使用状态") + private String usageStatus; + + @ApiModelProperty("证书有效期开始时间") + private String certificateValidStart; + + @ApiModelProperty("证书有效期结束时间") + private String certificateValidEnd; + + @ApiModelProperty("使用状态列表") + private List usageStatusList; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java deleted file mode 100644 index f5f4a61..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentQueryFrom.java +++ /dev/null @@ -1,38 +0,0 @@ -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 EquipmentQueryFrom extends BaseQueryForm { - - @ApiModelProperty("统一编号") - private String equipmentNo; - - @ApiModelProperty("设备名称") - private String equipmentName; - - @ApiModelProperty("设备类型(1受检设备;2特种设备)") - private String equipmentType; - - @ApiModelProperty("使用部门") - private List deptIds; - - @ApiModelProperty("使用岗位") - private String usePosition; - - @ApiModelProperty("使用状态") - private String usageStatus; - - @ApiModelProperty("证书有效期开始时间") - private String certificateValidStart; - - @ApiModelProperty("证书有效期结束时间") - private String certificateValidEnd; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java index 391bfe0..2d3bd33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/RfidListDTO.java @@ -7,6 +7,8 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,6 +31,7 @@ @ExcelIgnore @ApiModelProperty("使用情况") + @DictCodeField(cacheName = MeterDictCode.RFID_USAGE_STATUS) private String usageStatus; @ExcelProperty("使用情况") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java index f0515a5..d4b7ab5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/CommonApproval.java @@ -1,5 +1,11 @@ package com.casic.missiles.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModelProperty; @@ -9,6 +15,11 @@ @Getter @Setter +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class CommonApproval { @ApiModelProperty("主键") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java index 724e9d8..e08ea2a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentInfo.java @@ -1,5 +1,13 @@ package com.casic.missiles.model.equipment; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; @@ -12,6 +20,7 @@ import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -27,6 +36,11 @@ @Getter @Setter @TableName("eqpt_equipment_info") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class EquipmentInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -40,6 +54,7 @@ */ @ApiModelProperty("设备编号") @TableField("equipment_no") + @ExcelProperty(value = "统一编号",index = 0) private String equipmentNo; /** @@ -47,6 +62,7 @@ */ @ApiModelProperty("设备名称") @TableField("equipment_name") + @ExcelProperty(value = "设备名称",index = 1) private String equipmentName; /** @@ -66,6 +82,7 @@ @ApiModelProperty("使用状态名称") @TableField(exist = false) + @ExcelProperty(value = "使用状态",index = 8) private String usageStatusName; /** @@ -94,6 +111,7 @@ */ @ApiModelProperty("出厂编号") @TableField("manufacture_no") + @ExcelProperty(value = "出厂编号",index = 3) private String manufactureNo; /** @@ -122,6 +140,7 @@ */ @ApiModelProperty("型号规格") @TableField("model") + @ExcelProperty(value = "型号规格",index = 2) private String model; /** @@ -165,6 +184,8 @@ */ @ApiModelProperty("检定周期(月)") @TableField("check_cycle") + @ExcelProperty(value = "检定周期(月)",index = 6) + @ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN, horizontalAlignment = HorizontalAlignmentEnum.LEFT) private Integer checkCycle; /** @@ -172,6 +193,7 @@ */ @ApiModelProperty("备注") @TableField("remark") + @ExcelProperty(value = "备注",index = 9) private String remark; /** @@ -200,6 +222,7 @@ */ @ApiModelProperty("证书有效期") @TableField("certificate_valid") + @ExcelProperty(value = "证书有效期",index = 7, converter = DateExcelConverter.class) private Date certificateValid; /** @@ -207,13 +230,20 @@ */ @ApiModelProperty("计量标识") @TableField("meter_identify") + @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) private String meterIdentify; + @ApiModelProperty("计量标识名称") + @TableField(exist = false) + @ExcelProperty(value = "计量标识",index = 5) + private String meterIdentifyName; + /** * 使用岗位 */ @ApiModelProperty("使用岗位") @TableField("use_position") + @ExcelProperty(value = "使用岗位",index = 4) private String usePosition; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java index 4e884eb..63bef34 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFile.java @@ -8,10 +8,14 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_IMPLEMENT_STATUS; +import static com.casic.missiles.constants.MeterDictCode.FILE_TYPE; + /** *

* 受检设备-文档管理 @@ -81,15 +85,25 @@ */ @ApiModelProperty("文件类别") @TableField("file_type") + @DictCodeField(cacheName = FILE_TYPE) private String fileType; + @ApiModelProperty("文件类型名称") + @TableField(exist = false) + private String fileTypeName; + /** * 实施状态 */ @ApiModelProperty("实施状态") @TableField("implementation_status") + @DictCodeField(cacheName = FILE_IMPLEMENT_STATUS) private String implementationStatus; + @ApiModelProperty("实施状态名称") + @TableField(exist = false) + private String implementationStatusName; + /** * 文件附件 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java index 5862e11..fdd06e1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/file/EqptFileLog.java @@ -8,10 +8,13 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import static com.casic.missiles.constants.MeterDictCode.FILE_LOG_TYPE; + /** *

* 受检设备-文档管理-变更记录表 @@ -46,8 +49,13 @@ */ @ApiModelProperty("变更类型") @TableField("log_type") + @DictCodeField(cacheName = FILE_LOG_TYPE) private String logType; + @ApiModelProperty("变更类型名称") + @TableField(exist = false) + private String logTypeName; + /** * 变更人id */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java index 662e2f6..a01b8d9 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/InspectionApproval.java @@ -1,13 +1,19 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; + import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; +import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -29,18 +35,20 @@ /** * 主键 */ - @TableId("id") + @TableId("id") private Long id; /** * 申请编号 */ @TableField("approval_no") + @ExcelProperty("申请编号") private String approvalNo; /** * 申请名称 */ + @ExcelProperty("申请名称") @TableField("approval_name") private String approvalName; @@ -55,31 +63,6 @@ */ @TableField("reason") private String reason; - - /** - * 创建人id - */ - @TableField("create_user_id") - private Long createUserId; - - /** - * 创建人姓名 - */ - @TableField("create_user_name") - private String createUserName; - - /** - * 创建时间 - */ - @TableField("create_time") - private Date createTime; - - /** - * 更新时间 - */ - @TableField("update_time") - private Date updateTime; - /** * 创建人部门id */ @@ -89,8 +72,36 @@ /** * 创建人部门名称 */ + @ExcelProperty("创建单位") @TableField("create_dept_name") private String createDeptName; + /** + * 创建人id + */ + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ExcelProperty("创建人") + @TableField("create_user_name") + private String createUserName; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) + @TableField("create_time") + private Date createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + private Date updateTime; + + /** * 流程实例id @@ -102,7 +113,12 @@ * 申请状态 */ @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java index 7d6be90..97b522a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/plan/Plan.java @@ -1,14 +1,22 @@ package com.casic.missiles.model.plan; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; import java.util.Date; import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.annotation.EqptExportModel; import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -41,6 +49,7 @@ */ @ApiModelProperty("计划编号") @TableField("plan_no") + @ExcelProperty("计划编号") private String planNo; /** @@ -48,6 +57,7 @@ */ @ApiModelProperty("计划名称") @TableField("plan_name") + @ExcelProperty("计划名称") private String planName; /** @@ -60,6 +70,7 @@ @ApiModelProperty("计划分类名称") @TableField(exist = false) + @ExcelProperty("计划分类") private String planCategoryName; /** @@ -97,19 +108,7 @@ @TableField("remark") private String remark; - /** - * 创建人id - */ - @ApiModelProperty("创建人id") - @TableField("create_user_id") - private Long createUserId; - /** - * 创建人姓名 - */ - @ApiModelProperty("创建人姓名") - @TableField("create_user_name") - private String createUserName; /** * 创建单位id @@ -123,13 +122,29 @@ */ @ApiModelProperty("创建单位名称") @TableField("create_dept_name") + @ExcelProperty("创建单位") private String createDeptName; + /** + * 创建人id + */ + @ApiModelProperty("创建人id") + @TableField("create_user_id") + private Long createUserId; + + /** + * 创建人姓名 + */ + @ApiModelProperty("创建人姓名") + @TableField("create_user_name") + @ExcelProperty("创建人") + private String createUserName; /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java index 79461e6..ce39fb7 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusApproval.java @@ -8,6 +8,8 @@ import java.util.Date; import java.util.List; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; import com.casic.missiles.model.CommonApproval; import com.casic.missiles.model.equipment.EquipmentAttachment; import com.casic.missiles.model.equipment.EquipmentInfo; @@ -64,9 +66,10 @@ */ @ApiModelProperty("申请状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; - @ApiModelProperty("申请状态名称") + @ApiModelProperty("审批状态名称") @TableField(exist = false) private String approvalStatusName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java index 130f5cf..7e4a4de 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/status/EquipmentStatusLog.java @@ -40,11 +40,11 @@ @TableField("status_type") @ApiModelProperty("状态变更类型") + @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusType; @TableField(exist = false) @ApiModelProperty("状态变更类型名称") - @DictCodeField(cacheName = EQUIPMENT_STATUS_APPROVAL_TYPE) private String statusTypeName; @TableField("start_time") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java index db5162e..ddbf003 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractCertificate.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +15,7 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.converter.DateExcelConverter; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -23,6 +31,11 @@ @Getter @Setter @TableName("eqpt_subcontract_certificate") +@ExcelIgnoreUnannotated +@ColumnWidth(35) +@HeadRowHeight(20) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) public class SubcontractCertificate implements Serializable { private static final long serialVersionUID = 1L; @@ -39,6 +52,7 @@ */ @ApiModelProperty("证书编号") @TableField("certificate_no") + @ExcelProperty(value = "证书号",index = 0) private String certificateNo; /** @@ -46,6 +60,7 @@ */ @ApiModelProperty("证书名称") @TableField("certificate_name") + @ExcelProperty(value = "证书名称",index = 1) private String certificateName; /** @@ -67,6 +82,7 @@ */ @ApiModelProperty("检测单位名称") @TableField(exist = false) + @ExcelProperty(value = "检测单位",index = 6) private String subcontractorName; /** @@ -81,6 +97,7 @@ */ @ApiModelProperty("受检设备编号") @TableField(exist = false) + @ExcelProperty(value = "样品编号",index = 2) private String equipmentNo; /** @@ -88,6 +105,7 @@ */ @ApiModelProperty("受检设备名称") @TableField(exist = false) + @ExcelProperty(value = "样品名称",index = 3) private String equipmentName; /** @@ -95,6 +113,7 @@ */ @ApiModelProperty("出厂编号") @TableField(exist = false) + @ExcelProperty(value = "出厂编号",index = 5) private String equipmentManufactureNo; /** @@ -102,6 +121,7 @@ */ @ApiModelProperty("型号") @TableField(exist = false) + @ExcelProperty(value = "型号",index = 4) private String equipmentModel; /** @@ -144,6 +164,7 @@ */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间",index = 7, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java index 5339e10..7ae7965 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractReview.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -7,6 +8,9 @@ import java.io.Serializable; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -39,6 +43,7 @@ */ @ApiModelProperty("评审表编号") @TableField("review_no") + @ExcelProperty(value = "评审表编号",index = 0) private String reviewNo; /** @@ -46,6 +51,7 @@ */ @ApiModelProperty("评审表名称") @TableField("review_name") + @ExcelProperty(value = "评审表名称",index = 1) private String reviewName; /** @@ -60,6 +66,7 @@ */ @ApiModelProperty("申请人姓名") @TableField("create_user_name") + @ExcelProperty(value = "申请人",index = 4) private String createUserName; /** @@ -81,6 +88,7 @@ */ @ApiModelProperty("创建时间(即申请时间)") @TableField("create_time") + @ExcelProperty(value = "申请时间",index = 5, converter = DateExcelConverter.class) private Date createTime; /** @@ -109,6 +117,7 @@ */ @ApiModelProperty("分包机构名称(冗余字段)") @TableField("subcontractor_company_name") + @ExcelProperty(value = "分包机构名称",index = 2) private String subcontractorCompanyName; /** @@ -116,6 +125,7 @@ */ @ApiModelProperty("机构负责人(冗余字段)") @TableField("subcontractor_director_name") + @ExcelProperty(value = "机构负责人",index = 3) private String subcontractorDirectorName; /** @@ -214,6 +224,11 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java index 0de83b0..c4dcc17 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/Subcontractor.java @@ -1,5 +1,6 @@ package com.casic.missiles.model.subcontract; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -8,6 +9,9 @@ import java.time.LocalDateTime; import java.util.Date; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.converter.DateExcelConverter; import com.casic.missiles.model.CommonApproval; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -40,6 +44,7 @@ */ @ApiModelProperty("分包方编号") @TableField("subcontractor_no") + @ExcelProperty(value = "分包方编号", index = 0) private String subcontractorNo; /** @@ -47,6 +52,7 @@ */ @ApiModelProperty("单位名称") @TableField("company_name") + @ExcelProperty(value = "单位名称", index = 1) private String companyName; /** @@ -131,6 +137,7 @@ */ @ApiModelProperty("机构负责人") @TableField("director_name") + @ExcelProperty(value = "机构负责人", index = 2) private String directorName; /** @@ -138,6 +145,7 @@ */ @ApiModelProperty("联系电话") @TableField("contact_number") + @ExcelProperty(value = "联系电话", index = 3) private String contactNumber; /** @@ -173,6 +181,7 @@ */ @ApiModelProperty("地址") @TableField("address") + @ExcelProperty(value = "地址", index = 5) private String address; /** @@ -187,6 +196,7 @@ */ @ApiModelProperty("测试能力") @TableField("test_ability") + @ExcelProperty(value = "测试能力", index = 4) private String testAbility; /** @@ -215,13 +225,19 @@ */ @ApiModelProperty("审批状态") @TableField("approval_status") + @DictCodeField(cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; + @ApiModelProperty("审批状态名称") + @TableField(exist = false) + private String approvalStatusName; + /** * 创建时间 */ @ApiModelProperty("创建时间") @TableField("create_time") + @ExcelProperty(value = "创建时间", index = 6, converter = DateExcelConverter.class) private Date createTime; /** diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java index d7d16b9..91f15d5 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/subcontract/SubcontractorStaff.java @@ -49,6 +49,13 @@ private String staffName; /** + * 联系方式 + */ + @ApiModelProperty("联系方式") + @TableField("staff_phone") + private String staffPhone; + + /** * 工作部门 */ @ApiModelProperty("工作部门") diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java index a967db1..7eab839 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/ICommonApprovalService.java @@ -10,6 +10,8 @@ import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.model.CommonApproval; +import java.util.List; + public interface ICommonApprovalService extends IService { @@ -34,6 +36,8 @@ Page allPage(Page page, Q queryForm); + List allExport(Q queryForm); + QueryWrapper commonQuery(Q queryForm); T warpper(T obj); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java index 7ed83c0..0031746 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoApprovalService.java @@ -1,15 +1,9 @@ package com.casic.missiles.service.equipment; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; -import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; -import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; -import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.equipment.EquipmentApprovalForm; -import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.model.equipment.EquipmentInfoApproval; -import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.service.ICommonApprovalService; import java.util.List; @@ -22,7 +16,7 @@ * @author zhangyingjie * @since 2023-07-21 */ -public interface IEquipmentInfoApprovalService extends ICommonApprovalService { +public interface IEquipmentInfoApprovalService extends ICommonApprovalService { Long saveOrUpdateApproval(EquipmentApprovalForm approvalForm); 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 c2f939d..eee21dc 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 @@ -18,25 +18,25 @@ */ public interface IEquipmentInfoService extends IService { - Page listPage(Page page, EquipmentQueryFrom queryFrom); + Page listPage(Page page, EquipmentQueryForm queryForm); - List list(EquipmentQueryFrom queryFrom); + List list(EquipmentQueryForm queryForm); - List groupByName(EquipmentQueryFrom queryFrom); + List groupByName(EquipmentQueryForm queryForm); EquipmentInfoForm detail(Long equipmentId); List allCertificate(Long equipmentId,String equipmentType); - boolean updateEquipmentStatus(Long equipmentId,String usageStatus); + void updateEquipmentStatus(Long equipmentId, String usageStatus); - boolean updateCertificateValid(Long equipmentId, Date certificateValid); - - boolean updateCertificateInfo(Long equipmentId,String checkOrganization,Date checkDate, Date certificateValid,String meterIdentify); + void updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify); void removeCertificateInfo(Long equipmentId,Long certificateId); - Page remindListPage(Page page,EquipmentQueryFrom queryFrom); + Page remindListPage(Page page, EquipmentQueryForm queryForm); - Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryFrom); + List remindList(EquipmentQueryForm queryForm); + + Page certificateListPage(Page page, EquipmentCertificateQueryForm queryForm); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java index 06b6853..5fe001d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/CommonApprovalServiceImpl.java @@ -212,6 +212,25 @@ } @Override + public List allExport(Q queryForm) { + QueryWrapper queryWrapper; + if(CollUtil.isEmpty(queryForm.getIds())){ + queryWrapper = commonQuery(queryForm); + queryWrapper.eq("approval_status",ApprovalStatusEnum.PASSED); + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + if(!ALL_TYPE.equals(dataScope.getScopeEnums())){ + queryWrapper.in("create_dept_id",dataScope.getDeptIds()); + } + }else { + queryWrapper = new QueryWrapper<>(); + queryWrapper.in("id",queryForm.getIds()); + } + List list = this.list(queryWrapper); + list.forEach(this::warpper); + return list; + } + + @Override public QueryWrapper commonQuery(Q queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); return queryWrapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java index 5e9824d..1ca0447 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoApprovalServiceImpl.java @@ -10,7 +10,7 @@ import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.equipment.EquipmentApprovalLog; -import com.casic.missiles.dto.equipment.EquipmentQueryFrom; +import com.casic.missiles.dto.equipment.EquipmentQueryForm; import com.casic.missiles.dto.equipment.EquipmentApprovalForm; import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; import com.casic.missiles.enums.ApprovalStatusEnum; @@ -53,7 +53,7 @@ */ @Service @Slf4j -public class EquipmentInfoApprovalServiceImpl extends CommonApprovalServiceImpl implements IEquipmentInfoApprovalService { +public class EquipmentInfoApprovalServiceImpl extends CommonApprovalServiceImpl implements IEquipmentInfoApprovalService { @Autowired private IEquipmentInfoService equipmentInfoService; @@ -251,7 +251,7 @@ } @Override - public QueryWrapper commonQuery(EquipmentQueryFrom queryForm) { + public QueryWrapper commonQuery(EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "equipment_no", queryForm.getEquipmentNo()); 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 469317b..ae66c93 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 @@ -13,17 +13,21 @@ 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.EquipmentStatusTypeEnum; import com.casic.missiles.enums.equipment.EquipmentTypeEnum; +import com.casic.missiles.enums.equipment.StatusApprovalTypeEnum; import com.casic.missiles.model.equipment.EquipmentInfo; import com.casic.missiles.mapper.equipment.EquipmentInfoMapper; import com.casic.missiles.service.equipment.*; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.service.status.IEquipmentStatusLogService; 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; @@ -46,16 +50,17 @@ private final IEquipmentTechnicalTargetService technicalTargetService; private final IRemindConfigService remindConfigService; private final IEquipmentSpecialCertificateService specialCertificateService; + private final IEquipmentStatusLogService statusLogService; private ISubcontractCertificateService subcontractCertificateService; @Autowired - public void setSubcontractCertificateService(ISubcontractCertificateService subcontractCertificateService){ + public void setSubcontractCertificateService(ISubcontractCertificateService subcontractCertificateService) { this.subcontractCertificateService = subcontractCertificateService; } @Override - public Page listPage(Page page,EquipmentQueryFrom queryFrom) { - QueryWrapper queryWrapper = commonQuery(queryFrom); + public Page listPage(Page page, EquipmentQueryForm queryForm) { + QueryWrapper queryWrapper = commonQuery(queryForm); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.selectListPage(page, dataScope, queryWrapper); list.forEach(this::warpEquipmentInfo); @@ -74,8 +79,8 @@ } @Override - public List list(EquipmentQueryFrom queryFrom) { - QueryWrapper queryWrapper = commonQuery(queryFrom); + public List list(EquipmentQueryForm queryForm) { + QueryWrapper queryWrapper = commonQuery(queryForm); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.selectList(dataScope, queryWrapper); list.forEach(this::warpEquipmentInfo); @@ -83,17 +88,17 @@ } @Override - public List groupByName(EquipmentQueryFrom queryFrom) { + public List groupByName(EquipmentQueryForm queryForm) { DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - if(!ScopeEnums.ALL_TYPE.equals(dataScope.getScopeEnums())){ + if (!ScopeEnums.ALL_TYPE.equals(dataScope.getScopeEnums())) { List dataScopeDeptIds = dataScope.getDeptIds(); - if(ObjectUtil.isNull(queryFrom.getDeptIds())){ - queryFrom.setDeptIds(new ArrayList<>()); + if (ObjectUtil.isNull(queryForm.getDeptIds())) { + queryForm.setDeptIds(new ArrayList<>()); } - queryFrom.getDeptIds().addAll(dataScopeDeptIds); + queryForm.getDeptIds().addAll(dataScopeDeptIds); } - QueryWrapper queryWrapper = commonQuery(queryFrom); + QueryWrapper queryWrapper = commonQuery(queryForm); queryWrapper.groupBy("equipment_name"); queryWrapper.select("equipment_name as 'equipmentName',count(*) as 'count'"); @@ -102,17 +107,23 @@ } - public QueryWrapper commonQuery(EquipmentQueryFrom queryForm) { + public QueryWrapper commonQuery(EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); - queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "equipment_no", queryForm.getEquipmentNo()); - queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentName()), "equipment_name", queryForm.getEquipmentName()); - queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getEquipmentType()), "equipment_type", queryForm.getEquipmentType()); - queryWrapper.like(StrUtil.isNotEmpty(queryForm.getUsePosition()), "use_position", queryForm.getUsePosition()); - queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getUsageStatus()), "usage_status", queryForm.getUsageStatus()); - queryWrapper.ge(StrUtil.isNotEmpty(queryForm.getCertificateValidStart()), "certificate_valid", queryForm.getCertificateValidStart()); - queryWrapper.le(StrUtil.isNotEmpty(queryForm.getCertificateValidEnd()), "certificate_valid", queryForm.getCertificateValidEnd()); - queryWrapper.eq("is_del",0); + if(CollUtil.isNotEmpty(queryForm.getIds())){ + queryWrapper.in("ids",queryForm.getIds()); + }else { + queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentNo()), "equipment_no", queryForm.getEquipmentNo()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getEquipmentName()), "equipment_name", queryForm.getEquipmentName()); + queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getEquipmentType()), "equipment_type", queryForm.getEquipmentType()); + queryWrapper.like(StrUtil.isNotEmpty(queryForm.getUsePosition()), "use_position", queryForm.getUsePosition()); + queryWrapper.eq(StrUtil.isNotEmpty(queryForm.getUsageStatus()), "usage_status", queryForm.getUsageStatus()); + queryWrapper.ge(StrUtil.isNotEmpty(queryForm.getCertificateValidStart()), "certificate_valid", queryForm.getCertificateValidStart()); + queryWrapper.le(StrUtil.isNotEmpty(queryForm.getCertificateValidEnd()), "certificate_valid", queryForm.getCertificateValidEnd()); + queryWrapper.in(CollUtil.isNotEmpty(queryForm.getUsageStatusList()), "usage_status", queryForm.getUsageStatusList()); + + } + queryWrapper.eq("is_del", 0); return queryWrapper; } @@ -120,33 +131,33 @@ public EquipmentInfoForm detail(Long equipmentId) { EquipmentInfoForm infoForm = new EquipmentInfoForm(); EquipmentInfo equipmentInfo = this.getById(equipmentId); - if(ObjectUtil.isNotEmpty(equipmentInfo)){ + if (ObjectUtil.isNotEmpty(equipmentInfo)) { warpEquipmentInfo(equipmentInfo); equipmentInfo.setCompanyName(permissionContext.getDeptService().getDeptName(equipmentInfo.getCompanyId())); equipmentInfo.setDeptName(permissionContext.getDeptService().getDeptName(equipmentInfo.getDeptId())); equipmentInfo.setGroupInfos(groupInfoService.selectByEquipment(equipmentId)); - BeanUtil.copyProperties(equipmentInfo,infoForm); + BeanUtil.copyProperties(equipmentInfo, infoForm); infoForm.setAttachments(attachmentService.selectByEquipment(equipmentId)); infoForm.setTechnicalTargetList(technicalTargetService.selectByEquipment(equipmentId)); - infoForm.setCertificateList(allCertificate(equipmentId,equipmentInfo.getEquipmentType())); + infoForm.setCertificateList(allCertificate(equipmentId, equipmentInfo.getEquipmentType())); } return infoForm; } @Override - public List allCertificate(Long equipmentId,String equipmentType){ + public 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)); + subcontractList.forEach(i -> i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SUBCONTRACT)); listAll.addAll(subcontractList); - if(EquipmentTypeEnum.EQUIPMENT_TYPE_SPECIAL.equals(equipmentType)){ + if (EquipmentTypeEnum.EQUIPMENT_TYPE_SPECIAL.equals(equipmentType)) { List specicalList = specialCertificateService.listByEquipment(equipmentId); - specicalList.forEach(i->i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SPECIAL)); + specicalList.forEach(i -> i.setCertificateType(EquipmentCertificateTypeEnum.CERTIFICATE_TYPE_SPECIAL)); listAll.addAll(specicalList); } listAll.sort(new Comparator() { @@ -159,55 +170,53 @@ } @Override - public boolean updateEquipmentStatus(Long equipmentId,String usageStatus){ + public void updateEquipmentStatus(Long equipmentId, String usageStatus) { UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id",equipmentId); - updateWrapper.set("usage_status",usageStatus); - return this.update(updateWrapper); + updateWrapper.eq("id", equipmentId); + updateWrapper.set("usage_status", usageStatus); + this.update(updateWrapper); } @Override - public boolean updateCertificateValid(Long equipmentId, Date certificateValid) { - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id",equipmentId); - updateWrapper.set("certificate_valid",certificateValid); - return this.update(updateWrapper); - } - - @Override - public boolean updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify) { + @Transactional + public void updateCertificateInfo(Long equipmentId, String checkOrganization, Date checkDate, Date certificateValid, String meterIdentify) { 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); + if (ObjectUtil.isNotEmpty(equipmentInfo)) { + if (ObjectUtil.isEmpty(equipmentInfo.getCertificateValid()) || equipmentInfo.getCertificateValid().before(certificateValid)) { + equipmentInfo.setCheckOrganization(checkOrganization); + equipmentInfo.setCheckDate(checkDate); + equipmentInfo.setCertificateValid(certificateValid); + if (StrUtil.isNotEmpty(meterIdentify)) { + equipmentInfo.setMeterIdentify(meterIdentify); } - return this.update(updateWrapper); + this.updateById(equipmentInfo); + //当设备证书有效期更新且未到期时,设备状态自动变更为启封 + if (!EquipmentStatusTypeEnum.UNSEAL.equals(equipmentInfo.getUsageStatus()) + && !EquipmentStatusTypeEnum.SCRAP.equals(equipmentInfo.getUsageStatus()) + && certificateValid.after(new Date())) { + this.updateEquipmentStatus(equipmentId, EquipmentStatusTypeEnum.UNSEAL); + statusLogService.saveLog(equipmentId, StatusApprovalTypeEnum.UNSEAL,"设备证书更新"); + } + } } - return false; } - public void removeCertificateInfo(Long equipmentId,Long certificateId){ + 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()); + 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()){ + 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()); + 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); } @@ -215,11 +224,11 @@ } @Override - public Page remindListPage(Page page,EquipmentQueryFrom queryFrom) { + public Page remindListPage(Page page, EquipmentQueryForm queryForm) { Integer remindTime = remindConfigService.getRemindTimeByDeptId(permissionContext.getAuthService().getLoginUser().getDeptId()); Calendar calendar = Calendar.getInstance(); - calendar.add(Calendar.DATE,remindTime); - QueryWrapper queryWrapper = commonQuery(queryFrom); + calendar.add(Calendar.DATE, remindTime); + QueryWrapper queryWrapper = commonQuery(queryForm); queryWrapper.le("certificate_valid", calendar.getTime()); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.selectListPage(page, dataScope, queryWrapper); @@ -229,7 +238,20 @@ } @Override - public Page certificateListPage(Page page, EquipmentCertificateQueryFrom queryForm) { + public List remindList(EquipmentQueryForm queryForm) { + Integer remindTime = remindConfigService.getRemindTimeByDeptId(permissionContext.getAuthService().getLoginUser().getDeptId()); + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.DATE, remindTime); + QueryWrapper queryWrapper = commonQuery(queryForm); + queryWrapper.le("certificate_valid", calendar.getTime()); + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + List list = this.baseMapper.selectList(dataScope, queryWrapper); + list.forEach(this::warpEquipmentInfo); + return list; + } + + @Override + public Page certificateListPage(Page page, EquipmentCertificateQueryForm queryForm) { DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); QueryWrapper queryWrapper = new QueryWrapper<>(); @@ -240,7 +262,7 @@ 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("e.is_del", 0); queryWrapper.eq("c.approval_status", ApprovalStatusEnum.PASSED); List list = this.baseMapper.bizCertificateListPage(page, dataScope, queryWrapper); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java index 138cbf4..5bf434a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/file/EqptFileServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.impl.file; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; @@ -57,6 +58,8 @@ @Override public Page listPage(Page page, String fileNo, String fileName) { QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(StrUtil.isNotEmpty(fileNo),"file_no",fileNo); + queryWrapper.like(StrUtil.isNotEmpty(fileName),"file_name",fileName); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.listScopePage(page,dataScope,queryWrapper); list.forEach(i-> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/PlanNotifyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/PlanNotifyServiceImpl.java index 0cf2db9..1c102c2 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/PlanNotifyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/PlanNotifyServiceImpl.java @@ -20,6 +20,7 @@ import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -44,11 +45,18 @@ @Transactional public class PlanNotifyServiceImpl extends ServiceImpl implements IPlanNotifyService { - private final IPlanService planService; + private final IPlanEquipmentRelationService planRelationService; private final IPlanNotifyRelationService notifyRelationService; private final AbstractUserService userService; + private IPlanService planService; + + @Autowired + public void setPlanService(IPlanService planService){ + this.planService = planService; + } + /** * 发送送检通知 * diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java index 6f4d423..6878d5e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusApprovalServiceImpl.java @@ -4,24 +4,14 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; 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.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.datascope.DataScope; -import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.equipment.EquipmentApprovalForm; -import com.casic.missiles.dto.flowable.ApprovalRevokeRequest; -import com.casic.missiles.dto.flowable.ApprovalSubmitRequest; -import com.casic.missiles.dto.flowable.BaseApprovalRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.status.EquipmentStatusQueryForm; import com.casic.missiles.enums.ApprovalStatusEnum; import com.casic.missiles.enums.equipment.EquipmentStatusTypeEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.model.equipment.EquipmentInfo; -import com.casic.missiles.model.equipment.EquipmentInfoApproval; -import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.model.status.EquipmentStatusApproval; import com.casic.missiles.mapper.status.EquipmentStatusApprovalMapper; import com.casic.missiles.service.IBaseApprovalService; @@ -29,14 +19,12 @@ import com.casic.missiles.service.equipment.IEquipmentInfoService; import com.casic.missiles.service.impl.CommonApprovalServiceImpl; import com.casic.missiles.service.status.IEquipmentStatusApprovalService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.service.status.IEquipmentStatusLogService; +import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.RequiredArgsConstructor; -import org.flowable.engine.runtime.ProcessInstance; import org.springframework.stereotype.Service; -import java.io.Serializable; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; @@ -131,8 +119,6 @@ break; case DELAY: equipmentInfoService.updateEquipmentStatus(approval.getEquipmentId(), EquipmentStatusTypeEnum.DELAY); - //todo 延长有效期 ?? - equipmentInfoService.updateCertificateValid(approval.getEquipmentId(),approval.getDelayTime()); break; default: break; @@ -155,6 +141,7 @@ queryWrapper.eq("approval.approval_status", queryForm.getApprovalStatus()); } List list = this.baseMapper.listPage(page, queryWrapper); + list.forEach(this::warpApprovalInfo); page.setRecords(list); return page; } @@ -177,6 +164,7 @@ approval.setTaskId(toBeApprovedDTO.getTaskId()); approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); } + warpApprovalInfo(approval); } page.setRecords(list); return page; @@ -191,6 +179,7 @@ QueryWrapper queryWrapper = commonQuery(queryForm); queryWrapper.in("approval.id", approvedIds); List list = this.baseMapper.listPage(page, queryWrapper); + list.forEach(this::warpApprovalInfo); page.setRecords(list); return page; } @@ -201,10 +190,20 @@ queryWrapper.eq("approval.approval_status",ApprovalStatusEnum.PASSED); DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); List list = this.baseMapper.listScopePage(dataScope, page, queryWrapper); + list.forEach(this::warpApprovalInfo); page.setRecords(list); return page; } + private void warpApprovalInfo(EquipmentStatusApproval i) { + try { + i.setCompanyName(permissionContext.getDeptService().getDeptName(i.getCompanyId())); + DictCodeUtils.convertDictCodeToName(i); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + @Override public QueryWrapper commonQuery(EquipmentStatusQueryForm queryForm) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusLogServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusLogServiceImpl.java index 0a84def..de1f710 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusLogServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/status/EquipmentStatusLogServiceImpl.java @@ -26,21 +26,30 @@ @Override public void saveLog(EquipmentStatusApproval statusApproval) { + this.saveLog(statusApproval.getEquipmentId(),statusApproval.getApprovalType(),statusApproval.getApprovalReason(),statusApproval.getCreateUserId(),statusApproval.getCreateUserName()); + } + + public void saveLog(Long equipmentId,String statusType,String reason){ + this.saveLog(equipmentId,statusType,reason,null,null); + } + + public void saveLog(Long equipmentId,String statusType,String reason, Long createUserId, String createUserName){ QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("equipment_id",statusApproval.getEquipmentId()); + queryWrapper.eq("equipment_id",equipmentId); queryWrapper.orderByDesc("start_time"); queryWrapper.last("limit 1"); EquipmentStatusLog lastLog = this.getOne(queryWrapper); if(ObjectUtil.isNotEmpty(lastLog)){ lastLog.setEndTime(new Date()); + this.updateById(lastLog); } EquipmentStatusLog newLog = new EquipmentStatusLog(); - newLog.setEquipmentId(statusApproval.getEquipmentId()); - newLog.setStatusType(statusApproval.getApprovalType()); + newLog.setEquipmentId(equipmentId); + newLog.setStatusType(statusType); newLog.setStartTime(new Date()); - newLog.setReason(statusApproval.getApprovalReason()); - newLog.setCreateUserId(statusApproval.getCreateUserId()); - newLog.setCreateUserName(statusApproval.getCreateUserName()); + newLog.setReason(reason); + newLog.setCreateUserId(createUserId); + newLog.setCreateUserName(createUserName); this.save(newLog); } 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 fcd7955..d86249b 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,5 +1,6 @@ package com.casic.missiles.service.impl.subcontract; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -71,6 +72,20 @@ } @Override + public List listScope(String certificateNo, String certificateName, String equipmentNo, String equipmentName, String subcontractorName, String createTimeStart, String createTimeEnd, List ids) { + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + dataScope.setScopeName("createDeptId"); + QueryWrapper queryWrapper; + if(CollUtil.isNotEmpty(ids)){ + queryWrapper = new QueryWrapper<>(); + queryWrapper.in("c.id",ids); + }else { + queryWrapper = commonQuery(certificateNo, certificateName, equipmentNo, equipmentName, subcontractorName, createTimeStart, createTimeEnd); + } + return this.baseMapper.listScope(dataScope,queryWrapper); + } + + @Override public List listBySubcontractor(Long subcontractorId) { return this.baseMapper.listBySubcontractor(subcontractorId); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractReviewRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractReviewRelationServiceImpl.java index 7ff04f6..01ab093 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractReviewRelationServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractReviewRelationServiceImpl.java @@ -39,10 +39,7 @@ @Override public List listByReview(Long reviewId) { - // todo - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("review_id", reviewId); - return this.list(queryWrapper); + return this.baseMapper.listByReview(reviewId); } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractReviewServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractReviewServiceImpl.java index b645210..e8c8db4 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractReviewServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/subcontract/SubcontractReviewServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.impl.subcontract; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.casic.missiles.dto.subcontract.SubcontractReviewForm; @@ -61,7 +62,9 @@ @Override public SubcontractReviewForm detail(Long reviewId) { - SubcontractReviewForm form = (SubcontractReviewForm) this.getById(reviewId); + SubcontractReview review = this.getById(reviewId); + SubcontractReviewForm form = new SubcontractReviewForm(); + BeanUtil.copyProperties(review,form); Subcontractor subcontractor = subcontractorService.getById(form.getSubcontractorId()); form.setFax(subcontractor.getFax()); form.setAddress(subcontractor.getAddress()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/status/IEquipmentStatusLogService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/status/IEquipmentStatusLogService.java index 179b6c2..f4134d0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/status/IEquipmentStatusLogService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/status/IEquipmentStatusLogService.java @@ -18,5 +18,9 @@ void saveLog(EquipmentStatusApproval statusApproval); + void saveLog(Long equipmentId,String statusType,String reason); + + void saveLog(Long equipmentId,String statusType,String reason, Long createUserId, String createUserName); + List listByEquipment(Long equipmentId); } 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 0f5e822..a8f9747 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 @@ -29,6 +29,11 @@ String equipmentNo,String equipmentName,String subcontractorName, String createTimeStart,String createTimeEnd); + List listScope(String certificateNo,String certificateName, + String equipmentNo,String equipmentName,String subcontractorName, + String createTimeStart,String createTimeEnd, + List ids); + List listBySubcontractor(Long subcontractorId); List listByEquipment(Long equipmentId);