Kaynağa Gözat

锅炉报表下次检验日期调整

xy 11 saat önce
ebeveyn
işleme
9fc59b6f94

+ 26 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/boiler/QC10020_202400ReportOFData.java

@@ -6,6 +6,7 @@ import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitem.BoilerTas
 import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitemreport.BoilerTaskOrderItemReportDO;
 import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderuser.BoilerTaskOrderUserDO;
 import cn.start.tz.module.pressure2.dal.dataobject.dynamictbcol.DynamicTbColDO;
+import cn.start.tz.module.pressure2.dal.dataobject.dynamictbins.DynamicTbInsDO;
 import cn.start.tz.module.pressure2.dal.dataobject.dynamictbval.DynamicTbValDO;
 import cn.start.tz.module.pressure2.dal.mysql.boilertaskorder.BoilerTaskOrderMapper;
 import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderitem.BoilerTaskOrderItemMapper;
@@ -17,6 +18,7 @@ import cn.start.tz.module.pressure2.service.dynamicOFData.util.AutoDataBoilerSer
 import cn.start.tz.module.pressure2.service.dynamicOFData.util.GenerateReportJsonService;
 import cn.start.tz.module.pressure2.service.dynamicOFData.util.InspectorInfoUtil;
 import cn.start.tz.module.pressure2.service.dynamictbcol.DynamicTbColService;
+import cn.start.tz.module.pressure2.service.dynamictbins.DynamicTbInsService;
 import cn.start.tz.module.pressure2.service.dynamictbval.DynamicTbValService;
 import cn.start.tz.module.system.api.user.AdminUserApi;
 import cn.start.tz.module.system.api.user.dto.AdminUserRespDTO;
@@ -24,6 +26,7 @@ import com.alibaba.fastjson2.JSONObject;
 import jakarta.annotation.Resource;
 import org.springframework.stereotype.Service;
 
+import java.time.LocalDate;
 import java.time.format.DateTimeFormatter;
 import java.util.List;
 import java.util.Objects;
