Explorar o código

获取修改单接口

DLC hai 8 meses
pai
achega
4ea2941845
Modificáronse 21 ficheiros con 1234 adicións e 0 borrados
  1. 16 0
      business-common/src/main/java/com/rongwei/bscommon/sys/dao/ZhcxMdfFileDao.java
  2. 57 0
      business-common/src/main/java/com/rongwei/bscommon/sys/dao/ZhcxMdfFormDao.java
  3. 16 0
      business-common/src/main/java/com/rongwei/bscommon/sys/dao/ZhcxMdfRowDao.java
  4. 7 0
      business-common/src/main/java/com/rongwei/bscommon/sys/dao/ZhcxMdfSectionDao.java
  5. 16 0
      business-common/src/main/java/com/rongwei/bscommon/sys/service/ZhcxMdfFileService.java
  6. 24 0
      business-common/src/main/java/com/rongwei/bscommon/sys/service/ZhcxMdfFormService.java
  7. 16 0
      business-common/src/main/java/com/rongwei/bscommon/sys/service/ZhcxMdfRowService.java
  8. 16 0
      business-common/src/main/java/com/rongwei/bscommon/sys/service/ZhcxMdfSectionService.java
  9. 20 0
      business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxMdfFileServiceImpl.java
  10. 160 0
      business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxMdfFormServiceImpl.java
  11. 20 0
      business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxMdfRowServiceImpl.java
  12. 20 0
      business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxMdfSectionServiceImpl.java
  13. 87 0
      business-common/src/main/java/com/rongwei/bscommon/sys/utils/MdfApi.java
  14. 90 0
      business-entity/src/main/java/com/rongwei/bsentity/domain/ZhcxMdfFileDo.java
  15. 235 0
      business-entity/src/main/java/com/rongwei/bsentity/domain/ZhcxMdfFormDo.java
  16. 154 0
      business-entity/src/main/java/com/rongwei/bsentity/domain/ZhcxMdfRowDo.java
  17. 194 0
      business-entity/src/main/java/com/rongwei/bsentity/domain/ZhcxMdfSectionDo.java
  18. 11 0
      business-entity/src/main/java/com/rongwei/bsentity/vo/ZhcxMdfFormVo.java
  19. 12 0
      business-entity/src/main/java/com/rongwei/bsentity/vo/ZhcxMdfRowVo.java
  20. 11 0
      business-entity/src/main/java/com/rongwei/bsentity/vo/ZhcxMdfSectionVo.java
  21. 52 0
      business-server/src/main/java/com/rongwei/bsserver/controller/ZhcxMdfFormController.java

+ 16 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/dao/ZhcxMdfFileDao.java

@@ -0,0 +1,16 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.rongwei.bsentity.domain.ZhcxMdfFileDo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author dlc
+ * @since 2024-11-19
+ */
+public interface ZhcxMdfFileDao extends BaseMapper<ZhcxMdfFileDo> {
+
+}

+ 57 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/dao/ZhcxMdfFormDao.java

@@ -0,0 +1,57 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ZhcxMdfFileDo;
+import com.rongwei.bsentity.domain.ZhcxMdfFormDo;
+import com.rongwei.bsentity.domain.ZhcxMdfRowDo;
+import com.rongwei.bsentity.domain.ZhcxMdfSectionDo;
+import com.rongwei.bsentity.vo.ZhcxMdfFormVo;
+import com.rongwei.bsentity.vo.ZhcxMdfRowVo;
+import com.rongwei.bsentity.vo.ZhcxMdfSectionVo;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+/**
+ * <p>
+ * Mapper 接口
+ * </p>
+ *
+ * @author dlc
+ * @since 2024-11-18
+ */
+public interface ZhcxMdfFormDao extends BaseMapper<ZhcxMdfFormDo> {
+    @Select("SELECT ID FROM ZHCX_MDF_FORM WHERE DELETED='0' and DTWHOAPPROVETIME>='${dtwhoapproveTime} 00:00:00' and DTWHOAPPROVETIME<='${dtwhoapproveTime} 23:59:59'")
+    List<ZhcxMdfFormDo> getZhcxMdfForms(String dtwhoapproveTime);
+
+    @Select("SELECT * FROM ZHCX_MDF_FORM WHERE DELETED='0' and DTWHOAPPROVETIME>='${dtwhoapproveTime} 00:00:00' and DTWHOAPPROVETIME<='${dtwhoapproveTime} 23:59:59'")
+    List<ZhcxMdfFormVo> getZhcxMdfFormVos(String dtwhoapproveTime);
+
+    @Select("<script>" +
+            " SELECT * FROM ZHCX_MDF_SECTION t WHERE FORMID IN " +
+            "<foreach collection=\"formids\" separator=\",\" open=\"(\" close=\")\" item=\"item\"> " +
+            "   #{item}" +
+            "</foreach>" +
+            " AND DELETED = '0' " +
+            "</script>")
+    List<ZhcxMdfSectionVo> getZhcxMdfSectionDos(@Param("formids") List<Integer> formids);
+
+    @Select("<script>" +
+            " SELECT * FROM ZHCX_MDF_ROW t WHERE FORMID IN " +
+            "<foreach collection=\"formids\" separator=\",\" open=\"(\" close=\")\" item=\"item\"> " +
+            "   #{item}" +
+            "</foreach>" +
+            " AND DELETED = '0' " +
+            "</script>")
+    List<ZhcxMdfRowVo> getZhcxMdfRowDos(@Param("formids") List<Integer> formids);
+
+    @Select("<script>" +
+            " SELECT * FROM ZHCX_MDF_FILE t WHERE FORMID IN " +
+            "<foreach collection=\"formids\" separator=\",\" open=\"(\" close=\")\" item=\"item\"> " +
+            "   #{item}" +
+            "</foreach>" +
+            " AND DELETED = '0' " +
+            "</script>")
+    List<ZhcxMdfFileDo> getZhcxMdfFileDos(@Param("formids") List<Integer> formids);
+}

