wangxuan hai 8 meses
pai
achega
16070963cb
Modificáronse 16 ficheiros con 455 adicións e 8 borrados
  1. 21 0
      business-common/src/main/java/com/rongwei/bscommon/sys/dao/ZhcxPmqManagementDistributionDetailDao.java
  2. 10 0
      business-common/src/main/java/com/rongwei/bscommon/sys/dao/ZhcxPmqManagementRecoredDao.java
  3. 18 0
      business-common/src/main/java/com/rongwei/bscommon/sys/service/ZhcxPmqManagementDistributionDetailService.java
  4. 9 0
      business-common/src/main/java/com/rongwei/bscommon/sys/service/ZhcxPmqManagementRecoredService.java
  5. 1 0
      business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxPMQMServiceImpl.java
  6. 67 0
      business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxPmqManagementDistributionDetailServiceImpl.java
  7. 1 1
      business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxPmqManagementDistributionServiceImpl.java
  8. 68 0
      business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxPmqManagementRecoredServiceImpl.java
  9. 62 0
      business-common/src/main/java/com/rongwei/bscommon/sys/utils/CommonUtils.java
  10. 5 4
      business-common/src/main/java/com/rongwei/bscommon/sys/utils/SqlServerJdbcUtils.java
  11. 71 0
      business-common/src/main/resources/mybatis/business/ZhcxPmqManagementDistributionDetailDao.xml
  12. 44 0
      business-common/src/main/resources/mybatis/business/ZhcxPmqManagementRecoredDao.xml
  13. 10 0
      business-entity/src/main/java/com/rongwei/bsentity/domain/ZhcxPmqManagementDistributionDetailDo.java
  14. 5 2
      business-entity/src/main/java/com/rongwei/bsentity/domain/ZhcxPmqManagementDistributionDo.java
  15. 13 1
      business-server/src/main/java/com/rongwei/bsserver/controller/ZhcxPMQMController.java
  16. 50 0
      business-server/src/main/java/com/rongwei/bsserver/controller/ZhcxPmqManagementController.java

+ 21 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/dao/ZhcxPmqManagementDistributionDetailDao.java

@@ -3,6 +3,7 @@ package com.rongwei.bscommon.sys.dao;
 import com.rongwei.bsentity.domain.ZhcxPmqManagementDistributionDetailDo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -15,4 +16,24 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface ZhcxPmqManagementDistributionDetailDao extends BaseMapper<ZhcxPmqManagementDistributionDetailDo> {
 
+    /**
+     * 根据pid查询第二层未关闭的数量
+     * @param id 第一层id
+     * @return 未关闭的数量
+     */
+    String getNotClosedStateInSecondFloorByPid(@Param("id") String id);
+
+    /**
+     * 根据pid查询第三层未关闭的数量
+     * @param id 第二层id
+     * @return 未关闭的数量
+     */
+    String getNotClosedStateInThirdFloorByPid(@Param("id") String id);
+
+    /**
+     * 根据pid查询第三层未关闭的数量
+     * @param id 第2.5层id
+     * @return 未关闭的数量
+     */
+    String getNotClosedStateInSecondHalfFloorByPid(@Param("id") String id);
 }

+ 10 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/dao/ZhcxPmqManagementRecoredDao.java

@@ -1,7 +1,9 @@
 package com.rongwei.bscommon.sys.dao;
 
+import com.rongwei.bsentity.domain.ZhcxPmqManagementDistributionDo;
 import com.rongwei.bsentity.domain.ZhcxPmqManagementRecoredDo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
 import java.util.List;
@@ -21,4 +23,12 @@ public interface ZhcxPmqManagementRecoredDao extends BaseMapper<ZhcxPmqManagemen
 
     @Select("SELECT MAX(DISTRIBUTETIME) AS DISTRIBUTETIME FROM ZHCX_PMQ_MANAGEMENT_RECORED WHERE DELETED = '0'")
     List<ZhcxPmqManagementRecoredDo> getMaxDatetime();
+
+
+    /**
+     * 构建第2.5层数据
+     * @param id PID
+     * @return
+     */
+    List<ZhcxPmqManagementDistributionDo> getDistributionsByPid(@Param("id") String id);
 }

+ 18 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/service/ZhcxPmqManagementDistributionDetailService.java

