Browse Source

后端修改

dengyj 4 năm trước cách đây
mục cha
commit
c4888a1ea0

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

@@ -161,6 +161,12 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
             String no = PublicMethod.IdCreate(3);
             model.setActualFirstNo(no);
             model.setCreateTime(new Date());
+            if(model.getPredictionNo() != null && StringUtils.isNotEmpty(model.getPredictionNo())) {
+                MeterWorkRailwayActFirst modelTemp = meterWorkRailwayActFirstMapper.selectAndMatch(model.getActualFirstNo(), model.getPredictionNo());
+                BeanUtils.copyProperties(modelTemp, model);
+                model.setPredictionType("1");
+                model.setIsPreSacale("1");
+            }
             int i = meterWorkRailwayActFirstMapper.insertSelective(model);
 
             if (i >= 1) {

+ 62 - 1
src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/controller/MeterWorkRailwayActualController.java

@@ -424,6 +424,25 @@ public class MeterWorkRailwayActualController extends BaseRESTfulController {
 
     @ApiOperation(value = "取消发布", notes = "将结净数据重置为未发布状态")
     @ApiImplicitParam(name = "model", value = "详细实体MeterWorkRailwayActual", required = true, dataType = "MeterWorkRailwayActual")
+    @PostMapping(value = "/batchCancel")
+    public RESTfulResult batchCancel(@RequestBody List<MeterWorkRailwayActual> model) {
+        RESTfulResult rm = failed();
+        try {
+            rm = meterWorkRailwayActualService.batchCancel(model);
+        } catch (MarkerMetException e) {
+            e.printStackTrace();
+            rm.setMessage(e.getMessage());
+        } catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常,请确认!");
+        } finally {
+
+        }
+        return rm;
+    }
+
+    @ApiOperation(value = "发布", notes = "将结净数据重置为未发布状态")
+    @ApiImplicitParam(name = "model", value = "详细实体MeterWorkRailwayActual", required = true, dataType = "MeterWorkRailwayActual")
     @PostMapping(value = "/publish")
     public RESTfulResult publish(@RequestBody MeterWorkRailwayActual model) {
         RESTfulResult rm = failed();
@@ -446,7 +465,7 @@ public class MeterWorkRailwayActualController extends BaseRESTfulController {
         return rm;
     }
 
-    @ApiOperation(value = "取消发布", notes = "将结净数据重置为未发布状态")
+    @ApiOperation(value = "批量发布", notes = "将结净数据重置为未发布状态")
     @ApiImplicitParam(name = "model", value = "详细实体MeterWorkRailwayActual", required = true, dataType = "MeterWorkRailwayActual")
     @PostMapping(value = "/batchPublish")
     public RESTfulResult batchPublish(@RequestBody List<MeterWorkRailwayActual> models) {
@@ -985,4 +1004,46 @@ public class MeterWorkRailwayActualController extends BaseRESTfulController {
             return failed(null, "操作异常,请确认!");
         }
     }
+
+    @ApiOperation(value = "C#——轨道衡净重批量修改")
+    @Transactional
+    @PostMapping(value = "/updateList")
+    public RESTfulResult updateList(@RequestBody List<MeterWorkRailwayActual> models) {
+        try {
+            RESTfulResult rm = meterWorkRailwayActualService.updateList(models);
+            return rm;
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return failed(null, "操作异常,请确认!");
+        }
+    }
+
+    @ApiOperation(value = "C#——动态轨道衡净重匹配委托")
+    @Transactional
+    @PostMapping(value = "/updatePre")
+    public RESTfulResult updatePre(@RequestBody MeterWorkRailwayActual models) {
+        try {
+            RESTfulResult rm = meterWorkRailwayActualService.updatePre(models);
+            return rm;
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return failed(null, "操作异常,请确认!");
+        }
+    }
+
+    @ApiOperation(value = "C#——动态轨道衡净重撤销委托")
+    @Transactional
+    @PostMapping(value = "/updatePreCancel")
+    public RESTfulResult updatePreCancel(@RequestBody MeterWorkRailwayActual models) {
+        try {
+            RESTfulResult rm = meterWorkRailwayActualService.updatePreCancel(models);
+            return rm;
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return failed(null, "操作异常,请确认!");
+        }
+    }
 }

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

@@ -33,6 +33,7 @@ public interface IMeterWorkRailwayActualService extends IBaseService<MeterWorkRa
     int unaudit(List<MeterWorkRailwayActual> model);
 
     int cancel(MeterWorkRailwayActual model);
+    RESTfulResult batchCancel(List<MeterWorkRailwayActual> model);
 
     int publish(MeterWorkRailwayActual model);
     RESTfulResult batchPublish(List<MeterWorkRailwayActual> models);
@@ -62,6 +63,12 @@ public interface IMeterWorkRailwayActualService extends IBaseService<MeterWorkRa
 
     RESTfulResult doQueryWf(CommonPage<MeterWorkRailwayActual> oci);
 
+    RESTfulResult updateList(List<MeterWorkRailwayActual> actual);
+
+    RESTfulResult updatePre(MeterWorkRailwayActual model);
+
+    RESTfulResult updatePreCancel(MeterWorkRailwayActual model);
+
     PageList<MeterWorkRailwayActual> doQueryActWf(HashMap parmas, Integer pageNum, Integer pageSize);
 
     int removeDt(List<MeterWorkRailwayActual> models);

+ 237 - 19
src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/service/impl/MeterWorkRailwayActualServiceImpl.java

@@ -159,6 +159,7 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
         String userName = userPayload.getUserName();
         String userId = userPayload.getId();
         model.setValueFlag("1");
+        model.setUploadFlag("1");
         model.setUpdateTime(new Date());
         model.setUpdateManName(userName);
         model.setUpdateManNo(userId);
@@ -170,6 +171,45 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
         return ++i;
     }
 