+ 16 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/dao/ZhcxMdfRowDao.java

@@ -0,0 +1,16 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.rongwei.bsentity.domain.ZhcxMdfRowDo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author dlc
+ * @since 2024-11-19
+ */
+public interface ZhcxMdfRowDao extends BaseMapper<ZhcxMdfRowDo> {
+
+}

+ 7 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/dao/ZhcxMdfSectionDao.java

@@ -0,0 +1,7 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ZhcxMdfSectionDo;
+
+public interface ZhcxMdfSectionDao extends BaseMapper<ZhcxMdfSectionDo> {
+}

+ 16 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/service/ZhcxMdfFileService.java

@@ -0,0 +1,16 @@
+package com.rongwei.bscommon.sys.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.domain.ZhcxMdfFileDo;
+
+/**
+ * <p>
+ * 服务类
+ * </p>
+ *
+ * @author dlc
+ * @since 2024-11-19
+ */
+public interface ZhcxMdfFileService extends IService<ZhcxMdfFileDo> {
+
+}

+ 24 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/service/ZhcxMdfFormService.java

@@ -0,0 +1,24 @@
+package com.rongwei.bscommon.sys.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.domain.ZhcxMdfFormDo;
+import com.rongwei.rwcommon.base.R;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 服务类
+ * </p>
+ *
+ * @author dlc
+ * @since 2024-11-18
+ */
+@Service
+public interface ZhcxMdfFormService extends IService<ZhcxMdfFormDo> {
+
+    //获取修改单信息
+    R getMdfFormInfo(String dtwhoapproveTime) throws Exception;
+
+    //发送原始修改单信息
+    R sendMdfFormInfo(String dtwhoapproveTime) throws Exception;
+}

+ 16 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/service/ZhcxMdfRowService.java

@@ -0,0 +1,16 @@
+package com.rongwei.bscommon.sys.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.domain.ZhcxMdfRowDo;
+
+/**
+ * <p>
+ * 服务类
+ * </p>
+ *
+ * @author dlc
+ * @since 2024-11-19
+ */
+public interface ZhcxMdfRowService extends IService<ZhcxMdfRowDo> {
+
+}

+ 16 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/service/ZhcxMdfSectionService.java

@@ -0,0 +1,16 @@
+package com.rongwei.bscommon.sys.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.domain.ZhcxMdfSectionDo;
+
+/**
+ * <p>
+ * 服务类
+ * </p>
+ *
+ * @author dlc
+ * @since 2024-11-19
+ */
+public interface ZhcxMdfSectionService extends IService<ZhcxMdfSectionDo> {
+
+}

+ 20 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxMdfFileServiceImpl.java

@@ -0,0 +1,20 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import com.rongwei.bsentity.domain.ZhcxMdfFileDo;
+import com.rongwei.bscommon.sys.dao.ZhcxMdfFileDao;
+import com.rongwei.bscommon.sys.service.ZhcxMdfFileService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author dlc
+ * @since 2024-11-19
+ */
+@Service
+public class ZhcxMdfFileServiceImpl extends ServiceImpl<ZhcxMdfFileDao, ZhcxMdfFileDo> implements ZhcxMdfFileService {
+
+}

+ 160 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxMdfFormServiceImpl.java