@@ -2,6 +2,7 @@ package com.rongwei.bscommon.sys.service;
 
 import com.rongwei.bsentity.domain.ZhcxPmqManagementDistributionDetailDo;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.rwcommon.base.R;
 
 /**
  * <p>
@@ -13,4 +14,21 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface ZhcxPmqManagementDistributionDetailService extends IService<ZhcxPmqManagementDistributionDetailDo> {
 
+    /**
+     * 第一层 关闭
+     * @param id MANAGEMENT_id
+     */
+    R updateClosedStateInFirstFloor(String id);
+
+    /**
+     * 第二层 关闭
+     * @param id RECORED_id
+     */
+    R updateClosedStateInSecondFloor(String id);
+
+    /**
+     * 第三层 关闭
+     * @param id DISTRIBUTION_DETAIL_id
+     */
+    R updateClosedStateInThirdFloor(String id);
 }

+ 9 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/service/ZhcxPmqManagementRecoredService.java

@@ -2,6 +2,9 @@ package com.rongwei.bscommon.sys.service;
 
 import com.rongwei.bsentity.domain.ZhcxPmqManagementRecoredDo;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.rwcommon.base.R;
+
+import java.util.Map;
 
 /**
  * <p>
@@ -13,4 +16,10 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface ZhcxPmqManagementRecoredService extends IService<ZhcxPmqManagementRecoredDo> {
 
+    /**
+     * 第二层生产三单派单数据
+     * @param map
+     * @return
+     */
+    R generateDistributionDetail(Map<String, Object> map);
 }

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

@@ -221,6 +221,7 @@ public class ZhcxPMQMServiceImpl implements ZhcxPMQMService {
         Security.setProperty("jdk.tls.client.protocols", "TLSv1.2,TLSv1.1,TLSv1");
         try(Connection connection = DriverManager.getConnection(url,nxdbuser,nxdbpw);
             Statement statement = connection.createStatement()) {
+            log.info("开启连接三单");
             //String sqlStr = "SELECT TOP (300) * FROM JUV1841 WHERE 下发日期 > '"+maxTime+"'";
             String sqlStr = "SELECT * FROM JUV1841 WHERE 下发日期 > '"+maxTime+"'";
             log.info("三单连接SQL" + sqlStr);

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

@@ -1,11 +1,22 @@
 package com.rongwei.bscommon.sys.service.impl;
 
+import com.rongwei.bscommon.sys.service.ZhcxPmqManagementDistributionService;
+import com.rongwei.bscommon.sys.service.ZhcxPmqManagementRecoredService;
+import com.rongwei.bscommon.sys.service.ZhcxPmqManagementService;
 import com.rongwei.bsentity.domain.ZhcxPmqManagementDistributionDetailDo;
 import com.rongwei.bscommon.sys.dao.ZhcxPmqManagementDistributionDetailDao;
 import com.rongwei.bscommon.sys.service.ZhcxPmqManagementDistributionDetailService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bsentity.domain.ZhcxPmqManagementDistributionDo;
+import com.rongwei.bsentity.domain.ZhcxPmqManagementDo;
+import com.rongwei.bsentity.domain.ZhcxPmqManagementRecoredDo;
+import com.rongwei.rwcommon.base.R;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Objects;
+
 /**
  * <p>
  * 三单管理_派发质检确认人 服务实现类
@@ -14,7 +25,63 @@ import org.springframework.stereotype.Service;
  * @author xuan
  * @since 2024-11-13
  */
+@Slf4j
 @Service
 public class ZhcxPmqManagementDistributionDetailServiceImpl extends ServiceImpl<ZhcxPmqManagementDistributionDetailDao, ZhcxPmqManagementDistributionDetailDo> implements ZhcxPmqManagementDistributionDetailService {
 
+    private static final String CLOSED = "已关闭";
+    private static final String ENCLOSED = "未关闭";
+    private static final String NA = "NA";
+
+    @Autowired
+    private ZhcxPmqManagementService managementService;
+
+    @Autowired
+    private ZhcxPmqManagementRecoredService managementRecoredService;
+
+    @Autowired
+    private ZhcxPmqManagementDistributionService managementDistributionService;
+
+    @Override
+    public R updateClosedStateInFirstFloor(String id) {
+        // 根据pid获取第二层未关闭的数量
+        String closeStatus = baseMapper.getNotClosedStateInSecondFloorByPid(id);
+        ZhcxPmqManagementDo managementDo = managementService.getById(id);
+        if(Objects.isNull(managementDo)){return R.error("主表数据异常");}
+        managementDo.setClosestatus(closeStatus);
+        // 更新主表状态
+        managementService.updateById(managementDo);
+        log.info("更新第一层状态成功");
+        return R.ok("更新第一层状态成功");
+    }
+
+    @Override
+    public R updateClosedStateInSecondFloor(String id) {
+        ZhcxPmqManagementRecoredDo recoredDo = managementRecoredService.getById(id);
+        if(Objects.isNull(recoredDo)){return R.error("主表2数据异常");}
+        // 根据pid获取第三层未关闭的数量
+        String closeStatus = baseMapper.getNotClosedStateInThirdFloorByPid(id);
+        // 更新第二层表的状态
+        recoredDo.setClosestatus(closeStatus);
+        managementRecoredService.updateById(recoredDo);
+        log.info("更新第二层状态成功");
+        // 去更新第一层的状态
+        updateClosedStateInFirstFloor(recoredDo.getPmqmid());
+        return R.ok("更新第二层状态成功");
+    }
+
+    @Override
+    public R updateClosedStateInThirdFloor(String id) {
+        ZhcxPmqManagementDistributionDetailDo detailDo = this.getById(id);
+        if(Objects.isNull(detailDo)){return R.error("主表3数据异常");}
+        // 更新2.5层的状态
+        ZhcxPmqManagementDistributionDo distributionDo = managementDistributionService.getById(detailDo.getDistributid());
+        String closeStatus = baseMapper.getNotClosedStateInSecondHalfFloorByPid(detailDo.getDistributid());
+        distributionDo.setStatus(closeStatus);
+        managementDistributionService.updateById(distributionDo);
+        log.info("更新第2.5层状态成功");
+        // 去更新第一层的状态
+        updateClosedStateInSecondFloor(detailDo.getPid());
+        return R.ok("更新状态成功");
+    }
 }

+ 1 - 1
business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxPmqManagementDistributionServiceImpl.java

@@ -102,7 +102,7 @@ public class ZhcxPmqManagementDistributionServiceImpl extends ServiceImpl<ZhcxPm
         }
         // 更新第二层的派单状态
         baseMapper.updateDispatchStatus(pid);
-        return R.ok("生成派单成功");
+        return R.ok("派单成功");
     }
 
     @Override

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