@@ -56,6 +59,9 @@ public class QC10020_202400ReportOFData implements IDynamicOFData {
     @Resource
     private DynamicTbValService dynamicTbValService;
 
+    @Resource
+    private DynamicTbInsService dynamicTbInsService;
+
     @Resource
     private GenerateReportJsonService generateReportJsonService;
 
@@ -75,6 +81,7 @@ public class QC10020_202400ReportOFData implements IDynamicOFData {
 
         //日期格式
         DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
+        DateTimeFormatter dateFormatMonthYear = DateTimeFormatter.ofPattern("yyyy-MM");
 
         //设备报表ID
         String refId = ruleVO.getRefId();
@@ -94,6 +101,25 @@ public class QC10020_202400ReportOFData implements IDynamicOFData {
             if (equipBoilerDO != null){
                 //设备信息
                 result.put("usePressure",equipBoilerDO.getDesignWorkPressure());
+
+                //只需第一次初始化的数据
+                DynamicTbInsDO firstInsDO = dynamicTbInsService.getDynamicRefId("report_" + refId);
+                if (firstInsDO == null) {
+
+                    //下次外检日期 一年后减一天
+                    if (equipBoilerDO.getNextOutCheckDate() != null){
+                        LocalDate nextOutCheckDate = equipBoilerDO.getNextOutCheckDate().plusYears(1).minusDays(1);
+                        result.put("nextOutCheckDate1_yearMonth",nextOutCheckDate.format(dateFormatMonthYear));
+                    }
+
+                    //下次内检日期 两年后减一天
+                    if (equipBoilerDO.getNextInCheckDate() != null){
+                        LocalDate nextInCheckDate = equipBoilerDO.getNextInCheckDate().plusYears(2).minusDays(1);
+                        result.put("nextInCheckDate1_yearMonth",nextInCheckDate.format(dateFormatMonthYear));
+                    }
+
+                }
+
             }
 
             //二维码

+ 16 - 13
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/boiler/QC10033_202400ReportOFData.java

@@ -113,22 +113,25 @@ public class QC10033_202400ReportOFData implements IDynamicOFData {
                     result.put("pressure",equipBoilerDO.getWorkpressure());
                     result.put("medium",equipBoilerDO.getTestmedium());
                     result.put("temperature",equipBoilerDO.getRatedExportTemperature());
-                }
 
-                //下次外检日期
-                if (taskOrderDO != null && taskOrderDO.getCheckDate() != null){
-                    LocalDate nextYearCheckDate = taskOrderDO.getCheckDate().plusYears(1).minusDays(1);
-                    result.put("nextOutCheckDate1_yearMonth",nextYearCheckDate.format(dateFormatMonthYear));
-                }
+                    //下次外检日期 一年后减一天
+                    if (equipBoilerDO.getNextOutCheckDate() != null){
+                        LocalDate nextOutCheckDate = equipBoilerDO.getNextOutCheckDate().plusYears(1).minusDays(1);
+                        result.put("nextOutCheckDate1_yearMonth",nextOutCheckDate.format(dateFormatMonthYear));
+                    }
 
-                //下次内检日期
-                if (equipBoilerDO.getNextInCheckDate() != null){
-                    result.put("nextInCheckDate1_yearMonth",equipBoilerDO.getNextInCheckDate().format(dateFormatMonthYear));
-                }
+                    //下次内检日期 两年后减一天
+                    if (equipBoilerDO.getNextInCheckDate() != null){
+                        LocalDate nextInCheckDate = equipBoilerDO.getNextInCheckDate().plusYears(2).minusDays(1);
+                        result.put("nextInCheckDate1_yearMonth",nextInCheckDate.format(dateFormatMonthYear));
+                    }
+
+                    //下次耐压检验日期 三年后减一天
+                    if (equipBoilerDO.getNextPressureCheckDate() != null){
+                        LocalDate nextPressureCheckDate = equipBoilerDO.getNextPressureCheckDate().plusYears(3).minusDays(1);
+                        result.put("nextPressureCheckDate1_yearMonth",nextPressureCheckDate.format(dateFormatMonthYear));
+                    }
 
-                //下次耐压检验日期
-                if (equipBoilerDO.getNextPressureCheckDate() != null){
-                    result.put("nextPressureCheckDate1_yearMonth",equipBoilerDO.getNextPressureCheckDate().format(dateFormatMonthYear));
                 }
 
             }

+ 30 - 1
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/boiler/QC10035_202401ReportOFData.java

@@ -5,6 +5,7 @@ import cn.start.tz.module.pressure2.controller.admin.equipboiler.vo.EquipBoilerR
 import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitem.BoilerTaskOrderItemDO;
 import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitemreport.BoilerTaskOrderItemReportDO;
 import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderuser.BoilerTaskOrderUserDO;
+import cn.start.tz.module.pressure2.dal.dataobject.dynamictbins.DynamicTbInsDO;
 import cn.start.tz.module.pressure2.dal.dataobject.equipboiler.EquipBoilerDO;
 import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderitem.BoilerTaskOrderItemMapper;
 import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderitemreport.BoilerTaskOrderItemReportMapper;
@@ -14,12 +15,15 @@ import cn.start.tz.module.pressure2.service.dynamicOFData.IDynamicOFData;
 import cn.start.tz.module.pressure2.service.dynamicOFData.util.AutoDataBoilerService;
 import cn.start.tz.module.pressure2.service.dynamicOFData.util.GenerateReportJsonService;
 import cn.start.tz.module.pressure2.service.dynamicOFData.util.InspectorInfoUtil;
+import cn.start.tz.module.pressure2.service.dynamictbins.DynamicTbInsService;
 import cn.start.tz.module.system.api.user.AdminUserApi;
 import cn.start.tz.module.system.api.user.dto.AdminUserRespDTO;
 import com.alibaba.fastjson2.JSONObject;
 import jakarta.annotation.Resource;
 import org.springframework.stereotype.Service;
 
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
 import java.util.List;
 import java.util.Objects;
 import java.util.concurrent.atomic.AtomicInteger;
@@ -49,6 +53,9 @@ public class QC10035_202401ReportOFData implements IDynamicOFData {
     @Resource
     private BoilerTaskOrderUserMapper boilerTaskOrderUserMapper;
 
+    @Resource
+    private DynamicTbInsService dynamicTbInsService;
+
     @Resource
     private AdminUserApi adminUserApi;
 
@@ -59,9 +66,12 @@ public class QC10035_202401ReportOFData implements IDynamicOFData {
 
     @Override
     public JSONObject getOfDataByVO(CreateInstantiateWithRuleVO ruleVO) {
+
         //设备报表ID
         String refId = ruleVO.getRefId();
 
+        DateTimeFormatter dateFormatMonthYear = DateTimeFormatter.ofPattern("yyyy-MM");
+
         JSONObject result = new JSONObject();
         BoilerTaskOrderItemReportDO itemReportDO = boilerTaskOrderItemReportMapper.selectById(refId);
 
@@ -72,8 +82,27 @@ public class QC10035_202401ReportOFData implements IDynamicOFData {
             result = generateReportJsonService.generateReportFromRecord(ruleVO.getReportType(), ruleVO.getTemplateId(), refId);
             result = autoDataBoilerService.autoGenerateBoilerReportData(result, refId);
 
-            EquipBoilerDO equipBoilerDO = equipBoilerMapper.selectById(itemDO.getEquipId());
+            EquipBoilerReportVO equipBoilerDO = equipBoilerMapper.selectDetailsById(itemDO.getEquipId());
             if (equipBoilerDO != null) {
+
+                //只需第一次初始化的数据
+                DynamicTbInsDO firstInsDO = dynamicTbInsService.getDynamicRefId("report_" + refId);
+                if (firstInsDO == null) {
+
+                    //下次外检日期 一年后减一天
+                    if (equipBoilerDO.getNextOutCheckDate() != null){
+                        LocalDate nextOutCheckDate = equipBoilerDO.getNextOutCheckDate().plusYears(1).minusDays(1);
+                        result.put("nextOutCheckDate1_yearMonth",nextOutCheckDate.format(dateFormatMonthYear));
+                    }
+
+                    //下次内检日期 两年后减一天
+                    if (equipBoilerDO.getNextInCheckDate() != null){
+                        LocalDate nextInCheckDate = equipBoilerDO.getNextInCheckDate().plusYears(2).minusDays(1);
+                        result.put("nextInCheckDate1_yearMonth",nextInCheckDate.format(dateFormatMonthYear));
+                    }
+
+                }
+
                 result.put("factoryCode", equipBoilerDO.getFactoryCode());
             }
 

+ 27 - 1
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/boiler/QC10038_202401ReportOFData.java

@@ -1,9 +1,11 @@
 package cn.start.tz.module.pressure2.service.dynamicOFData.boiler;
 
 import cn.start.tz.module.pressure2.controller.admin.dynamictbins.vo.CreateInstantiateWithRuleVO;
+import cn.start.tz.module.pressure2.controller.admin.equipboiler.vo.EquipBoilerReportVO;
 import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitem.BoilerTaskOrderItemDO;
 import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitemreport.BoilerTaskOrderItemReportDO;
 import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderuser.BoilerTaskOrderUserDO;
+import cn.start.tz.module.pressure2.dal.dataobject.dynamictbins.DynamicTbInsDO;
 import cn.start.tz.module.pressure2.dal.dataobject.equipboiler.EquipBoilerDO;
 import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderitem.BoilerTaskOrderItemMapper;
 import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderitemreport.BoilerTaskOrderItemReportMapper;
@@ -13,6 +15,7 @@ import cn.start.tz.module.pressure2.service.dynamicOFData.IDynamicOFData;
 import cn.start.tz.module.pressure2.service.dynamicOFData.util.AutoDataBoilerService;
 import cn.start.tz.module.pressure2.service.dynamicOFData.util.GenerateReportJsonService;
 import cn.start.tz.module.pressure2.service.dynamicOFData.util.InspectorInfoUtil;
+import cn.start.tz.module.pressure2.service.dynamictbins.DynamicTbInsService;
 import cn.start.tz.module.system.api.clientunit.ClientUnitApi;
 import cn.start.tz.module.system.api.clientunit.dto.ClientUnitDTO;
 import cn.start.tz.module.system.api.user.AdminUserApi;
@@ -21,6 +24,7 @@ import com.alibaba.fastjson2.JSONObject;
 import jakarta.annotation.Resource;
 import org.springframework.stereotype.Service;
 
+import java.time.LocalDate;
 import java.time.format.DateTimeFormatter;
 import java.util.List;
 import java.util.Objects;
@@ -56,6 +60,9 @@ public class QC10038_202401ReportOFData implements IDynamicOFData {
     @Resource
     private ClientUnitApi clientUnitApi;
 
+    @Resource
+    private DynamicTbInsService dynamicTbInsService;
+
     @Override
     public JSONObject getOFData(JSONObject params) {
         return null;
@@ -68,6 +75,7 @@ public class QC10038_202401ReportOFData implements IDynamicOFData {
         String refId = ruleVO.getRefId();
 
         DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
+        DateTimeFormatter dateFormatMonthYear = DateTimeFormatter.ofPattern("yyyy-MM");
 
         JSONObject result = new JSONObject();
         BoilerTaskOrderItemReportDO itemReportDO = boilerTaskOrderItemReportMapper.selectById(refId);
@@ -79,9 +87,27 @@ public class QC10038_202401ReportOFData implements IDynamicOFData {
             result = generateReportJsonService.generateReportFromRecord(ruleVO.getReportType(), ruleVO.getTemplateId(), refId);
             result = autoDataBoilerService.autoGenerateBoilerReportData(result, refId);
 
-            EquipBoilerDO equipBoilerDO = equipBoilerMapper.selectById(itemDO.getEquipId());
+            EquipBoilerReportVO equipBoilerDO = equipBoilerMapper.selectDetailsById(itemDO.getEquipId());
             if (equipBoilerDO != null) {
 
+                //只需第一次初始化的数据
+                DynamicTbInsDO firstInsDO = dynamicTbInsService.getDynamicRefId("report_" + refId);
+                if (firstInsDO == null) {
+
+                    //下次外检日期 一年后减一天
+                    if (equipBoilerDO.getNextOutCheckDate() != null){
+                        LocalDate nextOutCheckDate = equipBoilerDO.getNextOutCheckDate().plusYears(1).minusDays(1);
+                        result.put("nextOutCheckDate1_yearMonth",nextOutCheckDate.format(dateFormatMonthYear));
+                    }
+
+                    //下次内检日期 两年后减一天
+                    if (equipBoilerDO.getNextInCheckDate() != null){
+                        LocalDate nextInCheckDate = equipBoilerDO.getNextInCheckDate().plusYears(2).minusDays(1);
+                        result.put("nextInCheckDate1_yearMonth",nextInCheckDate.format(dateFormatMonthYear));
+                    }
+
+                }
+
                 //企业信息
                 if (equipBoilerDO.getUnitCode() != null){
                     ClientUnitDTO clientUnit = clientUnitApi.getClientUnitByCode(equipBoilerDO.getUnitCode()).getData();