소스 검색

受理单

xuzhancheng 1 개월 전
부모
커밋
177baa8114

+ 133 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QR0424_202403ReportOFData.java

@@ -0,0 +1,133 @@
+package cn.start.tz.module.pressure2.service.dynamicOFData.pipe;
+
+import cn.start.tz.framework.common.pojo.CommonResult;
+import cn.start.tz.module.pressure2.controller.admin.dynamictbins.vo.CreateInstantiateWithRuleVO;
+import cn.start.tz.module.pressure2.dal.dataobject.acceptorder.AcceptOrderDO;
+import cn.start.tz.module.pressure2.dal.dataobject.equippipe.EquipPipeDO;
+import cn.start.tz.module.pressure2.dal.dataobject.pipeacceptorderitem.PipeAcceptOrderItemDO;
+import cn.start.tz.module.pressure2.dal.dataobject.pipeacceptorderuser.PipeAcceptOrderUserDO;
+import cn.start.tz.module.pressure2.dal.mysql.acceptorder.AcceptOrderMapper;
+import cn.start.tz.module.pressure2.dal.mysql.equippipe.EquipPipeMapper;
+import cn.start.tz.module.pressure2.dal.mysql.pipeacceptorderitem.PipeAcceptOrderItemMapper;
+import cn.start.tz.module.pressure2.dal.mysql.pipeacceptorderuser.PipeAcceptOrderUserMapper;
+import cn.start.tz.module.pressure2.service.dynamicOFData.IDynamicOFData;
+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 org.springframework.stereotype.Service;
+
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 受理单
+ */
+@Service("QR0424_202403ReportOFData")
+public class QR0424_202403ReportOFData implements IDynamicOFData {
+
+    @Resource
+    private EquipPipeMapper equipPipeMapper;
+
+    @Resource
+    private AcceptOrderMapper acceptOrderMapper;
+
+    @Resource
+    private PipeAcceptOrderUserMapper pipeAcceptOrderUserMapper;
+
+    @Resource
+    private PipeAcceptOrderItemMapper pipeAcceptOrderItemMapper;
+
+    @Resource
+    private AdminUserApi adminUserApi;
+
+    @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();
+        AcceptOrderDO acceptOrderDO = acceptOrderMapper.selectById(refId);
+        if (acceptOrderDO == null) {
+            return result;
+        }
+        result.put("reportNo", acceptOrderDO.getAcceptNo());
+        result.put("unitName", acceptOrderDO.getUnitName());
+        result.put("unitAddress", acceptOrderDO.getUnitAddress());
+        result.put("unitCode", acceptOrderDO.getUnitCode());
+        result.put("zipCode", acceptOrderDO.getZipCode());
+        result.put("contact", acceptOrderDO.getUnitContact());
+        result.put("contactPhone", acceptOrderDO.getUnitPhone());
+        result.put("applicationDate", acceptOrderDO.getCreateTime().format(dateFormat));
+        result.put("acceptDate", acceptOrderDO.getAppointmentDate().format(dateFormat));
+        result.put("checkDate", acceptOrderDO.getAppointmentDate().format(dateFormat));
+        CommonResult<AdminUserRespDTO> user1 = adminUserApi.getUser(acceptOrderDO.getCreator());
+        result.put("confirmed", user1.getCheckedData().getNickname());
+        result.put("acceptMan", user1.getCheckedData().getNickname());
+        if (acceptOrderDO.getFeeNature() != null) {
+            if (acceptOrderDO.getFeeNature() == 200) {
+                result.put("feeNature1", "true");
+            } else if (acceptOrderDO.getFeeNature() == 300) {
+                result.put("feeNature2", "true");
+            }
+        }
+        if (acceptOrderDO.getFeeType() != null){
+            if (acceptOrderDO.getFeeType() == 100) {
+                result.put("feeType2", "true");
+            } else if (acceptOrderDO.getFeeType() == 200) {
+                result.put("feeType1", "true");
+            }
+        }
+
+        List<PipeAcceptOrderUserDO> pipeAcceptOrderUserDOS = pipeAcceptOrderUserMapper.selectList(PipeAcceptOrderUserDO::getOrderId, refId);
+        if (pipeAcceptOrderUserDOS != null && !pipeAcceptOrderUserDOS.isEmpty()) {
+            CommonResult<List<AdminUserRespDTO>> userList = adminUserApi.getUserList(pipeAcceptOrderUserDOS.stream().map(PipeAcceptOrderUserDO::getUserId).toList());
+            List<String> names = new ArrayList<>();
+            if (!userList.getData().isEmpty()) {
+                for (PipeAcceptOrderUserDO pipeAcceptOrderUserDO : pipeAcceptOrderUserDOS) {
+                    for (AdminUserRespDTO user : userList.getData()) {
+                        if (pipeAcceptOrderUserDO.getUserId().equals(user.getId())) {
+                            names.add(user.getNickname());
+                        }
+                    }
+                }
+            }
+            String collect = names.stream().map(Object::toString).collect(Collectors.joining("、"));
+            result.put("inspector", collect);
+            result.put("inspectorNum", String.valueOf(pipeAcceptOrderUserDOS.size()));
+        }
+
+        List<PipeAcceptOrderItemDO> pipeAcceptOrderItemDOS = pipeAcceptOrderItemMapper.selectList(
+                new LambdaQueryWrapper<PipeAcceptOrderItemDO>()
+                        .eq(PipeAcceptOrderItemDO::getOrderId, refId)
+        );
+        List<EquipPipeDO> equipPipeDOS = equipPipeMapper.selectList(
+                new LambdaQueryWrapper<EquipPipeDO>()
+                        .in(EquipPipeDO::getId, pipeAcceptOrderItemDOS.stream().map(PipeAcceptOrderItemDO::getEquipId).toList())
+        );
+        for (int i = 0; i < equipPipeDOS.size(); i++) {
+            EquipPipeDO equipPipeDO = equipPipeDOS.get(i);
+            if (equipPipeDO != null) {
+                int i1 = i + 1;
+                result.put("no_" + i1,String.valueOf(i1));
+                result.put("projectName_" + i1, equipPipeDO.getProjectName());
+                result.put("certificateNo_" + i1, equipPipeDO.getCertificateNo());
+                result.put("pipeClass_" + i1, equipPipeDO.getPipeClass());
+            }
+        }
+
+        return result;
+    }
+}