Sfoglia il codice sorgente

报表服务添加

xy 1 settimana fa
parent
commit
972a1c7154

+ 188 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/comm/QC01004_202400OFData.java

@@ -0,0 +1,188 @@
+package cn.start.tz.module.pressure2.service.dynamicOFData.comm;
+
+import cn.start.tz.framework.mybatis.core.query.LambdaQueryWrapperX;
+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.boilertaskorder.BoilerTaskOrderDO;
+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.boilertaskordersignfile.BoilerTaskOrderSignFileDO;
+import cn.start.tz.module.pressure2.dal.dataobject.equippipe.EquipPipeDO;
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorder.PipeTaskOrderDO;
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitem.PipeTaskOrderItemDO;
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemreport.PipeTaskOrderItemReportDO;
+import cn.start.tz.module.pressure2.dal.mysql.boilertaskorder.BoilerTaskOrderMapper;
+import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderitem.BoilerTaskOrderItemMapper;
+import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderitemreport.BoilerTaskOrderItemReportMapper;
+import cn.start.tz.module.pressure2.dal.mysql.equipboiler.EquipBoilerMapper;
+import cn.start.tz.module.pressure2.dal.mysql.equippipe.EquipPipeMapper;
+import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitem.PipeTaskOrderItemMapper;
+import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemreport.PipeTaskOrderItemReportMapper;
+import cn.start.tz.module.pressure2.service.boilertaskorder.BoilerTaskOrderService;
+import cn.start.tz.module.pressure2.service.boilertaskordersignfile.BoilerTaskOrderSignFileService;
+import cn.start.tz.module.pressure2.service.dynamicOFData.IDynamicOFData;
+import cn.start.tz.module.pressure2.service.pipetaskorder.PipeTaskOrderService;
+import cn.start.tz.module.system.api.calendar.CalendarApi;
+import cn.start.tz.module.system.api.clientunit.ClientUnitApi;
+import cn.start.tz.module.system.api.dict.DictDataApi;
+import cn.start.tz.module.system.api.dict.dto.DictDataRespDTO;
+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 com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import jakarta.annotation.Resource;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.time.format.DateTimeFormatter;
+import java.util.List;
+
+/**
+ * 特种设备监督检验联络单
+ * */
+@Slf4j
+@Service("QC01004_202400OFData")
+public class QC01004_202400OFData implements IDynamicOFData {
+
+    @Resource
+    private EquipBoilerMapper equipBoilerMapper;
+
+    @Resource
+    private EquipPipeMapper equipPipeMapper;
+
+    @Resource
+    private BoilerTaskOrderItemReportMapper boilerTaskOrderItemReportMapper;
+
+    @Resource
+    private PipeTaskOrderItemReportMapper pipeTaskOrderItemReportMapper;
+
+    @Resource
+    private PipeTaskOrderService pipeTaskOrderService;
+
+    @Resource
+    private BoilerTaskOrderMapper boilerTaskOrderMapper;
+
+    @Resource
+    private BoilerTaskOrderItemMapper boilerTaskOrderItemMapper;
+
+    @Resource
+    private PipeTaskOrderItemMapper pipeTaskOrderItemMapper;
+
+    @Resource
+    private AdminUserApi adminUserApi;
+
+    @Resource
+    private ClientUnitApi clientUnitApi;
+
+    @Resource
+    private BoilerTaskOrderService boilerTaskOrderService;
+
+    @Resource
+    private BoilerTaskOrderSignFileService boilerTaskOrderSignFileService;
+
+    @Resource
+    private DictDataApi dictDataApi;
+
+    @Resource
+    private CalendarApi calendarApi;
+
+    @Override
+    public JSONObject getOFData(JSONObject params) {
+        return null;
+    }
+
+    @Override
+    public JSONObject getOfDataByVO(CreateInstantiateWithRuleVO ruleVO) {
+
+        //日期格式
+        DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
+        //主设备类型
+        String equipMainTpe = ruleVO.getParams().getString("equipMainType");
+
+        //设备报表ID
+        String refId = ruleVO.getRefId();
+
+        JSONObject result = new JSONObject();
+
+        if (equipMainTpe.equals("boiler")){
+
+            BoilerTaskOrderItemReportDO itemReportDO = boilerTaskOrderItemReportMapper.selectById(refId);
+            if (itemReportDO != null){
+                // 填充签名
+                if (itemReportDO.getEnterId() != null) {
+                    AdminUserRespDTO checkedData = adminUserApi.getUser(itemReportDO.getEnterId()).getCheckedData();
+                    result.put("checkName", checkedData != null ? checkedData.getSignUrl() : null);
+                }else {
+                    AdminUserRespDTO checkedData = adminUserApi.getUser(itemReportDO.getCreator()).getCheckedData();
+                    result.put("checkName", checkedData != null ? checkedData.getSignUrl() : null);
+                }
+
+                String orderItemId = itemReportDO.getOrderItemId();
+                BoilerTaskOrderItemDO itemDO = boilerTaskOrderItemMapper.selectById(orderItemId);
+                if (itemDO != null){
+                    EquipBoilerReportVO equipBoilerDO = equipBoilerMapper.selectDetailsById(itemDO.getEquipId());
+                    if (equipBoilerDO != null){
+                        //设备信息
+                        result.put("unitName",equipBoilerDO.getUnitName());
+                        result.put("contactPhone",equipBoilerDO.getContactPhone());
+                        result.put("contact",equipBoilerDO.getContact());
+                        result.put("unitAddress",equipBoilerDO.getUnitAddress());
+//                        if (itemReportDO.getRecycleExpireDate() != null){
+//                            result.put("ExpiryDate", itemReportDO.getRecycleExpireDate().format(dateFormat));
+//                        }
+                    }
+                }
+
+                result.put("reportNo",itemReportDO.getReportNo());
+
+            }
+
+        }else if (equipMainTpe.equals("pipe")){
+
+            PipeTaskOrderItemReportDO itemReportDO = pipeTaskOrderItemReportMapper.selectById(refId);
+            if (itemReportDO != null){
+                // 填充签名
+                PipeTaskOrderDO taskOrderDO = pipeTaskOrderService.getOne(new LambdaQueryWrapper<PipeTaskOrderDO>().eq(PipeTaskOrderDO::getId, itemReportDO.getOrderId()));
+
+                if (itemReportDO.getEnterId() != null) {
+                    AdminUserRespDTO checkedData = adminUserApi.getUser(itemReportDO.getEnterId()).getCheckedData();
+                    result.put("checkName", checkedData != null ? checkedData.getSignUrl() : null);
+                }else {
+                    AdminUserRespDTO checkedData = adminUserApi.getUser(itemReportDO.getCreator()).getCheckedData();
+                    result.put("checkName", checkedData != null ? checkedData.getSignUrl() : null);
+                }
+
+                if (taskOrderDO != null){
+
+                    List<PipeTaskOrderItemDO> itemDOS = pipeTaskOrderItemMapper.selectList(new LambdaQueryWrapperX<PipeTaskOrderItemDO>()
+                            .eq(PipeTaskOrderItemDO::getOrderId, taskOrderDO.getId()));
+
+                    if (!itemDOS.isEmpty()){
+
+                        PipeTaskOrderItemDO pipeTaskOrderItemDO = itemDOS.get(0);
+                        EquipPipeDO equipPipeDO = equipPipeMapper.selectById(pipeTaskOrderItemDO.getEquipId());
+                        if (equipPipeDO != null){
+                            //设备信息
+                            result.put("unitName",equipPipeDO.getUnitName());
+                            result.put("contact",equipPipeDO.getContact());
+                            result.put("contactPhone",equipPipeDO.getContactPhone());
+                            result.put("unitAddress",equipPipeDO.getUnitAddress());
+//                            if (itemReportDO.getRecycleExpireDate() != null){
+//                                result.put("ExpiryDate", itemReportDO.getRecycleExpireDate().format(dateFormat));
+//                            }
+                        }
+                    }
+
+                    result.put("reportNo",itemReportDO.getReportNo());
+
+                }
+
+            }
+
+        }
+
+        return result;
+
+    }
+
+}