@@ -1,11 +1,25 @@
 package com.rongwei.bscommon.sys.service.impl;
 
+import cn.hutool.core.bean.BeanUtil;
+import com.rongwei.bscommon.sys.dao.ZhcxPmqManagementDistributionDao;
+import com.rongwei.bscommon.sys.service.ZhcxPmqManagementDistributionDetailService;
+import com.rongwei.bscommon.sys.service.ZhcxPmqManagementDistributionService;
+import com.rongwei.bscommon.sys.utils.CommonUtils;
+import com.rongwei.bsentity.domain.ZhcxPmqManagementDistributionDetailDo;
+import com.rongwei.bsentity.domain.ZhcxPmqManagementDistributionDo;
 import com.rongwei.bsentity.domain.ZhcxPmqManagementRecoredDo;
 import com.rongwei.bscommon.sys.dao.ZhcxPmqManagementRecoredDao;
 import com.rongwei.bscommon.sys.service.ZhcxPmqManagementRecoredService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.rwadmincommon.system.vo.SysUserVo;
+import com.rongwei.rwcommon.base.R;
+import com.rongwei.rwcommon.utils.SecurityUtil;
+import com.rongwei.rwcommon.utils.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.*;
+
 /**
  * <p>
  * 三单管理_单据记录 服务实现类
@@ -17,4 +31,58 @@ import org.springframework.stereotype.Service;
 @Service
 public class ZhcxPmqManagementRecoredServiceImpl extends ServiceImpl<ZhcxPmqManagementRecoredDao, ZhcxPmqManagementRecoredDo> implements ZhcxPmqManagementRecoredService {
 
+    @Autowired
+    private ZhcxPmqManagementDistributionService zhcxPmqManagementDistributionService;
+
+    @Autowired
+    private ZhcxPmqManagementDistributionDetailService zhcxPmqManagementDistributionDetailService;
+
+    @Autowired
+    private ZhcxPmqManagementDistributionDao zhcxPmqManagementDistributionDao;
+
+    @Override
+    public R generateDistributionDetail(Map<String, Object> map) {
+        // 第二层主表id
+        String id = (String) map.get("id");
+        // 关闭状态
+        String closestatus = (String) map.get("closestatus");
+        // 获取当前操作人
+        SysUserVo currentUser = CommonUtils.getCurrentUser();
+        if(Objects.isNull(currentUser) || StringUtils.isEmpty(currentUser.getId())){
+            return R.error("无法获取当前操作人");
+        }
+        // 生成第2.5层数据结果
+        List<ZhcxPmqManagementDistributionDo> distributions = baseMapper.getDistributionsByPid(id);
+        if(distributions.isEmpty()){
+            return R.ok("暂无需要派单");
+        }
+        // 第三层数据
+        List<ZhcxPmqManagementDistributionDetailDo> detailDos = new ArrayList<>();
+        for (ZhcxPmqManagementDistributionDo distribution : distributions) {
+            distribution.setId(SecurityUtil.getUUID());
+            distribution.setConfirmerid(currentUser.getId());
+            distribution.setConfirmer(currentUser.getName());
+            distribution.setStatus(closestatus);
+            // 生成第三层数据结构
+            ZhcxPmqManagementDistributionDetailDo detailDo = new ZhcxPmqManagementDistributionDetailDo();
+            BeanUtil.copyProperties(distribution,detailDo);
+            detailDo.setId(SecurityUtil.getUUID());
+            detailDo.setDistributid(distribution.getId());
+            detailDo.setClosedata(new Date());
+            detailDos.add(detailDo);
+        }
+        // 保存2.5层
+        zhcxPmqManagementDistributionService.saveBatch(distributions);
+        // 保存第三层数据
+        zhcxPmqManagementDistributionDetailService.saveBatch(detailDos);
+        // 更新第二层的派单状态
+        //zhcxPmqManagementDistributionDao.updateDispatchStatus(id);
+        ZhcxPmqManagementRecoredDo recoredDo = this.getById(id);
+        recoredDo.setDispatchstatus("1"); // 已派单
+        recoredDo.setClosestatus(closestatus);
+        this.updateById(recoredDo);
+        // 更新关闭状态
+        zhcxPmqManagementDistributionDetailService.updateClosedStateInSecondFloor(id);
+        return R.ok("派单成功");
+    }
 }

+ 62 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/utils/CommonUtils.java

@@ -0,0 +1,62 @@
+package com.rongwei.bscommon.sys.utils;
+
+import com.rongwei.commonservice.serial.service.SysSerialNumberService;
+import com.rongwei.commonservice.service.RedisService;
+import com.rongwei.rwadmincommon.system.vo.SysUserVo;
+import com.rongwei.rwcommonentity.commonservers.vo.SysSerialVo;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.annotation.PostConstruct;
+import javax.servlet.http.HttpServletRequest;
+import java.util.Objects;
+
+
+@Component
+public class CommonUtils {
+
+    private static final Logger log = LoggerFactory.getLogger(CommonUtils.class.getName());
+
+    @Autowired
+    private RedisService autoRedisService;
+
+    @Autowired
+    private SysSerialNumberService autoSysSerialNumberService;
+
+    private static RedisService redisService;
+
+    private static SysSerialNumberService sysSerialNumberService;
+
+    @PostConstruct
+    public void init() {
+        redisService = autoRedisService;
+        sysSerialNumberService = autoSysSerialNumberService;
+    }
+
+
+    /**
+     * 获取当前的登陆人信息
+     *
+     * @return
+     */
+    public static SysUserVo getCurrentUser() {
+        // 获取当前登录人信息
+        SysUserVo currUser = null;
+        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
+        if (attributes != null) {
+            HttpServletRequest request = attributes.getRequest();
+            if (request != null) {
+                String token = request.getHeader("token");
+                if (com.rongwei.rwcommon.utils.StringUtils.isNotEmpty(token)) {
+                    currUser = redisService.getLoginUser(token);
+                }
+            }
+        }
+        return currUser;
+    }
+
+}

