浏览代码

内外部损失

DLC 2 月之前
父节点
当前提交
41f7566611

+ 7 - 0
qcs-common/src/main/java/com/rongwei/bscommon/sys/dao/QcsColumnConfigDao.java

@@ -0,0 +1,7 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.rongwei.bsentity.domain.QcsColumnConfigDo;
+import com.rongwei.rwcommon.base.BaseDao;
+
+public interface QcsColumnConfigDao extends BaseDao<QcsColumnConfigDo> {
+}

+ 1 - 1
qcs-common/src/main/java/com/rongwei/bscommon/sys/dao/QcsMainCostDao.java

@@ -17,6 +17,6 @@ public interface QcsMainCostDao extends BaseDao<QcsMainCostDo> {
     @Select("select * from qcs_main_cost where DELETED='0' and BASEID=#{baseId} and DATE_FORMAT(YEARMONTH, '%Y-%m')=#{yearmonth}")
     List<QcsMainCostDo> getMainCosts(@Param("baseId") String baseId, @Param("yearmonth") String yearmonth);
 
-    @Select("select * from qcs_subject_config where DELETED='0' and (SECSUBJECT='预防成本' or SECSUBJECT='鉴定成本') order by SECSUBJECT,SORT")
+    @Select("select * from qcs_subject_config where DELETED='0' order by SECSUBJECT,SORT")
     List<QcsSubjectConfigDo> getSubjectConfig();
 }

+ 7 - 0
qcs-common/src/main/java/com/rongwei/bscommon/sys/service/QcsColumnConfigService.java

@@ -0,0 +1,7 @@
+package com.rongwei.bscommon.sys.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.domain.QcsColumnConfigDo;
+
+public interface QcsColumnConfigService extends IService<QcsColumnConfigDo> {
+}

+ 11 - 0
qcs-common/src/main/java/com/rongwei/bscommon/sys/service/impl/QcsColumnConfigImpl.java

@@ -0,0 +1,11 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.QcsColumnConfigDao;
+import com.rongwei.bscommon.sys.service.QcsColumnConfigService;
+import com.rongwei.bsentity.domain.QcsColumnConfigDo;
+import org.springframework.stereotype.Service;
+
+@Service
+public class QcsColumnConfigImpl extends ServiceImpl<QcsColumnConfigDao, QcsColumnConfigDo> implements QcsColumnConfigService {
+}

+ 36 - 2
qcs-common/src/main/java/com/rongwei/bscommon/sys/service/impl/QcsMainCostServiceImpl.java

@@ -2,8 +2,10 @@ package com.rongwei.bscommon.sys.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.rongwei.bscommon.sys.dao.QcsMainCostDao;
+import com.rongwei.bscommon.sys.service.QcsColumnConfigService;
 import com.rongwei.bscommon.sys.service.QcsMainCostService;
 import com.rongwei.bscommon.sys.service.QcsMainDetailService;
+import com.rongwei.bsentity.domain.QcsColumnConfigDo;
 import com.rongwei.bsentity.domain.QcsMainCostDo;
 import com.rongwei.bsentity.domain.QcsMainDetailDo;
 import com.rongwei.bsentity.domain.QcsSubjectConfigDo;
@@ -31,21 +33,27 @@ public class QcsMainCostServiceImpl extends ServiceImpl<QcsMainCostDao, QcsMainC
     @Autowired
     QcsMainDetailService qcsMainDetailService;
     @Autowired
+    QcsColumnConfigService qcsColumnConfigService;
+    @Autowired
     QcsMainCostDao qcsMainCostDao;
 
     @Override
     @Transactional
     public R setOtherCost(Map<String, String> params) {
         String costId = params.get("formId");
+        String insertFlag = params.get("insertFlag");
         BigDecimal qualitycosttotal = BigDecimal.ZERO;
 
         //要创建的实例
         List<QcsMainCostDo> qcsMainCostDoList = new ArrayList<>();
         List<QcsMainDetailDo> qcsMainDetailDoList = new ArrayList<>();
+        List<QcsColumnConfigDo> qcsColumnConfigDoList = new ArrayList<>();
 
         QcsMainCostDo qcsMainCostDo = qcsMainCostService.getById(costId);
         Map<String, Object> detailMap = qcsMainCostDao.getAmountSum(costId);
-        qcsMainCostDo.setCosttotal((BigDecimal) detailMap.get("AMOUNTSUM"));
+        if (detailMap != null) {
+            qcsMainCostDo.setCosttotal((BigDecimal) detailMap.get("AMOUNTSUM"));
+        }
         if (qcsMainCostDo.getStatus().equals("已提交")) {
             qualitycosttotal = qualitycosttotal.add(qcsMainCostDo.getCosttotal());
         }
@@ -148,6 +156,28 @@ public class QcsMainCostServiceImpl extends ServiceImpl<QcsMainCostDao, QcsMainC
             qcsMainCostDo4.setCosttype("4");
         }
 
