dengyj 4 роки тому
батько
коміт
aec9c36ec0

+ 19 - 0
src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/controller/MeterWorkRailwayActualController.java

@@ -508,6 +508,25 @@ public class MeterWorkRailwayActualController extends BaseRESTfulController {
         return rm;
     }
 
+    @ApiOperation(value = "解除动态衡洁净数据", notes = "将洁净后的数据进行还原")
+    @PostMapping(value = "/removeDynamicModel")
+    public RESTfulResult removeDynamicModel(@RequestBody MeterWorkRailwayActual model) {
+        RESTfulResult rm = failed();
+        try {
+            rm = meterWorkRailwayActualService.removeDynamicModel(model);
+        } catch (MarkerMetException e) {
+            e.printStackTrace();
+            rm.setMessage(e.getMessage());
+        } catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常,请确认!");
+        } finally {
+
+        }
+        return rm;
+    }
+
+
     @ApiOperation(value = "解除", notes = "将动轨洁净后的数据进行还原")
     @PostMapping(value = "/removeDt")
     public RESTfulResult removeDt(@RequestBody List<MeterWorkRailwayActual> models) {

+ 1 - 0
src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/service/IMeterWorkRailwayActualService.java

@@ -45,6 +45,7 @@ public interface IMeterWorkRailwayActualService extends IBaseService<MeterWorkRa
     MeterWorkRailwayActual cleanPrediction(MeterWorkRailwayActual model);
 
     int remove(List<MeterWorkRailwayActual> models);
+    RESTfulResult removeDynamicModel(MeterWorkRailwayActual model);
 
     MeterWorkRailwayActual termclean(String actualFirstNo, String dataNo);
 

+ 117 - 0
src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/service/impl/MeterWorkRailwayActualServiceImpl.java

@@ -1,6 +1,8 @@
 package com.steerinfo.meterwork.meterworkrailwayactual.service.impl;
 
 import com.steerinfo.baseinfo.combaseinfo.mapper.ComBaseInfoMapper;
+import com.steerinfo.baseinfo.meterbaserailwayaiweight.mapper.MeterBaseRailwayAiweightMapper;
+import com.steerinfo.baseinfo.meterbaserailwayaiweight.model.MeterBaseRailwayAiweight;
 import com.steerinfo.baseinfo.meterbaserailwayweight.mapper.MeterBaseRailwayWeightMapper;
 import com.steerinfo.baseinfo.meterbaserailwayweight.model.MeterBaseRailwayWeight;
 import com.steerinfo.framework.controller.RESTfulResult;
@@ -19,6 +21,10 @@ import com.steerinfo.meterwork.meterworkrailwayactfirst.service.IMeterWorkRailwa
 import com.steerinfo.meterwork.meterworkrailwayactual.mapper.MeterWorkRailwayActualMapper;
 import com.steerinfo.meterwork.meterworkrailwayactual.model.MeterWorkRailwayActual;
 import com.steerinfo.meterwork.meterworkrailwayactual.service.IMeterWorkRailwayActualService;
+import com.steerinfo.meterwork.meterworkrailwaymotorialreceived.mapper.MeterWorkRailwayMotorialReceivedMapper;
+import com.steerinfo.meterwork.meterworkrailwaymotorialreceived.model.MeterWorkRailwayMotorialReceived;
+import com.steerinfo.meterwork.meterworkrailwayreceived.mapper.MeterWorkRailwayReceivedMapper;
+import com.steerinfo.meterwork.meterworkrailwayreceived.model.MeterWorkRailwayReceived;
 import com.steerinfo.pretrack.prerailwayscale.mapper.PreRailwayScaleMapper;
 import com.steerinfo.pretrack.prerailwayscale.model.PreRailwayScale;
 import com.steerinfo.pretrack.prerailwayscale.service.IPreRailwayScaleService;
@@ -32,6 +38,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
+import org.springframework.util.Assert;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
@@ -62,6 +69,12 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
     @Resource
     private MeterWorkRailwayActFirstMapper meterWorkRailwayActFirstMapper;
 
+    @Resource
+    private MeterWorkRailwayReceivedMapper meterWorkRailwayReceivedMapper;
+
+    @Resource
+    private MeterBaseRailwayAiweightMapper meterBaseRailwayAiweightMapper;
+
     @Resource
     private MeterBaseRailwayWeightMapper meterBaseRailwayWeightMapper;
 
@@ -673,6 +686,110 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
         }
     }
 
