dengyj 3 лет назад
Родитель
Сommit
1ba371b7bd

+ 9 - 0
src/main/java/com/steerinfo/meterwork/meterworkrailwayactfirst/service/impl/MeterWorkRailwayActFirstServiceImpl.java

@@ -7528,6 +7528,15 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
                         actualRow.setCreateTime(actualRow.getTareTime());
                         actualRow.setCreateManName(actualRow.getTareManName());
                     }
+                    //铁水衡自动导入情况
+                    if(actualRow.getTareManNo() != null && actualRow.getTareManNo().equals("system") &&
+                        actualRow.getGrossManNo() != null && actualRow.getGrossManNo().equals("system")) {
+                        if(userId != null && StringUtils.isNotEmpty(userId) && userName != null &&StringUtils.isNotEmpty(userName)) {
+                            actualRow.setNetManNo(userId);
+                            actualRow.setNetManName(userName);
+                        }
+                    }
+                    actualRow.setSampleNo(tareModel.getLcNo());
                     actualRow.setLcNo(meterWorkRailwayActFirstMapper.getFirstLcNo(actualRow.getActualFirst1No()));
                     actualRow.setUpdateManNo(userId);
                     actualRow.setUpdateManName(userName);

+ 1 - 1
src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/mapper/MeterWorkRailwayActualMapper.xml

@@ -3078,7 +3078,7 @@
            t.net_mode,t.value_flag,t.upload_flag,t.check_man_no,t.check_man_name,t.check_time,
            t.upload_man_no,t.upload_man_name,t.upload_time,t.sample_no,t.railway_type_no,
            t.railway_type_name, t.memo,t.water_num,t.update_man_no,t.data_source,
-           t.update_man_name, t.update_time,t.source_area, t.lc_no
+           t.update_man_name, t.update_time, t.create_man_name, t.create_time, t.source_area, t.lc_no
     from meter_work_railway_actual t where t.actual_no = #{actualNo,jdbcType=VARCHAR}
   </select>
 

+ 157 - 66
src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/service/impl/MeterWorkRailwayActualServiceImpl.java