+        //内外部损失存字段初始化
+        if (insertFlag.equals("1")) {
+            List<QcsSubjectConfigDo> subjectConfigDos = new ArrayList<>();
+            if (qcsMainCostDo.getCosttype().equals("3")) {
+                subjectConfigDos = qcsSubjectConfigDos.stream().filter(s -> s.getSecsubject().equals("内部损失")).collect(Collectors.toList());
+            } else if (qcsMainCostDo.getCosttype().equals("4")) {
+                subjectConfigDos = qcsSubjectConfigDos.stream().filter(s -> s.getSecsubject().equals("外部损失")).collect(Collectors.toList());
+            }
+            int subjectno = 1;
+            for (QcsSubjectConfigDo subjectConfigDo : subjectConfigDos) {
+                QcsColumnConfigDo qcsColumnConfigDo = new QcsColumnConfigDo();
+                qcsColumnConfigDo.setId(SecurityUtil.getUUID());
+                qcsColumnConfigDo.setLossid(costId);
+                qcsColumnConfigDo.setThrsubject(subjectConfigDo.getThrsubject());
+                qcsColumnConfigDo.setFousubject(subjectConfigDo.getFousubject());
+                qcsColumnConfigDo.setSort(subjectConfigDo.getSort());
+                qcsColumnConfigDo.setSubjectno("SUBJECT" + subjectno);
+                qcsColumnConfigDoList.add(qcsColumnConfigDo);
+                subjectno++;
+            }
+        }
+
         if (qualitycosttotal.compareTo(BigDecimal.ZERO) > 0) {
             qcsMainCostDo1.setQualitycosttotal(qualitycosttotal);
             qcsMainCostDo2.setQualitycosttotal(qualitycosttotal);
@@ -162,10 +192,14 @@ public class QcsMainCostServiceImpl extends ServiceImpl<QcsMainCostDao, QcsMainC
         boolean bool1 = qcsMainCostService.updateById(qcsMainCostDo);
         boolean bool2 = qcsMainCostService.saveOrUpdateBatch(qcsMainCostDoList);
         boolean bool3 = true;
+        boolean bool4 = true;
         if (qcsMainDetailDoList.size() > 0) {
             bool3 = qcsMainDetailService.saveBatch(qcsMainDetailDoList);
         }
-        if (bool1 && bool2 && bool3) {
+        if (qcsColumnConfigDoList.size() > 0) {
+            bool4 = qcsColumnConfigService.saveBatch(qcsColumnConfigDoList);
+        }
+        if (bool1 && bool2 && bool3 && bool4) {
             return R.ok();
         } else {
             return R.error();

+ 46 - 0
qcs-entity/src/main/java/com/rongwei/bsentity/domain/QcsColumnConfigDo.java

@@ -0,0 +1,46 @@
+package com.rongwei.bsentity.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.rongwei.rwcommon.base.BaseDo;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("qcs_column_config")
+public class QcsColumnConfigDo extends BaseDo implements Serializable {
+    private static final long serialVersionUID = 1L;
+    /**
+     * ID
+     */
+    private String id;
+
+    /**
+     * 内外部损失业务ID
+     */
+    private String lossid;
+
+    /**
+     * 三级科目
+     */
+    private String thrsubject;
+
+    /**
+     * 四级科目
+     */
+    private String fousubject;
+
+    /**
+     * 排序
+     */
+    private Integer sort;
+
+    /**
+     * 科目位置
+     */
+    private String subjectno;
+}