Prechádzať zdrojové kódy

低空不欠债改造

wangming 9 mesiacov pred
rodič
commit
c7733d6417
18 zmenil súbory, kde vykonal 681 pridanie a 254 odobranie
  1. 0 21
      business-common/src/main/java/com/rongwei/bscommon/sys/dao/ZhcxLowaltitudeDebtfreeCheckDao.java
  2. 57 0
      business-common/src/main/java/com/rongwei/bscommon/sys/dao/ZhcxLowaltitudeDebtfreeCheckDetailDao.java
  3. 18 0
      business-common/src/main/java/com/rongwei/bscommon/sys/service/ZhcxLowaltitudeDebtfreeCheckDetailService.java
  4. 24 0
      business-common/src/main/java/com/rongwei/bscommon/sys/service/ZhcxLowaltitudeDebtfreeCheckMainService.java
  5. 9 1
      business-common/src/main/java/com/rongwei/bscommon/sys/service/ZhcxLowaltitudeDebtfreeCheckService.java
  6. 9 0
      business-common/src/main/java/com/rongwei/bscommon/sys/service/ZhcxLowaltitudeDebtfreeCheckSubcontractorService.java
  7. 40 0
      business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxLowaltitudeDebtfreeCheckDetailServiceImpl.java
  8. 138 0
      business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxLowaltitudeDebtfreeCheckMainServiceImpl.java
  9. 180 181
      business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxLowaltitudeDebtfreeCheckServiceImpl.java
  10. 31 0
      business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxLowaltitudeDebtfreeCheckSubcontractorServiceImpl.java
  11. 5 0
      business-common/src/main/java/com/rongwei/bscommon/sys/utils/ConstantUtil.java
  12. 5 1
      business-entity/src/main/java/com/rongwei/bsentity/domain/ZhcxLowaltitudeDebtfreeCheckDetailDo.java
  13. 13 48
      business-entity/src/main/java/com/rongwei/bsentity/domain/ZhcxLowaltitudeDebtfreeCheckDo.java
  14. 2 1
      business-entity/src/main/java/com/rongwei/bsentity/domain/ZhcxLowaltitudeDebtfreeCheckSubcontractorDo.java
  15. 9 0
      business-entity/src/main/java/com/rongwei/bsentity/dto/lowaltitude/AddHoistingPlanDateRequest.java
  16. 26 0
      business-entity/src/main/java/com/rongwei/bsentity/dto/lowaltitude/SaveCheckDetailDto.java
  17. 85 0
      business-entity/src/main/java/com/rongwei/bsentity/dto/lowaltitude/SaveCheckRequest.java
  18. 30 1
      business-server/src/main/java/com/rongwei/bsserver/controller/DebtfreeController.java

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

@@ -1,12 +1,7 @@
 package com.rongwei.bscommon.sys.dao;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.rongwei.bsentity.domain.ZhcxLowaltitudeDebtfreeCheckDetailDo;
 import com.rongwei.bsentity.domain.ZhcxLowaltitudeDebtfreeCheckDo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Select;
-
-import java.util.List;
 
 /**
  * <p>
@@ -17,20 +12,4 @@ import java.util.List;
  * @since 2024-10-29
  */
 public interface ZhcxLowaltitudeDebtfreeCheckDao extends BaseMapper<ZhcxLowaltitudeDebtfreeCheckDo> {
-
-
-    @Select("SELECT\n" +
-            "    *\n" +
-            "    FROM\n" +
-            "    ZHCX_LOWALTITUDE_DEBTFREE_CHECK_DETAIL cd\n" +
-            "    WHERE\n" +
-            "    EXISTS (\n" +
-            "            SELECT\n" +
-            "      *\n" +
-            "              FROM\n" +
-            "              ZHCX_LOWALTITUDE_DEBTFREE_CHECK\n" +
-            "              WHERE\n" +
-            "              cd.CHECKID = ID AND DELETED = '0' AND PROJECTID = #{projectid} AND MACHINENO = #{machineno})  and cd.DELETED = '0'")
-    List<ZhcxLowaltitudeDebtfreeCheckDetailDo> getListHistory(ZhcxLowaltitudeDebtfreeCheckDo entity);
-
 }

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

@@ -2,6 +2,12 @@ package com.rongwei.bscommon.sys.dao;
 
 import com.rongwei.bsentity.domain.ZhcxLowaltitudeDebtfreeCheckDetailDo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ZhcxLowaltitudeDebtfreeCheckDo;
+import com.rongwei.bsentity.domain.ZhcxLowaltitudeDebtfreeCheckMainDo;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +19,55 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface ZhcxLowaltitudeDebtfreeCheckDetailDao extends BaseMapper<ZhcxLowaltitudeDebtfreeCheckDetailDo> {
 
+    @Insert("INSERT " +
+            " INTO " +
+            " ZHCX_LOWALTITUDE_DEBTFREE_CHECK_DETAIL( " +
+            " ID, " +
+            " CHECKID, " +
+            " MAINID, " +
+            " CLASSIFY, " +
+            " PART, " +
+            " CONTENT, " +
+            " RESUME, " +
+            " STANDART, " +
+            " SQUNO, " +
+            " DELETED) " +
+            " " +
+            "SELECT " +
+            " guid(), " +
+            " #{id}, " +
+            " #{mainid}, " +
+            " CLASSIFY, " +
+            " PART, " +
+            " CONTENT, " +
+            " RESUME, " +
+            " STANDART, " +
+            " SQUNO, " +
+            " '0' " +
+            "FROM " +
+            " ZHCX_LOWALTITUDE_DEBTFREE_BASE_INFO_DETAIL " +
+            "WHERE " +
+            " PID = #{standardlibid} " +
+            " AND STATUS = '有效' " +
+            " AND DELETED = '0'")
+    void saveByCheck(ZhcxLowaltitudeDebtfreeCheckDo check);
+
+    @Select("SELECT " +
+            " zldcd.* " +
+            "FROM " +
+            " ZHCX_LOWALTITUDE_DEBTFREE_CHECK_DETAIL zldcd " +
+            "WHERE " +
+            " zldcd.DELETED = '0' " +
+            " AND  " +
+            " EXISTS ( " +
+            " SELECT " +
+            "  * " +
+            " FROM " +
+            "  ZHCX_LOWALTITUDE_DEBTFREE_CHECK_MAIN zldcm " +
+            " WHERE " +
+            "  zldcm.ID = zldcd.MAINID " +
+            "  AND zldcm.PROJECTID = #{projectid} " +
+            "  AND zldcm.MACHINENOID = #{machinenoid} " +
+            "  AND zldcm.DELETED = '0')")
+    List<ZhcxLowaltitudeDebtfreeCheckDetailDo> getList(ZhcxLowaltitudeDebtfreeCheckMainDo main);
 }

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

