Ver código fonte

后端修改

dengyj 4 anos atrás
pai
commit
abd176bfda

+ 33 - 0
src/main/java/com/steerinfo/baseinfo/meterbaserailwayaiweight/controller/MeterBaseRailwayAiweightController.java

@@ -1,17 +1,20 @@
 package com.steerinfo.baseinfo.meterbaserailwayaiweight.controller;
 
+import com.steerinfo.baseinfo.meterbaserailwayaiweight.mapper.MeterBaseRailwayAiweightMapper;
 import com.steerinfo.baseinfo.meterbaserailwayaiweight.model.MeterBaseRailwayAiweight;
 import com.steerinfo.baseinfo.meterbaserailwayaiweight.service.IMeterBaseRailwayAiweightService;
 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.except.MarkerMetException;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
@@ -36,6 +39,9 @@ public class MeterBaseRailwayAiweightController extends BaseRESTfulController {
     @Autowired
     IMeterBaseRailwayAiweightService meterBaseRailwayAiweightService;
 
+    @Resource
+    MeterBaseRailwayAiweightMapper meterBaseRailwayAiweightMapper;
+
     @ApiOperation(value="获取列表", notes="分页查询")
     @ApiImplicitParams({
         @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
@@ -122,4 +128,31 @@ public class MeterBaseRailwayAiweightController extends BaseRESTfulController {
         RESTfulResult rm = meterBaseRailwayAiweightService.checkAdd(models);
         return success(rm);
     }
+
+    @ApiOperation(value="更新详细信息", notes="根据url的id来指定更新对象,并根据传过来的meterWorkRailwayReceived信息来更新详细信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "meterWorkRailwayReceived", value = "详细实体meterWorkRailwayReceived", required = true, dataType = "MeterWorkRailwayReceived")
+    })
+//@RequiresPermissions("meterworkrailwayreceived:update")
+    @PostMapping(value = "/updateAI", produces  = "application/json;charset=UTF-8")
+    public RESTfulResult updateAI(@RequestBody MeterBaseRailwayAiweight model){
+        RESTfulResult rm = new RESTfulResult();
+        try {
+            int num = meterBaseRailwayAiweightMapper.updateByPrimaryKeySelective(model);
+            rm.setCode("200");
+            rm.setData(num);
+            rm.setMessage("成功");
+            return rm;
+        } catch (MarkerMetException e) {
+            e.printStackTrace();
+            rm.setMessage(e.getMessage());
+        } catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常,请确认!");
+        } finally {
+
+        }
+        return rm;
+    }
 }

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

@@ -493,7 +493,7 @@ throw new MarkerMetException(500, "操作异常!!");
 
     @ApiOperation(value = "匹配委托")
     @PostMapping(value = "/matchPrediction")