@@ -0,0 +1,160 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.ZhcxMdfFormDao;
+import com.rongwei.bscommon.sys.service.ZhcxMdfFileService;
+import com.rongwei.bscommon.sys.service.ZhcxMdfFormService;
+import com.rongwei.bscommon.sys.service.ZhcxMdfRowService;
+import com.rongwei.bscommon.sys.service.ZhcxMdfSectionService;
+import com.rongwei.bscommon.sys.utils.MdfApi;
+import com.rongwei.bsentity.domain.ZhcxMdfFileDo;
+import com.rongwei.bsentity.domain.ZhcxMdfFormDo;
+import com.rongwei.bsentity.domain.ZhcxMdfRowDo;
+import com.rongwei.bsentity.domain.ZhcxMdfSectionDo;
+import com.rongwei.bsentity.vo.ZhcxMdfFormVo;
+import com.rongwei.bsentity.vo.ZhcxMdfRowVo;
+import com.rongwei.bsentity.vo.ZhcxMdfSectionVo;
+import com.rongwei.rwcommon.base.R;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * 服务实现类
+ * </p>
+ *
+ * @author dlc
+ * @since 2024-11-18
+ */
+@Service
+@Slf4j
+public class ZhcxMdfFormServiceImpl extends ServiceImpl<ZhcxMdfFormDao, ZhcxMdfFormDo> implements ZhcxMdfFormService {
+    @Autowired
+    private MdfApi mdfApi;
+    @Autowired
+    private ZhcxMdfFormService zhcxMdfFormService;
+    @Autowired
+    private ZhcxMdfSectionService zhcxMdfSectionService;
+    @Autowired
+    private ZhcxMdfRowService zhcxMdfRowService;
+    @Autowired
+    private ZhcxMdfFileService zhcxMdfFileService;
+    @Autowired
+    private ZhcxMdfFormDao zhcxMdfFormDao;
+
+    //获取修改单信息
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public R getMdfFormInfo(String dtwhoapproveTime) throws Exception {
+        R r = new R();
+        if (dtwhoapproveTime == null || dtwhoapproveTime.length() == 0) {
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+            Calendar calendar = Calendar.getInstance();
+            calendar.add(Calendar.DATE, -1);
+            Date yesterday = calendar.getTime();
+            dtwhoapproveTime = sdf.format(yesterday);
+        }
+        Map<String, Object> mdfmap = mdfApi.apiCall(dtwhoapproveTime);
+        if (mdfmap.get("code").equals("200")) {
+            List<ZhcxMdfFormVo> mdfFormVoList = JSON.parseArray(JSON.toJSONString(mdfmap.get("data")), ZhcxMdfFormVo.class);
+            if (mdfFormVoList.size() > 0) {
+                //已有修改单数据
+                List<ZhcxMdfFormDo> zhcxMdfFormDos = zhcxMdfFormDao.getZhcxMdfForms(dtwhoapproveTime);
+
+                List<ZhcxMdfFormDo> zhcxMdfFormDoList = new ArrayList<>();
+                List<ZhcxMdfSectionDo> zhcxMdfSectionDoList = new ArrayList<>();
+                List<ZhcxMdfRowDo> zhcxMdfRowDoList = new ArrayList<>();
+                List<ZhcxMdfFileDo> zhcxMdfFileDoList = new ArrayList<>();
+                for (ZhcxMdfFormVo zhcxMdfFormVo : mdfFormVoList) {
+                    List<ZhcxMdfFormDo> hasMdfForms = zhcxMdfFormDos.stream().filter(mdf -> mdf.getId().equals(zhcxMdfFormVo.getId())).collect(Collectors.toList());
+                    if (hasMdfForms.size() > 0) {
+                        continue;
+                    }
+                    zhcxMdfFormDoList.add(zhcxMdfFormVo);
+                    for (ZhcxMdfSectionVo zhcxMdfSectionVo : zhcxMdfFormVo.getSections()) {
+                        zhcxMdfSectionVo.setFormid(zhcxMdfFormVo.getId());
+                        zhcxMdfSectionDoList.add(zhcxMdfSectionVo);
+                        for (ZhcxMdfRowVo zhcxMdfRowVo : zhcxMdfSectionVo.getRows()) {
+                            zhcxMdfRowVo.setFormid(zhcxMdfFormVo.getId());
+                            zhcxMdfRowVo.setSectionid(zhcxMdfSectionVo.getId());
+                            zhcxMdfRowDoList.add(zhcxMdfRowVo);
+                            for (ZhcxMdfFileDo zhcxMdfFileDo : zhcxMdfRowVo.getFiles()) {
+                                zhcxMdfFileDo.setFormid(zhcxMdfFormVo.getId());
+                                zhcxMdfFileDo.setSectionid(zhcxMdfSectionVo.getId());
+                                zhcxMdfFileDo.setRowsid(zhcxMdfRowVo.getId());
+                                zhcxMdfFileDoList.add(zhcxMdfFileDo);
+                            }
+                        }
+                    }
+                }
+                if (zhcxMdfFormDoList.size() > 0) {
+                    zhcxMdfFormService.saveOrUpdateBatch(zhcxMdfFormDoList);
+                }
+                if (zhcxMdfSectionDoList.size() > 0) {
+                    zhcxMdfSectionService.saveOrUpdateBatch(zhcxMdfSectionDoList);
+                }
+                if (zhcxMdfRowDoList.size() > 0) {
+                    zhcxMdfRowService.saveOrUpdateBatch(zhcxMdfRowDoList);
+                }
+                if (zhcxMdfFileDoList.size() > 0) {
+                    zhcxMdfFileService.saveOrUpdateBatch(zhcxMdfFileDoList);
+                }
+            }
+        }
+        r.setCode(mdfmap.get("code").toString());
+        r.setMsg(mdfmap.get("msg").toString());
+        return r;
+    }
+
+    //发送原始修改单信息
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public R sendMdfFormInfo(String dtwhoapproveTime) throws Exception {
+        R r = new R();
+        if (dtwhoapproveTime == null || dtwhoapproveTime.length() == 0) {
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+            Calendar calendar = Calendar.getInstance();
+            calendar.add(Calendar.DATE, -1);
+            Date yesterday = calendar.getTime();
+            dtwhoapproveTime = sdf.format(yesterday);
+        }
+        //主表信息
+        List<ZhcxMdfFormVo> zhcxMdfFormVos = zhcxMdfFormDao.getZhcxMdfFormVos(dtwhoapproveTime);
+        List<Integer> formIds = new ArrayList<>();
+        for (ZhcxMdfFormVo zhcxMdfFormVo : zhcxMdfFormVos) {
+            formIds.add(zhcxMdfFormVo.getId());
+        }
+        //各子表信息
+        List<ZhcxMdfSectionVo> zhcxMdfSectionVos = zhcxMdfFormDao.getZhcxMdfSectionDos(formIds);
+        List<ZhcxMdfRowVo> zhcxMdfRowVos = zhcxMdfFormDao.getZhcxMdfRowDos(formIds);
+        List<ZhcxMdfFileDo> zhcxMdfFileDos = zhcxMdfFormDao.getZhcxMdfFileDos(formIds);
+        //接口发送的数据
+        List<ZhcxMdfFormVo> sendMdfFormVos = new ArrayList<>();
+        for (ZhcxMdfFormVo mdfFormVo : zhcxMdfFormVos) {
+            List<ZhcxMdfSectionVo> mdfSectionVos = zhcxMdfSectionVos.stream().filter(s -> s.getFormid().equals(mdfFormVo.getId())).collect(Collectors.toList());
+            for (ZhcxMdfSectionVo mdfSectionVo : mdfSectionVos) {
+                List<ZhcxMdfRowVo> mdfRowVos = zhcxMdfRowVos.stream().filter(mr -> mr.getFormid().equals(mdfFormVo.getId()) && mr.getSectionid().equals(mdfSectionVo.getId())).collect(Collectors.toList());
+                for (ZhcxMdfRowVo mdfRowVo : mdfRowVos) {
+                    List<ZhcxMdfFileDo> mdfFileDos = zhcxMdfFileDos.stream().filter(f -> f.getFormid().equals(mdfFormVo.getId()) && f.getSectionid().equals(mdfSectionVo.getId()) && f.getRowsid().equals(mdfRowVo.getId())).collect(Collectors.toList());
+                    mdfRowVo.setFiles(mdfFileDos);
+                }
+                mdfSectionVo.setRows(mdfRowVos);
+            }
+            mdfFormVo.setSections(mdfSectionVos);
+            sendMdfFormVos.add(mdfFormVo);
+        }
+
+        r.setCode("200");
+        r.setMsg("操作成功");
+        r.setData(sendMdfFormVos);
+        log.info("发送的JSON:" + r);
+        return r;
+    }
+}