@@ -2,6 +2,10 @@ package com.rongwei.bscommon.sys.service;
 
 import com.rongwei.bsentity.domain.ZhcxLowaltitudeDebtfreeCheckDetailDo;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.domain.ZhcxLowaltitudeDebtfreeCheckMainDo;
+import com.rongwei.bsentity.dto.lowaltitude.SaveCheckDetailDto;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +17,18 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface ZhcxLowaltitudeDebtfreeCheckDetailService extends IService<ZhcxLowaltitudeDebtfreeCheckDetailDo> {
 
+    /**
+     * 保存检查明细
+     *
+     * @param dto
+     */
+    void saveCheckDetail(SaveCheckDetailDto dto);
+
+    /**
+     * 获取机台不欠债率
+     *
+     * @param projectId
+     * @return
+     */
+    List<ZhcxLowaltitudeDebtfreeCheckDetailDo> getListByMainId(String projectId, String machineId);
 }

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

@@ -2,6 +2,9 @@ package com.rongwei.bscommon.sys.service;
 
 import com.rongwei.bsentity.domain.ZhcxLowaltitudeDebtfreeCheckMainDo;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.domain.ZhcxProjectManageDo;
+import com.rongwei.bsentity.dto.lowaltitude.AddHoistingPlanDateRequest;
+import com.rongwei.bsentity.dto.lowaltitude.SaveCheckRequest;
 
 /**
  * <p>
@@ -13,4 +16,25 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface ZhcxLowaltitudeDebtfreeCheckMainService extends IService<ZhcxLowaltitudeDebtfreeCheckMainDo> {
 
+    /**
+     * 保存主表数据
+     *
+     * @param req
+     * @return
+     */
+    String saveMain(AddHoistingPlanDateRequest req, ZhcxProjectManageDo project);
+
+    /**
+     * 保存主表数据
+     *
+     * @param req
+     */
+    void saveMain(SaveCheckRequest req, String mainId);
+
+    /**
+     * 更新板块不欠债率
+     *
+     * @param mainId
+     */
+    void updateMachineById(String projectId, String machineId, String mainId);
 }

+ 9 - 1
business-common/src/main/java/com/rongwei/bscommon/sys/service/ZhcxLowaltitudeDebtfreeCheckService.java

@@ -3,6 +3,7 @@ package com.rongwei.bscommon.sys.service;
 import com.rongwei.bsentity.domain.ZhcxLowaltitudeDebtfreeCheckDo;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.rongwei.bsentity.dto.lowaltitude.AddHoistingPlanDateRequest;
+import com.rongwei.bsentity.dto.lowaltitude.SaveCheckRequest;
 
 import java.util.Map;
 
@@ -23,6 +24,13 @@ public interface ZhcxLowaltitudeDebtfreeCheckService extends IService<ZhcxLowalt
      */
     void addHoistingPlanDate(AddHoistingPlanDateRequest req);
 
-    void LiftingBatchAdd(Map<String, Object> map);
+    void liftingBatchAdd(Map<String, Object> map);
+
+    /**
+     * 修改检查
+     *
+     * @param req
+     */
+    void updateCheck(SaveCheckRequest req);
 
 }

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

@@ -3,6 +3,8 @@ package com.rongwei.bscommon.sys.service;
 import com.rongwei.bsentity.domain.ZhcxLowaltitudeDebtfreeCheckSubcontractorDo;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.Set;
+
 /**
  * <p>
  * 低空不欠债检查-分包商 服务类
@@ -13,4 +15,11 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface ZhcxLowaltitudeDebtfreeCheckSubcontractorService extends IService<ZhcxLowaltitudeDebtfreeCheckSubcontractorDo> {
 
+    /**
+     * 保存分包商
+     *
+     * @param checkId
+     * @param plate
+     */
+    void saveSubcontractor(String checkId, String plate, Set<String> classfySet);
 }

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

@@ -1,11 +1,20 @@
 package com.rongwei.bscommon.sys.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.rongwei.bsentity.domain.ZhcxLowaltitudeDebtfreeCheckDetailDo;
 import com.rongwei.bscommon.sys.dao.ZhcxLowaltitudeDebtfreeCheckDetailDao;
 import com.rongwei.bscommon.sys.service.ZhcxLowaltitudeDebtfreeCheckDetailService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bsentity.domain.ZhcxLowaltitudeDebtfreeCheckDo;
+import com.rongwei.bsentity.domain.ZhcxLowaltitudeDebtfreeCheckMainDo;
+import com.rongwei.bsentity.dto.lowaltitude.SaveCheckDetailDto;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 低空不欠债检查-检查内容 服务实现类
@@ -17,4 +26,35 @@ import org.springframework.stereotype.Service;
 @Service
 public class ZhcxLowaltitudeDebtfreeCheckDetailServiceImpl extends ServiceImpl<ZhcxLowaltitudeDebtfreeCheckDetailDao, ZhcxLowaltitudeDebtfreeCheckDetailDo> implements ZhcxLowaltitudeDebtfreeCheckDetailService {
 
+    @Autowired
+    private ZhcxLowaltitudeDebtfreeCheckDetailDao dao;
+
+    /**
+     * 保存检查明细
+     *
+     * @param dto
+     */
+    @Override
+    public void saveCheckDetail(SaveCheckDetailDto dto) {
+
+        ZhcxLowaltitudeDebtfreeCheckDo checkDo = new ZhcxLowaltitudeDebtfreeCheckDo();
+        checkDo.setMainid(dto.getMainId());
+        checkDo.setStandardlibid(dto.getBaseId());
+        checkDo.setId(dto.getCheckId());
+        dao.saveByCheck(checkDo);
+    }
+
+    /**
+     * 获取机台不欠债率
+     *
+     * @param projectId
+     * @return
+     */
+    @Override
+    public List<ZhcxLowaltitudeDebtfreeCheckDetailDo> getListByMainId(String projectId, String machineId) {
+        ZhcxLowaltitudeDebtfreeCheckMainDo entity = new ZhcxLowaltitudeDebtfreeCheckMainDo();
+        entity.setProjectid(projectId);
+        entity.setMachinenoid(machineId);
+        return dao.getList(entity);
+    }
 }

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

@@ -1,11 +1,24 @@
 package com.rongwei.bscommon.sys.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.rongwei.bscommon.sys.service.ZhcxLowaltitudeDebtfreeCheckDetailService;