@@ -3096,27 +3096,135 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
         rm.setFailed();
         try {
             Assert.isTrue(models.size() >= 1, "数据不能为空");
-
+            for(MeterWorkRailwayActual model: models) {
+                Assert.isTrue(model.getPredictionNo() != null && StringUtils.isNotEmpty(model.getPredictionNo()), "委托号不能为空");
+                PreRailwayScale scale = preRailwayScaleMapper.selectByPrimaryKey(model.getPredictionNo());
+                if(scale != null) {
+                    Assert.isTrue(!scale.getValueFlag().equals("2"), "委托信息已使用,不允许补录洁净数据");
+                    Assert.isTrue(!scale.getValueFlag().equals("9"), "委托信息已结算,不允许补录洁净数据");
+                }
+            }
             int count = 0;
             for(MeterWorkRailwayActual model: models) {
-                String no = PublicMethod.IdCreate(3);
-                model.setActualNo(no);
-                meterWorkRailwayActualMapper.insertSelective(model);
+                MeterWorkRailwayActFirst grossModel = new MeterWorkRailwayActFirst();
+                MeterWorkRailwayActFirst tareModel = new MeterWorkRailwayActFirst();
+                MeterWorkRailwayActual actualRow = new MeterWorkRailwayActual();
                 if(model.getPredictionNo() != null && StringUtils.isNotEmpty(model.getPredictionNo())) {
-                    model.setPredictionType("1");
-                    model.setIsPreSacale("1");
+                    String predictionNo = model.getPredictionNo();
+
+                    String actualFirstNo = PublicMethod.IdCreate(3);
+                    grossModel.setActualFirstNo(actualFirstNo);
+                    grossModel.setRailwayNo(model.getRailwayNo());
+                    grossModel.setMeterWeight(model.getGrossWeight());
+                    grossModel.setRailwayTypeNo(model.getRailwayTypeNo());
+                    grossModel.setRailwayTypeName(model.getRailwayTypeName());
+                    grossModel.setWeightType("0");
+                    grossModel.setCreateManNo(model.getGrossManNo());
+                    grossModel.setCreateManName(model.getGrossManName());
+                    grossModel.setCreateTime(model.getGrossTime());
+                    grossModel.setBaseSpotNo(model.getBaseSpot1No());
+                    grossModel.setBaseSpotName(model.getBaseSpot1Name());
+                    grossModel.setValueFlag("2");
+                    grossModel.setCheckFlag("0");
+                    grossModel.setDataSource("4");
+                    grossModel.setMeterMode("3");
+                    grossModel.setIsPreSacale("0");
+                    meterWorkRailwayActFirstMapper.insertSelective(grossModel);
+
+                    String actualSecondNo = PublicMethod.IdCreate(3);
+                    tareModel.setActualFirstNo(actualSecondNo);
+                    tareModel.setRailwayNo(model.getRailwayNo());
+                    tareModel.setMeterWeight(model.getTareWeight());
+                    tareModel.setWeightType("1");
+                    tareModel.setRailwayTypeNo(model.getRailwayTypeNo());
+                    tareModel.setRailwayTypeName(model.getRailwayTypeName());
+                    tareModel.setCreateManNo(model.getGrossManNo());
+                    tareModel.setCreateManName(model.getGrossManName());
+                    tareModel.setCreateTime(model.getTareTime());
+                    tareModel.setBaseSpotNo(model.getBaseSpot2No());
+                    tareModel.setBaseSpotName(model.getBaseSpot2Name());
+                    tareModel.setValueFlag("2");
+                    tareModel.setCheckFlag("0");
+                    tareModel.setDataSource("4");
+                    tareModel.setMeterMode("3");
+                    tareModel.setIsPreSacale("0");
+                    meterWorkRailwayActFirstMapper.insertSelective(tareModel);
+                    //净重
 
-                    PreRailwayScale scale = preRailwayScaleMapper.selectByPrimaryKey(model.getPredictionNo());
-                    scale.setValueFlag("2");
-                    scale.setMeasureStation(model.getNetSpot3No());
-                    scale.setMeasureStationName(model.getNetSpot3Name());
+                    //将委托中的编号和收发货的等数据拷贝进一次数据中
+                    MeterWorkRailwayActFirst first1 = meterWorkRailwayActFirstMapper.selectAndMatch(actualFirstNo, predictionNo);
+                    BeanUtils.copyProperties(first1,grossModel);
+                    grossModel.setIsPreSacale("1");
+                    grossModel.setPredictionType("1");
+                    meterWorkRailwayActFirstMapper.updateByPrimaryKey(grossModel);
+
+                    MeterWorkRailwayActFirst first2 = meterWorkRailwayActFirstMapper.selectAndMatch(actualSecondNo, predictionNo);
+                    BeanUtils.copyProperties(first2, tareModel);
+                    tareModel.setIsPreSacale("1");
+                    tareModel.setPredictionType("1");
+                    meterWorkRailwayActFirstMapper.updateByPrimaryKey(tareModel);
+
+                    //将委托中的编号和收发货单位和一次数据等数据拷贝进结净数据中
+                    MeterWorkRailwayActual mwca1 = meterWorkRailwayActualMapper.manualAddPre(actualFirstNo, actualSecondNo, predictionNo);
+                    BeanUtils.copyProperties(mwca1, actualRow);
+
+                    String no = PublicMethod.IdCreate(3);
+                    actualRow.setActualNo(no);
+                    actualRow.setRailwayTypeNo(model.getRailwayTypeNo());
+                    actualRow.setRailwayTypeName(model.getRailwayTypeName());
+                    actualRow.setNetTime(model.getNetTime());
+                    actualRow.setNetMode(DbConstants.TYPE);
+                    actualRow.setNote("手动录入");
+                    actualRow.setUploadFlag("1");
+                    actualRow.setIsPreSacale("1");
+                    actualRow.setValueFlag("1");
+                    actualRow.setGrossMode("3");
+                    actualRow.setTareMode("3");
+                    actualRow.setCreateManName(model.getGrossManName());
+                    actualRow.setCreateTime(new Date());
+                    actualRow.setNetTime(model.getNetTime());
+                    actualRow.setDataSource("4");
+                    actualRow.setPredictionType("1");
+                    actualRow.setUpdateManNo("system");
+                    actualRow.setUpdateManName("手动录入");
+                    actualRow.setUpdateTime(new Date());
+                    actualRow.setPredictionNo(predictionNo);
+                    actualRow.setNetWeight(grossModel.getMeterWeight().subtract(tareModel.getMeterWeight()));
+                    if(actualRow.getGrossTime().compareTo(actualRow.getTareTime()) >= 0) {
+                        actualRow.setNetSpot3No(actualRow.getBaseSpot1No());
+                        actualRow.setNetSpot3Name(actualRow.getBaseSpot1Name());
+                        actualRow.setNetManNo(actualRow.getGrossManNo());
+                        actualRow.setNetManName(actualRow.getGrossManName());
+                        actualRow.setNetTime(actualRow.getGrossTime());
+                        actualRow.setCreateTime(actualRow.getGrossTime());
+                        actualRow.setCreateManName(actualRow.getGrossManName());
+                        //actualRow.setLcNo(meterWorkRailwayActFirstMapper.getFirstLcNo(actualRow.getActualFirst1No()));
+                    }else {
+                        actualRow.setNetSpot3No(actualRow.getBaseSpot2No());
+                        actualRow.setNetSpot3Name(actualRow.getBaseSpot2Name());
+                        actualRow.setNetManNo(actualRow.getTareManNo());
+                        actualRow.setNetManName(actualRow.getTareManName());
+                        actualRow.setNetTime(actualRow.getTareTime());
+                        actualRow.setCreateTime(actualRow.getTareTime());
+                        actualRow.setCreateManName(actualRow.getTareManName());
+                        //actualRow.setLcNo(meterWorkRailwayActFirstMapper.getFirstLcNo(actualRow.getActualFirst2No()));
+                    }
+                    actualRow.setLcNo(model.getLcNo());
+                    meterWorkRailwayActualMapper.insertSelective(actualRow);
+
+                    //更新预报数据
+                    PreRailwayScale scale = preRailwayScaleMapper.selectByPrimaryKey(predictionNo);
+                    scale.setValueFlag(DbConstants.NET);
                     scale.setPredictionType("1");
-                    scale.setUpdateManNo(model.getNetManNo());
-                    scale.setUpdateManName(model.getNetManName());
                     scale.setUpdateTime(new Date());
-                    preRailwayScaleMapper.updateByPrimaryKeySelective(scale);
+                    scale.setUpdateManNo(model.getNetManNo());
+                    scale.setUpdateManName(model.getNetManNo());
+                    scale.setUploadFlag("1");
+                    scale.setValueFlag("2");
+                    scale.setMeasureStation(tareModel.getBaseSpotNo());
+                    scale.setMeasureStationName(tareModel.getBaseSpotName());
+                    count ++;
                 }
-                count ++;
 
                 MeterBaseOperationLog logModel = new MeterBaseOperationLog();
                 logModel.setId(PublicMethod.IdCreate(2));
@@ -3129,7 +3237,7 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
                 logModel.setOperationPredictionNo("");
                 logModel.setOperationCarnNo(model.getRailwayNo());
                 logModel.setOperationBeforeFix(model.toString());
-                logModel.setOperationAfterFix("");
+                logModel.setOperationAfterFix(actualRow.toString());
                 meterBaseOperationLogMapper.insertSelective(logModel);
             }
             rm.setSucceed();
@@ -3149,64 +3257,47 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
         rm.setFailed();
         try {
             Assert.isTrue(models.size() >= 1, "数据不能为空");
-            List<MeterWorkRailwayActual> res = new ArrayList<>();
             int count = 0;
-            String userId = "";
-            String userName = "";
-            try {
-                UserPayload userPayload = UserPayload.getCurrUser();
-                userId = userPayload.getUserCode();
-                userName = userPayload.getUserName();
-            }
-            catch (Exception e){
-                userId = "admin";
-                userName = "admin";
-            }
+
             for(MeterWorkRailwayActual model: models) {
-//                MeterWorkRailwayActual sel = new MeterWorkRailwayActual();
-                HashMap sel = new HashMap();
-                sel.put("actualNo",model.getActualNo());
-                sel.put("uploadFlag","2");
-                List<MeterWorkRailwayActual> meterWorkRailwayActual = meterWorkRailwayActualMapper.selectByParameter(sel);
-                if(meterWorkRailwayActual.size() > 0){
-                    res.add(model);
-                }else {
-                    MeterBaseOperationLog logModel = new MeterBaseOperationLog();
-                    logModel.setId(PublicMethod.IdCreate(2));
-                    logModel.setCreateManNo(userId);
-                    logModel.setCreateManName(userName);
-                    logModel.setCreateTime(new Date());
-                    logModel.setOperationPage("静态轨道衡-静轨净重数据维护");
-                    logModel.setOperationFunction("撤销委托");
-                    logModel.setOperationId(model.getActualNo());
-                    logModel.setOperationPredictionNo(model.getPredictionNo());
-                    logModel.setOperationCarnNo(model.getRailwayNo());
-                    logModel.setOperationBeforeFix(model.toString());
-                    logModel.setOperationAfterFix(model.toString());
-                    meterBaseOperationLogMapper.insertSelective(logModel);
-                    model.setNote("");
-                    model.setUpdateManNo(userId);
-                    model.setUpdateManName(userName);
-                    model.setUpdateTime(new Date());
-                    int re = meterWorkRailwayActualMapper.updateByPrimaryKeySelective(model);
-                    count++;
-                }
-            }
-            if(res.size() > 0){
-                rm.setSucceed();
-                rm.setCode("200");
-                rm.setData(res);
-                rm.setMessage("修改成功,部分数据已发布无法修改");
+                MeterWorkRailwayActual modelTemp = meterWorkRailwayActualMapper.selectByPrimaryKey(model.getActualNo());
+                Assert.isTrue(!modelTemp.getValueFlag().equals("2"), "选择的洁净数据已发布,请取消发布之后在操作");
             }
-            else {
-                rm.setSucceed();
-                rm.setData("200");
-                rm.setMessage("共有" + count + "条数据一次批量修改成功");
+
+            for(MeterWorkRailwayActual model: models) {
+                String userId = model.getUpdateManNo();
+                String userName = model.getUpdateManName();
+                //修改前的净重数据
+                MeterWorkRailwayActual modelTemp = meterWorkRailwayActualMapper.selectByPrimaryKey(model.getActualNo());
+
+                MeterBaseOperationLog logModel = new MeterBaseOperationLog();
+                logModel.setId(PublicMethod.IdCreate(2));
+                logModel.setCreateManNo(userId);
+                logModel.setCreateManName(userName);
+                logModel.setCreateTime(new Date());
+                logModel.setOperationPage("C#端-动轨净重数据维护");
+                logModel.setOperationFunction("净重信息修改");
+                logModel.setOperationId(model.getActualNo());
+                logModel.setOperationPredictionNo(model.getPredictionNo());
+                logModel.setOperationCarnNo(model.getRailwayNo());
+                logModel.setOperationBeforeFix(modelTemp.toString());
+                logModel.setOperationAfterFix(model.toString());
+                meterBaseOperationLogMapper.insertSelective(logModel);
+                model.setNote("");
+
+                model.setUpdateManNo(userId);
+                model.setUpdateManName(userName);
+                model.setUpdateTime(new Date());
+                meterWorkRailwayActualMapper.updateByPrimaryKeySelective(model);
+                count++;
             }
+            rm.setSucceed(true);
+            rm.setData("200");
+            rm.setMessage("共有" + count + "条数据一次批量修改成功");
         } catch (Exception e) {
             e.printStackTrace();
-            rm.setMessage(e.getMessage());
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            rm.setMessage(e.getMessage());
         }
         return rm;
     }