+ 20 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxMdfRowServiceImpl.java

@@ -0,0 +1,20 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import com.rongwei.bsentity.domain.ZhcxMdfRowDo;
+import com.rongwei.bscommon.sys.dao.ZhcxMdfRowDao;
+import com.rongwei.bscommon.sys.service.ZhcxMdfRowService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author dlc
+ * @since 2024-11-19
+ */
+@Service
+public class ZhcxMdfRowServiceImpl extends ServiceImpl<ZhcxMdfRowDao, ZhcxMdfRowDo> implements ZhcxMdfRowService {
+
+}

+ 20 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxMdfSectionServiceImpl.java

@@ -0,0 +1,20 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.ZhcxMdfSectionDao;
+import com.rongwei.bscommon.sys.service.ZhcxMdfSectionService;
+import com.rongwei.bsentity.domain.ZhcxMdfSectionDo;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 服务实现类
+ * </p>
+ *
+ * @author dlc
+ * @since 2024-11-19
+ */
+@Service
+public class ZhcxMdfSectionServiceImpl extends ServiceImpl<ZhcxMdfSectionDao, ZhcxMdfSectionDo> implements ZhcxMdfSectionService {
+
+}

+ 87 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/utils/MdfApi.java

@@ -0,0 +1,87 @@
+package com.rongwei.bscommon.sys.utils;
+
+import cn.hutool.http.HttpUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.rongwei.commonservice.service.SysConfigService;
+import lombok.Getter;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.HashMap;
+import java.util.Map;
+
+@Component
+public class MdfApi {
+    private static final Logger logger = LogManager.getLogger(MdfApi.class);
+
+    @Getter
+    private String mdfApi = "https://mo.yuncan.com/api/form/list/all";
+    @Autowired
+    private SysConfigService sysConfigService;
+
+    /**
+     * 获取修改单相关参数初始化
+     */
+    public void init() {
+        String configContent = sysConfigService.getContentByConfigCode("mdfApiConfig");
+        JSONObject jsonObject = JSON.parseObject(configContent);
+        this.mdfApi = jsonObject.getString("mdfApi");
+    }
+
+    /**
+     * 获取修改单
+     */
+    public Map<String, Object> apiCall(String dtwhoapproveTime) throws Exception {
+        Map<String, Object> retMap = new HashMap<>();
+        String apiUrl = null;
+        String resultJson = null;
+        try {
+            // 请求接口URL
+            String configContent = sysConfigService.getContentByConfigCode("mdfApiConfig");
+            JSONObject jsonObject = JSON.parseObject(configContent);
+            apiUrl = jsonObject.get("mdfApi").toString() + "?dtwhoapproveTime=" + dtwhoapproveTime;
+            resultJson = HttpUtil.get(apiUrl);
+
+            JSONObject apiReturnJson = JSON.parseObject(resultJson);
+            if (apiReturnJson.get("code").equals(200)) {
+                logger.info("sendMDFData" + "发送的JSON:" + apiUrl + "回传的JSON:" + resultJson);
+                // 日志记录
+//                saveApiLog(apiUrl, resultJson, "sendMDFData");
+                retMap.put("code", "200");
+                retMap.put("msg", "操作成功");
+                retMap.put("data", apiReturnJson.get("data"));
+            } else {
+                retMap.put("code", "500");
+                retMap.put("msg", apiReturnJson.get("message").toString());
+            }
+        } catch (Exception ex) {
+            logger.info(ex.getMessage());
+            ex.printStackTrace();
+            logger.info("sendMDFData" + "发送的JSON:" + apiUrl + "回传的JSON:" + resultJson);
+            retMap.put("code", "500");
+            retMap.put("msg", ex.getMessage());
+        }
+        return retMap;
+    }
+
+    /**
+     * 接口调用日志记录
+     *
+     * @param callPar
+     * @param returnPar
+     */
+//    public void saveApiLog(String callPar, String returnPar, String apiCode) {
+//        ApiLogDo apiLogDo = new ApiLogDo();
+//        apiLogDo.setId(SecurityUtil.getUUID());
+//        apiLogDo.setCalltype("out");
+//        apiLogDo.setApicode(apiCode);
+//        apiLogDo.setApiip(this.mdfApi);
+//        apiLogDo.setApisenddata(callPar);
+//        apiLogDo.setApireturndata(returnPar);
+//
+//        apiLogService.save(apiLogDo);
+//    }
+}