+ 5 - 4
business-common/src/main/java/com/rongwei/bscommon/sys/utils/SqlServerJdbcUtils.java

@@ -59,13 +59,14 @@ public class SqlServerJdbcUtils {
     public static List<ZhcxPmqManagementSource> queryZHCXPMQMANAGEMENTSOURCEDataPRO() {
         Security.setProperty("jdk.tls.client.protocols", "TLSv1.2,TLSv1.1,TLSv1");
         List<ZhcxPmqManagementSource> data = new ArrayList<>();
-        String url = "jdbc:sqlserver://192.168.0.144:1433;;databaseName=cwbt6";
-        String username = "sa";
-        String password = "Sasa2014";
+        String url = "jdbc:sqlserver://10.28.52.32:1433;;databaseName=nxcellsnew";
+        String username = "qm";
+        String password = "cxqm_sugar1029";
         try (Connection connection = DriverManager.getConnection(url, username, password);
              Statement statement = connection.createStatement()) {
             // 查询语句
-            String sql = "SELECT TOP (300) * FROM [cwbt6].[dbo].[JUV1841] order by 下发日期 desc";
+            String sql = "SELECT TOP (300) * FROM [nxcellsnew].[dbo].[JUV1841] order by 下发日期 desc";
+            log.info("sql:{}",sql);
             try (ResultSet resultSet = statement.executeQuery(sql)) {
                 int columnCount = resultSet.getMetaData().getColumnCount();
                 while (resultSet.next()) {

+ 71 - 0
business-common/src/main/resources/mybatis/business/ZhcxPmqManagementDistributionDetailDao.xml

@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.rongwei.bscommon.sys.dao.ZhcxPmqManagementDistributionDetailDao">
+
+
+    <select id="getNotClosedStateInSecondFloorByPid" resultType="java.lang.String">
+        SELECT CASE
+                   WHEN (SELECT COUNT(*)
+                         FROM INCONTROL.ZHCX_PMQ_MANAGEMENT_RECORED x
+                         WHERE PMQMID = #{id}
+                           AND DELETED = '0') = 0 THEN '未关闭'
+                   WHEN EXISTS (SELECT 1
+                                FROM INCONTROL.ZHCX_PMQ_MANAGEMENT_RECORED x
+                                WHERE PMQMID = #{id}
+                                  AND DELETED = '0'
+                                  AND (CLOSESTATUS IS NULL
+                                    OR CLOSESTATUS = '未关闭')) THEN '未关闭'
+                   WHEN NOT EXISTS (SELECT 1
+                                    FROM INCONTROL.ZHCX_PMQ_MANAGEMENT_RECORED x
+                                    WHERE PMQMID = #{id}
+                                      AND DELETED = '0'
+                                      AND CLOSESTATUS != 'NA') THEN 'NA'
+                   ELSE '已关闭'
+                   END AS CLOSESTATUS
+        FROM DUAL;
+    </select>
+    <select id="getNotClosedStateInThirdFloorByPid" resultType="java.lang.String">
+        SELECT CASE
+                   WHEN (SELECT COUNT(*)
+                         FROM INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION_DETAIL x
+                         WHERE PID = #{id}
+                           AND DELETED = '0') = 0 THEN '未关闭'
+                   WHEN EXISTS (SELECT 1
+                                FROM INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION_DETAIL x
+                                WHERE PID = #{id}
+                                  AND DELETED = '0'
+                                  AND (STATUS IS NULL
+                                    OR STATUS = '未关闭')) THEN '未关闭'
+                   WHEN NOT EXISTS (SELECT 1
+                                    FROM INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION_DETAIL x
+                                    WHERE PID = #{id}
+                                      AND DELETED = '0'
+                                      AND STATUS != 'NA') THEN 'NA'
+                   ELSE '已关闭'
+                   END AS CLOSESTATUS
+        FROM DUAL;
+    </select>
+
+    <select id="getNotClosedStateInSecondHalfFloorByPid" resultType="java.lang.String">
+        SELECT CASE
+                   WHEN (SELECT COUNT(*)
+                         FROM INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION_DETAIL x
+                         WHERE DISTRIBUTID = #{id}
+                           AND DELETED = '0') = 0 THEN '未关闭'
+                   WHEN EXISTS (SELECT 1
+                                FROM INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION_DETAIL x
+                                WHERE DISTRIBUTID = #{id}
+                                  AND DELETED = '0'
+                                  AND (STATUS IS NULL
+                                    OR STATUS = '未关闭')) THEN '未关闭'
+                   WHEN NOT EXISTS (SELECT 1
+                                    FROM INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION_DETAIL x
+                                    WHERE DISTRIBUTID = #{id}
+                                      AND DELETED = '0'
+                                      AND STATUS != 'NA') THEN 'NA'
+                   ELSE '已关闭'
+                   END AS CLOSESTATUS
+        FROM DUAL;
+    </select>
+</mapper>

+ 44 - 0
business-common/src/main/resources/mybatis/business/ZhcxPmqManagementRecoredDao.xml

@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.rongwei.bscommon.sys.dao.ZhcxPmqManagementRecoredDao">
+
+    <select id="getDistributionsByPid" resultType="com.rongwei.bsentity.domain.ZhcxPmqManagementDistributionDo">
+        SELECT
+            dis.ID AS ID,
+            '0' AS DELETED,
+            recored.ID AS PID,
+            manage.PROJECTID AS PROJECTID,
+            p.MACHINEID AS MACHINEID,
+            p.MACHINENO AS MACHINENO,
+            manage.PROJECTNO AS PROJECTNO,
+            manage.PROJECTNAME AS PROJECTNAME,
+            dis.CONFIRMERID AS CONFIRMERID,
+            dis.CONFIRMER AS CONFIRMER,
+            dis.ESTIMATEDCLOSEDATA AS ESTIMATEDCLOSEDATA,
+            dis.STATUS AS STATUS,
+            recored.SEQNO AS SERIALNUMBER,
+            dis.SUPPLEMENT AS SUPPLEMENT
+        FROM
+            ZHCX_PMQ_MANAGEMENT_RECORED recored
+                LEFT JOIN ZHCX_PMQ_MANAGEMENT manage ON manage.ID = recored.PMQMID AND manage.DELETED = '0'
+                LEFT JOIN (
+                SELECT
+                    n.ID AS MACHINEID,
+                    n.DEVICE_NUMBER AS MACHINENO,
+                    p.ID AS PROJECTID
+                FROM
+                    INCONTROL.ZHCX_PROJECT_DEVICE_NUMBER n
+                        JOIN INCONTROL.ZHCX_PROJECT_MANAGE p ON
+                        p.ID = n.PID
+                            AND p.DELETED = '0'
+                WHERE
+                    n.DELETED = '0'
+            )p ON p.PROJECTID = manage.PROJECTID
+                LEFT JOIN ZHCX_PMQ_MANAGEMENT_DISTRIBUTION dis ON dis.PID = recored.ID AND dis.MACHINEID = p.MACHINEID AND dis.DELETED = '0'
+        WHERE
+            recored.DELETED = '0' AND recored.ID = #{id}
+        ORDER BY
+            TO_NUMBER(REPLACE(p.MACHINENO, '#', ''))
+    </select>
+</mapper>

+ 10 - 0
business-entity/src/main/java/com/rongwei/bsentity/domain/ZhcxPmqManagementDistributionDetailDo.java

@@ -108,5 +108,15 @@ public class ZhcxPmqManagementDistributionDetailDo extends BaseDo implements Ser
     @TableField("CLOSEDATA")
     private Date closedata;
 
+    /**
+     * 补充项
+     */
+    @TableField("SUPPLEMENT")
+    private String supplement;
 
+    /**
+     * 备注说明
+     */
+    @TableField("SUPPLEMENT")
+    private String DESCRIPTION;
 }

+ 5 - 2
business-entity/src/main/java/com/rongwei/bsentity/domain/ZhcxPmqManagementDistributionDo.java

@@ -96,6 +96,9 @@ public class ZhcxPmqManagementDistributionDo extends BaseDo implements Serializa
      */
     @TableField("SERIALNUMBER")
     private String serialnumber;
-
-
+    /**
+     * 补充项
+     */
+    @TableField("SUPPLEMENT")
+    private String supplement;
 }

+ 13 - 1
business-server/src/main/java/com/rongwei/bsserver/controller/ZhcxPMQMController.java

@@ -2,8 +2,10 @@ package com.rongwei.bsserver.controller;
 
 import com.rongwei.bscommon.sys.service.ZhcxPMQMService;
 import com.rongwei.bscommon.sys.service.ZhcxPmqManagementDistributionService;
+import com.rongwei.bscommon.sys.utils.SqlServerJdbcUtils;
 import com.rongwei.bscommon.sys.utils.ZhcxCommon;
 import com.rongwei.bsentity.domain.ZhcxPmqManagementSourceDo;
+import com.rongwei.bsentity.dto.sqlServer.ZhcxPmqManagementSource;
 import com.rongwei.rwcommon.base.R;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -39,6 +41,16 @@ public class ZhcxPMQMController {
         return R.ok(list);
     }
 
+    @GetMapping("/gdfnx")
+    @ApiOperation("获取NX系统的三单数据")
+    public R getDataFromNXTest() {
+        List<ZhcxPmqManagementSource> list = SqlServerJdbcUtils.queryZHCXPMQMANAGEMENTSOURCEDataPRO();
+        for (ZhcxPmqManagementSource zhcxPmqManagementSource : list) {
+            System.out.println("zhcxPmqManagementSource = " + zhcxPmqManagementSource);
+        }
+        return R.ok(list);
+    }
+
     @PostMapping("/ucs")
     public R updateCloseStatus(@RequestBody Map<String,Object> map) {
         String id = (String) map.get("id");
@@ -55,7 +67,7 @@ public class ZhcxPMQMController {
 
 
     @PostMapping("/generateDistributionDetail")
-    @ApiOperation("生成三单派单数据")
+    @ApiOperation("第二层生成三单派单数据")
     public R generateDistributionDetail(@RequestBody Map<String,Object> map){
         try {
             if(Objects.isNull(map.get("pid"))){

+ 50 - 0
business-server/src/main/java/com/rongwei/bsserver/controller/ZhcxPmqManagementController.java

@@ -1,9 +1,20 @@
 package com.rongwei.bsserver.controller;
 
 
+import com.rongwei.bscommon.sys.service.ZhcxPmqManagementDistributionDetailService;
+import com.rongwei.bscommon.sys.service.ZhcxPmqManagementRecoredService;
+import com.rongwei.rwcommon.base.R;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Map;
+import java.util.Objects;
+
 /**
  * <p>
  * 三单管理(Integrated Management of Production Orders, Material Documents, and Quality Records in Manufacturing) 前端控制器
@@ -12,9 +23,48 @@ import org.springframework.web.bind.annotation.RestController;
  * @author wm
  * @since 2024-10-30
  */
+@Slf4j
 @RestController
 @RequestMapping("/zhcxPmqManagement")
 public class ZhcxPmqManagementController {
 
+    @Autowired
+    private ZhcxPmqManagementRecoredService managementRecoredService;
+
+    @Autowired
+    private ZhcxPmqManagementDistributionDetailService distributionDetailService;
+
+    @PostMapping("/generateDistributionDetail")
+    @ApiOperation("第二层生成三单派单数据")
+    public R generateDistributionDetail(@RequestBody Map<String,Object> map){
+        try {
+            if(Objects.isNull(map.get("id"))){
+                return R.error("id不能为空");
+            }
+            if(Objects.isNull(map.get("closestatus"))){
+                return R.error("关闭状态不能为空");
+            }
+            log.info("生成三单派单数据__>map:{}",map);
+            return managementRecoredService.generateDistributionDetail(map);
+        } catch (Exception e) {
+            log.info(String.valueOf(e));
+            return R.error("生成三单派单数据异常");
+        }
+    }
+
+    @PostMapping("/updateClosedStateInThirdFloor")
+    @ApiOperation("更新关闭状态-第三层(在已保存状态的情况后)")
+    public R updateClosedStateInThirdFloor(@RequestBody Map<String,Object> map){
+        try {
+            if(Objects.isNull(map.get("id"))){
+                return R.error("id不能为空");
+            }
+            log.info("更新关闭状态-第三层(在已保存状态的情况后)__>map:{}",map.get("id"));
+            return distributionDetailService.updateClosedStateInThirdFloor((String) map.get("id"));
+        } catch (Exception e) {
+            log.info(String.valueOf(e));
+            return R.error("生成三单派单数据异常");
+        }
+    }
 }