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

根据结净ID获取图片地址

dengyj пре 4 година
родитељ
комит
0ce6b9d850

+ 18 - 0
src/main/java/com/steerinfo/meterwork/meterworkcaractual/controller/MeterWorkCarActualController.java

@@ -932,4 +932,22 @@ throw new MarkerMetException(500, "操作异常!!");
         }
         return rm;
     }
+
+    @ApiOperation(value = "根据实绩编号查询一次计量图片", notes = "实绩编号的两个一次计量编号")
+    @GetMapping(value = "/findPictureByActualNo")
+    public RESTfulResult findPictureByActualNo(@RequestParam String actualNo) {
+        RESTfulResult rm = failed();
+        try {
+            rm = meterWorkCarActualService.findPictureByActualNo(actualNo);
+        } catch (MarkerMetException e) {
+            e.printStackTrace();
+            rm.setMessage(e.getMessage());
+        } catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常,请确认!");
+        } finally {
+
+        }
+        return rm;
+    }
 }

+ 1 - 0
src/main/java/com/steerinfo/meterwork/meterworkcaractual/service/IMeterWorkCarActualService.java

@@ -98,4 +98,5 @@ public interface IMeterWorkCarActualService extends IBaseService<MeterWorkCarAct
     RESTfulResult abolish(List<MeterWorkCarActual> models);
 
     RESTfulResult selectByMap(HashMap<String, Object> params);
+    RESTfulResult findPictureByActualNo(String actualNo);
 }

+ 41 - 0
src/main/java/com/steerinfo/meterwork/meterworkcaractual/service/impl/MeterWorkCarActualServiceImpl.java

@@ -20,6 +20,8 @@ import com.steerinfo.meterwork.meterworkcaractual.service.IMeterWorkCarActualSer
 import com.steerinfo.meterwork.meterworkcaractualfirst.mapper.MeterWorkCarActualFirstMapper;
 import com.steerinfo.meterwork.meterworkcaractualfirst.model.MeterWorkCarActualFirst;
 import com.steerinfo.meterwork.meterworkcaractualfirst.service.IMeterWorkCarActualFirstService;
+import com.steerinfo.meterwork.meterworkimage.mapper.MeterWorkImageMapper;
+import com.steerinfo.meterwork.meterworkimage.model.MeterWorkImage;
 import com.steerinfo.meterwork.meterworkprelink.mapper.MeterWorkPreLinkMapper;
 import com.steerinfo.meterwork.meterworkprelink.service.IMeterWorkPreLinkService;
 import com.steerinfo.meterwork.meterworkrailwayactual.mapper.MeterWorkRailwayActualMapper;
@@ -37,6 +39,8 @@ 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 org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
 import javax.sql.DataSource;
@@ -73,6 +77,8 @@ public class MeterWorkCarActualServiceImpl extends BaseServiceImpl<MeterWorkCarA
     @Resource
     private MeterBaseMatterInfoMatchMapper meterBaseMatterInfoMatchMapper;
 
+    @Resource
+    private MeterWorkImageMapper meterWorkImageMapper;
     //预环节数据
     @Resource
     private MeterWorkPreLinkMapper meterWorkPreLinkMapper;
@@ -2063,4 +2069,39 @@ public class MeterWorkCarActualServiceImpl extends BaseServiceImpl<MeterWorkCarA
             return rm;
         }
     }
+
+    @Override
+    public RESTfulResult findPictureByActualNo(String actualNo) {
+        RESTfulResult rm = new RESTfulResult();
+        rm.setFailed();
+        try {
+            Assert.isTrue(!(actualNo == null || StringUtils.isEmpty(actualNo)), "洁净编号不能为空");
+            MeterWorkCarActual model = meterWorkCarActualMapper.selectByPrimaryKey(actualNo);
+            Assert.isTrue(!Objects.isNull(model), "未查询到洁净数据");
+            List<String> firstNoList = new ArrayList<>();
+            firstNoList.add(model.getActualFirst1No());
+            firstNoList.add(model.getActualFirst2No());
+            List<String> imageList = new ArrayList<>();
+            for (String s : firstNoList) {
+                MeterWorkImage imageModel = meterWorkImageMapper.selectByPrimaryKey("C" + s);
+                if(Objects.isNull(imageModel)) continue;
+                imageList.add(imageModel.getImageFile1());
+                imageList.add(imageModel.getImageFile2());
+                imageList.add(imageModel.getImageFile3());
+                imageList.add(imageModel.getImageFile4());
+                imageList.add(imageModel.getImageFile5());
+                imageList.add(imageModel.getImageFile6());
+                imageList.add(imageModel.getImageFile7());
+                imageList.add(imageModel.getImageFile8());
+            }
+            rm.setSucceed();
+            rm.setCode("200");
+            rm.setMessage("操作成功");
+            rm.setData(imageList);
+        }catch(Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常:>>>" + e.getMessage());
+        }
+        return rm;
+    }
 }