+ 90 - 0
business-entity/src/main/java/com/rongwei/bsentity/domain/ZhcxMdfFileDo.java

@@ -0,0 +1,90 @@
+package com.rongwei.bsentity.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.rongwei.rwcommon.base.BaseDo;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.util.Date;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author dlc
+ * @since 2024-11-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@TableName("ZHCX_MDF_FILE")
+public class ZhcxMdfFileDo extends BaseDo {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ID
+     */
+    @TableField("ID")
+    private Integer id;
+    /**
+     * 租户ID
+     */
+    @TableField("TENANTID")
+    private String tenantid;
+    /**
+     * 扩展json格式配置
+     */
+    @TableField("ROPTION")
+    private String roption;
+    /**
+     * 创建人
+     */
+    @TableField("ADMINID")
+    private Integer adminid;
+    /**
+     * 内容显示的url
+     */
+    @TableField("CONTENT")
+    private String content;
+    /**
+     * 创建时间
+     */
+    @TableField("CREATETIME")
+    private Date createtime;
+    /**
+     * 下载地址
+     */
+    @TableField("DOWN")
+    private String down;
+    /**
+     * 修改单id
+     */
+    @TableField("FORMID")
+    private Integer formid;
+    /**
+     * 附件名称
+     */
+    @TableField("NAME")
+    private String name;
+    /**
+     * 绝对路径
+     */
+    @TableField("PATH")
+    private String path;
+    /**
+     * 排号组id
+     */
+    @TableField("ROWSID")
+    private Integer rowsid;
+    /**
+     * 序列组id
+     */
+    @TableField("SECTIONID")
+    private Integer sectionid;
+
+
+}

+ 235 - 0
business-entity/src/main/java/com/rongwei/bsentity/domain/ZhcxMdfFormDo.java