+    @Override
+    public RESTfulResult removeDynamicModel(MeterWorkRailwayActual model) {
+        RESTfulResult rm = new RESTfulResult();
+        try {
+            String userId, userName;
+            try{
+                UserPayload payload = UserPayload.getCurrUser();
+                userId = payload.getId();
+                userName = payload.getUserName();
+            }catch (Exception e){
+                userId = "admin";
+                userName = "admins";
+            }
+
+            Assert.isTrue(Objects.nonNull(model.getActualNo()), "洁净数据为空");
+            if (StringUtils.isNotEmpty(model.getPredictionNo())) {
+                PreRailwayScale scaleTemp = preRailwayScaleMapper.selectByPrimaryKey(model.getPredictionNo());
+                Assert.isTrue(!scaleTemp.getValueFlag().equals("9"), "洁净数据匹配的委托已结算");
+            }
+
+            //毛重
+            MeterWorkRailwayActFirst mwcaf1 = meterWorkRailwayActFirstMapper.selectByPrimaryKey(model.getActualFirst1No());
+            if (mwcaf1 != null && mwcaf1.getActualFirstNo()!= null && StringUtils.isNotEmpty(mwcaf1.getActualFirstNo())) {
+                // 清空委托信息
+                MeterWorkRailwayActFirst grossrow = meterWorkRailwayActFirstMapper.selectAndRemove(model.getActualFirst1No());
+                grossrow.setValueFlag("1");
+                grossrow.setIsPreSacale("0");
+                grossrow.setUpdateManNo(userId);
+                grossrow.setUpdateManName(userName);
+                grossrow.setNote("动态衡解除操作");
+                grossrow.setUpdateTime(new Date());
+                grossrow.setLcNo(model.getLcNo());
+                meterWorkRailwayActFirstMapper.updateByPrimaryKey(grossrow);
+                //判断是从表数据,进行删除一次数据且恢复从表数据,不是则跳过
+                doReceivedRemove(userId, userName, grossrow);
+            }
+
+            //皮重
+            MeterWorkRailwayActFirst mwcaf2 = meterWorkRailwayActFirstMapper.selectByPrimaryKey(model.getActualFirst2No());
+            if (mwcaf2 != null && mwcaf2.getActualFirstNo()!= null && StringUtils.isNotEmpty(mwcaf2.getActualFirstNo())) {
+                // 清空委托信息
+                MeterWorkRailwayActFirst tarerow = meterWorkRailwayActFirstMapper.selectAndRemove(model.getActualFirst2No());
+                if (tarerow != null) {
+                    tarerow.setValueFlag("1");
+                    tarerow.setIsPreSacale("0");
+                    tarerow.setUpdateManNo(userId);
+                    tarerow.setUpdateManName(userName);
+                    tarerow.setNote("动态衡解除操作");
+                    tarerow.setLcNo(model.getLcNo());
+                    meterWorkRailwayActFirstMapper.updateByPrimaryKey(tarerow);
+                    doReceivedRemove(userId, userName, tarerow);
+                }
+            }
+
+            //恢复标志标识皮数据
+            HashMap<String, Object> obj = new HashMap<>();
+            obj.put("railwayNo", model.getRailwayNo());
+            obj.put("valueFlag", "1");
+            List<MeterBaseRailwayAiweight> AIModel = meterBaseRailwayAiweightMapper.selectByParameters(obj);
+            if(AIModel.size() >= 1) {
+                AIModel.get(0).setValueFlag("0");
+                meterBaseRailwayAiweightMapper.updateByPrimaryKeySelective(AIModel.get(0));
+            }
+
+            //委托
+            if (model.getPredictionNo() != null && StringUtils.isNotEmpty(model.getPredictionNo())) {
+                PreRailwayScale scale = new PreRailwayScale();
+                scale.setPredictionNo(model.getPredictionNo());
+                scale.setValueFlag("1"); //使用中
+                scale.setUploadFlag("1");
+                scale.setUpdateManNo(userId);
+                scale.setUpdateManName(userName);
+                scale.setUpdateTime(new Date());
+                preRailwayScaleMapper.updateByPrimaryKeySelective(scale);
+            }
+            meterWorkRailwayActualMapper.deleteByPrimaryKey(model.getActualNo());
+            rm.setSucceed();
+            rm.setMessage("操作成功");
+            rm.setData("操作成功");
+            rm.setData("200");
+        } catch (MarkerMetException e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常:" + e.getMessage());
+        } catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常:" + e.getMessage());
+        }
+        return rm;
+    }
+
+    //判断是从表数据,进行删除一次数据且恢复从表数据,不是则跳过
+    public void doReceivedRemove(String userId, String userName, MeterWorkRailwayActFirst grossrow) {
+        //恢复从表数据
+        MeterWorkRailwayReceived receivedModel = meterWorkRailwayReceivedMapper.selectByPrimaryKey(grossrow.getActualFirstNo());
+        if(receivedModel.getActualFirstNo() != null && StringUtils.isNotEmpty(receivedModel.getActualFirstNo())) {
+            meterWorkRailwayActFirstMapper.deleteByPrimaryKey(grossrow.getActualFirstNo());
+            receivedModel.setValueFlag("1");
+            receivedModel.setUpdateManNo(userId);
+            receivedModel.setUpdateManName(userName);
+            receivedModel.setUpdateTime(new Date());
+            meterWorkRailwayReceivedMapper.updateByPrimaryKeySelective(receivedModel);
+        }
+    }
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public List<String> distinctRailwayNo(String railwayTypeNo, String lcNo, String railwayNo, String startTime, String endTime,String baseSpotName,String matterName,String predictionNo, String valueFlag) {

+ 1 - 0
src/main/java/com/steerinfo/meterwork/meterworkrailwayreceived/mapper/MeterWorkRailwayReceivedMapper.xml

@@ -1979,4 +1979,5 @@
     </if>
     order by CREATE_TIME desc
   </select>
+
 </mapper>