-    public RESTfulResult matchPrediction(@RequestBody String actualNo, String predictionNo, String note) {
+    public RESTfulResult matchPrediction(@RequestParam String actualNo, String predictionNo, String note) {
         RESTfulResult rm = failed();
         try {
             rm = meterWorkCarActualService.matchPrediction(actualNo, predictionNo, note);

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

@@ -1059,6 +1059,7 @@ public class MeterWorkCarActualServiceImpl extends BaseServiceImpl<MeterWorkCarA
             mwca.setPredictionType("1");
             mwca.setCreateManName(userName);
             mwca.setCreateTime(new Date());
+            mwca.setValueFlag("1");
             mwca.setUploadFlag("1");
             mwca.setNote(note);
             meterWorkCarActualMapper.updateByPrimaryKey(mwca);

+ 43 - 2
src/main/java/com/steerinfo/meterwork/meterworkcaractualfirst/service/impl/MeterWorkCarActualFirstServiceImpl.java

@@ -57,6 +57,7 @@ import com.steerinfo.pretrack.pretrackscale.mapper.PreTrackScaleMapper;
 import com.steerinfo.pretrack.pretrackscale.model.PreTrackScale;
 import com.steerinfo.util.*;
 import org.apache.http.util.TextUtils;
+import org.apache.shiro.crypto.hash.Hash;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -2921,8 +2922,16 @@ public class MeterWorkCarActualFirstServiceImpl extends BaseServiceImpl<MeterWor
     public RESTfulResult doAddNetHZHX(MeterWorkCarActualFirst first02,MeterWorkCarActual carModel, MeterWorkCarActualFirst first03,  MeterMonitorNote note) throws Exception {
         RESTfulResult rm = new RESTfulResult();
         rm.setFailed();
-
         try {
+            String scaleNo = null;
+            if(first02.getMeterProcessNo()!=null && StringUtils.isNotEmpty(first02.getMeterProcessNo())) {
+                String[] strList = first02.getMeterProcessNo().split(",");
+                if(strList.length >= 1) {
+                    if(strList[0].equals("混料")) {
+                        scaleNo = strList[1];
+                    }
+                }
+            }
 //            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
 //            String afl = sdf.format(new Date());
 
@@ -3094,13 +3103,45 @@ public class MeterWorkCarActualFirstServiceImpl extends BaseServiceImpl<MeterWor
                 first03.setIsPreScale("0");
                 first03.setCreateTime(new Date());
                 meterWorkCarActualFirstMapper.insertSelective(first03);
+            }else {
+                if(scaleNo != null && StringUtils.isNotEmpty(scaleNo)) {
+                    //获取
+                    MeterWorkCarActualFirst grossModel = meterWorkCarActualFirstMapper.selectByPrimaryKey(actualRow.getActualFirst1No());
+                    MeterWorkCarActualFirst tareModel = meterWorkCarActualFirstMapper.selectByPrimaryKey(actualRow.getActualFirst2No());
+                    MeterWorkCarActual actualModel = meterWorkCarActualMapper.selectByPrimaryKey(actualRow.getActualNo());
+                    PreTrackScale scaleTemp = preTrackScaleMapper.selectByPrimaryKey(scaleNo);
+
+                    grossModel.setPredictionCombination(carModel.getPredictionNo() + "," + scaleTemp.getPredictionNo());
+                    tareModel.setPredictionCombination(carModel.getPredictionNo() + "," + scaleTemp.getPredictionNo());
+                    actualModel.setPredictionCombination(carModel.getPredictionNo() + "," + scaleTemp.getPredictionNo());
+
+                    meterWorkCarActualFirstMapper.updateByPrimaryKeySelective(grossModel);
+                    meterWorkCarActualFirstMapper.updateByPrimaryKeySelective(tareModel);
+                    meterWorkCarActualMapper.updateByPrimaryKeySelective(actualModel);
+
+                    HashMap<String, Object> obj = new HashMap<>();
+                    obj.put("predictionNo", scaleNo);
+                    List<MeterWorkCarActual> modelList = meterWorkCarActualMapper.selectByParameters(obj);
+                    if(modelList.size() >= 1) {
+                        MeterWorkCarActual preCarActual = modelList.get(0);
+                        MeterWorkCarActualFirst preGrossModel = meterWorkCarActualFirstMapper.selectByPrimaryKey(preCarActual.getActualFirst1No());
+                        MeterWorkCarActualFirst preTareModel = meterWorkCarActualFirstMapper.selectByPrimaryKey(preCarActual.getActualFirst2No());
+
+                        preGrossModel.setPredictionCombination(carModel.getPredictionNo() + "," + scaleTemp.getPredictionNo());
+                        preTareModel.setPredictionCombination(carModel.getPredictionNo() + "," + scaleTemp.getPredictionNo());
+                        preCarActual.setPredictionCombination(carModel.getPredictionNo() + "," + scaleTemp.getPredictionNo());
+
+                        meterWorkCarActualFirstMapper.updateByPrimaryKeySelective(preGrossModel);
+                        meterWorkCarActualFirstMapper.updateByPrimaryKeySelective(preTareModel);
+                        meterWorkCarActualMapper.updateByPrimaryKeySelective(preCarActual);
+                    }
+                }
             }
             //6、修改计量监控
             updateMonitor(first02.getBaseSpotNo());
             //保存日志
             saveNote(note);
             updateMonitorOver(first02.getActualFirstNo(), first02.getBaseSpotNo());
-
             //补充附加重量的数据
             if (StringUtils.isNotEmpty(first02.getAddWgtPk())) {
                 insertAddWgtNo(first02.getActualFirstNo(), first02.getAddWgtPk(), first02.getCreateManNo(), first02.getCreateManName());

+ 60 - 0
src/main/java/com/steerinfo/meterwork/meterworkrailwayactfirst/controller/MeterWorkRailwayActFirstController.java

@@ -1298,4 +1298,64 @@ throw new MarkerMetException(500, "操作异常!!");
             return rm;
         }
     }
+
+    @ApiOperation(value = "动轨计量终端从表数据处理批量匹配AI标识皮", notes = "一定要有委托才能才能进行洁净")
+    @Transactional
+    @PostMapping(value = "/DynamicBatchMatchAIweight")
+    public RESTfulResult DynamicBatchMatchAIweight(@RequestBody List<MeterWorkRailwayReceived> receivedList) {
+        RESTfulResult rm = failed();
+        try {
+            rm = meterWorkRailwayActFirstService.DynamicBatchMatchAIweight(receivedList);
+            return rm;
+        }catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常,请确认!>>>>" + e.getMessage());
+            return rm;
+        }
+    }
+
+    @ApiOperation(value = "动轨计量终端从表数据处理批量匹配标准皮", notes = "一定要有委托才能才能进行洁净")
+    @Transactional
+    @PostMapping(value = "/DynamicBatchMatchCarriageWeight")
+    public RESTfulResult DynamicBatchMatchCarriageWeight(@RequestBody List<MeterWorkRailwayReceived> receivedList) {
+        RESTfulResult rm = failed();
+        try {
+            rm = meterWorkRailwayActFirstService.DynamicBatchMatchCarriageWeight(receivedList);
+            return rm;
+        }catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常,请确认!>>>>" + e.getMessage());
+            return rm;
+        }
+    }
+
+    @ApiOperation(value = "动轨计量终端从表数据处理批量匹配一次空皮", notes = "一定要有委托才能才能进行洁净")
+    @Transactional
+    @PostMapping(value = "/DynamicBatchMatchFirstWeight")
+    public RESTfulResult DynamicBatchMatchFirstWeight(@RequestBody List<MeterWorkRailwayReceived> receivedList) {
+        RESTfulResult rm = failed();
+        try {
+            rm = meterWorkRailwayActFirstService.DynamicBatchMatchFirstWeight(receivedList);
+            return rm;
+        }catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常,请确认!>>>>" + e.getMessage());
+            return rm;
+        }
+    }
+
+    @ApiOperation(value = "动轨计量终端从表数据处理批量匹配一次空皮", notes = "一定要有委托才能才能进行洁净")
+    @Transactional
+    @PostMapping(value = "/DynamicBatchMatchHisTareWeight")
+    public RESTfulResult DynamicBatchMatchHisTareWeight(@RequestBody List<MeterWorkRailwayReceived> receivedList) {
+        RESTfulResult rm = failed();
+        try {
+            rm = meterWorkRailwayActFirstService.DynamicBatchMatchHisTareWeight(receivedList);
+            return rm;
+        }catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常,请确认!>>>>" + e.getMessage());
+            return rm;
+        }
+    }
 }

