dengyj před 3 roky
rodič
revize
41fcf82ef3

+ 77 - 32
src/main/java/com/steerinfo/meterwork/meterworkrailwayactfirst/service/impl/MeterWorkRailwayActFirstServiceImpl.java

@@ -1473,32 +1473,50 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
                 if (isFirst) {
                     String userId = addFirsts.get(0).getCreateManNo();
                     String userName = addFirsts.get(0).getCreateManName();
-                    for (int i = 0; i < scales.size(); i++) {
-                        firstMatchPreScale(addFirsts.get(i), scales.get(i));
-                        scales.get(i).setValueFlag("1");
-                        scales.get(i).setUpdateManName("双委托更新");
-                        scales.get(i).setPredictionType("5");
-                    }
+                    if(scales != null && scales.size() >= 0) {
+                        for (int i = 0; i < scales.size(); i++) {
+                            firstMatchPreScale(addFirsts.get(i), scales.get(i));
+                            scales.get(i).setValueFlag("1");
+                            scales.get(i).setUpdateManName("双委托更新");
+                            scales.get(i).setPredictionType("5");
+                        }
 
-                    for (int i = 0; i < addFirsts.size(); i++) {
+                        for (int i = 0; i < addFirsts.size(); i++) {
 //                    String actualFirstNo = sdf.format(new Date()) + meterWorkRailwayActFirstMapper.getNewID(afl);
 //                    addFirsts.get(i).setActualFirstNo(actualFirstNo);
-                        String actualFirstNo = PublicMethod.IdCreate(3);
-                        addFirsts.get(i).setActualFirstNo(actualFirstNo);
-                        addFirsts.get(i).setValueFlag("1");
-                        addFirsts.get(i).setUpdateManNo("system");
-                        addFirsts.get(i).setUpdateManName("双委托更新");
-                        addFirsts.get(i).setUpdateTime(new Date());
-                        addFirsts.get(i).setCreateManNo(userId);
-                        addFirsts.get(i).setCreateManName(userName);
-                        addFirsts.get(i).setCreateTime(new Date());
-                        addFirsts.get(i).setPredictionType("5");
-                        addFirsts.get(i).setUpdateManName("双委托更新");
-                        meterWorkRailwayActFirstMapper.insertSelective(addFirsts.get(i));
-                    }
-                    meterWorkRailwayActFirstMapper.batchUpdate(addFirsts);
-                    if(!CollectionUtils.isEmpty(scales)) {
-                        preRailwayScaleMapper.batchUpdate(scales);
+                            String actualFirstNo = PublicMethod.IdCreate(3);
+                            addFirsts.get(i).setActualFirstNo(actualFirstNo);
+                            addFirsts.get(i).setValueFlag("1");
+                            addFirsts.get(i).setUpdateManNo("system");
+                            addFirsts.get(i).setUpdateManName("双委托更新");
+                            addFirsts.get(i).setUpdateTime(new Date());
+                            addFirsts.get(i).setCreateManNo(userId);
+                            addFirsts.get(i).setCreateManName(userName);
+                            addFirsts.get(i).setCreateTime(new Date());
+                            addFirsts.get(i).setPredictionType("5");
+                            addFirsts.get(i).setUpdateManName("双委托更新");
+                            meterWorkRailwayActFirstMapper.insertSelective(addFirsts.get(i));
+                        }
+                        meterWorkRailwayActFirstMapper.batchUpdate(addFirsts);
+                        if(!CollectionUtils.isEmpty(scales)) {
+                            preRailwayScaleMapper.batchUpdate(scales);
+                        }
+                    }else {
+                        for (int i = 0; i < addFirsts.size(); i++) {
+//                    String actualFirstNo = sdf.format(new Date()) + meterWorkRailwayActFirstMapper.getNewID(afl);
+//                    addFirsts.get(i).setActualFirstNo(actualFirstNo);
+                            String actualFirstNo = PublicMethod.IdCreate(3);
+                            addFirsts.get(i).setActualFirstNo(actualFirstNo);
+                            addFirsts.get(i).setValueFlag("1");
+                            addFirsts.get(i).setUpdateManNo("system");
+                            addFirsts.get(i).setUpdateManName("双委托更新");
+                            addFirsts.get(i).setUpdateTime(new Date());
+                            addFirsts.get(i).setCreateManNo(userId);
+                            addFirsts.get(i).setCreateManName(userName);
+                            addFirsts.get(i).setCreateTime(new Date());
+                            meterWorkRailwayActFirstMapper.insertSelective(addFirsts.get(i));
+                        }
+                        meterWorkRailwayActFirstMapper.batchUpdate(addFirsts);
                     }
                     newFirsts.addAll(addFirsts);
                 } else {//第二次,所选择数据一条或者两条
@@ -1541,15 +1559,30 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
                             meterWorkRailwayActFirstMapper.insertSelective(addFirsts.get(i));
 
                             //添加第二次皮重数据库
-                            selectedFirsts.get(i).setUpdateManName("system");
-                            selectedFirsts.get(i).setUpdateManName("双委托结净更新");
-                            selectedFirsts.get(i).setUpdateTime(new Date());
-                            selectedFirsts.get(i).setValueFlag(DbConstants.NET);
-                            selectedFirsts.get(i).setIsPreSacale("1");
-                            selectedFirsts.get(i).setPredictionType("5");
-                            selectedFirsts.get(i).setPredictionNo(scales.get(i).getPredictionNo());
-                            selectedFirsts.get(i).setPredictionCombination(selectedFirsts.get(i).getPredictionNo() + "," + addFirsts.get(i).getPredictionNo());
-                            meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(selectedFirsts.get(i));
+                            if(StringUtils.isEmpty(selectedFirsts.get(i).getActualFirstNo())) {
+                                selectedFirsts.get(i).setActualFirstNo(PublicMethod.IdCreate(3));
+                                selectedFirsts.get(i).setCreateTime(new Date());
+                                selectedFirsts.get(i).setUpdateManName("system");
+                                selectedFirsts.get(i).setUpdateManName("双委托结净更新");
+                                selectedFirsts.get(i).setUpdateTime(new Date());
+                                selectedFirsts.get(i).setValueFlag(DbConstants.NET);
+                                selectedFirsts.get(i).setIsPreSacale("1");
+                                selectedFirsts.get(i).setPredictionType("5");
+                                selectedFirsts.get(i).setPredictionNo(scales.get(i).getPredictionNo());
+                                selectedFirsts.get(i).setPredictionCombination(selectedFirsts.get(i).getPredictionNo() + "," + addFirsts.get(i).getPredictionNo());
+                                meterWorkRailwayActFirstMapper.insertSelective(selectedFirsts.get(i));
+                            }else{
+                                selectedFirsts.get(i).setUpdateManName("system");
+                                selectedFirsts.get(i).setUpdateManName("双委托结净更新");
+                                selectedFirsts.get(i).setUpdateTime(new Date());
+                                selectedFirsts.get(i).setValueFlag(DbConstants.NET);
+                                selectedFirsts.get(i).setIsPreSacale("1");
+                                selectedFirsts.get(i).setPredictionType("5");
+                                selectedFirsts.get(i).setPredictionNo(scales.get(i).getPredictionNo());
+                                selectedFirsts.get(i).setPredictionCombination(selectedFirsts.get(i).getPredictionNo() + "," + addFirsts.get(i).getPredictionNo());
+                                meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(selectedFirsts.get(i));
+
+                            }
 
                             scales.get(i).setValueFlag("2");
                             scales.get(i).setUploadFlag("1");
@@ -1579,6 +1612,8 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
                             actualRow.setActualNo(no);
                             actualRow.setNote("双委托匹配结净");
                             actualRow.setNetMode("2");
+                            actualRow.setValueFlag("1");
+                            actualRow.setUploadFlag("1");
                             actualRow.setPredictionType("5");
                             actualRow.setPredictionCombination(selectedFirsts.get(0).getPredictionNo() + "," + addFirsts.get(1).getPredictionNo());
                             if(actualRow.getGrossTime().compareTo(actualRow.getTareTime()) >= 0) {
@@ -1643,6 +1678,11 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
 
     //一次记录双委托结净匹配
     private void doNet(MeterWorkRailwayActual actualRow, MeterWorkRailwayActFirst grossFirst, MeterWorkRailwayActFirst tareFirst, String predictionNo) {
+        if(StringUtils.isEmpty(grossFirst.getActualFirstNo())) {
+            grossFirst.setActualFirstNo(PublicMethod.IdCreate(3));
+            grossFirst.setCreateTime(new Date());
+            meterWorkRailwayActFirstMapper.insertSelective(grossFirst);
+        }
         MeterWorkRailwayActFirst grossFirstTemp = meterWorkRailwayActFirstMapper.selectAndMatch(grossFirst.getActualFirstNo(), predictionNo);
         BeanUtils.copyProperties(grossFirstTemp, grossFirst);
         grossFirst.setIsPreSacale("1");
@@ -1650,6 +1690,11 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
         grossFirst.setPredictionType("5");
         grossFirst.setNote("双委托结净");
 
+        if(StringUtils.isEmpty(tareFirst.getActualFirstNo())) {
+            tareFirst.setActualFirstNo(PublicMethod.IdCreate(3));
+            tareFirst.setCreateTime(new Date());
+            meterWorkRailwayActFirstMapper.insertSelective(tareFirst);
+        }
         MeterWorkRailwayActFirst tareFirstTemp = meterWorkRailwayActFirstMapper.selectAndMatch(tareFirst.getActualFirstNo(), predictionNo);
         BeanUtils.copyProperties(tareFirstTemp, tareFirst);
         tareFirst.setIsPreSacale("1");