+ 16 - 0
src/main/java/com/steerinfo/meterwork/meterworkhookactfirst/controller/MeterWorkHookActFirstController.java

@@ -4,11 +4,14 @@ import com.steerinfo.framework.controller.BaseRESTfulController;
 import com.steerinfo.framework.controller.RESTfulResult;
 import com.steerinfo.framework.service.pagehelper.PageList;
 import com.steerinfo.framework.utils.collection.ListUtils;
+import com.steerinfo.meterwork.dto.CommonCombination;
 import com.steerinfo.meterwork.dto.MeterWorkRailwayActFirstDto;
 import com.steerinfo.meterwork.except.MarkerMetException;
 import com.steerinfo.meterwork.meterworkhookactfirst.model.MeterWorkHookActFirst;
 import com.steerinfo.meterwork.meterworkhookactfirst.service.IMeterWorkHookActFirstService;
 import com.steerinfo.meterwork.meterworkrailwayactfirst.model.MeterWorkRailwayActFirst;
+import com.steerinfo.pretrack.prehookscale.model.PreHookScale;
+import com.steerinfo.pretrack.prerailwayscale.model.PreRailwayScale;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
@@ -401,4 +404,17 @@ public class MeterWorkHookActFirstController extends BaseRESTfulController {
         return rm;
     }
 
+    @ApiOperation(value = "C#端轨道衡实绩静轨洁净--两条数据", notes = "根据两个MeterWorkStorageActual对象创建")
+    @PostMapping(value = "/doAddWfStaticTwo")
+    public RESTfulResult doAddWfStaticTwo(@RequestBody CommonCombination<PreHookScale, MeterWorkHookActFirst, MeterWorkHookActFirst, MeterWorkHookActFirst> com) {
+        RESTfulResult rm = failed();
+        try {
+            rm = meterWorkHookActFirstService.doAddWfStaticTwo(com.getOne(), com.getTwo(), com.getThree());
+            return rm;
+        } catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常,请确认!>>>" + e.getMessage());
+        }
+        return rm;
+    }
 }

+ 4 - 0
src/main/java/com/steerinfo/meterwork/meterworkhookactfirst/service/IMeterWorkHookActFirstService.java

@@ -1,9 +1,12 @@
 package com.steerinfo.meterwork.meterworkhookactfirst.service;
 
+import com.steerinfo.framework.controller.RESTfulResult;
 import com.steerinfo.framework.service.IBaseService;
 import com.steerinfo.framework.service.pagehelper.PageList;
 import com.steerinfo.meterwork.meterworkhookactfirst.model.MeterWorkHookActFirst;
 import com.steerinfo.meterwork.meterworkrailwayactfirst.model.MeterWorkRailwayActFirst;
+import com.steerinfo.pretrack.prehookscale.model.PreHookScale;
+import com.steerinfo.pretrack.prerailwayscale.model.PreRailwayScale;
 
 import java.util.Date;
 import java.math.BigDecimal;
@@ -48,4 +51,5 @@ public interface IMeterWorkHookActFirstService extends IBaseService<MeterWorkHoo
     List<String> distinctCarNo(String railwayNo, String startTime, String endTime);
 
     String doAddWfStatic(MeterWorkHookActFirst firstHook) throws Exception;
+    RESTfulResult doAddWfStaticTwo(PreHookScale scale, MeterWorkHookActFirst grossModel, MeterWorkHookActFirst tareModel);
 }

+ 160 - 0
src/main/java/com/steerinfo/meterwork/meterworkhookactfirst/service/impl/MeterWorkHookActFirstServiceImpl.java