+import com.rongwei.bscommon.sys.service.ZhcxProjectManageService;
+import com.rongwei.bsentity.domain.ZhcxLowaltitudeDebtfreeCheckDetailDo;
 import com.rongwei.bsentity.domain.ZhcxLowaltitudeDebtfreeCheckMainDo;
 import com.rongwei.bscommon.sys.dao.ZhcxLowaltitudeDebtfreeCheckMainDao;
 import com.rongwei.bscommon.sys.service.ZhcxLowaltitudeDebtfreeCheckMainService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bsentity.domain.ZhcxProjectManageDo;
+import com.rongwei.bsentity.dto.lowaltitude.AddHoistingPlanDateRequest;
+import com.rongwei.bsentity.dto.lowaltitude.SaveCheckRequest;
+import com.rongwei.rwcommon.utils.SecurityUtil;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 低空不欠债检查-主表 服务实现类
@@ -17,4 +30,129 @@ import org.springframework.stereotype.Service;
 @Service
 public class ZhcxLowaltitudeDebtfreeCheckMainServiceImpl extends ServiceImpl<ZhcxLowaltitudeDebtfreeCheckMainDao, ZhcxLowaltitudeDebtfreeCheckMainDo> implements ZhcxLowaltitudeDebtfreeCheckMainService {
 
+    @Autowired
+    private ZhcxLowaltitudeDebtfreeCheckDetailService lowaltitudeDebtfreeCheckDetailService;
+
+    /**
+     * 保存主表数据
+     *
+     * @param req
+     * @return
+     */
+    @Override
+    public String saveMain(AddHoistingPlanDateRequest req, ZhcxProjectManageDo project) {
+
+        final LambdaQueryWrapper<ZhcxLowaltitudeDebtfreeCheckMainDo> queryWrapper = Wrappers.lambdaQuery();
+
+        queryWrapper.eq(ZhcxLowaltitudeDebtfreeCheckMainDo::getProjectid, req.getProjectId())
+                .eq(ZhcxLowaltitudeDebtfreeCheckMainDo::getMachinenoid, req.getMachineNoId())
+                .eq(ZhcxLowaltitudeDebtfreeCheckMainDo::getDeleted, "0")
+                .orderByDesc(ZhcxLowaltitudeDebtfreeCheckMainDo::getCreatedate);
+        List<ZhcxLowaltitudeDebtfreeCheckMainDo> mainList = list(queryWrapper);
+
+        ZhcxLowaltitudeDebtfreeCheckMainDo entity = new ZhcxLowaltitudeDebtfreeCheckMainDo();
+        entity.setAltitude(req.getAltitude());
+        entity.setHoistingplandate(req.getHoistingPlanDate());
+        entity.setFinalassembledate(req.getFinalassembledate());
+
+        if(ObjectUtil.isEmpty(mainList)) {
+            entity.setId(SecurityUtil.getUUID());
+            entity.setProjectid(req.getProjectId());
+            entity.setProjectcode(project.getProjectCode());
+            entity.setProjectename(project.getProjectEname());
+            entity.setProjectname(project.getProjectName());
+            entity.setDeleted("0");
+
+            //机号
+            entity.setMachinenoid(req.getMachineNoId());
+            entity.setMachineno(req.getMachineNo());
+            save(entity);
+        } else {
+            entity.setId(mainList.get(0).getId());
+            updateById(entity);
+        }
+
+        return entity.getId();
+    }
+
+    /**
+     * 保存主表数据
+     *
+     * @param req
+     */
+    @Override
+    public void saveMain(SaveCheckRequest req, String mainId) {
+        ZhcxLowaltitudeDebtfreeCheckMainDo entity = new ZhcxLowaltitudeDebtfreeCheckMainDo();
+        entity.setId(mainId);
+        entity.setHoistingplandate(req.getHoistingplandate());
+        entity.setAltitude(req.getAltitude());
+        entity.setFinalassembledate(req.getFinalassembledate());
+
+        final ZhcxLowaltitudeDebtfreeCheckMainDo main = getById(mainId);
+        entity.setMachinedebtratio(calMachineDebtRatio(main.getProjectid(), main.getMachinenoid()));
+
+        updateById(entity);
+    }
+
+    /**
+     * 更新板块不欠债率
+     *
+     * @param mainId
+     */
+    @Override
+    public void updateMachineById(String projectId, String machineId, String mainId) {
+        final String machineDebtRatio = calMachineDebtRatio(projectId, machineId);
+
+        ZhcxLowaltitudeDebtfreeCheckMainDo queryEntity = new ZhcxLowaltitudeDebtfreeCheckMainDo();
+        queryEntity.setId(mainId);
+        queryEntity.setMachinedebtratio(machineDebtRatio);
+        updateById(queryEntity);
+    }
+
+    /**
+     * 计算机台不欠债率
+     *
+     * @param projectId
+     * @return
+     */
+    private String calMachineDebtRatio(String projectId, String machineId) {
+        final List<ZhcxLowaltitudeDebtfreeCheckDetailDo> list = lowaltitudeDebtfreeCheckDetailService.getListByMainId(projectId, machineId);
+        return calMachineDebtRatio(list);
+    }
+
+    /**
+     * 计算机台不欠债率
+     *
+     * @param list
+     * @return
+     */
+    private String calMachineDebtRatio(List<ZhcxLowaltitudeDebtfreeCheckDetailDo> list) {
+        if(ObjectUtil.isEmpty(list)) {
+            return "0.00%";
+        }
+
+        int completeCount = 0;
+        int totalCount = 0;
+        for (ZhcxLowaltitudeDebtfreeCheckDetailDo row : list) {
+            if ("✓".equals(row.getCheckresult()) || ("✕".equals(row.getCheckresult()) && "✓".equals(row.getRectifyesult()))) {
+                completeCount++;
+            }
+
+            if (!"/".equals(row.getCheckresult()) && !"/".equals(row.getRectifyesult())) {
+                totalCount++;
+            }
+
+        }
+        // 计算机器比率
+        String machineRatio;
+        if (totalCount == 0) {
+            machineRatio = "0.00%"; // 避免除以零
+        } else {
+            double ratio = (double) completeCount / totalCount * 100;
+            machineRatio = String.format("%.2f%%", ratio);
+        }
+
+        return machineRatio;
+    }
+
 }

+ 180 - 181
business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxLowaltitudeDebtfreeCheckServiceImpl.java