@@ -0,0 +1,235 @@
+package com.rongwei.bsentity.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.rongwei.rwcommon.base.BaseDo;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.util.Date;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author dlc
+ * @since 2024-11-18
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@TableName("ZHCX_MDF_FORM")
+public class ZhcxMdfFormDo extends BaseDo {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ID
+     */
+    @TableField("ID")
+    private Integer id;
+    /**
+     * 租户ID
+     */
+    @TableField("TENANTID")
+    private String tenantid;
+    /**
+     * 扩展json格式配置
+     */
+    @TableField("ROPTION")
+    private String roption;
+    /**
+     * adminId
+     */
+    @TableField("ADMINID")
+    private Integer adminid;
+    /**
+     * 创单姓名
+     */
+    @TableField("ADMINNICKNAME")
+    private String adminnickname;
+    /**
+     * 用户权限 1->仅查看 2->编辑 3->校对按钮 4->审核按钮 5->发送邮件按钮 6 -> 修改单 审核人 仅支持上传签名
+     */
+    @TableField("AUTH")
+    private Integer auth;
+    /**
+     * baseEmailsStr
+     */
+    @TableField("BASEEMAILSSTR")
+    private String baseemailsstr;
+    /**
+     * 竣工日期
+     */
+    @TableField("COMPLETETIME")
+    private String completetime;
+    /**
+     * 创建时间
+     */
+    @TableField("CREATETIME")
+    private Date createtime;
+    /**
+     * 删除时间
+     */
+    @TableField("DELETETIME")
+    private Date deletetime;
+    /**
+     * 引起关联部件的修改 0: 未选 1: 勾选
+     */
+    @TableField("DESIGNMODIFY")
+    private Integer designmodify;
+    /**
+     * 通知设计人 0: 未勾选 1: 已勾选
+     */
+    @TableField("DESIGNNOTICE")
+    private Integer designnotice;
+    /**
+     * 部件 通知修改 0: 未选 1: 勾选
+     */
+    @TableField("DESIGNNOTICEMODIFY")
+    private Integer designnoticemodify;
+    /**
+     * 审批人id
+     */
+    @TableField("DTWHOAPPROVEADMINID")
+    private Integer dtwhoapproveadminid;
+    /**
+     * 审批人名字
+     */
+    @TableField("DTWHOAPPROVEADMINNICKNAME")
+    private String dtwhoapproveadminnickname;
+    /**
+     * 装船时 审批人 签名地址
+     */
+    @TableField("DTWHOAPPROVECONTENT")
+    private String dtwhoapprovecontent;
+    /**
+     * 审核时间
+     */
+    @TableField("DTWHOAPPROVETIME")
+    private Date dtwhoapprovetime;
+    /**
+     * 校对时间
+     */
+    @TableField("DTWHOCOLLATETIME")
+    private Date dtwhocollatetime;
+    /**
+     * 生成修改单excel路径
+     */
+    @TableField("EXCEL")
+    private String excel;
+    /**
+     * 项目主管id
+     */
+    @TableField("MANAGEADMINID")
+    private Integer manageadminid;
+    /**
+     * 项目主管名称
+     */
+    @TableField("MANAGEADMINNICKNAME")
+    private String manageadminnickname;
+    /**
+     * 总编号id
+     */
+    @TableField("NUMBERID")
+    private Integer numberid;
+    /**
+     * 总编号名称
+     */
+    @TableField("NUMBERNAME")
+    private String numbername;
+    /**
+     * 生成修改单 pdf 路径
+     */
+    @TableField("PDF")
+    private String pdf;
+    /**
+     * 生成阶段名称
+     */
+    @TableField("PRODUCENAME")
+    private String producename;
+    /**
+     * 项目工号
+     */
+    @TableField("PROJECTDLPROJID")
+    private String projectdlprojid;
+    /**
+     * 项目名称
+     */
+    @TableField("PROJECTDLPROJNAME")
+    private String projectdlprojname;
+    /**
+     * 项目id
+     */
+    @TableField("PROJECTID")
+    private Integer projectid;
+    /**
+     * 整改编号
+     */
+    @TableField("RECTIFYCODE")
+    private String rectifycode;
+    /**
+     * relationEmailsStr
+     */
+    @TableField("RELATIONEMAILSSTR")
+    private String relationemailsstr;
+    /**
+     * 引起关联部门的修改 0: 未选 1: 勾选
+     */
+    @TableField("ROLEMODIFY")
+    private Integer rolemodify;
+    /**
+     * 部门 通知修改 0: 未选 1: 勾选
+     */
+    @TableField("ROLENOTICEMODIFY")
+    private Integer rolenoticemodify;
+    /**
+     * 对应的sectionIds
+     */
+    @TableField("SECTIONIDS")
+    private String sectionids;
+    /**
+     * 状态排序字段 0-> 新建 10->待校对 20->待审核 30->校对驳回 40->审核驳回 50->审核通过
+     */
+    @TableField("SORT")
+    private Integer sort;
+    /**
+     * 修改源id
+     */
+    @TableField("SOURCEID")
+    private Integer sourceid;
+    /**
+     * 修改源头名称
+     */
+    @TableField("SOURCENAME")
+    private String sourcename;
+    /**
+     * 编号
+     */
+    @TableField("SOURCENUMBERCODE")
+    private String sourcenumbercode;
+    /**
+     * 修改单状态 1:新增 2:待校对 3:校对退回 4:待审核 5:审核退回 6:审核通过
+     */
+    @TableField("STATUS")
+    private Integer status;
+    /**
+     * 类型编码
+     */
+    @TableField("TYPECODE")
+    private String typecode;
+    /**
+     * 类型名字
+     */
+    @TableField("TYPENAME")
+    private String typename;
+    /**
+     * updateTime
+     */
+    @TableField("UPDATETIME")
+    private Date updatetime;
+
+
+}

+ 154 - 0
business-entity/src/main/java/com/rongwei/bsentity/domain/ZhcxMdfRowDo.java