+ 85 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/comm/QC52038_202401ReportOFData.java

@@ -0,0 +1,85 @@
+package cn.start.tz.module.pressure2.service.dynamicOFData.comm;
+
+import cn.start.tz.module.pressure2.controller.admin.dynamictbins.vo.CreateInstantiateWithRuleVO;
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitemreport.BoilerTaskOrderItemReportDO;
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemreport.PipeTaskOrderItemReportDO;
+import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderitemreport.BoilerTaskOrderItemReportMapper;
+import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemreport.PipeTaskOrderItemReportMapper;
+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.AutoDataPipeService;
+import cn.start.tz.module.pressure2.service.dynamicOFData.util.GenerateReportJsonService;
+import com.alibaba.fastjson2.JSONObject;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+
+import java.time.format.DateTimeFormatter;
+
+/**
+ * 相控阵检测报告
+ * */
+@Service("QC52038_202401ReportOFData")
+public class QC52038_202401ReportOFData implements IDynamicOFData {
+
+    @Resource
+    private BoilerTaskOrderItemReportMapper boilerTaskOrderItemReportMapper;
+
+    @Resource
+    private PipeTaskOrderItemReportMapper pipeTaskOrderItemReportMapper;
+
+    @Resource
+    private GenerateReportJsonService generateReportJsonService;
+
+    @Resource
+    private AutoDataBoilerService autoDataBoilerService;
+
+    @Resource
+    private AutoDataPipeService autoDataPipeService;
+
+    @Override
+    public JSONObject getOFData(JSONObject params) {
+        return null;
+    }
+
+    @Override
+    public JSONObject getOfDataByVO(CreateInstantiateWithRuleVO ruleVO) {
+
+        //日期格式
+        DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
+
+        //设备报表ID
+        String refId = ruleVO.getRefId();
+
+        JSONObject result = new JSONObject();
+        //主设备类型
+        String equipMainTpe = ruleVO.getParams().getString("equipMainType");
+
+        if (equipMainTpe.equals("boiler")){
+
+            BoilerTaskOrderItemReportDO itemReportDO = boilerTaskOrderItemReportMapper.selectById(refId);
+
+            if (itemReportDO != null){
+
+                //根据记录字段动态生成报告字段
+                result = generateReportJsonService.generateReportFromRecord(ruleVO.getReportType(),ruleVO.getTemplateId(),refId);
+                result = autoDataBoilerService.autoGenerateBoilerReportData(result, refId);
+
+            }
+
+        }else if (equipMainTpe.equals("pipe")){
+
+            PipeTaskOrderItemReportDO itemReportDO = pipeTaskOrderItemReportMapper.selectById(refId);
+
+            if (itemReportDO != null){
+
+                //根据记录字段动态生成报告字段
+                result = generateReportJsonService.generateReportFromRecord(ruleVO.getReportType(),ruleVO.getTemplateId(),refId);
+                result = autoDataPipeService.autoGeneratePipeReportData(result, refId);
+
+            }
+
+        }
+
+        return result;
+    }
+}

