소스 검색

送电前交接

wangming 6 달 전
부모
커밋
c973066b15

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

@@ -3,6 +3,8 @@ package com.rongwei.bscommon.sys.service;
 import com.rongwei.bsentity.domain.ZhcxBaseCheckDetailDo;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  * 基础数据-检查-明细 服务类
@@ -13,4 +15,11 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface ZhcxBaseCheckDetailService extends IService<ZhcxBaseCheckDetailDo> {
 
+    /**
+     * 通过类型获取明细
+     *
+     * @param type
+     * @return
+     */
+    List<ZhcxBaseCheckDetailDo> getByType(String type);
 }

+ 7 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/service/ZhcxQualityPowerHandoverService.java

@@ -1,5 +1,6 @@
 package com.rongwei.bscommon.sys.service;
 
+import com.rongwei.bsentity.domain.ZhcxLowaltitudeDebtfreeCheckMainDo;
 import com.rongwei.bsentity.domain.ZhcxQualityPowerHandoverDo;
 import com.baomidou.mybatisplus.extension.service.IService;
 
@@ -13,4 +14,10 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface ZhcxQualityPowerHandoverService extends IService<ZhcxQualityPowerHandoverDo> {
 
+    /**
+     * 通过低空不欠债生成
+     *
+     * @param main
+     */
+    void saveByLowaltitude(ZhcxLowaltitudeDebtfreeCheckMainDo main);
 }

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

@@ -1,11 +1,15 @@
 package com.rongwei.bscommon.sys.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.rongwei.bsentity.domain.ZhcxBaseCheckDetailDo;
 import com.rongwei.bscommon.sys.dao.ZhcxBaseCheckDetailDao;
 import com.rongwei.bscommon.sys.service.ZhcxBaseCheckDetailService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 基础数据-检查-明细 服务实现类
@@ -17,4 +21,26 @@ import org.springframework.stereotype.Service;
 @Service
 public class ZhcxBaseCheckDetailServiceImpl extends ServiceImpl<ZhcxBaseCheckDetailDao, ZhcxBaseCheckDetailDo> implements ZhcxBaseCheckDetailService {
 
+    /**
+     * 通过类型获取明细
+     *
+     * @param type
+     * @return
+     */
+    @Override
+    public List<ZhcxBaseCheckDetailDo> getByType(String type) {
+        final LambdaQueryWrapper<ZhcxBaseCheckDetailDo> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(ZhcxBaseCheckDetailDo::getDeleted, "0")
+                .eq(ZhcxBaseCheckDetailDo::getState, "有效")
+                .apply("EXISTS ( " +
+                        "    SELECT " +
+                        "      * " +
+                        "    FROM " +
+                        "      ZHCX_BASE_CHECK c " +
+                        "    WHERE " +
+                        "      c.ID = ZHCX_BASE_CHECK_DETAIL.CHECKID " +
+                        "      AND c.DELETED = '0' " +
+                        "      AND c.STATE = '有效' AND c.\"TYPE\" = {0})", type);
+        return list(queryWrapper);
+    }
 }

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

@@ -75,6 +75,9 @@ public class ZhcxLowaltitudeDebtfreeCheckServiceImpl extends ServiceImpl<ZhcxLow
     @Autowired
     private ZhcxProjectDeviceIndicatorService projectDeviceIndicatorService;
 
+    @Autowired
+    private ZhcxQualityPowerHandoverService qualityPowerHandoverService;
+
     /**
      * 添加吊装日期
      *
@@ -239,6 +242,7 @@ public class ZhcxLowaltitudeDebtfreeCheckServiceImpl extends ServiceImpl<ZhcxLow
      * @param req
      */
     @Override