@@ -0,0 +1,154 @@
+package com.rongwei.bsentity.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.rongwei.rwcommon.base.BaseDo;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author dlc
+ * @since 2024-11-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@TableName("ZHCX_MDF_ROW")
+public class ZhcxMdfRowDo extends BaseDo {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     * ID
+     */
+    @TableField("ID")
+    private Integer id;
+    /**
+     * 租户ID
+     */
+    @TableField("TENANTID")
+    private String tenantid;
+    /**
+     * 扩展json格式配置
+     */
+    @TableField("ROPTION")
+    private String roption;
+    /**
+     * 创建时间
+     */
+    @TableField("CREATETIME")
+    private Date createtime;
+    /**
+     * 序号
+     */
+    @TableField("ROWSN")
+    private String rowsn;
+    /**
+     * 创建人
+     */
+    @TableField("ADMINID")
+    private Integer adminid;
+    /**
+     * 修改单id
+     */
+    @TableField("FORMID")
+    private Integer formid;
+    /**
+     * 序列组id
+     */
+    @TableField("SECTIONID")
+    private Integer sectionid;
+    /**
+     * 任务部件 id
+     */
+    @TableField("TASKDESIGNID")
+    private Integer taskdesignid;
+    /**
+     * 任务部件名称
+     */
+    @TableField("TASKDESIGNDTPARTNAME")
+    private String taskdesigndtpartname;
+    /**
+     * 次级部件图号
+     */
+    @TableField("MINORDESIGNDTDRAWINGNO")
+    private String minordesigndtdrawingno;
+    /**
+     * 次级部件图名
+     */
+    @TableField("MINORDESIGNDTPARTNAME")
+    private String minordesigndtpartname;
+    /**
+     * 电子图时间
+     */
+    @TableField("ELECTRONICDRAWINGTIME")
+    private String electronicdrawingtime;
+    /**
+     * 蜡底图时间
+     */
+    @TableField("CANDLEDRAWINGTIME")
+    private String candledrawingtime;
+    /**
+     * 标记
+     */
+    @TableField("NOS")
+    private String nos;
+    /**
+     * 修改内容
+     */
+    @TableField("CONTENT")
+    private String content;
+    /**
+     * 附件
+     */
+    @TableField("FILENO")
+    private String fileno;
+    /**
+     * 任务部件图号
+     */
+    @TableField("TASKDESIGNDTDRAWINGNO")
+    private String taskdesigndtdrawingno;
+    /**
+     * 图中位置
+     */
+    @TableField("POSITIONDRAWING")
+    private String positiondrawing;
+    /**
+     * 修改人名称
+     */
+    @TableField("MODIFYADMINNICKNAME")
+    private String modifyadminnickname;
+    /**
+     * 修改单校对人名称
+     */
+    @TableField("DTWHOCOLLATEADMINNICKNAME")
+    private String dtwhocollateadminnickname;
+    /**
+     * 审批人名字
+     */
+    @TableField("DTWHOAPPROVEADMINNICKNAME")
+    private String dtwhoapproveadminnickname;
+    /**
+     * 修改人路径
+     */
+    @TableField("MODIFYPATH")
+    private String modifypath;
+    /**
+     * 校对人路径
+     */
+    @TableField("DTWHOCOLLATEPATH")
+    private String dtwhocollatepath;
+    /**
+     * 审核人路径
+     */
+    @TableField("DTWHOAPPROVEPATH")
+    private String dtwhoapprovepath;
+
+
+}

+ 194 - 0
business-entity/src/main/java/com/rongwei/bsentity/domain/ZhcxMdfSectionDo.java

@@ -0,0 +1,194 @@
+package com.rongwei.bsentity.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.rongwei.rwcommon.base.BaseDo;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author dlc
+ * @since 2024-11-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@TableName("ZHCX_MDF_SECTION")
+public class ZhcxMdfSectionDo extends BaseDo {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     * ID
+     */
+    @TableField("ID")
+    private Integer id;
+    /**
+     * 租户ID
+     */
+    @TableField("TENANTID")
+    private String tenantid;
+    /**
+     * 扩展json格式配置
+     */
+    @TableField("ROPTION")
+    private String roption;
+    /**
+     * 创建时间
+     */
+    @TableField("CREATETIME")
+    private Date createtime;
+    /**
+     * 创建人
+     */
+    @TableField("ADMINID")
+    private Integer adminid;
+    /**
+     * 修改单id
+     */
+    @TableField("FORMID")
+    private Integer formid;
+    /**
+     * 设计错误部件id
+     */
+    @TableField("ERRORDESIGNID")
+    private Integer errordesignid;
+    /**
+     * 设计错误部件名称
+     */
+    @TableField("ERRORDESIGNDTPARTNAME")
+    private String errordesigndtpartname;
+    /**
+     * 修改责任方
+     */
+    @TableField("MODIFYBY")
+    private String modifyby;
+    /**
+     * 常规错误
+     */
+    @TableField("ERRORROUTINE")
+    private String errorroutine;
+    /**
+     * 二过错误
+     */
+    @TableField("ERRORAGAIN")
+    private String erroragain;
+    /**
+     * 较难发现错误
+     */
+    @TableField("ERRORHARD")
+    private String errorhard;
+    /**
+     * 外部影响配合时间差错误
+     */
+    @TableField("ERROROUTSIDE")
+    private String erroroutside;
+    /**
+     * 设计人
+     */
+    @TableField("DTDESIGNER")
+    private String dtdesigner;
+    /**
+     * 校对人
+     */
+    @TableField("DTWHOCOLLATE")
+    private String dtwhocollate;
+    /**
+     * 审核人
+     */
+    @TableField("DTWHOAPPROVE")
+    private String dtwhoapprove;
+    /**
+     * 修改单修改人id
+     */
+    @TableField("MODIFYADMINID")
+    private Integer modifyadminid;
+    /**
+     * 修改单修改人名称
+     */
+    @TableField("MODIFYADMINNICKNAME")
+    private String modifyadminnickname;
+    /**
+     * 修改单校对人id
+     */
+    @TableField("DTWHOCOLLATEADMINID")
+    private Integer dtwhocollateadminid;
+    /**
+     * 修改单校对人名称
+     */
+    @TableField("DTWHOCOLLATEADMINNICKNAME")
+    private String dtwhocollateadminnickname;
+    /**
+     * 审批人id
+     */
+    @TableField("DTWHOAPPROVEADMINID")
+    private Integer dtwhoapproveadminid;
+    /**
+     * 审批人名字
+     */
+    @TableField("DTWHOAPPROVEADMINNICKNAME")
+    private String dtwhoapproveadminnickname;
+    /**
+     * 序号
+     */
+    @TableField("SECTIONSN")
+    private String sectionsn;
+    /**
+     * 校对表错误 0:未勾选 1: 勾选
+     */
+    @TableField("ERRORTABLE")
+    private Integer errortable;
+    /**
+     * 错误设计图号
+     */
+    @TableField("ERRORDESIGNDTDRAWINGNO")
+    private String errordesigndtdrawingno;
+    /**
+     * 设计人id
+     */
+    @TableField("DTDESIGNERUSERADMINID")
+    private Integer dtdesigneruseradminid;
+    /**
+     * 校对人id
+     */
+    @TableField("DTWHOCOLLATEUSERADMINID")
+    private Integer dtwhocollateuseradminid;
+    /**
+     * 审核人id
+     */
+    @TableField("DTWHOAPPROVEUSERADMINID")
+    private Integer dtwhoapproveuseradminid;
+    /**
+     * 设计人id(图纸平台)
+     */
+    @TableField("DTDESIGNERUSERUSERID")
+    private String dtdesigneruseruserid;
+    /**
+     * 校对人id (图纸平台)
+     */
+    @TableField("DTWHOCOLLATEUSERUSERID")
+    private String dtwhocollateuseruserid;
+    /**
+     * 审核人id(图纸平台)
+     */
+    @TableField("DTWHOAPPROVEUSERUSERID")
+    private String dtwhoapproveuseruserid;
+    /**
+     * 修改人签名地址
+     */
+    @TableField("MODIFYCONTENT")
+    private String modifycontent;
+    /**
+     * 修改人签名path
+     */
+    @TableField("MODIFYPATH")
+    private String modifypath;
+
+
+}

