Преглед изворни кода

毛皮分解(恢复两个一次从表数据以及主表数据)

dengyj пре 3 година
родитељ
комит
d52617a66a

+ 65 - 15
src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/service/impl/MeterWorkRailwayActualServiceImpl.java

@@ -25,6 +25,8 @@ import com.steerinfo.meterwork.meterworkrailwayactual.model.MeterWorkRailwayActu
 import com.steerinfo.meterwork.meterworkrailwayactual.service.IMeterWorkRailwayActualService;
 import com.steerinfo.meterwork.meterworkrailwayreceived.mapper.MeterWorkRailwayReceivedMapper;
 import com.steerinfo.meterwork.meterworkrailwayreceived.model.MeterWorkRailwayReceived;
+import com.steerinfo.meterwork.meterworkrailwayrecmain.mapper.MeterWorkRailwayRecMainMapper;
+import com.steerinfo.meterwork.meterworkrailwayrecmain.model.MeterWorkRailwayRecMain;
 import com.steerinfo.pretrack.prerailwayscale.mapper.PreRailwayScaleMapper;
 import com.steerinfo.pretrack.prerailwayscale.model.PreRailwayScale;
 import com.steerinfo.util.CommonPage;
@@ -71,6 +73,9 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
     @Resource
     private MeterWorkRailwayReceivedMapper meterWorkRailwayReceivedMapper;
 
+    @Resource
+    private MeterWorkRailwayRecMainMapper meterWorkRailwayRecMainMapper;
+
     @Resource
     private MeterBaseRailwayAiweightMapper meterBaseRailwayAiweightMapper;
 
@@ -3681,6 +3686,18 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
                         tareModel.setUpdateTime(new Date());
                         tareModel.setNote("动态衡撤销委托");
                         meterWorkRailwayActFirstMapper.updateByPrimaryKey(tareModel);
+
+                        //撤销动态衡从表一次数据
+                        MeterWorkRailwayReceived received = meterWorkRailwayReceivedMapper.selectByPrimaryKey(tareModel.getActualFirstNo());
+                        if(received != null) {
+                            received.setMatterNo(null);
+                            received.setMatterName(null);
+                            received.setReceivingUintNo(null);
+                            received.setForwardingUnitName(null);
+                            received.setReceivingUintNo(null);
+                            received.setReceivingUintName(null);
+                            meterWorkRailwayReceivedMapper.updateByPrimaryKey(received);
+                        }
                     }
 
                     MeterWorkRailwayActual actualRow = meterWorkRailwayActualMapper.cleanPredcition(modelTemp.getActualNo());
@@ -3751,8 +3768,12 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
                     rm.setMessage("选择的结净数据中包含有委托,请撤销完委托之后才能进行毛皮分解");
                     return rm;
                 }
-                if(modelTemp.getValueFlag().equals("2") || modelTemp.getValueFlag().equals("0")) {
-                    rm.setMessage("选择的结净数据中包含有已发布或者已作废,无法进行毛皮分解");
+                if(modelTemp.getValueFlag().equals("2")) {
+                    rm.setMessage("选择的结净数据中包含有已发布数据,无法进行毛皮分解");
+                    return rm;
+                }
+                if(modelTemp.getValueFlag().equals("0")) {
+                    rm.setMessage("选择的结净数据中包含有已作废数据,无法进行毛皮分解");
                     return rm;
                 }
             }
@@ -3772,16 +3793,45 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
                     meterWorkRailwayActFirstMapper.deleteByPrimaryKey(grossModel.getActualFirstNo());
                     //恢复从表数据
                     preRailwayScaleMapper.updateMeterWorkRailwayReceiveds(grossModel.getActualFirstNo());