@@ -4,14 +4,18 @@ import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.rongwei.bscommon.sys.service.*;
+import com.rongwei.bscommon.sys.utils.ConstantUtil;
 import com.rongwei.bsentity.domain.*;
 import com.rongwei.bscommon.sys.dao.ZhcxLowaltitudeDebtfreeCheckDao;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.rongwei.bsentity.dto.lowaltitude.AddHoistingPlanDateRequest;
+import com.rongwei.bsentity.dto.lowaltitude.SaveCheckDetailDto;
+import com.rongwei.bsentity.dto.lowaltitude.SaveCheckRequest;
+import com.rongwei.rwadmincommon.system.service.SysGeneralCRUDService;
 import com.rongwei.rwcommon.base.exception.CustomException;
+import com.rongwei.rwcommon.vo.generalsql.GeneralUpdateVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -43,25 +47,92 @@ public class ZhcxLowaltitudeDebtfreeCheckServiceImpl extends ServiceImpl<ZhcxLow
     private ZhcxLowaltitudeDebtfreeBaseInfoService zhcxLowaltitudeDebtfreeBaseInfoService;
 
     @Autowired
-    private ZhcxLowaltitudeDebtfreeCheckDao dao;
-
-
-    private static final HashMap<String, List<String>> PLATE_CLASSIFICATION_MAP = new HashMap<String, List<String>>() {{
-        put("电装板块", Arrays.asList("电装"));
-        put("涂装板块", Arrays.asList("后大梁", "前大梁", "梯形架及整机整改"));
-        put("安装板块", Arrays.asList("安装"));
-        put("装配板块", Arrays.asList("起升机构", "俯仰机构", "小车机构", "其他辅助机构", "机房外", "机房内", "机房围棚", "主小车"));
-    }};
-
-    // 添加明细记录
-    private ZhcxLowaltitudeDebtfreeCheckSubcontractorDo createDetailRecord(String checkId, String classify) {
-        return new ZhcxLowaltitudeDebtfreeCheckSubcontractorDo()
-                .setCheckid(checkId)
-                .setClassify(classify)
-                .setId(UUID.randomUUID().toString());
+    private ZhcxLowaltitudeDebtfreeCheckMainService lowaltitudeDebtfreeCheckMainService;
+
+    @Autowired
+    private SysGeneralCRUDService generalCRUDService;
+
+    /**
+     * 添加吊装日期
+     *
+     * @param req
+     */
+    @Override
+    public void addHoistingPlanDate(AddHoistingPlanDateRequest req) {
+        final ZhcxProjectManageDo project = projectManageService.getById(req.getProjectId());
+
+        final String mainId = lowaltitudeDebtfreeCheckMainService.saveMain(req, project);
+
+        //如果获取到的数据plate字段有  ("电装板块", "涂装板块", "安装板块", "装配板块") 就报错
+        final List<String> savePlates = getSavePlates(mainId, req, project);
+
+        if(ObjectUtil.isEmpty(savePlates)) {
+            return ;
+        }
+
+        // 遍历有效板块,检查是否存在,缺失则新增
+        for (String plate : savePlates) {
+
+            //标准库
+            LambdaQueryWrapper<ZhcxLowaltitudeDebtfreeBaseInfoDo> queryWrapper1 = Wrappers.lambdaQuery();
+            queryWrapper1.eq(ZhcxLowaltitudeDebtfreeBaseInfoDo::getPlate, plate)
+                    .eq(ZhcxLowaltitudeDebtfreeBaseInfoDo::getState, "有效")
+                    .eq(ZhcxLowaltitudeDebtfreeBaseInfoDo::getDeleted, "0");
+            ZhcxLowaltitudeDebtfreeBaseInfoDo baseInfo = zhcxLowaltitudeDebtfreeBaseInfoService.getOne(queryWrapper1);
+
+            if(ObjectUtil.isNull(baseInfo)) {
+                continue;
+            }
+
+            //标准库明细
+            LambdaQueryWrapper<ZhcxLowaltitudeDebtfreeBaseInfoDetailDo> queryWrapper2 = Wrappers.lambdaQuery();
+            queryWrapper2.eq(ZhcxLowaltitudeDebtfreeBaseInfoDetailDo::getPid, baseInfo.getId())
+                    .eq(ZhcxLowaltitudeDebtfreeBaseInfoDetailDo::getStatus, "有效")
+                    .eq(ZhcxLowaltitudeDebtfreeBaseInfoDetailDo::getDeleted, "0");
+            // 根据 baseInfo 的 id 查找 ZHCX_LOWALTITUDE_DEBTFREE_BASE_INFO_DETAIL 中的数据
+            List<ZhcxLowaltitudeDebtfreeBaseInfoDetailDo> baseInfoDetails =
+                    zhcxLowaltitudeDebtfreeBaseInfoDetailService.list(queryWrapper2);
+
+            // 创建新的记录
+            ZhcxLowaltitudeDebtfreeCheckDo newRecord = new ZhcxLowaltitudeDebtfreeCheckDo();
+            newRecord.setMainid(mainId);
+
+            newRecord.setPlate(plate);
+            newRecord.setDeleted("0");
+            newRecord.setId(UUID.randomUUID().toString());
+            newRecord.setSectordebtratio("0.00%");
+            String completionStatus = "0/" + baseInfoDetails.size();
+            newRecord.setCompletionstatus(completionStatus);
+            newRecord.setQualitystatus("assembling");
+            newRecord.setElectromechanicalstatus("assembling");
+
+            // 保存新记录到 ZHCX_LOWALTITUDE_DEBTFREE_CHECK 表
+            save(newRecord);
+
+            Set<String> classfySet = new HashSet<>();
+            for(ZhcxLowaltitudeDebtfreeBaseInfoDetailDo baseDetail : baseInfoDetails) {
+                classfySet.add(baseDetail.getClassify());
+            }
+
+            //分包商
+            zhcxLowaltitudeDebtfreeCheckSubcontractorService.saveSubcontractor(newRecord.getId(), plate, classfySet);
+
+            // 明细
+            SaveCheckDetailDto saveCheckDetailDto = SaveCheckDetailDto.builder()
+                    .baseId(baseInfo.getId())
+                    .mainId(mainId)
+                    .checkId(newRecord.getId())
+                    .build();
+            zhcxLowaltitudeDebtfreeCheckDetailService.saveCheckDetail(saveCheckDetailDto);
+        }
+
+        //重新计算机台不欠债率
+        lowaltitudeDebtfreeCheckMainService.updateMachineById(req.getProjectId(), req.getMachineNoId(), mainId);
+
     }
 
-    public void LiftingBatchAdd(Map<String, Object> map){
+
+    public void liftingBatchAdd(Map<String, Object> map){
 
         //参数解析成条数据调用addHoistingPlanDate方法
         // 获取包含多条记录的列表
@@ -81,6 +152,11 @@ public class ZhcxLowaltitudeDebtfreeCheckServiceImpl extends ServiceImpl<ZhcxLow
                     req.setHoistingPlanDate(dateTime);
                 }
 
+                if(ObjectUtil.isNotNull(record.get("FINALASSEMBLEDATE"))) {
+                    final DateTime dateTime = DateUtil.parse(record.get("FINALASSEMBLEDATE").toString(), "yyyy-MM-dd HH:mm:ss");
+                    req.setFinalassembledate(dateTime);
+                }
+
                 req.setMachineNo((String) record.get("MACHINENO"));
                 req.setAltitude((String) record.get("ALTITUDE"));
 
@@ -90,191 +166,114 @@ public class ZhcxLowaltitudeDebtfreeCheckServiceImpl extends ServiceImpl<ZhcxLow
         }
     }
 