+    @Transactional
     public void updateCheck(SaveCheckRequest req) {
 
         final ZhcxLowaltitudeDebtfreeCheckDo checkDo = getById(req.getId());
@@ -268,6 +272,22 @@ public class ZhcxLowaltitudeDebtfreeCheckServiceImpl extends ServiceImpl<ZhcxLow
 
         //保存主数据
         lowaltitudeDebtfreeCheckMainService.saveMain(req, checkDo);
+
+        //暂存不做处理
+        if("staging".equals(req.getSaveBehavior())) {
+            return ;
+        }
+
+        //生成机电前检验数据 powering
+        final LambdaQueryWrapper<ZhcxLowaltitudeDebtfreeCheckDo> queryCountWrapper = Wrappers.lambdaQuery();
+        queryCountWrapper.eq(ZhcxLowaltitudeDebtfreeCheckDo::getMainid, checkDo.getMainid())
+                .eq(ZhcxLowaltitudeDebtfreeCheckDo::getQualitystatus, "powering");
+        final int count = count(queryCountWrapper);
+        if(count < 4) {
+            return ;
+        }
+        final ZhcxLowaltitudeDebtfreeCheckMainDo main = lowaltitudeDebtfreeCheckMainService.getById(checkDo.getMainid());
+        qualityPowerHandoverService.saveByLowaltitude(main);
     }
 
     /**

+ 79 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxQualityPowerHandoverServiceImpl.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.ZhcxBaseCheckDetailService;
+import com.rongwei.bscommon.sys.service.ZhcxQualityPowerHandoverDetailService;
+import com.rongwei.bsentity.domain.ZhcxBaseCheckDetailDo;
+import com.rongwei.bsentity.domain.ZhcxLowaltitudeDebtfreeCheckMainDo;
+import com.rongwei.bsentity.domain.ZhcxQualityPowerHandoverDetailDo;
 import com.rongwei.bsentity.domain.ZhcxQualityPowerHandoverDo;
 import com.rongwei.bscommon.sys.dao.ZhcxQualityPowerHandoverDao;
 import com.rongwei.bscommon.sys.service.ZhcxQualityPowerHandoverService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.rwcommon.utils.SecurityUtil;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * <p>
  * 质量奖惩-送电前交接 服务实现类
@@ -17,4 +30,70 @@ import org.springframework.stereotype.Service;
 @Service
 public class ZhcxQualityPowerHandoverServiceImpl extends ServiceImpl<ZhcxQualityPowerHandoverDao, ZhcxQualityPowerHandoverDo> implements ZhcxQualityPowerHandoverService {
 
+    @Autowired
+    private ZhcxBaseCheckDetailService baseCheckDetailService;
+
+    @Autowired
+    private ZhcxQualityPowerHandoverDetailService qualityPowerHandoverDetailService;
+
+    /**
+     * 通过低空不欠债生成
+     *
+     * @param main
+     */
+    @Override
+    public void saveByLowaltitude(ZhcxLowaltitudeDebtfreeCheckMainDo main) {
+        final LambdaQueryWrapper<ZhcxQualityPowerHandoverDo> queryCountWrapper = Wrappers.lambdaQuery();
+        queryCountWrapper.eq(ZhcxQualityPowerHandoverDo::getProjectid, main.getProjectid())
+                .eq(ZhcxQualityPowerHandoverDo::getMachinenoid, main.getMachinenoid());
+        final int count = count(queryCountWrapper);
+        if(count > 0) { //已生成不重复生成
+            return ;
+        }
+
+        //送电前检查项
+        final List<ZhcxBaseCheckDetailDo> checkDetailList = baseCheckDetailService.getByType("送电前");
+
+        //主表
+        ZhcxQualityPowerHandoverDo handover = new ZhcxQualityPowerHandoverDo();
+        handover.setId(SecurityUtil.getUUID());
+        handover.setType("送电前");
+        handover.setDeleted("0");
+        handover.setProjectid(main.getProjectid());
+        handover.setProjectcode(main.getProjectcode());
+        handover.setProjectname(main.getProjectname());
+        handover.setMachinenoid(main.getMachinenoid());
+        handover.setMachineno(main.getMachineno());
+        handover.setConstcomplate(0);
+        if(ObjectUtil.isEmpty(checkDetailList)) {
+            handover.setConsttotal(0);
+            handover.setReceivetotal(0);
+        } else {
+            handover.setConsttotal(checkDetailList.size());
+            handover.setReceivetotal(checkDetailList.size());
+        }
+        handover.setReceivecomplate(0);
+        save(handover);
+
+        //明细保存
+        List<ZhcxQualityPowerHandoverDetailDo> list = new ArrayList<>(checkDetailList.size());
+        int countIdx = 0;
+
+        for(ZhcxBaseCheckDetailDo detail : checkDetailList) {
+            countIdx++;
+            ZhcxQualityPowerHandoverDetailDo row = new ZhcxQualityPowerHandoverDetailDo();
+            row.setId(SecurityUtil.getUUID());
+            row.setDeleted("0");
+            row.setHandoverid(handover.getId());
+            row.setClassify(detail.getClassify());
+            row.setCheckcontent(detail.getCheckcontent());
+            row.setSpecificreq(detail.getSpecificreq());
+            row.setConstdepart(detail.getConstdepart());
+            row.setBasecheckid(detail.getCheckid());
+            row.setBasecheckdetailid(detail.getId());
+            row.setSeqsort(countIdx);
+            list.add(row);
+        }
+        qualityPowerHandoverDetailService.saveBatch(list);
+    }
 }