+ 24 - 16
src/main/java/com/steerinfo/meterwork/meterworkrailwayactfirst/mapper/MeterWorkRailwayActFirstMapper.xml

@@ -3510,9 +3510,6 @@
     <if test="lcNoNull == null or lcNoNull == ''">
        and lc_no is not null)
     </if>
-<!--    <if test="lcNo != null and lcNo != ''">-->
-<!--      and lc_No in (#{lcNo})-->
-<!--    </if>-->
     <if test="railwayNo != null and railwayNo != ''">
       and  RAILWAY_NO like '%${railwayNo}%'
     </if>
@@ -3601,18 +3598,19 @@
   </select>
 
   <select id="batchMatchView" parameterType="java.util.HashMap" resultType="HashMap">
-    select A.create_time createTime,
-         A.lc_no lcNo,
-         A.railway_no railwayNo,
-         A.meter_weight meterWeight,
-         A.weight_type weightType,
-         A.value_flag vlaueFlag,
-         A.is_pre_sacale isPreSacale,
-         C.meter_weight hisTareWeight,
-         A.conveyance_type conveyanceType,
-         A.railway_factory_weight railwayFactoryWeight,
-         B.CARRIAGE_CODE carriageCode,
-         B.CARRIAGE_WEIGHT carriageWeight
+    select A.create_time create_Time,
+         A.actual_first_no actual_first_no,
+         A.lc_no lc_No,
+         A.railway_no railway_No,
+         A.meter_weight meter_Weight,
+         A.weight_type weight_Type,
+         A.value_flag vlaue_Flag,
+         A.is_pre_sacale is_Pre_Sacale,
+         C.meter_weight his_Tare_Weight,
+         A.conveyance_type conveyance_Type,
+         A.railway_factory_weight railway_Factory_Weight,
+         B.CARRIAGE_CODE carriage_Code,
+         B.CARRIAGE_WEIGHT carriage_Weight
     from meter_work_railway_act_first A
     left join meter_base_railway_carriage_weight B
       on A.conveyance_type = B.Carriage_Code
@@ -3621,11 +3619,21 @@
       on A.railway_no = C.railway_no
          and C.value_flag = '0'
    where 1=1
+    and ( A.lc_no in
+    <foreach collection="lcNoStr" item="item" open="(" separator="," close=")">
+      #{item}
+    </foreach>
+    <if test="lcNoNull != null and lcNoNull != ''">
+      or A.lc_no is null )
+    </if>
+    <if test="lcNoNull == null or lcNoNull == ''">
+      and A.lc_no is not null)
+    </if>
     <if test="railwayTypeNo != null and railwayTypeNo != ''">
       and  A.RAILWAY_TYPE_NO = #{railwayTypeNo}
     </if>
     <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
-      and  A.CREATE_TIME  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') and CREATE_TIME  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
+      and  A.CREATE_TIME  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') and A.CREATE_TIME  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
     </if>
     <if test="railwayNo != null and railwayNo != ''">
       and  A.railway_no like  '%${railwayNo}%'

+ 10 - 0
src/main/java/com/steerinfo/meterwork/meterworkrailwayactfirst/service/IMeterWorkRailwayActFirstService.java

@@ -127,5 +127,15 @@ public interface IMeterWorkRailwayActFirstService extends IBaseService<MeterWork
 
     RESTfulResult doStandardMatch(HashMap<String, Object> param);
     RESTfulResult batchMatchView(HashMap<String, Object> param);
+
+    //动态轨道衡衡数据处理接口
+    //批量匹配AI标识皮
+    RESTfulResult DynamicBatchMatchAIweight(List<MeterWorkRailwayReceived> receivedList);
+    //批量匹配标准皮
+    RESTfulResult DynamicBatchMatchCarriageWeight(List<MeterWorkRailwayReceived> receivedList);
+    //批量匹配一次空皮
+    RESTfulResult DynamicBatchMatchFirstWeight(List<MeterWorkRailwayReceived> receivedList);
+    //批量匹配历史皮
+    RESTfulResult DynamicBatchMatchHisTareWeight(List<MeterWorkRailwayReceived> receivedList);
 }
 

+ 286 - 71
src/main/java/com/steerinfo/meterwork/meterworkrailwayactfirst/service/impl/MeterWorkRailwayActFirstServiceImpl.java