@@ -2,6 +2,7 @@ package com.steerinfo.meterwork.meterworkhookactfirst.service.impl;
 
 import com.steerinfo.baseinfo.meterbasevideoinfo.mapper.MeterBaseVideoinfoMapper;
 import com.steerinfo.baseinfo.meterbasevideoinfo.model.MeterBaseVideoinfo;
+import com.steerinfo.framework.controller.RESTfulResult;
 import com.steerinfo.framework.mapper.IBaseMapper;
 import com.steerinfo.framework.service.impl.BaseServiceImpl;
 import com.steerinfo.framework.service.pagehelper.PageHelper;
@@ -677,6 +678,165 @@ public class MeterWorkHookActFirstServiceImpl extends BaseServiceImpl<MeterWorkH
         return id;
     }
 
+    @Override
+    public RESTfulResult doAddWfStaticTwo(PreHookScale scale, MeterWorkHookActFirst grossModel, MeterWorkHookActFirst tareModel) {
+        RESTfulResult rm = new RESTfulResult();
+        rm.setFailed();
+
+        try {
+            HashMap<String, Object> map = new HashMap<>();
+            List<MeterWorkHookActFirst> firsts = new ArrayList<>();
+            List<MeterWorkHookActual> actuals = new ArrayList<>();
+
+            BigDecimal num = grossModel.getMeterWeight().subtract(tareModel.getMeterWeight()).abs();
+            /*if(num.compareTo(BigDecimal.valueOf(400)) == -1){
+                rm.setMessage("选择的两条一次计量数据不能小于400kg,请确认!!");
+                return rm;
+            }*/
+            if (!grossModel.getRailwayNo().equals(tareModel.getRailwayNo())) {
+                rm.setMessage("两条一次计量数据车号不一致,请确认!!");
+                return rm;
+            }
+
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+            String afl = sdf.format(new Date());
+            String firstNo = sdf.format(new Date()) + meterWorkHookActFirstMapper.getNewID(afl);
+            String flag = null;
+            //存储当前计量的数据
+            if (grossModel.getActualFirstNo() == null) {
+                grossModel.setActualFirstNo(firstNo);
+                grossModel.setCreateTime(new Date());
+                meterWorkHookActFirstMapper.insertSelective(grossModel);
+                flag = "0";
+            }
+            if (tareModel.getActualFirstNo() == null) {
+                tareModel.setActualFirstNo(firstNo);
+                tareModel.setCreateTime(new Date());
+                meterWorkHookActFirstMapper.insertSelective(tareModel);
+                flag = "1";
+            }
+
+            MeterWorkHookActual actualRow = new MeterWorkHookActual();
+            //毛重一次
+            MeterWorkHookActFirst model01 = meterWorkHookActFirstMapper.selectByPrimaryKey(grossModel.getActualFirstNo());
+            //皮重一次
+            MeterWorkHookActFirst model02 = meterWorkHookActFirstMapper.selectByPrimaryKey(tareModel.getActualFirstNo());
+
+            //修改委托状态
+            if (scale != null) {
+                //委托信息是否为有效数据
+                if (scale.getValueFlag().equals("2") || scale.getValueFlag().equals("3")) {
+                    rm.setMessage("委托信息已使用或者已作废!!");
+                    return rm;
+                }
+
+                //将委托中的编号和收发货的等数据拷贝进一次数据中
+                MeterWorkHookActFirst first1 = meterWorkHookActFirstMapper.selectAndMatch(model01.getActualFirstNo(), scale.getPredictionNo());
+                BeanUtils.copyProperties(first1, model01);
+                MeterWorkHookActFirst first2 = meterWorkHookActFirstMapper.selectAndMatch(model02.getActualFirstNo(), scale.getPredictionNo());
+                BeanUtils.copyProperties(first2, model02);
+
+                //修改委托编号
+                scale.setValueFlag(DbConstants.NET);
+                scale.setUpdateTime(new Date());
+                scale.setUpdateManNo("system");
+                scale.setUpdateManName("自动匹配更新");
+                scale.setUploadFlag("1");
+                scale.setPredictionType("1");
+                preHookScaleMapper.updateByPrimaryKeySelective(scale);
+
+                //修改毛重一次数据状态
+                model01.setValueFlag(DbConstants.NET);
+                model01.setUpdateManName("system");
+                model01.setUpdateManName("自动匹配更新");
+                model01.setUpdateTime(new Date());
+                model01.setWeightType("0");
+                model01.setIsPreScale("1");
+                model01.setPredictionNo(scale.getPredictionNo());
+                model01.setPredictionType("1");
+                meterWorkHookActFirstMapper.updateByPrimaryKeySelective(model01);
+                //修改皮重一次数据状态
+                model02.setValueFlag(DbConstants.NET);
+                model02.setUpdateManName("system");
+                model02.setUpdateManName("自动匹配更新");
+                model02.setUpdateTime(new Date());
+                model02.setWeightType("1");
+                model02.setIsPreScale("1");
+                model02.setPredictionNo(scale.getPredictionNo());
+                model02.setPredictionType("1");
+                meterWorkHookActFirstMapper.updateByPrimaryKeySelective(model02);
+
+                MeterWorkHookActual mwca1 = meterWorkHookActualMapper.manualAddPre(model01.getActualFirstNo(), model02.getActualFirstNo(), scale.getPredictionNo());
+                BeanUtils.copyProperties(mwca1, actualRow);
+                //保存洁净
+                String no = meterWorkHookActualMapper.getNewID(sdf.format(new Date()));
+                actualRow.setActualNo(sdf.format(new Date()) + no);
+                actualRow.setNetTime(new Date());
+                actualRow.setNetMode(DbConstants.TYPE);
+//                actualRow.setNote("自动匹配洁净");
+                actualRow.setNetMode("1");
+                actualRow.setUploadFlag("1");
+                actualRow.setValueFlag("1");
+                actualRow.setIsPreScale("1");
+                actualRow.setPredictionNo(scale.getPredictionNo());
+                actualRow.setPredictionType("1");
+                actualRow.setNetWeight(model01.getMeterWeight().subtract(model02.getMeterWeight()));
+                meterWorkHookActualMapper.insertSelective(actualRow);
+            } else {
+                //修改毛重一次数据状态
+                model01.setValueFlag(DbConstants.NET);
+                model01.setUpdateManName("system");
+                model01.setUpdateManName("自动匹配更新");
+                model01.setUpdateTime(new Date());
+                model01.setWeightType("0");
+                model01.setIsPreScale("0");
+                meterWorkHookActFirstMapper.updateByPrimaryKeySelective(model01);
+                //修改皮重一次数据状态
+                model02.setValueFlag(DbConstants.NET);
+                model02.setUpdateManName("system");
+                model02.setUpdateManName("自动匹配更新");
+                model02.setUpdateTime(new Date());
+                model02.setWeightType("1");
+                model02.setIsPreScale("0");
+                meterWorkHookActFirstMapper.updateByPrimaryKeySelective(model02);
+
+                MeterWorkHookActual mwca1 = meterWorkHookActualMapper.manualAdd(model01.getActualFirstNo(), model02.getActualFirstNo());
+                BeanUtils.copyProperties(mwca1, actualRow);
+                //保存洁净
+                String no = meterWorkHookActualMapper.getNewID(sdf.format(new Date()));
+                actualRow.setActualNo(sdf.format(new Date()) + no);
+                actualRow.setNetTime(new Date());
+                actualRow.setNetMode(DbConstants.TYPE);
+//                actualRow.setNote("自动匹配洁净");
+                actualRow.setNetMode("1");
+                actualRow.setUploadFlag("1");
+                actualRow.setValueFlag("1");
+                actualRow.setIsPreScale("0");
+                actualRow.setNetWeight(model01.getMeterWeight().subtract(model02.getMeterWeight()));
+                meterWorkHookActualMapper.insertSelective(actualRow);
+            }
+
+            if (flag.equals("0")) {
+                firsts.add(model01);
+            } else if (flag.equals("1")) {
+                firsts.add(model02);
+            }
+            actuals.add(actualRow);
+            map.put("firsts", firsts);
+            map.put("actuals", actuals);
+
+            rm.setSucceed();
+            rm.setData(map);
+            rm.setCode("200");
+            rm.setMessage("操作成功!!");
+            return rm;
+        } catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常,请确认!>>>" + e.getMessage());
+        }
+        return rm;
+    }
+
     //保存计量数据
     private String doAddWfStaticFrist(MeterWorkHookActFirst model) {
         //此为第一次计量的数据