+    @Override
+    public RESTfulResult batchCancel(List<MeterWorkRailwayActual> models) {
+        RESTfulResult rm = new RESTfulResult();
+        rm.setFailed();
+        try{
+            Assert.isTrue(models.size() >= 1, "请勾选数据进行撤销发布");
+            for (MeterWorkRailwayActual model: models){
+                MeterWorkRailwayActual modelTemp = meterWorkRailwayActualMapper.selectByPrimaryKey(model.getActualNo());
+                if (modelTemp.getActualNo() == null || "".equals(modelTemp.getActualNo())) {
+                    throw new MarkerMetException(500, "数据主键为空");
+                }
+                if (modelTemp.getPredictionNo() == null || "".equals(modelTemp.getPredictionNo()) || "1".equals(modelTemp.getValueFlag())) {
+                    throw new MarkerMetException(500, "只有已匹配委托且已发布的数据才能进行撤销发布操作");
+                }
+            }
+            UserPayload userPayload = new UserPayload();
+            String userName = userPayload.getUserName();
+            String userId = userPayload.getId();
+            int count = 0;
+            for (MeterWorkRailwayActual model: models){
+                MeterWorkRailwayActual modelTemp = meterWorkRailwayActualMapper.selectByPrimaryKey(model.getActualNo());
+                modelTemp.setValueFlag("1");
+                modelTemp.setUploadFlag("1");
+                modelTemp.setUpdateTime(new Date());
+                modelTemp.setUpdateManName(userName);
+                modelTemp.setUpdateManNo(userId);
+                meterWorkRailwayActualMapper.updateByPrimaryKeySelective(modelTemp);
+                count ++;
+            }
+            rm.setSucceed();
+            rm.setMessage("共有"+ count +"条数据撤销发布成功");
+            rm.setData(count);
+        }catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage(e.getMessage());
+        }
+        return rm;
+    }
+
     @Override
     public int publish(MeterWorkRailwayActual model) {
         int i = 0;
@@ -842,7 +882,7 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
         mwca.setUpdateManNo(userId);
         mwca.setUpdateManName(userName);
         mwca.setUpdateTime(new Date());
-        mwca.setValueFlag("3");
+        mwca.setValueFlag("1");
         mwca.setIsPreSacale("0");
         mwca.setUploadFlag("1");
         meterWorkRailwayActualMapper.updateByPrimaryKey(mwca);
@@ -2740,23 +2780,23 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
 //                }
 //            }
             List<HashMap> data = meterWorkRailwayActualMapper.batchMatchActualView(param);
-            for (HashMap model: data) {
-                if(model.get("PREDICTION_NO") == null || StringUtils.isEmpty("PREDICTION_NO")){
-                    HashMap<String, Object> obj = new HashMap<>();
-                    obj.put("railwayNo", model.get("RAILWAY_NO"));
-                    List<PreRailwayScale> scaleList = preRailwayScaleMapper.noPage(obj);
-                    if(scaleList.size() == 1) {
-                        model.remove("PREDICTION_NO");
-                        model.remove("MATTER_NAME");
-                        model.remove("FORWARDING_UNIT_NAME");
-                        model.remove("RECEIVING_UINT_NAME");
-                        model.put("PREDICTION_NO", scaleList.get(0).getPredictionNo());
-                        model.put("MATTER_NAME", scaleList.get(0).getMatterName());
-                        model.put("FORWARDING_UNIT_NAME", scaleList.get(0).getForwardingUnitName());
-                        model.put("RECEIVING_UINT_NAME", scaleList.get(0).getReceivingUintName());
-                    }
-                }
-            }
+//            for (HashMap model: data) {
+//                if(model.get("PREDICTION_NO") == null || StringUtils.isEmpty("PREDICTION_NO")){
+//                    HashMap<String, Object> obj = new HashMap<>();
+//                    obj.put("railwayNo", model.get("RAILWAY_NO"));
+//                    List<PreRailwayScale> scaleList = preRailwayScaleMapper.noPage(obj);
+//                    if(scaleList.size() == 1) {
+//                        model.remove("PREDICTION_NO");
+//                        model.remove("MATTER_NAME");
+//                        model.remove("FORWARDING_UNIT_NAME");
+//                        model.remove("RECEIVING_UINT_NAME");
+//                        model.put("PREDICTION_NO", scaleList.get(0).getPredictionNo());
+//                        model.put("MATTER_NAME", scaleList.get(0).getMatterName());
+//                        model.put("FORWARDING_UNIT_NAME", scaleList.get(0).getForwardingUnitName());
+//                        model.put("RECEIVING_UINT_NAME", scaleList.get(0).getReceivingUintName());
+//                    }
+//                }
+//            }
 //            Map<String, Integer> map = new HashMap<String, Integer>();
 //            for (Map<String, String> temp : data) {
 //                Integer count = map.get(temp.get("RAILWAY_NO"));
@@ -2802,7 +2842,7 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
 
                 MeterWorkRailwayActual actualModel = new MeterWorkRailwayActual();
                 MeterWorkRailwayActFirst tareNoModel = new MeterWorkRailwayActFirst();
-                if(StringUtils.isNotEmpty(tareNo)) {
+                if(tareNo != null && StringUtils.isNotEmpty(tareNo)) {
                     actualModel = meterWorkRailwayActualMapper.selectByPrimaryKey(actualNo);
                     tareNoModel = meterWorkRailwayActFirstMapper.selectByPrimaryKey(tareNo);
                     if(StringUtils.isNotEmpty(scaleNo)) {
@@ -2940,4 +2980,182 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
         }
         return rm;
     }
+
+    @Override
+    public RESTfulResult updateList(List<MeterWorkRailwayActual> models) {
+        RESTfulResult rm = new RESTfulResult();
+        rm.setFailed();
+        try {
+            Assert.isTrue(models.size() >= 1, "数据不能为空");
+            List<MeterWorkRailwayActual> res = null;
+            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("");
+                    int re = meterWorkRailwayActualMapper.updateByPrimaryKeySelective(model);
+                }
+            }
+            if(res.size() > 0){
+                rm.setSucceed();
+                rm.setCode("200");
+                rm.setData(res);
+                rm.setMessage("修改成功,部分数据已发布无法修改");
+            }
+            else {
+                rm.setSucceed();
+                rm.setData("200");
+                rm.setMessage("共有" + count + "条数据一次批量修改成功");
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage(e.getMessage());
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+        }
+        return rm;
+    }
+
+    @Override
+    public RESTfulResult updatePre(MeterWorkRailwayActual model) {
+        RESTfulResult rm = new RESTfulResult();
+        rm.setFailed();
+        try {
+            String userId = "";
+            String userName = "";
+            try {
+                UserPayload userPayload = UserPayload.getCurrUser();
+                userId = userPayload.getUserCode();
+                userName = userPayload.getUserName();
+            }
+            catch (Exception e){
+                userId = "admin";
+                userName = "admin";
+            }
+            HashMap selActual = new HashMap();
+            selActual.put("actualNo",model.getActualNo());
+            selActual.put("uploadFlag","2");
+
+            HashMap selPre = new HashMap();
+            selPre.put("predictionNo",model.getPredictionNo());
+            selPre.put("valueFlag","1");
+            List<MeterWorkRailwayActual> meterWorkRailwayActual = meterWorkRailwayActualMapper.selectByParameter(selActual);
+
+            List<PreRailwayScale> preRailwayScales = preRailwayScaleMapper.selectByParameters(selPre);
+            if(meterWorkRailwayActual.size() > 0){
+                rm.setFailed();
+                rm.setCode("500");
+                rm.setData(null);
+                rm.setMessage("已发布无法匹配");
+            }
+            else if(preRailwayScales.size() == 0){
+                rm.setFailed();
+                rm.setCode("500");
+                rm.setData(null);
+                rm.setMessage("委托已经被使用或已过期");
+            }
+            else {
+                MeterWorkRailwayActual mwra = meterWorkRailwayActualMapper.mathPredcition(model.getActualNo(),model.getPredictionNo());
+                mwra.setUpdateManNo(userId);
+                mwra.setUpdateManName(userName);
+                mwra.setUpdateTime(new Date());
+                mwra.setIsPreSacale("1");
+                meterWorkRailwayActualMapper.updateByPrimaryKeySelective(mwra);
+                rm.setSucceed();
+                rm.setData(null);
+                rm.setMessage("匹配成功");
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage(e.getMessage());
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+        }
+        return rm;
+    }
+
+    @Override
+    public RESTfulResult updatePreCancel(MeterWorkRailwayActual model) {
+        RESTfulResult rm = new RESTfulResult();
+        rm.setFailed();
+        try {
+            String userId = "";
+            String userName = "";
+            try {
+                UserPayload userPayload = UserPayload.getCurrUser();
+                userId = userPayload.getUserCode();
+                userName = userPayload.getUserName();
+            }
+            catch (Exception e){
+                userId = "admin";
+                userName = "admin";
+            }
+            HashMap selActual = new HashMap();
+            selActual.put("actualNo",model.getActualNo());
+            selActual.put("uploadFlag","2");
+
+            HashMap selPre = new HashMap();
+            selPre.put("predictionNo",model.getPredictionNo());
+            selPre.put("valueFlag","1");
+            List<MeterWorkRailwayActual> meterWorkRailwayActual = meterWorkRailwayActualMapper.selectByParameter(selActual);
+
+            List<PreRailwayScale> preRailwayScales = preRailwayScaleMapper.selectByParameters(selPre);
+            if(meterWorkRailwayActual.size() > 0){
+                rm.setFailed();
+                rm.setCode("500");
+                rm.setData(null);
+                rm.setMessage("已发布无法撤销");
+            }
+            else if(preRailwayScales.size() == 0){
+                rm.setFailed();
+                rm.setCode("500");
+                rm.setData(null);
+                rm.setMessage("委托已经被使用或已过期");
+            }
+            else {
+                MeterWorkRailwayActual mwra = meterWorkRailwayActualMapper.cleanPredcition(model.getActualNo());
+                mwra.setUpdateManNo(userId);
+                mwra.setUpdateManName(userName);
+                mwra.setUpdateTime(new Date());
+                mwra.setIsPreSacale("0");
+                meterWorkRailwayActualMapper.updateByPrimaryKeySelective(mwra);
+                rm.setSucceed();
+                rm.setData(null);
+                rm.setMessage("撤销成功");
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage(e.getMessage());
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+        }
+        return rm;
+    }
 }