@@ -473,30 +473,7 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
     @Override
     @Transactional(rollbackFor = Exception.class)
     public List<String> distinctRailwayNo(HashMap<String, Object> param) {
-//        String railwayTypeNo = param.get("railwayTypeNo") == null ? "":param.get("railwayTypeNo").toString();
-//        String lcNo = param.get("lcNo") == null ? "" : param.get("lcNo").toString();
-//        String railwayNo = param.get("railwayNo") == null ? "":param.get("railwayNo").toString();
-//        String startTime = param.get("startTime") == null ? "":param.get("startTime").toString();
-//        String endTime = param.get("endTime") == null ? "":param.get("endTime").toString();
-//        String baseSpotNo = param.get("baseSpotNo") == null ? "": param.get("baseSpotNo").toString();
-//        String matterName = param.get("matterName") == null ? "": param.get("matterName").toString();
-//        String predictionNo = param.get("predictionNo") == null ? "": param.get("predictionNo").toString();
-//        String forwardingUnitName = param.get("forwardingUnitName") == null ? "": param.get("forwardingUnitName").toString();
-//        String receivingUintName = param.get("receivingUintName") == null ? "": param.get("receivingUintName").toString();
-//        String valueFlag = param.get("valueFlag") == null ? "":param.get("valueFlag").toString();
-//
-//        HashMap<String, Object> obj = new HashMap<>();
-//        obj.put("railwayTypeNo", railwayTypeNo);
-//        obj.put("lcNo", lcNo);
-//        obj.put("railwayNo", railwayNo);
-//        obj.put("startTime", startTime);
-//        obj.put("endTime", endTime);
-//        obj.put("baseSpotNo", baseSpotNo);
-//        obj.put("matterName", matterName);
-//        obj.put("predictionNo", predictionNo);
-//        obj.put("forwardingUnitName", forwardingUnitName);
-//        obj.put("receivingUintName", receivingUintName);
-//        obj.put("valueFlag", valueFlag);
+
         String[] lcNoTemp = param.get("lcNo").toString().split(",");
 //        param.remove("lcNo");
         param.put("lcNoTemp", lcNoTemp);
@@ -521,37 +498,11 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
         }catch (Exception e) {
             list.add("");
         }
