Browse Source

内外损失提交

DLC 2 months ago
parent
commit
c53a0bea5d

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

@@ -17,10 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Service
@@ -43,6 +40,7 @@ public class QcsMainCostServiceImpl extends ServiceImpl<QcsMainCostDao, QcsMainC
     public R setOtherCost(Map<String, String> params) {
         String costId = params.get("formId");
         String insertFlag = params.get("insertFlag");
+        String tjFlag = params.get("tjFlag");
         BigDecimal qualitycosttotal = BigDecimal.ZERO;
 
         //要创建的实例
@@ -54,9 +52,10 @@ public class QcsMainCostServiceImpl extends ServiceImpl<QcsMainCostDao, QcsMainC
         QcsMainCostDo qcsMainCostDo = qcsMainCostService.getById(costId);
         Map<String, Object> detailMap = new HashMap<>();
         List<QcsLossDetailDo> qcsLossDetailDos = new ArrayList<>();
-        if (qcsMainCostDo.getCosttype().equals("1") || qcsMainCostDo.getCosttype().equals("2")) {
+        String costType = qcsMainCostDo.getCosttype();
+        if (costType.equals("1") || costType.equals("2")) {
             detailMap = qcsMainCostDao.getAmountSum(costId);
-        } else if (qcsMainCostDo.getCosttype().equals("3") || qcsMainCostDo.getCosttype().equals("4")) {
+        } else if (costType.equals("3") || costType.equals("4")) {
             qcsLossDetailDos = qcsMainCostDao.getCostSum(costId);
         }
 
@@ -137,6 +136,7 @@ public class QcsMainCostServiceImpl extends ServiceImpl<QcsMainCostDao, QcsMainC
         if (qcsMainCostDo3 != null) {
             if (qcsMainCostDo3.getId().equals(costId) && qcsLossDetailDos.size() > 0) {
                 BigDecimal allCostTotal = BigDecimal.ZERO;
+                Date submitDate = new Date();
                 for (QcsLossDetailDo lossDetailDo : qcsLossDetailDos) {
                     BigDecimal costTotal = sumCostTotal(lossDetailDo);
                     if (costTotal.compareTo(BigDecimal.ZERO) > 0) {
@@ -146,6 +146,10 @@ public class QcsMainCostServiceImpl extends ServiceImpl<QcsMainCostDao, QcsMainC
                         if (lossDetailDo.getSubmitdate() != null) {
                             qualitycosttotal = qualitycosttotal.add(costTotal);
                         } else {
+                            if (tjFlag.equals("1")) {
+                                qualitycosttotal = qualitycosttotal.add(costTotal);
+                                lossDetailDo.setSubmitdate(submitDate);
+                            }
                             qcsLossDetailDoList.add(lossDetailDo);
                         }
                     }
@@ -179,6 +183,7 @@ public class QcsMainCostServiceImpl extends ServiceImpl<QcsMainCostDao, QcsMainC
                 BigDecimal allCostTotal = BigDecimal.ZERO;
                 for (QcsLossDetailDo lossDetailDo : qcsLossDetailDos) {
                     BigDecimal costTotal = sumCostTotal(lossDetailDo);
+                    Date submitDate = new Date();
                     if (costTotal.compareTo(BigDecimal.ZERO) > 0) {
                         lossDetailDo.setTotalcost(costTotal);
                         allCostTotal = allCostTotal.add(costTotal);
@@ -186,6 +191,10 @@ public class QcsMainCostServiceImpl extends ServiceImpl<QcsMainCostDao, QcsMainC
                         if (lossDetailDo.getSubmitdate() != null) {
                             qualitycosttotal = qualitycosttotal.add(costTotal);
                         } else {
+                            if (tjFlag.equals("1")) {
+                                qualitycosttotal = qualitycosttotal.add(costTotal);
+                                lossDetailDo.setSubmitdate(submitDate);
+                            }
                             qcsLossDetailDoList.add(lossDetailDo);
                         }
                     }
@@ -215,9 +224,9 @@ public class QcsMainCostServiceImpl extends ServiceImpl<QcsMainCostDao, QcsMainC
         //内外部损失存字段初始化
         if (insertFlag.equals("1")) {
             List<QcsSubjectConfigDo> subjectConfigDos = new ArrayList<>();
-            if (qcsMainCostDo.getCosttype().equals("3")) {
+            if (costType.equals("3")) {
                 subjectConfigDos = qcsSubjectConfigDos.stream().filter(s -> s.getSecsubject().equals("内部损失")).collect(Collectors.toList());
-            } else if (qcsMainCostDo.getCosttype().equals("4")) {
+            } else if (costType.equals("4")) {
                 subjectConfigDos = qcsSubjectConfigDos.stream().filter(s -> s.getSecsubject().equals("外部损失")).collect(Collectors.toList());
             }
             int subjectno = 1;