+ 11 - 0
business-entity/src/main/java/com/rongwei/bsentity/vo/ZhcxMdfFormVo.java

@@ -0,0 +1,11 @@
+package com.rongwei.bsentity.vo;
+
+import com.rongwei.bsentity.domain.ZhcxMdfFormDo;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ZhcxMdfFormVo extends ZhcxMdfFormDo {
+    private List<ZhcxMdfSectionVo> sections;
+}

+ 12 - 0
business-entity/src/main/java/com/rongwei/bsentity/vo/ZhcxMdfRowVo.java

@@ -0,0 +1,12 @@
+package com.rongwei.bsentity.vo;
+
+import com.rongwei.bsentity.domain.ZhcxMdfFileDo;
+import com.rongwei.bsentity.domain.ZhcxMdfRowDo;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ZhcxMdfRowVo extends ZhcxMdfRowDo {
+    List<ZhcxMdfFileDo> files;
+}

+ 11 - 0
business-entity/src/main/java/com/rongwei/bsentity/vo/ZhcxMdfSectionVo.java

@@ -0,0 +1,11 @@
+package com.rongwei.bsentity.vo;
+
+import com.rongwei.bsentity.domain.ZhcxMdfSectionDo;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ZhcxMdfSectionVo extends ZhcxMdfSectionDo {
+    List<ZhcxMdfRowVo> rows;
+}

+ 52 - 0
business-server/src/main/java/com/rongwei/bsserver/controller/ZhcxMdfFormController.java

@@ -0,0 +1,52 @@
+package com.rongwei.bsserver.controller;
+
+
+import com.rongwei.bscommon.sys.service.ZhcxMdfFormService;
+import com.rongwei.rwcommon.base.R;
+import io.swagger.annotations.Api;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 前端控制器
+ * </p>
+ *
+ * @author dlc
+ * @since 2024-11-18
+ */
+@Slf4j
+@RestController
+@RequestMapping("/zhcxMdfForm")
+@Api(tags = "修改单")
+public class ZhcxMdfFormController {
+    @Autowired
+    private ZhcxMdfFormService zhcxMdfFormService;
+
+    //获取修改单信息
+    @RequestMapping("/getMdfFormInfo")
+    public R getMdfFormInfo(String dtwhoapproveTime) {
+        try {
+            log.info("获取修改单信息参数:"+dtwhoapproveTime);
+            return zhcxMdfFormService.getMdfFormInfo(dtwhoapproveTime);
+        } catch (Exception e) {
+            log.info(e.getMessage());
+            return R.error("获取修改单信息异常");
+        }
+    }
+
+    //发送原始修改单信息
+    @RequestMapping("/sendMdfFormInfo")
+    public R sendMdfFormInfo(String dtwhoapproveTime) {
+        try {
+            log.info("发送原始修改单信息参数:"+dtwhoapproveTime);
+            return zhcxMdfFormService.sendMdfFormInfo(dtwhoapproveTime);
+        } catch (Exception e) {
+            log.info(e.getMessage());
+            return R.error("发送修改单信息异常");
+        }
+    }
+}
+