-
         return list;
     }
 
     @Override
     public List<String> distinctLcNo(HashMap<String, Object> param) {
-//        String railwayTypeNo = param.get("railwayTypeNo") == null ? "":param.get("railwayTypeNo").toString();
-//        String startTime = param.get("startTime") == null ? "":param.get("startTime").toString();
-//        String endTime = param.get("endTime") == null ? "":param.get("endTime").toString();
-//        String railwayNo = param.get("railwayNo") == null ? "": param.get("railwayNo").toString();
-//        String baseSpotNo = param.get("baseSpotNo") == null ? "":param.get("baseSpotNo").toString();
-//        String matterName = param.get("matterName") == null ? "":param.get("matterName").toString();
-//        String predictionNo = param.get("predictionNo") == null ? "":param.get("predictionNo").toString();
-//        String forwardingUnitName = param.get("forwardingUnitName") == null ? "": param.get("forwardingUnitName").toString();
-//        String receivingUintName = param.get("receivingUintName") == null ? "":param.get("receivingUintName").toString();
-//        String valueFlag = param.get("valueFlag") == null ? "": param.get("valueFlag").toString();
-//        String lcNo = param.get("lcNo") == null ? "": param.get("lcNo").toString();
-//
-//        HashMap<String, Object> obj = new HashMap<>();
-//        obj.put("railwayTypeNo", railwayTypeNo);
-//        obj.put("startTime", startTime);
-//        obj.put("endTime", endTime);
-//        obj.put("railwayNo", railwayNo);
-//        obj.put("baseSpotNo", baseSpotNo);
-//        obj.put("matterName", matterName);
-//        obj.put("predictionNo", predictionNo);
-//        obj.put("forwardingUnitName", forwardingUnitName);
-//        obj.put("receivingUintName", receivingUintName);
-//        obj.put("valueFlag", valueFlag);
-//        obj.put("lcNo", lcNo);
-
         List<MeterWorkRailwayActFirst> templist = meterWorkRailwayActFirstMapper.distinctLcNo(param);
         List<String> list = new ArrayList<>();
         if (templist != null && !templist.isEmpty() ) {
@@ -572,28 +523,7 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
         RESTfulResult rm = new RESTfulResult();
         rm.setFailed();
         try {
-//            String railwayTypeNo = param.get("railwayTypeNo") == null ? "":param.get("railwayTypeNo").toString();
-//            String startTime = param.get("startTime") == null ? "":param.get("startTime").toString();
-//            String endTime = param.get("endTime") == null ? "":param.get("endTime").toString();
-//            String railwayNo = param.get("railwayNo") == null ? "":param.get("railwayNo").toString();
-//            String baseSpotName = param.get("baseSpotName") == null ? "": param.get("baseSpotName").toString();
-//            String matterName = param.get("matterName") == null ? "": param.get("matterName").toString();
-//            String predictionNo = param.get("predictionNo") == null ? "": param.get("predictionNo").toString();
-//            String valueFlag = param.get("valueFlag") == null ? "":param.get("valueFlag").toString();
-//
-//            HashMap<String, Object> param = new HashMap<>();
-//            HashMap<String, Object> obj = new HashMap<>();
-//            obj.put("railwayTypeNo", railwayTypeNo);
-//            obj.put("startTime", startTime);
-//            obj.put("endTime", endTime);
-//            obj.put("railwayNo", railwayNo);
-//            obj.put("baseSpotName", baseSpotName);
-//            obj.put("matterName", matterName);
-//            obj.put("predictionNo", predictionNo);
-//            obj.put("valueFlag", valueFlag);
-
             HashMap<String, Object> obj = new HashMap<>();
-
             List<MeterWorkRailwayActFirst> tempList = meterWorkRailwayActFirstMapper.distinctLcNo(param);
             List<String> list = null;
             List<String> railwayNum = null;
@@ -5731,6 +5661,16 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
         rm.setSucceed();
         rm.setMessage("操作成功");
         rm.setCode("200");
+        String[] lcNoStr = param.get("lcNoTemp").toString().split(",");
+        param.put("lcNoStr", lcNoStr);
+        for (String str: lcNoStr) {
+            if(str.equals("")) {
+                param.put("lcNoNull", "1");
+                break;
+            }else {
+                param.put("lcNoNull", "");
+            }
+        }
         rm.setData(meterWorkRailwayActFirstMapper.batchMatchView(param));
         return rm;
     }
@@ -5746,4 +5686,279 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
         BigDecimal b = a.divide(new BigDecimal(1000));
         //system.out.println(b);
     }
+
+    @Override
+    public RESTfulResult DynamicBatchMatchAIweight(List<MeterWorkRailwayReceived> receivedList) {
+        RESTfulResult rm = new RESTfulResult();
+        rm.setFailed();
+        try{
+            //判断从表数据中是否包含委托编号
+            for (MeterWorkRailwayReceived receivedModel: receivedList) {
+                Assert.isTrue(receivedModel.getPredictionNo() != null && StringUtils.isNotEmpty(receivedModel.getPredictionNo()), "所选择的数据中包含没有委托的数据,不能洁净");
+            }
+            int count = 0;
+            //将从表数据的车号所对应有效的AI标识皮进行结净,未找到Ai标识皮就跳过
+            for (MeterWorkRailwayReceived receivedModel: receivedList) {
+                HashMap obj = new HashMap();
+                obj.put("railwayNo", receivedModel.getRailwayNo());
+                obj.put("valueFlag", "0");
+                List<MeterBaseRailwayAiweight> AiWeightList = meterBaseRailwayAiweightMapper.selectByParameters(obj);
+                if(AiWeightList.size() >= 1) {
+                    MeterBaseRailwayAiweight AiWeightModel = AiWeightList.get(0);
+
+                    MeterWorkRailwayActFirst grossModel = new MeterWorkRailwayActFirst();
+                    MeterWorkRailwayActFirst tareModel = new MeterWorkRailwayActFirst();
+                    MeterWorkRailwayActual actualRow = new MeterWorkRailwayActual();
+                    PreRailwayScale railwayScale = new PreRailwayScale();
+                    //已使用 METER_WORK_RAILWAY_RECEIVED表状态设置为已使用
+                    meterWorkRailwayReceivedMapper.updateMeterWorkRailwayReceived(receivedModel.getActualFirstNo());
+
+                    //作废AI标志皮
+                    AiWeightModel.setValueFlag("1");
+                    meterBaseRailwayAiweightMapper.updateByPrimaryKeySelective(AiWeightModel);
+
+                    //从表赋值grossModel、AI也赋值tareModel并修改重量
+                    BeanUtils.copyProperties(receivedModel, grossModel);
+                    grossModel.setLcNo(receivedModel.getRailwayModelNo());
+                    meterWorkRailwayActFirstMapper.insertSelective(grossModel);
+                    BeanUtils.copyProperties(grossModel, tareModel);
+                    tareModel.setMeterWeight(AiWeightModel.getMeterWeight());
+
+                    //更新预报数
+                    railwayScale.setValueFlag(DbConstants.NET);
+                    railwayScale.setUpdateTime(new Date());
+                    railwayScale.setUpdateManNo("system");
+                    railwayScale.setUpdateManName("AI标识皮匹配委托洁净更新");
+                    railwayScale.setUploadFlag("1");
+                    railwayScale.setValueFlag("2");
+                    railwayScale.setPredictionType("1");
+                    preRailwayScaleMapper.updateByPrimaryKeySelective(railwayScale);
+
+                    grossModel.setValueFlag(DbConstants.NET);
+                    grossModel.setWeightType("0");
+                    grossModel.setNote("AI标识皮匹配委托洁净更新");
+                    grossModel.setUpdateTime(new Date());
+                    grossModel.setIsPreSacale("1");
+                    grossModel.setPredictionNo(railwayScale.getPredictionNo());
+                    grossModel.setPredictionType("1");
+                    meterWorkRailwayActFirstMapper.updateByPrimaryKey(grossModel);
+
+                    //添加第二次毛重数据
+                    SimpleDateFormat sdfFormat = new SimpleDateFormat("yyyyMMdd");
+                    String afl = sdfFormat.format(new Date());
+                    MeterWorkRailwayActual mwca = meterWorkRailwayActualMapper.manualAddPre(grossModel.getActualFirstNo(), tareModel.getActualFirstNo(), railwayScale.getPredictionNo());
+                    BeanUtils.copyProperties(mwca, actualRow);
+
+                    //添加结净数据
+                    actualRow.setActualNo(afl + meterWorkRailwayActualMapper.getNewID(afl));
+                    //    String no = PublicMethod.IdCreate(3);
+                    //    actualRow1.setActualNo(no);
+                    actualRow.setTareWeight(tareModel.getMeterWeight());
+                    actualRow.setNetTime(new Date());
+                    actualRow.setNetMode(DbConstants.TYPE);
+                    actualRow.setNote("AI标识皮匹配委托洁净更新");
+                    actualRow.setNetMode("2");
+                    actualRow.setUploadFlag("1");
+                    actualRow.setIsPreSacale("1");
+                    actualRow.setValueFlag("1");
+                    actualRow.setPredictionType("1");
+                    actualRow.setPredictionNo(railwayScale.getPredictionNo());
+                    actualRow.setNetWeight(grossModel.getMeterWeight().subtract(tareModel.getMeterWeight()));
+                    meterWorkRailwayActualMapper.insertSelective(actualRow);
+
+                    count++;
+                }
+            }
+            rm.setSucceed();
+            rm.setCode("200");
+            rm.setMessage("操作成功,总共"+ receivedList.size() +"条数据,共有:" + count + "条数据匹配AI标识皮成功");
+        }catch(Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常:>>>" + e.getMessage());
+        }
+        return rm;
+    }
+
+    @Override
+    public RESTfulResult DynamicBatchMatchCarriageWeight(List<MeterWorkRailwayReceived> receivedList) {
+        RESTfulResult rm = new RESTfulResult();
+        rm.setFailed();
+        try{
+            //判断从表数据中是否包含委托编号
+            for (MeterWorkRailwayReceived receivedModel: receivedList) {
+                Assert.isTrue(receivedModel.getPredictionNo() != null && StringUtils.isNotEmpty(receivedModel.getPredictionNo()), "所选择的数据中包含没有委托的数据,不能洁净");
+            }
+            int count = 0;
+            //将从表数据的车号所对应有效的AI标识皮进行结净,未找到Ai标识皮就跳过
+            for (MeterWorkRailwayReceived receivedModel: receivedList) {
+                HashMap obj = new HashMap();
+                obj.put("carriageCode", receivedModel.getRailwayModel());
+                obj.put("valueFlag", "1");
+                List<MeterBaseRailwayCarriageWeight> carriageWeightList = meterBaseRailwayCarriageWeightMapper.selectByParameters(obj);
+                if(carriageWeightList.size() >= 1) {
+                    MeterBaseRailwayCarriageWeight carriageWeightModel = carriageWeightList.get(0);
+
+                    MeterWorkRailwayActFirst grossModel = new MeterWorkRailwayActFirst();
+                    MeterWorkRailwayActFirst tareModel = new MeterWorkRailwayActFirst();
+                    MeterWorkRailwayActual actualRow = new MeterWorkRailwayActual();
+                    PreRailwayScale railwayScale = new PreRailwayScale();
+                    //已使用 METER_WORK_RAILWAY_RECEIVED表状态设置为已使用
+                    meterWorkRailwayReceivedMapper.updateMeterWorkRailwayReceived(receivedModel.getActualFirstNo());
+
+                    //从表赋值grossModel、AI也赋值tareModel并修改重量
+                    BeanUtils.copyProperties(receivedModel, grossModel);
+                    grossModel.setLcNo(receivedModel.getRailwayModelNo());
+                    meterWorkRailwayActFirstMapper.insertSelective(grossModel);
+                    BeanUtils.copyProperties(grossModel, tareModel);
+                    tareModel.setMeterWeight(new BigDecimal(carriageWeightModel.getCarriageWeight()));
+
+                    //更新预报数
+                    railwayScale.setValueFlag(DbConstants.NET);
+                    railwayScale.setUpdateTime(new Date());
+                    railwayScale.setUpdateManNo("system");
+                    railwayScale.setUpdateManName("标准皮匹配委托洁净更新");
+                    railwayScale.setUploadFlag("1");
+                    railwayScale.setValueFlag("2");
+                    railwayScale.setPredictionType("1");
+                    preRailwayScaleMapper.updateByPrimaryKeySelective(railwayScale);
+
+                    grossModel.setValueFlag(DbConstants.NET);
+                    grossModel.setWeightType("0");
+                    grossModel.setNote("标准皮匹配委托洁净更新");
+                    grossModel.setUpdateTime(new Date());
+                    grossModel.setIsPreSacale("1");
+                    grossModel.setPredictionNo(railwayScale.getPredictionNo());
+                    grossModel.setPredictionType("1");
+                    meterWorkRailwayActFirstMapper.updateByPrimaryKey(grossModel);
+
+                    //添加第二次毛重数据
+                    SimpleDateFormat sdfFormat = new SimpleDateFormat("yyyyMMdd");
+                    String afl = sdfFormat.format(new Date());
+                    MeterWorkRailwayActual mwca = meterWorkRailwayActualMapper.manualAddPre(grossModel.getActualFirstNo(), tareModel.getActualFirstNo(), railwayScale.getPredictionNo());
+                    BeanUtils.copyProperties(mwca, actualRow);
+
+                    //添加结净数据
+                    actualRow.setActualNo(afl + meterWorkRailwayActualMapper.getNewID(afl));
+                    //    String no = PublicMethod.IdCreate(3);
+                    //    actualRow1.setActualNo(no);
+                    actualRow.setTareWeight(tareModel.getMeterWeight());
+                    actualRow.setNetTime(new Date());
+                    actualRow.setNetMode(DbConstants.TYPE);
+                    actualRow.setNote("标准皮配委托洁净更新");
+                    actualRow.setNetMode("2");
+                    actualRow.setUploadFlag("1");
+                    actualRow.setIsPreSacale("1");
+                    actualRow.setValueFlag("1");
+                    actualRow.setPredictionType("1");
+                    actualRow.setPredictionNo(railwayScale.getPredictionNo());
+                    actualRow.setNetWeight(grossModel.getMeterWeight().subtract(tareModel.getMeterWeight()));
+                    meterWorkRailwayActualMapper.insertSelective(actualRow);
+
+                    count++;
+                }
+            }
+            rm.setSucceed();
+            rm.setCode("200");
+            rm.setMessage("操作成功,总共"+ receivedList.size() +"条数据,共有:" + count + "条数据匹配标准皮成功");
+        }catch(Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常:>>>" + e.getMessage());
+        }
+        return rm;
+    }
+
+    @Override
+    public RESTfulResult DynamicBatchMatchFirstWeight(List<MeterWorkRailwayReceived> receivedList) {
+        RESTfulResult rm = new RESTfulResult();
+        rm.setFailed();
+        try{
+            //判断从表数据中是否包含委托编号
+            for (MeterWorkRailwayReceived receivedModel: receivedList) {
+                Assert.isTrue(receivedModel.getPredictionNo() != null && StringUtils.isNotEmpty(receivedModel.getPredictionNo()), "所选择的数据中包含没有委托的数据,不能洁净");
+            }
+            int count = 0;
+            //将从表数据的车号所对应有效的AI标识皮进行结净,未找到Ai标识皮就跳过
+            for (MeterWorkRailwayReceived receivedModel: receivedList) {
+                HashMap obj = new HashMap();
+                obj.put("railwayNo", receivedModel.getRailwayNo());
+                obj.put("valueFlag", "1");
+                List<MeterBaseRailwayCarriageWeight> carriageWeightList = meterBaseRailwayCarriageWeightMapper.selectByParameters(obj);
+                if(carriageWeightList.size() >= 1) {
+                    MeterBaseRailwayCarriageWeight carriageWeightModel = carriageWeightList.get(0);
+
+                    MeterWorkRailwayActFirst grossModel = new MeterWorkRailwayActFirst();
+                    MeterWorkRailwayActFirst tareModel = new MeterWorkRailwayActFirst();
+                    MeterWorkRailwayActual actualRow = new MeterWorkRailwayActual();
+                    PreRailwayScale railwayScale = new PreRailwayScale();
+                    //已使用 METER_WORK_RAILWAY_RECEIVED表状态设置为已使用
+                    meterWorkRailwayReceivedMapper.updateMeterWorkRailwayReceived(receivedModel.getActualFirstNo());
+
+                    //从表赋值grossModel、AI也赋值tareModel并修改重量
+                    BeanUtils.copyProperties(receivedModel, grossModel);
+                    grossModel.setLcNo(receivedModel.getRailwayModelNo());
+                    meterWorkRailwayActFirstMapper.insertSelective(grossModel);
+                    BeanUtils.copyProperties(grossModel, tareModel);
+                    tareModel.setMeterWeight(new BigDecimal(carriageWeightModel.getCarriageWeight()));
+
+                    //更新预报数
+                    railwayScale.setValueFlag(DbConstants.NET);
+                    railwayScale.setUpdateTime(new Date());
+                    railwayScale.setUpdateManNo("system");
+                    railwayScale.setUpdateManName("标准皮匹配委托洁净更新");
+                    railwayScale.setUploadFlag("1");
+                    railwayScale.setValueFlag("2");
+                    railwayScale.setPredictionType("1");
+                    preRailwayScaleMapper.updateByPrimaryKeySelective(railwayScale);
+
+                    grossModel.setValueFlag(DbConstants.NET);
+                    grossModel.setWeightType("0");
+                    grossModel.setNote("标准皮匹配委托洁净更新");
+                    grossModel.setUpdateTime(new Date());
+                    grossModel.setIsPreSacale("1");
+                    grossModel.setPredictionNo(railwayScale.getPredictionNo());
+                    grossModel.setPredictionType("1");
+                    meterWorkRailwayActFirstMapper.updateByPrimaryKey(grossModel);
+
+                    //添加第二次毛重数据
+                    SimpleDateFormat sdfFormat = new SimpleDateFormat("yyyyMMdd");
+                    String afl = sdfFormat.format(new Date());
+                    MeterWorkRailwayActual mwca = meterWorkRailwayActualMapper.manualAddPre(grossModel.getActualFirstNo(), tareModel.getActualFirstNo(), railwayScale.getPredictionNo());
+                    BeanUtils.copyProperties(mwca, actualRow);
+
+                    //添加结净数据
+                    actualRow.setActualNo(afl + meterWorkRailwayActualMapper.getNewID(afl));
+                    //    String no = PublicMethod.IdCreate(3);
+                    //    actualRow1.setActualNo(no);
+                    actualRow.setTareWeight(tareModel.getMeterWeight());
+                    actualRow.setNetTime(new Date());
+                    actualRow.setNetMode(DbConstants.TYPE);
+                    actualRow.setNote("标准皮配委托洁净更新");
+                    actualRow.setNetMode("2");
+                    actualRow.setUploadFlag("1");
+                    actualRow.setIsPreSacale("1");
+                    actualRow.setValueFlag("1");
+                    actualRow.setPredictionType("1");
+                    actualRow.setPredictionNo(railwayScale.getPredictionNo());
+                    actualRow.setNetWeight(grossModel.getMeterWeight().subtract(tareModel.getMeterWeight()));
+                    meterWorkRailwayActualMapper.insertSelective(actualRow);
+
+                    count++;
+                }
+            }
+            rm.setSucceed();
+            rm.setCode("200");
+            rm.setMessage("操作成功,总共"+ receivedList.size() +"条数据,共有:" + count + "条数据匹配标准皮成功");
+        }catch(Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常:>>>" + e.getMessage());
+        }
+        return rm;
+    }
+
+    @Override
+    public RESTfulResult DynamicBatchMatchHisTareWeight(List<MeterWorkRailwayReceived> receivedList) {
+        return null;
+    }
+
+
 }