-
-
-
     /**
-     * 添加吊装日期
+     * 修改检查
      *
      * @param req
      */
     @Override
-    public void addHoistingPlanDate(AddHoistingPlanDateRequest req) {
-        final ZhcxProjectManageDo project = projectManageService.getById(req.getProjectId());
-        //根据 项目id和机号id获取 已有数据
-        LambdaQueryWrapper<ZhcxLowaltitudeDebtfreeCheckDo> queryWrapper = Wrappers.lambdaQuery();
-        queryWrapper.eq(ZhcxLowaltitudeDebtfreeCheckDo::getProjectid, req.getProjectId())
-                .eq(ZhcxLowaltitudeDebtfreeCheckDo::getMachinenoid, req.getMachineNoId())
-                .eq(ZhcxLowaltitudeDebtfreeCheckDo::getDeleted, "0");
-        List<ZhcxLowaltitudeDebtfreeCheckDo> existsList = list(queryWrapper);
-        //如果获取到的数据plate字段有  ("电装板块", "涂装板块", "安装板块", "装配板块") 就报错
+    public void updateCheck(SaveCheckRequest req) {
 
+        final ZhcxLowaltitudeDebtfreeCheckDo checkDo = getById(req.getId());
 
-        //判断获取到的列表中的plate 板块 (添加 电装板块 涂装板块 安装板块 装配板块)不在其中的
-        List<String> validPlates = Arrays.asList("电装板块", "涂装板块", "安装板块", "装配板块");
+        //改check
+        updateCheckObj(req, checkDo);
 
-        // 获取 existsList 中已经存在的板块
-        Set<String> existingPlates = existsList.stream()
-                .map(ZhcxLowaltitudeDebtfreeCheckDo::getPlate)
-                .collect(Collectors.toSet());
-
-
-        boolean containsAll = existingPlates.containsAll(validPlates);//如果为真 就报错 为假就继续
-        if (containsAll) {
-            throw new CustomException("此机号下已有板块");
-
-        }else {
-
-
-        // 遍历有效板块,检查是否存在,缺失则新增
-        for (String plate : validPlates) {
-            if (!existingPlates.contains(plate)) {
-
-                LambdaQueryWrapper<ZhcxLowaltitudeDebtfreeBaseInfoDo> queryWrapper1 = Wrappers.lambdaQuery();
-                queryWrapper1.eq(ZhcxLowaltitudeDebtfreeBaseInfoDo::getPlate, plate)
-                        .eq(ZhcxLowaltitudeDebtfreeBaseInfoDo::getState, "有效")
-                        .eq(ZhcxLowaltitudeDebtfreeBaseInfoDo::getDeleted, "0");
-                ZhcxLowaltitudeDebtfreeBaseInfoDo baseInfo = zhcxLowaltitudeDebtfreeBaseInfoService.getOne(queryWrapper1);
-                LambdaQueryWrapper<ZhcxLowaltitudeDebtfreeBaseInfoDetailDo> queryWrapper2 = Wrappers.lambdaQuery();
-                queryWrapper2.eq(ZhcxLowaltitudeDebtfreeBaseInfoDetailDo::getPid, baseInfo.getId())
-                        .eq(ZhcxLowaltitudeDebtfreeBaseInfoDetailDo::getStatus, "有效")
-                        .eq(ZhcxLowaltitudeDebtfreeBaseInfoDetailDo::getDeleted, "0");
-                // 根据 baseInfo 的 id 查找 ZHCX_LOWALTITUDE_DEBTFREE_BASE_INFO_DETAIL 中的数据
-                List<ZhcxLowaltitudeDebtfreeBaseInfoDetailDo> baseInfoDetails =
-                        zhcxLowaltitudeDebtfreeBaseInfoDetailService.list(queryWrapper2);
-
-
-                // 创建新的记录
-                ZhcxLowaltitudeDebtfreeCheckDo newRecord = new ZhcxLowaltitudeDebtfreeCheckDo();
-                newRecord.setProjectid(req.getProjectId());
-                newRecord.setProjectcode(project.getProjectCode());
-                newRecord.setProjectname(project.getProjectName());
-                newRecord.setProjectename(project.getProjectEname());
-                newRecord.setMachinenoid(req.getMachineNoId());
-                newRecord.setMachineno(req.getMachineNo());
-                newRecord.setHoistingplandate(req.getHoistingPlanDate());
-
-                newRecord.setPlate(plate);
-                newRecord.setDeleted("0");
-                newRecord.setFinalassembledate(req.getHoistingPlanDate());
-                newRecord.setId(UUID.randomUUID().toString());
-                newRecord.setSectordebtratio("0.00%");
-                newRecord.setAltitude(req.getAltitude());
-                String completionStatus = "0/" + baseInfoDetails.size();
-                newRecord.setCompletionstatus(completionStatus);
-
-                ZhcxLowaltitudeDebtfreeCheckDo queryEntity = new ZhcxLowaltitudeDebtfreeCheckDo();
-                queryEntity.setProjectid(req.getProjectId());
-                queryEntity.setMachineno(req.getMachineNo());
-                List<ZhcxLowaltitudeDebtfreeCheckDetailDo> baseInfoDetails1 = dao.getListHistory(queryEntity);
-
-                int completeCount = 0;
-
-                for (ZhcxLowaltitudeDebtfreeCheckDetailDo row : baseInfoDetails1) {
-                    if ("✓".equals(row.getCheckresult()) || ("✕".equals(row.getCheckresult()) && "✓".equals(row.getRectifyesult()))) {
-                        completeCount++;
-                    }
+        //分包商
+        //明细
+        try {
+            if(ObjectUtil.isNotEmpty(req.getSubcontractorList())) {
+                for (GeneralUpdateVo generalUpdateVo : req.getSubcontractorList()) {
+                    generalCRUDService.generalUpdate(generalUpdateVo);
                 }
+            }
 
-                // 过滤不需要的记录
-                List<ZhcxLowaltitudeDebtfreeCheckDetailDo> resData = new ArrayList<>();
-                for (ZhcxLowaltitudeDebtfreeCheckDetailDo ev : resData) {
-                    if (!"/".equals(ev.getCheckresult()) && !"/".equals(ev.getRectifyesult())) {
-                        resData.add(ev);
-                    }
+            if(ObjectUtil.isNotEmpty(req.getDetailList())) {
+                for (GeneralUpdateVo generalUpdateVo : req.getDetailList()) {
+                    generalCRUDService.generalUpdate(generalUpdateVo);
                 }
+            }
 
+        } catch (Exception e) {
+            log.error("保存失败: {}", e);
+            throw new CustomException("保存失败");
+        }
 
-                // 计算机器比率
-                String machineRatio;
-                int totalCount = resData.size();
-                if (totalCount == 0) {
-                    machineRatio = "0.00%"; // 避免除以零
-                } else {
-                    double ratio = (double) completeCount / totalCount * 100;
-                    machineRatio = String.format("%.2f%%", ratio);
-                }
+        //保存主数据
+        lowaltitudeDebtfreeCheckMainService.saveMain(req, checkDo.getMainid());
+    }
 
-                newRecord.setMachinedebtratio(machineRatio);
-                // 保存新记录到 ZHCX_LOWALTITUDE_DEBTFREE_CHECK 表
-                save(newRecord);
-
-                // 根据板块类型新增明细数据到 ZHCX_LOWALTITUDE_DEBTFREE_CHECK_SUBCONTRACTOR 表
-                List<ZhcxLowaltitudeDebtfreeCheckSubcontractorDo> detailRecords = new ArrayList<>();
-                List<String> classifications = PLATE_CLASSIFICATION_MAP.get(plate);
-
-                if (classifications != null) {
-                    for (String classify : classifications) {
-//                        detailRecords.add(createDetailRecord(newRecord.getId(), classify));
-                        ZhcxLowaltitudeDebtfreeCheckSubcontractorDo record = createDetailRecord(newRecord.getId(), classify);
-                        record.setDeleted("0"); // 手动设置 deleted 字段
-                        detailRecords.add(record);
-                    }
-                }
+    /**
+     * 更新检查表
+     *
+     * @param req
+     * @return
+     */
+    private void updateCheckObj(SaveCheckRequest req, ZhcxLowaltitudeDebtfreeCheckDo checkDo) {
+        ZhcxLowaltitudeDebtfreeCheckDo entity  = new ZhcxLowaltitudeDebtfreeCheckDo();
+        entity.setId(req.getId());
+        entity.setCheckdate(req.getCheckdate());
+        entity.setSectordebtratio(req.getSectordebtratio());
+        entity.setCompletionstatus(req.getCompletionstatus());
+        //只有保存才会进入下一步
+        if("default".equals(req.getSaveBehavior())) {
+            entity.setQualitystatus(getStepStatus(checkDo));
+        }
+        updateById(entity);
+    }
 
-                // 批量保存明细记录
-                for (ZhcxLowaltitudeDebtfreeCheckSubcontractorDo detailRecord : detailRecords) {
-                    zhcxLowaltitudeDebtfreeCheckSubcontractorService.save(detailRecord);
-                }
+    /**
+     * 获取状态
+     *
+     * @param checkDo
+     * @return
+     */
+    private String getStepStatus(ZhcxLowaltitudeDebtfreeCheckDo checkDo) {
+        if(ObjectUtil.isEmpty(checkDo.getQualitystatus())) {
+            checkDo.setQualitystatus("assembling");
+        }
 
+        if("done".equals(checkDo.getQualitystatus())) {
+            return checkDo.getQualitystatus();
+        }
 
-                if (baseInfo != null) {
-                    // 将数据保存到 ZHCX_LOWALTITUDE_DEBTFREE_CHECK_DETAIL 表
-                    for (ZhcxLowaltitudeDebtfreeBaseInfoDetailDo detail : baseInfoDetails) {
-                        ZhcxLowaltitudeDebtfreeCheckDetailDo newDetail = new ZhcxLowaltitudeDebtfreeCheckDetailDo();
-                        newDetail.setCheckid(newRecord.getId()); // 关联 ZHCX_LOWALTITUDE_DEBTFREE_CHECK 表的 id
-                        newDetail.setClassify(detail.getClassify());
-                        newDetail.setPart(detail.getPart());
-                        newDetail.setContent(detail.getContent());
-                        newDetail.setResume(detail.getResume());
-                        newDetail.setStandart(detail.getStandart());
-                        newDetail.setSquno(detail.getSquno());
-                        newDetail.setId(UUID.randomUUID().toString());
-                        newDetail.setDeleted("0"); // 默认未删除
-                        zhcxLowaltitudeDebtfreeCheckDetailService.save(newDetail); // 保存到 ZHCX_LOWALTITUDE_DEBTFREE_CHECK_DETAIL 表
-
-                    }
-                }
+        final int index = ConstantUtil.LOWER_STEP_STATUS.indexOf(checkDo.getQualitystatus());
+
+        return ConstantUtil.LOWER_STEP_STATUS.get(index + 1);
+    }
+
+    /**
+     * 获取需要生成低空不欠债板块
+     *
+     * @param mainId
+     * @param req
+     * @param project
+     * @return
+     */
+    private List<String> getSavePlates(String mainId, AddHoistingPlanDateRequest req, ZhcxProjectManageDo project) {
+        //判断获取到的列表中的plate 板块 (添加 电装板块 涂装板块 安装板块 装配板块)不在其中的
+        List<String> validPlates = Arrays.asList("电装板块", "涂装板块", "安装板块", "装配板块");
 
+        LambdaQueryWrapper<ZhcxLowaltitudeDebtfreeCheckDo> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(ZhcxLowaltitudeDebtfreeCheckDo::getMainid, mainId)
+                .eq(ZhcxLowaltitudeDebtfreeCheckDo::getDeleted, "0");
+        List<ZhcxLowaltitudeDebtfreeCheckDo> existsList = list(queryWrapper);
+        // 获取 existsList 中已经存在的板块
+        Set<String> existingPlates = existsList.stream()
+                .map(ZhcxLowaltitudeDebtfreeCheckDo::getPlate)
+                .collect(Collectors.toSet());
 
-            } /*else {
-                // 更新总装日期
-                updateFinalAssembleDate(plate, req.getHoistingPlanDate());
-            }*/
-
-
-
-/*
-// 遍历有效板块,检查是否存在,缺失则新增
-        for (String plate : validPlates) {
-            if (!existingPlates.contains(plate)) {
-                //根据plate 查出ZHCX_LOWALTITUDE_DEBTFREE_BASE_INFO中的数据 根据这条数据的id 查出ZHCX_LOWALTITUDE_DEBTFREE_BASE_INFO_DETAIL的数据 把数据塞到 ZHCX_LOWALTITUDE_DEBTFREE_CHECK_DETAIL表给生成uuid
-                // 创建新的记录
-                ZhcxLowaltitudeDebtfreeCheckDo newRecord = new ZhcxLowaltitudeDebtfreeCheckDo();
-                newRecord.setProjectid(req.getProjectId());
-                newRecord.setMachinenoid(req.getMachineNoId());
-                newRecord.setPlate(plate); // 设置为当前缺失的板块
-                newRecord.setDeleted("0"); // 设置为未删除
-                newRecord.setFinalassembledate(req.getHoistingPlanDate());
-//                newRecord.setStandardlibid();//标准库id 通过 plate 获取 根据标准库id获取
-                //获取检查内容
-
-                newRecord.setProjectcode();
-                // 保存新记录
-                save(newRecord);
-            }else {
-                //更新总装日期
+        List<String> result = new ArrayList<>();
+        for(String plate : validPlates) {
+            if(!existingPlates.contains(plate)) {
+                result.add(plate);
             }
         }
 
-        // 如果加的 是 电装板块 明细分类塞 电装 ZHCX_LOWALTITUDE_DEBTFREE_CHECK_SUBCONTRACTOR classify*/
+        if(ObjectUtil.isEmpty(result)) {
+            throw new CustomException(project.getProjectEname().concat("下").concat(req.getMachineNo()).concat("全部板块已生成低空不欠债"));
         }
-    }
+
+        return result;
     }
 }
-//如果加的 是 电装板块  分包商 表明细分类塞 电装
-//如果加的 是 涂装板块 明细分类塞 后大梁 前大梁  梯形架及整机整改
-//如果加的 是 安装板块 明细分类塞 安装
-//如果加的 是 装配板块  明细分类塞  起升机构  俯仰机构 小车机构  其他辅助机构 机房外 机房内 机房围棚  主小车
-
-//更新逻辑 更新项目下的机号的所属板块的所有

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

@@ -1,11 +1,14 @@
 package com.rongwei.bscommon.sys.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.rongwei.bsentity.domain.ZhcxLowaltitudeDebtfreeCheckSubcontractorDo;
 import com.rongwei.bscommon.sys.dao.ZhcxLowaltitudeDebtfreeCheckSubcontractorDao;
 import com.rongwei.bscommon.sys.service.ZhcxLowaltitudeDebtfreeCheckSubcontractorService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.*;
+
 /**
  * <p>
  * 低空不欠债检查-分包商 服务实现类
@@ -17,4 +20,32 @@ import org.springframework.stereotype.Service;
 @Service
 public class ZhcxLowaltitudeDebtfreeCheckSubcontractorServiceImpl extends ServiceImpl<ZhcxLowaltitudeDebtfreeCheckSubcontractorDao, ZhcxLowaltitudeDebtfreeCheckSubcontractorDo> implements ZhcxLowaltitudeDebtfreeCheckSubcontractorService {
 
+    /**
+     * 保存分包商
+     *
+     * @param checkId
+     * @param plate
+     */
+    @Override
+    public void saveSubcontractor(String checkId, String plate, Set<String> classfySet) {
+
+        if(ObjectUtil.isEmpty(classfySet)) {
+            return ;
+        }
+
+        // 根据板块类型新增明细数据到 ZHCX_LOWALTITUDE_DEBTFREE_CHECK_SUBCONTRACTOR 表
+        List<ZhcxLowaltitudeDebtfreeCheckSubcontractorDo> detailRecords = new ArrayList<>();
+        for (String classify : classfySet) {
+            ZhcxLowaltitudeDebtfreeCheckSubcontractorDo record = new ZhcxLowaltitudeDebtfreeCheckSubcontractorDo()
+                    .setCheckid(checkId)
+                    .setClassify(classify)
+                    .setId(UUID.randomUUID().toString());
+
+            record.setDeleted("0"); // 手动设置 deleted 字段
+            detailRecords.add(record);
+        }
+
+        // 批量保存明细记录
+        saveBatch(detailRecords);
+    }
 }

+ 5 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/utils/ConstantUtil.java

@@ -35,6 +35,11 @@ public class ConstantUtil {
      */
     public static Map<String,Integer> number_format_map=new HashMap<String,Integer>();
 
+    /**
+     * 低空不欠债步骤状态
+     */
+    public static List<String> LOWER_STEP_STATUS = Arrays.asList(new String[]{"assembling", "powering", "final_confirming", "done"});
+
     static{
         //格式
         nf();

+ 5 - 1
business-entity/src/main/java/com/rongwei/bsentity/domain/ZhcxLowaltitudeDebtfreeCheckDetailDo.java

@@ -155,5 +155,9 @@ public class ZhcxLowaltitudeDebtfreeCheckDetailDo extends BaseDo {
     @TableField("CHECKER")
     private String checker;
 
-
+    /**
+     * 主表id
+     */
+    @TableField("MAINID")
+    private String mainid;
 }

+ 13 - 48
business-entity/src/main/java/com/rongwei/bsentity/domain/ZhcxLowaltitudeDebtfreeCheckDo.java

@@ -14,7 +14,7 @@ import lombok.experimental.Accessors;
  * </p>
  *
  * @author wm
- * @since 2024-10-29
+ * @since 2024-11-06
  */
 @Data
 @EqualsAndHashCode(callSuper = true)
@@ -39,61 +39,21 @@ public class ZhcxLowaltitudeDebtfreeCheckDo extends BaseDo {
      */
     @TableField("ROPTION")
     private String roption;
-    /**
-     * 项目id
-     */
-    @TableField("PROJECTID")
-    private String projectid;
-    /**
-     * 项目工号
-     */
-    @TableField("PROJECTCODE")
-    private String projectcode;
-    /**
-     * 项目简称
-     */
-    @TableField("PROJECTENAME")
-    private String projectename;
-    /**
-     * 机号
-     */
-    @TableField("MACHINENO")
-    private String machineno;
-    /**
-     * 机号id
-     */
-    @TableField("MACHINENOID")
-    private String machinenoid;
     /**
      * 板块
      */
     @TableField("PLATE")
     private String plate;
-    /**
-     * 项目名称
-     */
-    @TableField("PROJECTNAME")
-    private String projectname;
     /**
      * 标准库id
      */
     @TableField("STANDARDLIBID")
     private String standardlibid;
-    /**
-     * 总装日期
-     */
-    @TableField("FINALASSEMBLEDATE")
-    private Date finalassembledate;
     /**
      * 检查日期
      */
     @TableField("CHECKDATE")
     private Date checkdate;
-    /**
-     * 机台不欠债率
-     */
-    @TableField("MACHINEDEBTRATIO")
-    private String machinedebtratio;
     /**
      * 板块不欠债率
      */
@@ -110,15 +70,20 @@ public class ZhcxLowaltitudeDebtfreeCheckDo extends BaseDo {
     @TableField("COMPLETIONSTATUS")
     private String completionstatus;
     /**
-     * 是否低空化
+     * 主表id
      */
-    @TableField("ALTITUDE")
-    private String altitude;
+    @TableField("MAINID")
+    private String mainid;
+
     /**
-     * 吊装计划日期
+     * 质量状态
      */
-    @TableField("HOISTINGPLANDATE")
-    private Date hoistingplandate;
-
+    @TableField("QUALITYSTATUS")
+    private String qualitystatus;
 
+    /**
+     * 机电状态
+     */
+    @TableField("ELECTROMECHANICALSTATUS")
+    private String electromechanicalstatus;
 }

+ 2 - 1
business-entity/src/main/java/com/rongwei/bsentity/domain/ZhcxLowaltitudeDebtfreeCheckSubcontractorDo.java

@@ -48,7 +48,8 @@ public class ZhcxLowaltitudeDebtfreeCheckSubcontractorDo extends BaseDo {
      * 分类
      */
     @TableField("CLASSIFY")
-    private String classify;
+    private String
+            classify;
     /**
      * 分包商id
      */

+ 9 - 0
business-entity/src/main/java/com/rongwei/bsentity/dto/lowaltitude/AddHoistingPlanDateRequest.java

@@ -1,6 +1,8 @@
 package com.rongwei.bsentity.dto.lowaltitude;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.*;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.util.Date;
 
@@ -24,9 +26,16 @@ public class AddHoistingPlanDateRequest {
     private String machineNo;
 
     /**吊装日期*/
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd")
     private Date hoistingPlanDate;
 
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date finalassembledate;
+
     private String savetype;
 
+    /**全面低空化*/
     private String altitude;
 }

+ 26 - 0
business-entity/src/main/java/com/rongwei/bsentity/dto/lowaltitude/SaveCheckDetailDto.java

@@ -0,0 +1,26 @@
+package com.rongwei.bsentity.dto.lowaltitude;
+
+import lombok.*;
+
+@Setter
+@Getter
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class SaveCheckDetailDto {
+
+    /**
+     * 主表id
+     */
+    private String mainId;
+
+    /**
+     * 检查id
+     */
+    private String checkId;
+
+    /**
+     * 标准库id
+     */
+    private String baseId;
+}

+ 85 - 0
business-entity/src/main/java/com/rongwei/bsentity/dto/lowaltitude/SaveCheckRequest.java

@@ -0,0 +1,85 @@
+package com.rongwei.bsentity.dto.lowaltitude;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.rongwei.rwcommon.vo.generalsql.GeneralUpdateVo;
+import lombok.*;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+import java.util.List;
+
+@Setter
+@Getter
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class SaveCheckRequest {
+
+    /**
+     * 检查id
+     */
+    private String id;
+
+    /**
+     * 全面低空化
+     */
+    private String altitude;
+
+    /**
+     * 检查完成情况
+     */
+    private String completionstatus;
+
+    /**
+     * 计划吊装日期
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date hoistingplandate;
+
+    /**
+     * 实际总装日期
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date finalassembledate;
+
+    /**
+     * 检查日期
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date checkdate;
+
+    /**
+     * 板块不欠债率
+     */
+    private String sectordebtratio;
+
+    /**
+     * 质量状态
+     */
+    private String qualitystatus;
+
+    /**
+     * 机电状态
+     */
+    private String electromechanicalstatus;
+
+    /**
+     * 明细列表
+     */
+    private List<GeneralUpdateVo> subcontractorList;
+
+    /**
+     * 明细列表
+     */
+    private List<GeneralUpdateVo> detailList;
+
+    /**
+     * default:保存
+     * staging: 暂存
+     *
+     */
+    private String saveBehavior;
+}

+ 30 - 1
business-server/src/main/java/com/rongwei/bsserver/controller/DebtfreeController.java

@@ -2,6 +2,8 @@ package com.rongwei.bsserver.controller;
 
 import com.rongwei.bscommon.sys.service.DebtfreeService;
 import com.rongwei.bscommon.sys.service.ZhcxLowaltitudeDebtfreeCheckService;
+import com.rongwei.bsentity.dto.lowaltitude.AddHoistingPlanDateRequest;
+import com.rongwei.bsentity.dto.lowaltitude.SaveCheckRequest;
 import com.rongwei.rwcommon.base.R;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -26,9 +28,36 @@ public class DebtfreeController {
     @PostMapping("/liftingadd")
     @ResponseBody
     public R liftingAdd(@RequestBody Map<String,Object> map) {
-        zhcxLowaltitudeDebtfreeCheckService.LiftingBatchAdd(map);
+        zhcxLowaltitudeDebtfreeCheckService.liftingBatchAdd(map);
         return R.ok();
     }
 
+    /**
+     * 更新检查
+     *
+     * @param req
+     * @return
+     */
+    @PostMapping("/updateCheck")
+    @ResponseBody
+    public R updateCheck(@RequestBody SaveCheckRequest req) {
+        zhcxLowaltitudeDebtfreeCheckService.updateCheck(req);
+        return R.ok();
+    }
+
+    /**
+     * 更新检查
+     *
+     * @param req
+     * @return
+     */
+    @PostMapping("/addHoistingPlanDate")
+    @ResponseBody
+    public R addHoistingPlanDate(@RequestBody AddHoistingPlanDateRequest req) {
+        zhcxLowaltitudeDebtfreeCheckService.addHoistingPlanDate(req);
+        return R.ok();
+    }
+
+
 
 }