+                    if(grossModel.getActualFirstNo() != null) {
+                        MeterWorkRailwayReceived received = meterWorkRailwayReceivedMapper.selectByPrimaryKey(grossModel.getActualFirstNo());
+                        if(received != null) {
+                            HashMap<String, Object> obj = new HashMap<>();
+                            obj.put("railwayWorkNo", received.getRailwayWorkNo());
+                            //把列次号变为未处理
+                            List<MeterWorkRailwayRecMain> recMains = meterWorkRailwayRecMainMapper.selectByParameters(obj);
+                            if(recMains.size() >= 1) {
+                                recMains.get(0).setIsDispose("0");
+                                meterWorkRailwayRecMainMapper.updateByPrimaryKeySelective(recMains.get(0));
+                            }
+                        }
+                    }
                 }
                 MeterWorkRailwayActFirst tareModel = meterWorkRailwayActFirstMapper.selectByPrimaryKey(modelTemp.getActualFirst2No());
                 if(tareModel != null) {
                     tareModel.setIsPreSacale("0");
-                    tareModel.setValueFlag("1");
+                    tareModel.setValueFlag("0");
                     tareModel.setUpdateManNo(userId);
                     tareModel.setUpdateManName(userName);
                     tareModel.setUpdateTime(new Date());
                     tareModel.setNote("动态衡毛皮分解");
-                    meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(tareModel);
+                    meterWorkRailwayActFirstMapper.deleteByPrimaryKey(tareModel.getActualFirstNo());
+                    //恢复从表数据
+                    preRailwayScaleMapper.updateMeterWorkRailwayReceiveds(tareModel.getActualFirstNo());
+
+                    if(tareModel.getActualFirstNo() != null) {
+                        MeterWorkRailwayReceived received = meterWorkRailwayReceivedMapper.selectByPrimaryKey(tareModel.getActualFirstNo());
+                        if(received != null) {
+                            HashMap<String, Object> obj = new HashMap<>();
+                            obj.put("railwayWorkNo", received.getRailwayWorkNo());
+                            //把列次号变为未处理
+                            List<MeterWorkRailwayRecMain> recMains = meterWorkRailwayRecMainMapper.selectByParameters(obj);
+                            if(recMains.size() >= 1) {
+                                recMains.get(0).setIsDispose("0");
+                                meterWorkRailwayRecMainMapper.updateByPrimaryKeySelective(recMains.get(0));
+                            }
+                        }
+                    }
                 }
 
                 MeterWorkRailwayActual actualRow = meterWorkRailwayActualMapper.cleanPredcition(modelTemp.getActualNo());
@@ -3795,17 +3845,17 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
                 meterWorkRailwayActualMapper.updateByPrimaryKey(actualRow);
 //                meterWorkRailwayActualMapper.deleteByPrimaryKey(actualRow.getActualNo());
 
-                if(modelTemp.getPredictionNo() != null) {
-                    PreRailwayScale scale = preRailwayScaleMapper.selectByPrimaryKey(modelTemp.getPredictionNo());
-                    if(scale != null) {
-                        scale.setValueFlag("1");
-                        scale.setUploadFlag("0");
-                        scale.setUpdateManNo(userId);
-                        scale.setUpdateManName(userName);
-                        scale.setUpdateTime(new Date());
-                        preRailwayScaleMapper.updateByPrimaryKeySelective(scale);
-                    }
-                }
+//                if(modelTemp.getPredictionNo() != null) {
+//                    PreRailwayScale scale = preRailwayScaleMapper.selectByPrimaryKey(modelTemp.getPredictionNo());
+//                    if(scale != null) {
+//                        scale.setValueFlag("1");
+//                        scale.setUploadFlag("0");
+//                        scale.setUpdateManNo(userId);
+//                        scale.setUpdateManName(userName);
+//                        scale.setUpdateTime(new Date());
+//                        preRailwayScaleMapper.updateByPrimaryKeySelective(scale);
+//                    }
+//                }
 
                 MeterBaseOperationLog logModel = new MeterBaseOperationLog();
                 logModel.setId(PublicMethod.IdCreate(2));