+ 5 - 4
src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/controller/MeterWorkRailwayActualController.java

@@ -822,9 +822,10 @@ public class MeterWorkRailwayActualController extends BaseRESTfulController {
             Date grossTime = simpleFormat.parse(grossTimeTemp);
             Date tareTime = simpleFormat.parse(tareTimeTemp);
             Date netTime = simpleFormat.parse(netTimeTemp);
-
             MeterWorkRailwayActual model = new MeterWorkRailwayActual();
-            model.setPredictionNo(map.get("predictionNo").toString());
+            if(map.get("predictionNo") != null) {
+                model.setPredictionNo(map.get("predictionNo").toString());
+            }
 //            model.setBaseSpot1No(map.get("baseSpot1No").toString());
 //            model.setBaseSpot1Name(map.get("baseSpot1Name").toString());
             model.setBaseSpot1No(meterWorkRailwayActualService.subStr(map.get("baseSpot1No").toString(), "0"));
@@ -841,8 +842,8 @@ public class MeterWorkRailwayActualController extends BaseRESTfulController {
             model.setBaseSpot2No(meterWorkRailwayActualService.subStr(map.get("baseSpot2No").toString(), "0"));
             model.setBaseSpot2Name(meterWorkRailwayActualService.subStr(map.get("baseSpot2No").toString(), "1"));
             model.setRailwayNo(map.get("railwayNo").toString());
-            model.setGrossWeight(new BigDecimal(map.get("grossWeight").toString()));
-            model.setTareWeight(new BigDecimal(map.get("tareWeight").toString()));
+            model.setGrossWeight(new BigDecimal(map.get("grossWeight").toString()).multiply(new BigDecimal(1000)));
+            model.setTareWeight(new BigDecimal(map.get("tareWeight").toString()).multiply(new BigDecimal(1000)));
 //            model.setRailwayTypeNo(map.get("railwayTypeNo").toString());
 //            model.setRailwayTypeName(map.get("railwayTypeName").toString());
             model.setRailwayTypeNo(meterWorkRailwayActualService.subStr(map.get("railwayTypeNo").toString(), "0"));

+ 7 - 5
src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/service/impl/MeterWorkRailwayActualServiceImpl.java

@@ -1922,12 +1922,14 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
             MeterWorkRailwayActual actualRow = new MeterWorkRailwayActual();
             String predictionNo = model.getPredictionNo();
 
-            PreRailwayScale scale = preRailwayScaleMapper.selectByPrimaryKey(predictionNo);
-            if(scale.getValueFlag().equals("2")) {
-                rm.setMessage("委托已匹配,请确认!!");
-                return rm;
+            PreRailwayScale scale = new PreRailwayScale();
+            if(predictionNo != null && StringUtils.isNotEmpty(predictionNo)) {
+                scale = preRailwayScaleMapper.selectByPrimaryKey(predictionNo);
+                if(scale.getValueFlag().equals("2")) {
+                    rm.setMessage("委托已匹配,请确认!!");
+                    return rm;
+                }
             }
-
             /*UserPayload payload = UserPayload.getCurrUser();
             String userId = payload.getId();
             String userName = payload.getUserName();*/

+ 27 - 0
src/main/java/com/steerinfo/meterwork/meterworkrailwayreceived/controller/MeterWorkRailwayReceivedController.java

@@ -7,6 +7,7 @@ import com.steerinfo.framework.utils.collection.ListUtils;
 import com.steerinfo.metermonitor.metermonitornote.model.MeterMonitorNote;
 import com.steerinfo.meterwork.except.MarkerMetException;
 import com.steerinfo.meterwork.meterworkcaractualfirst.model.MeterWorkCarActualFirst;
+import com.steerinfo.meterwork.meterworkrailwayreceived.mapper.MeterWorkRailwayReceivedMapper;
 import com.steerinfo.meterwork.meterworkrailwayreceived.model.MeterWorkRailwayReceived;
 import com.steerinfo.meterwork.meterworkrailwayreceived.service.IMeterWorkRailwayReceivedService;
 import io.swagger.annotations.ApiImplicitParam;
@@ -17,6 +18,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
@@ -43,6 +45,9 @@ public class MeterWorkRailwayReceivedController extends BaseRESTfulController {
     @Autowired
     IMeterWorkRailwayReceivedService meterWorkRailwayReceivedService;
 
+    @Resource
+    MeterWorkRailwayReceivedMapper meterWorkRailwayReceivedMapper;
+
     @ApiOperation(value="获取列表", notes="分页查询")
     @ApiImplicitParams({
         @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
@@ -148,4 +153,26 @@ public class MeterWorkRailwayReceivedController extends BaseRESTfulController {
     	}
       return success();
     }
+
+    @ApiOperation(value="更新详细信息", notes="根据url的id来指定更新对象,并根据传过来的meterWorkRailwayReceived信息来更新详细信息")
+    @PostMapping(value = "/updateReceived", produces  = "application/json;charset=UTF-8")
+    public RESTfulResult updateReceived(@RequestBody MeterWorkRailwayReceived model){
+        RESTfulResult rm = new RESTfulResult();
+        try {
+            int num = meterWorkRailwayReceivedMapper.updateByPrimaryKeySelective(model);
+            rm.setCode("200");
+            rm.setData(num);
+            rm.setMessage("成功");
+            return rm;
+        } catch (MarkerMetException e) {
+            e.printStackTrace();
+            rm.setMessage(e.getMessage());
+        } catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常,请确认!");
+        } finally {
+
+        }
+        return rm;
+    }
 }