+ 129 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/comm/QC52065_202401RecordOFData.java

@@ -0,0 +1,129 @@
+package cn.start.tz.module.pressure2.service.dynamicOFData.comm;
+
+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.equippipe.EquipPipeDO;
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitem.PipeTaskOrderItemDO;
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemreport.PipeTaskOrderItemReportDO;
+import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderitem.BoilerTaskOrderItemMapper;
+import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderitemreport.BoilerTaskOrderItemReportMapper;
+import cn.start.tz.module.pressure2.dal.mysql.equipboiler.EquipBoilerMapper;
+import cn.start.tz.module.pressure2.dal.mysql.equippipe.EquipPipeMapper;
+import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitem.PipeTaskOrderItemMapper;
+import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemreport.PipeTaskOrderItemReportMapper;
+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.AutoDataPipeService;
+import cn.start.tz.module.system.api.user.AdminUserApi;
+import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 相控阵检测记录
+ * */
+@Service("QC52065_202401RecordOFData")
+public class QC52065_202401RecordOFData implements IDynamicOFData {
+
+    @Resource
+    private EquipBoilerMapper equipBoilerMapper;
+
+    @Resource
+    private EquipPipeMapper equipPipeMapper;
+
+    @Resource
+    private BoilerTaskOrderItemReportMapper boilerTaskOrderItemReportMapper;
+
+    @Resource
+    private PipeTaskOrderItemReportMapper pipeTaskOrderItemReportMapper;
+
+    @Resource
+    private BoilerTaskOrderItemMapper boilerTaskOrderItemMapper;
+
+    @Resource
+    private PipeTaskOrderItemMapper pipeTaskOrderItemMapper;
+
+    @Resource
+    private AdminUserApi adminUserApi;
+
+    @Resource
+    private AutoDataBoilerService autoDataBoilerService;
+
+    @Resource
+    private AutoDataPipeService autoDataPipeService;
+
+    @Override
+    public JSONObject getOFData(JSONObject params) {
+        return null;
+    }
+
+    @Override
+    public JSONObject getOfDataByVO(CreateInstantiateWithRuleVO ruleVO) {
+
+        //设备报表ID
+        String refId = ruleVO.getRefId();
+
+        //主设备类型
+        String equipMainTpe = ruleVO.getParams().getString("equipMainType");
+
+        JSONObject result = new JSONObject();
+
+        if (equipMainTpe.equals("boiler")){
+
+            BoilerTaskOrderItemReportDO itemReportDO = boilerTaskOrderItemReportMapper.selectById(refId);
+
+            if (itemReportDO != null) {
+
+                result = autoDataBoilerService.autoGenerateBoilerRecordData(result, refId);
+
+                String orderItemId = itemReportDO.getOrderItemId();
+                BoilerTaskOrderItemDO itemDO = boilerTaskOrderItemMapper.selectById(orderItemId);
+                EquipBoilerReportVO equipBoilerDO = equipBoilerMapper.selectDetailsById(itemDO.getEquipId());
+
+                // 设置设备编码
+                if (equipBoilerDO != null){
+                    result.put("equipCode",(equipBoilerDO.getFactoryCode() == null ? " - " : equipBoilerDO.getFactoryCode())
+                            + "/" + (equipBoilerDO.getEquipCode() == null ? " - " : equipBoilerDO.getEquipCode()));
+                }
+
+            }
+
+        }else if (equipMainTpe.equals("pipe")){
+
+            PipeTaskOrderItemReportDO itemReportDO = pipeTaskOrderItemReportMapper.selectById(refId);
+
+            if (itemReportDO != null) {
+                //根据记录字段动态生成报告字段
+                result = autoDataPipeService.autoGeneratePipeRecordData(result, refId);
+
+                List<PipeTaskOrderItemDO> itemDOList = pipeTaskOrderItemMapper.selectList(new LambdaQueryWrapper<PipeTaskOrderItemDO>()
+                        .eq(PipeTaskOrderItemDO::getOrderId, itemReportDO.getOrderId()));
+                if (!itemDOList.isEmpty()){
+                    //设备信息
+                    EquipPipeDO equipDO = equipPipeMapper.selectById(itemDOList.get(0).getEquipId());
+                    if (equipDO != null){
+                        result.put("unitName",equipDO.getUnitName());
+                    }
+
+                    if (itemDOList.size() > 1){
+                        result.put("equipCode","见一览表");
+                    }else {
+                        if (equipDO != null) {
+                            result.put("equipCode", equipDO.getProjectNo());
+                        }
+                    }
+                }
+
+            }
+
+        }
+
+        return result;
+
+    }
+}