Browse Source

后端提交

dengyj 4 years ago
parent
commit
d6733abbf7

+ 23 - 2
src/main/java/com/steerinfo/meterwork/meterworkrailwayactfirst/controller/MeterWorkRailwayActFirstController.java

@@ -1142,6 +1142,27 @@ throw new MarkerMetException(500, "操作异常!!");
         }
     }
 
+    @ApiOperation(value = "动态衡维护界面--毛皮匹配洁净保存", notes = "根据毛皮的List<MeterWorkRailwayActFirst>对象进行批量匹配洁净保存")
+    @PostMapping(value = "/doNetAddMotoriaRailway")
+    public RESTfulResult doNetAddMotoriaRailway(@RequestBody CommonCombination<MeterWorkRailwayMotorialReceived, MeterWorkRailwayActFirst, PreRailwayScale,MeterBaseRailwayWeight> com) {
+        RESTfulResult rm = failed();
+        try {
+
+            if(Objects.nonNull(com.getOne()) && Objects.nonNull(com.getTwo())) {
+                rm = meterWorkRailwayActFirstService.doNetAddMotoriaRailway(com.getOne(), com.getTwo(), com.getThree());
+            }else if(Objects.isNull(com.getOne())){
+                rm.setMessage("需要选择一条毛重数据进行匹配洁净保存,请确认!!!!");
+            }else if(Objects.isNull(com.getTwo())) {
+                rm.setMessage("需要选择一条皮重数据进行匹配洁净保存,请确认!!!!");
+            }
+            return rm;
+        }catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常,请确认!>>>>" + e.getMessage());
+            return rm;
+        }
+    }
+
     @ApiOperation(value = "动态衡维护界面--毛皮匹配洁净保存", notes = "根据毛皮的List<MeterWorkRailwayActFirst>对象进行批量匹配洁净保存")
     @PostMapping(value = "/doAddRailAINetWf")
     public RESTfulResult doAddRailAINetWf(@RequestBody CommonCombination<List<MeterWorkRailwayMotorialReceived>, List<MeterBaseRailwayAiweight>, MeterBaseRailwayWeight,MeterBaseRailwayWeight> com) {
@@ -1165,11 +1186,11 @@ throw new MarkerMetException(500, "操作异常!!");
 
     @ApiOperation(value = "动态衡维护界面--对从表数据进行AI标志皮洁净", notes = "根据毛皮的MeterWorkRailwayActFirst对象进行批量匹配洁净保存")
     @PostMapping(value = "/doAddNetInnerWf")
-    public RESTfulResult doAddNetInnerWf(@RequestBody CommonCombination<MeterBaseRailwayAiweight,MeterWorkRailwayMotorialReceived, MeterBaseRailwayWeight,MeterBaseRailwayWeight> com) {
+    public RESTfulResult doAddNetInnerWf(@RequestBody CommonCombination<MeterBaseRailwayAiweight,MeterWorkRailwayMotorialReceived, PreRailwayScale,MeterBaseRailwayWeight> com) {
         RESTfulResult rm = failed();
         try {
             if(Objects.nonNull(com.getOne()) && Objects.nonNull(com.getTwo())) {
-                rm = meterWorkRailwayActFirstService.doAddNetInnerWf(com.getTwo(),com.getOne());
+                rm = meterWorkRailwayActFirstService.doAddNetInnerWf(com.getTwo(),com.getOne(), com.getThree());
             }else if(Objects.isNull(com.getOne())){
                 rm.setMessage("选择一条AI标志皮重数据进行匹配洁净保存,请确认!!");
             }else if(Objects.isNull(com.getTwo())) {

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

@@ -3468,11 +3468,11 @@
   <select id="likeByDescTSDG" parameterType="java.util.HashMap" resultMap="BaseResultMap">
     <include refid="select"/>
     <include refid="whereLikeTSDG"/>
-<!--    and matter_no in-->
-<!--    <foreach collection="list" item="id" open="(" close=")" separator=",">-->
-<!--      #{id}-->
-<!--    </foreach>-->
-<!--    and value_flag in ('0', '1')-->
+    and matter_no in
+    <foreach collection="list" item="id" open="(" close=")" separator=",">
+      #{id}
+    </foreach>
+    and value_flag in ('0', '1')
     order by create_time desc
   </select>
   <!-- 查询:根据传入时间和车号,查询给定时间段去重车号 -->

+ 2 - 1
src/main/java/com/steerinfo/meterwork/meterworkrailwayactfirst/service/IMeterWorkRailwayActFirstService.java

@@ -113,8 +113,9 @@ public interface IMeterWorkRailwayActFirstService extends IBaseService<MeterWork
     RESTfulResult supplementaryData(MeterWorkRailwayActFirst model);
     RESTfulResult doAddRailWf(List<MeterWorkRailwayActFirst> models);
     RESTfulResult doAddRailNetWf(List<MeterWorkRailwayMotorialReceived> grossModels, List<MeterWorkRailwayActFirst> tareModels);
+    RESTfulResult doNetAddMotoriaRailway(MeterWorkRailwayMotorialReceived grossModel, MeterWorkRailwayActFirst tareModel, PreRailwayScale scale);
     RESTfulResult doAddRailAINetWf(List<MeterWorkRailwayMotorialReceived> grossModels, List<MeterBaseRailwayAiweight> tareModels);
-    RESTfulResult doAddNetInnerWf(MeterWorkRailwayMotorialReceived grossModel, MeterBaseRailwayAiweight tareModel);
+    RESTfulResult doAddNetInnerWf(MeterWorkRailwayMotorialReceived grossModel, MeterBaseRailwayAiweight tareModel, PreRailwayScale scale);
     RESTfulResult doAddNetWeight(MeterWorkRailwayMotorialReceived grossModel, MeterBaseRailwayCarriageWeight tareModel, PreRailwayScale scale);
 
     RESTfulResult selfServiceMeasurement(MeterWorkRailwayActFirst first);

+ 550 - 105
src/main/java/com/steerinfo/meterwork/meterworkrailwayactfirst/service/impl/MeterWorkRailwayActFirstServiceImpl.java

@@ -4135,10 +4135,8 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
                         netRail.setNetManName(userName);
                         netRail.setNetSpot3No(received.getBaseSpotNo());
                         netRail.setNetSpot3Name(received.getBaseSpotName());
-
-                        netRail.setValueFlag("0");
+                        netRail.setValueFlag("");
                         netRail.setUploadFlag("0");
-
                         netRail.setMeterTypeNo(received.getMeterTypeNo());
                         netRail.setMeterTypeName(received.getMeterTypeName());
 
@@ -4161,6 +4159,193 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
         return rm;
     }
 
+    @Override
+    public RESTfulResult doNetAddMotoriaRailway
+            (MeterWorkRailwayMotorialReceived received, MeterWorkRailwayActFirst first, PreRailwayScale tempScale) {
+        RESTfulResult rm = new RESTfulResult();
+        rm.setFailed();
+        try {
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+            String afl = sdf.format(new Date());
+            String userId = "", userName = "";
+            try {
+                UserPayload payload = UserPayload.getCurrUser();
+                userId = payload.getId();
+                userName = payload.getUserName();
+            } catch (Exception ex) {
+                userId = "admin";
+                userName = "admins";
+            }
+            String firstCarriageNo = first.getRailwayCarriageNo();
+            //两个车号一样则匹配,否则则不匹配
+            if (first.getRailwayNo().equals(received.getRailwayNo())) {
+                if(tempScale.getPredictionNo() != null) {
+                    Assert.isTrue(StringUtils.isNotEmpty(tempScale.getPredictionNo()), "委托编号为空");
+                    PreRailwayScale scale = preRailwayScaleMapper.selectByPrimaryKey(tempScale.getPredictionNo());
+                    Assert.isTrue(Objects.nonNull(scale), "委托信息不存在");
+                    //已使用 METER_WORK_RAILWAY_RECEIVED表状态设置为已使用
+                    preRailwayScaleMapper.updateMeterWorkRailwayReceived(received.getActualFirstNo());
+
+                    //将一次表中的皮重设置为已洁净
+                    first.setValueFlag("2");
+                    meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(first);
+
+                    //新增一条毛重信息
+                    MeterWorkRailwayActFirst second = new MeterWorkRailwayActFirst();
+                    second.setActualFirstNo(received.getActualFirstNo());
+                    second.setValueFlag("2");
+                    second.setRailwayNo(received.getRailwayNo());
+                    second.setRailwayCarriageNo(received.getRailwayCarriageNo());
+                    second.setRailwaySpeed(received.getRailwaySpeed());
+                    second.setMeterWeight(received.getMeterWeight());
+                    second.setCreateTime(received.getCreateTime());
+                    second.setCreateManNo(userId);
+                    second.setCreateManName(userName);
+                    second.setWeightType("0");
+                    second.setRailwayTypeNo(received.getRailwayTypeNo());
+                    second.setRailwayTypeName(received.getRailwayTypeName());
+                    second.setBaseSpotNo(received.getBaseSpotNo());
+                    second.setBaseSpotName(received.getBaseSpotName());
+                    second.setShipmentGrossWeight(received.getShipmentGrossWeight());
+                    second.setShipmentNetWeight(received.getShipmentNetWeight());
+                    second.setRailwayModelName(received.getRailwayModel());
+                    meterWorkRailwayActFirstMapper.insertSelective(second);
+
+                    MeterWorkRailwayActual netRail = new MeterWorkRailwayActual();
+                    doMatch(second, first, scale, netRail);
+
+                    first.setRailwaySpeed(first.getRailwaySpeed());
+                    first.setCheckFlag("0");
+                    first.setMeterMode("1");
+                    first.setValueFlag("2");
+                    first.setWeightType("1");
+                    first.setDataSource("1");
+                    first.setNote("匹配洁净");
+                    meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(first);
+
+                    second.setRailwayCarriageNo(received.getRailwayCarriageNo());
+                    second.setRailwaySpeed(received.getRailwaySpeed());
+                    second.setShipmentGrossWeight(received.getShipmentGrossWeight());
+                    second.setShipmentNetWeight(received.getShipmentNetWeight());
+                    second.setRailwayModelName(received.getRailwayModel());
+                    second.setDataSource("1");
+                    second.setNote("匹配洁净");
+                    meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(second);
+
+                    netRail.setRailwayCarriageNo(received.getRailwayCarriageNo());
+                    netRail.setGrossClass(received.getShipmentGrossWeight() + ""); //左右偏载
+                    netRail.setGrossGroup(received.getShipmentNetWeight() + "");//前后偏载
+                    netRail.setTareClass(second.getShipmentGrossWeight() + ""); //左右偏载
+                    netRail.setTareGroup(second.getShipmentNetWeight() + "");//前后偏载
+                    netRail.setCreateTime(new Date());
+                    netRail.setGrossMode("1");
+                    netRail.setTareMode("1");
+                    netRail.setCreateManName(userName);
+                    netRail.setRailwayTypeNo("001019002");
+                    netRail.setRailwayTypeName("动态轨道衡");
+                    netRail.setNote("标识皮匹配洁净");
+                    netRail.setDataSource("1");
+                    meterWorkRailwayActualMapper.updateByPrimaryKeySelective(netRail);
+
+                }else {
+                    //已使用 METER_WORK_RAILWAY_RECEIVED表状态设置为已使用
+                    preRailwayScaleMapper.updateMeterWorkRailwayReceived(received.getActualFirstNo());
+
+                    //将一次表中的皮重设置为已洁净
+                    first.setRailwayCarriageNo(firstCarriageNo);
+                    first.setCheckFlag("0");
+                    first.setMeterMode("1");
+                    first.setValueFlag("2");
+                    first.setWeightType("1");
+                    first.setDataSource("1");
+                    first.setNote("匹配洁净");
+                    meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(first);
+
+                    //新增一条毛重信息
+                    MeterWorkRailwayActFirst second = new MeterWorkRailwayActFirst();
+                    second.setActualFirstNo(received.getActualFirstNo());
+                    second.setValueFlag("2");
+                    second.setRailwayNo(received.getRailwayNo());
+                    second.setRailwayCarriageNo(received.getRailwayCarriageNo());
+                    second.setRailwaySpeed(received.getRailwaySpeed());
+                    second.setMeterWeight(received.getMeterWeight());
+                    second.setCreateTime(received.getCreateTime());
+                    second.setCreateManNo(userId);
+                    second.setCreateManName(userName);
+                    second.setWeightType("0");
+                    second.setRailwayTypeNo(received.getRailwayTypeNo());
+                    second.setRailwayTypeName(received.getRailwayTypeName());
+                    second.setBaseSpotNo(received.getBaseSpotNo());
+                    second.setBaseSpotName(received.getBaseSpotName());
+                    second.setShipmentGrossWeight(received.getShipmentGrossWeight());
+                    second.setShipmentNetWeight(received.getShipmentNetWeight());
+                    second.setRailwayModelName(received.getRailwayModel());
+                    second.setDataSource("1");
+                    second.setNote("匹配洁净");
+                    meterWorkRailwayActFirstMapper.insertSelective(second);
+
+                    //新增一条洁净数据
+                    MeterWorkRailwayActual netRail = new MeterWorkRailwayActual();
+                    String netNo = meterWorkRailwayActualMapper.getNewID(afl);
+                    netRail.setActualNo(afl + netNo);
+                    netRail.setRailwayNo(received.getRailwayNo());
+                    netRail.setRailwayCarriageNo(received.getRailwayCarriageNo());
+                    netRail.setGrossWeight(received.getMeterWeight());
+                    netRail.setGrossMode("1");
+                    netRail.setGrossManNo(userId);
+                    netRail.setGrossManName(userName);
+                    netRail.setGrossTime(received.getCreateTime());
+                    netRail.setGrossClass(received.getShipmentGrossWeight() + ""); //左右偏载
+                    netRail.setGrossGroup(received.getShipmentNetWeight() + "");//前后偏载
+                    netRail.setBaseSpot1No(received.getBaseSpotNo());
+                    netRail.setBaseSpot1Name(received.getBaseSpotName());
+                    netRail.setActualFirst1No(second.getActualFirstNo());
+                    netRail.setRailwayTypeNo(received.getRailwayTypeNo());
+                    netRail.setRailwayTypeName(received.getRailwayTypeName());
+                    netRail.setConveyanceType(received.getRailwayModel());
+                    //netRail.setRailwayModelName(received.getRailwayModel());
+
+                    netRail.setTareWeight(first.getMeterWeight());
+                    netRail.setTareManNo(userId);
+                    netRail.setTareManName(userName);
+                    netRail.setTareTime(first.getCreateTime());
+                    netRail.setTareMode("1");
+                    netRail.setTareClass(first.getShipmentGrossWeight() + ""); //左右偏载
+                    netRail.setTareGroup(first.getShipmentNetWeight() + "");//前后偏载
+                    netRail.setBaseSpot2No(first.getBaseSpotNo());
+                    netRail.setBaseSpot2Name(first.getBaseSpotName());
+                    netRail.setActualFirst2No(first.getActualFirstNo());
+                    netRail.setNetMode("1");
+                    netRail.setNetWeight(second.getMeterWeight().subtract(first.getMeterWeight()));
+                    netRail.setNetTime(new Date());
+                    netRail.setNetManNo(userId);
+                    netRail.setNetManName(userName);
+                    netRail.setNetSpot3No(received.getBaseSpotNo());
+                    netRail.setNetSpot3Name(received.getBaseSpotName());
+                    netRail.setValueFlag("1");
+                    netRail.setUploadFlag("0");
+                    netRail.setMeterTypeNo(received.getMeterTypeNo());
+                    netRail.setMeterTypeName(received.getMeterTypeName());
+                    netRail.setRailwayTypeNo("001019002");
+                    netRail.setRailwayTypeName("动态轨道衡");
+                    netRail.setNote("匹配洁净");
+                    netRail.setDataSource("1");
+                    netRail.setCreateTime(new Date());
+                    netRail.setCreateManName(userName);
+                    meterWorkRailwayActualMapper.insertSelective(netRail);
+                }
+            }
+
+            rm.setSucceed();
+            rm.setCode("200");
+            rm.setMessage("操作成功,匹配洁净成功!!");
+        } catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常,请确认!!!>>>" + e.getMessage());
+        }
+        return rm;
+    }
+
     @Override
     public RESTfulResult doAddRailAINetWf
             (List<MeterWorkRailwayMotorialReceived> grossModels, List<MeterBaseRailwayAiweight> tareModels) {
@@ -4288,8 +4473,10 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
         return rm;
     }
 
+
+    ///动轨标识皮结净
     @Override
-    public RESTfulResult doAddNetInnerWf(MeterWorkRailwayMotorialReceived received, MeterBaseRailwayAiweight first) {
+    public RESTfulResult doAddNetInnerWf(MeterWorkRailwayMotorialReceived received, MeterBaseRailwayAiweight first, PreRailwayScale tempScale) {
         RESTfulResult rm = new RESTfulResult();
         rm.setFailed();
         try {
@@ -4308,100 +4495,188 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
             Assert.isTrue(received.getRailwayNo().equals(first.getRailwayNo()), "车号不一致,请重新选择!");
             //两个车号一样则匹配,否则则不匹配
             if (received.getRailwayNo().equals(first.getRailwayNo())) {
-                MeterWorkRailwayActFirst AIFirst = new MeterWorkRailwayActFirst();
-                //已使用 METER_WORK_RAILWAY_RECEIVED表状态设置为已使用
-                preRailwayScaleMapper.updateMeterWorkRailwayReceived(received.getActualFirstNo());
-
-                //将一次表中的皮重设置为已洁净
-                String firstNo = afl + meterWorkRailwayActFirstMapper.getNewID(afl);
-                AIFirst.setActualFirstNo(firstNo);
-                AIFirst.setValueFlag("2");
-                AIFirst.setRailwayNo(first.getRailwayNo());
-                AIFirst.setMeterWeight(first.getMeterWeight());
-                AIFirst.setRailwayTypeNo(first.getRailwayTypeNo());
-                AIFirst.setRailwayTypeName(first.getRailwayTypeName());
-                AIFirst.setCreateManNo(first.getCreateManNo());
-                AIFirst.setCreateManName(first.getCreateManName());
-                AIFirst.setCreateTime(first.getCreateTime());
-                AIFirst.setRailwaySpeed(first.getRailwaySpeed());
-                AIFirst.setConveyanceType(first.getRailwayType());
-                meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(AIFirst);
-
-                //作废AI标志皮
-                first.setValueFlag("1");
-                meterBaseRailwayAiweightMapper.updateByPrimaryKeySelective(first);
-
-                //新增一条毛重信息
-                MeterWorkRailwayActFirst second = new MeterWorkRailwayActFirst();
-                second.setActualFirstNo(received.getActualFirstNo());
-                second.setValueFlag("2");
-                second.setRailwayNo(received.getRailwayNo());
-                second.setRailwayCarriageNo(received.getRailwayCarriageNo());
-                second.setRailwaySpeed(received.getRailwaySpeed());
-                second.setMeterWeight(received.getMeterWeight());
-                second.setCreateTime(received.getCreateTime());
-                second.setCreateManNo(userId);
-                second.setCreateManName(userName);
-                second.setWeightType("0");
-                second.setRailwayTypeNo(received.getRailwayTypeNo());
-                second.setRailwayTypeName(received.getRailwayTypeName());
-                second.setBaseSpotNo(received.getBaseSpotNo());
-                second.setBaseSpotName(received.getBaseSpotName());
-                second.setShipmentGrossWeight(received.getShipmentGrossWeight());
-                second.setShipmentNetWeight(received.getShipmentNetWeight());
-                second.setRailwayModelName(received.getRailwayModel());
-                meterWorkRailwayActFirstMapper.insertSelective(second);
-
-                //新增一条洁净数据
-                MeterWorkRailwayActual netRail = new MeterWorkRailwayActual();
-                String netNo = meterWorkRailwayActualMapper.getNewID(afl);
-                netRail.setActualNo(afl + netNo);
-                netRail.setRailwayNo(received.getRailwayNo());
-                netRail.setRailwayCarriageNo(received.getRailwayCarriageNo());
-                netRail.setGrossWeight(received.getMeterWeight());
-                netRail.setGrossMode("1");
-                netRail.setGrossManNo(userId);
-                netRail.setGrossManName(userName);
-                netRail.setGrossTime(received.getCreateTime());
-                netRail.setGrossClass(received.getShipmentGrossWeight() + ""); //左右偏载
-                netRail.setGrossGroup(received.getShipmentNetWeight() + "");//前后偏载
-                netRail.setBaseSpot1No(received.getBaseSpotNo());
-                netRail.setBaseSpot1Name(received.getBaseSpotName());
-                netRail.setActualFirst1No(second.getActualFirstNo());
-                netRail.setRailwayTypeNo(received.getRailwayTypeNo());
-                netRail.setRailwayTypeName(received.getRailwayTypeName());
-                netRail.setConveyanceType(received.getRailwayModel());
-                //netRail.setRailwayModelName(received.getRailwayModel());
-                netRail.setTareWeight(AIFirst.getMeterWeight());
-                netRail.setTareManNo(userId);
-                netRail.setTareManName(userName);
-                netRail.setTareTime(AIFirst.getCreateTime());
-                netRail.setTareMode("1");
-                netRail.setTareClass(second.getShipmentGrossWeight() + ""); //左右偏载
-                netRail.setTareGroup(second.getShipmentNetWeight() + "");//前后偏载
-                netRail.setBaseSpot2No(second.getBaseSpotNo());
-                netRail.setBaseSpot2Name(second.getBaseSpotName());
-                netRail.setActualFirst2No(second.getActualFirstNo());
-                netRail.setNetMode("1");
-                netRail.setNetWeight(second.getMeterWeight().subtract(AIFirst.getMeterWeight()));
-                netRail.setNetTime(new Date());
-                netRail.setNetManNo(userId);
-                netRail.setNetManName(userName);
-                netRail.setNetSpot3No(received.getBaseSpotNo());
-                netRail.setNetSpot3Name(received.getBaseSpotName());
-                netRail.setValueFlag("0");
-                netRail.setUploadFlag("0");
-                netRail.setMeterTypeNo(received.getMeterTypeNo());
-                netRail.setMeterTypeName(received.getMeterTypeName());
-                int i = meterWorkRailwayActualMapper.insertSelective(netRail);
+                if(Objects.nonNull(tempScale.getPredictionNo())) {
+                    MeterWorkRailwayActFirst AIFirst = new MeterWorkRailwayActFirst();
+                    BeanUtils.copyProperties(received, AIFirst);
+
+                    Assert.isTrue(StringUtils.isNotEmpty(tempScale.getPredictionNo()), "委托编号为空");
+                    PreRailwayScale scale = preRailwayScaleMapper.selectByPrimaryKey(tempScale.getPredictionNo());
+                    Assert.isTrue(Objects.nonNull(scale), "委托信息不存在");
+
+                    //已使用 METER_WORK_RAILWAY_RECEIVED表状态设置为已使用
+                    preRailwayScaleMapper.updateMeterWorkRailwayReceived(received.getActualFirstNo());
+
+                    String firstNo = afl + meterWorkRailwayActFirstMapper.getNewID(afl);
+                    AIFirst.setActualFirstNo(firstNo);
+                    AIFirst.setValueFlag("2");
+                    AIFirst.setRailwayNo(first.getRailwayNo());
+                    AIFirst.setMeterWeight(first.getMeterWeight());
+                    AIFirst.setRailwayTypeNo(first.getRailwayTypeNo());
+                    AIFirst.setRailwayTypeName(first.getRailwayTypeName());
+                    AIFirst.setCreateManNo(userId);
+                    AIFirst.setCreateManName(userName);
+                    AIFirst.setCreateTime(new Date());
+                    AIFirst.setRailwaySpeed(first.getRailwaySpeed());
+                    AIFirst.setConveyanceType(first.getRailwayType());
+                    meterWorkRailwayActFirstMapper.insertSelective(AIFirst);
+
+                    //作废AI标志皮
+                    first.setValueFlag("1");
+                    meterBaseRailwayAiweightMapper.updateByPrimaryKeySelective(first);
+
+                    MeterWorkRailwayActFirst second = new MeterWorkRailwayActFirst();
+                    second.setActualFirstNo(received.getActualFirstNo());
+                    second.setValueFlag("2");
+                    second.setRailwayNo(received.getRailwayNo());
+                    second.setRailwayCarriageNo(received.getRailwayCarriageNo());
+                    second.setRailwaySpeed(received.getRailwaySpeed());
+                    second.setMeterWeight(received.getMeterWeight());
+                    second.setCreateTime(received.getCreateTime());
+                    second.setCreateManNo(userId);
+                    second.setCreateManName(userName);
+                    second.setWeightType("0");
+                    second.setRailwayTypeNo(received.getRailwayTypeNo());
+                    second.setRailwayTypeName(received.getRailwayTypeName());
+                    second.setBaseSpotNo(received.getBaseSpotNo());
+                    second.setBaseSpotName(received.getBaseSpotName());
+                    second.setShipmentGrossWeight(received.getShipmentGrossWeight());
+                    second.setShipmentNetWeight(received.getShipmentNetWeight());
+                    second.setRailwayModelName(received.getRailwayModel());
+                    meterWorkRailwayActFirstMapper.insertSelective(second);
+
+                    MeterWorkRailwayActual netRail = new MeterWorkRailwayActual();
+                    doMatch(second, AIFirst, scale, netRail);
+
+                    AIFirst.setRailwaySpeed(first.getRailwaySpeed());
+                    AIFirst.setConveyanceType(first.getRailwayType());
+                    meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(AIFirst);
+
+                    second.setRailwayCarriageNo(received.getRailwayCarriageNo());
+                    second.setRailwaySpeed(received.getRailwaySpeed());
+                    second.setShipmentGrossWeight(received.getShipmentGrossWeight());
+                    second.setShipmentNetWeight(received.getShipmentNetWeight());
+                    second.setRailwayModelName(received.getRailwayModel());
+                    second.setDataSource("1");
+                    second.setNote("标识皮匹配洁净");
+                    meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(second);
+
+                    netRail.setRailwayCarriageNo(received.getRailwayCarriageNo());
+                    netRail.setGrossClass(received.getShipmentGrossWeight() + ""); //左右偏载
+                    netRail.setGrossGroup(received.getShipmentNetWeight() + "");//前后偏载
+                    netRail.setTareClass(second.getShipmentGrossWeight() + ""); //左右偏载
+                    netRail.setTareGroup(second.getShipmentNetWeight() + "");//前后偏载
+                    netRail.setCreateTime(new Date());
+                    netRail.setGrossMode("1");
+                    netRail.setTareMode("1");
+                    netRail.setCreateManName(userName);
+                    netRail.setRailwayTypeNo("001019002");
+                    netRail.setRailwayTypeName("动态轨道衡");
+                    netRail.setNote("标识皮匹配洁净");
+                    netRail.setDataSource("1");
+                    meterWorkRailwayActualMapper.updateByPrimaryKeySelective(netRail);
 
-                if (i >= 1) {
                     meterWorkRailwayActFirstMapper.deleteByPrimaryKey(firstNo);
+
+                }else {
+                    MeterWorkRailwayActFirst AIFirst = new MeterWorkRailwayActFirst();
+                    //已使用 METER_WORK_RAILWAY_RECEIVED表状态设置为已使用
+                    preRailwayScaleMapper.updateMeterWorkRailwayReceived(received.getActualFirstNo());
+
+                    //将一次表中的皮重设置为已洁净
+                    String firstNo = afl + meterWorkRailwayActFirstMapper.getNewID(afl);
+                    AIFirst.setActualFirstNo(firstNo);
+                    AIFirst.setValueFlag("2");
+                    AIFirst.setRailwayNo(first.getRailwayNo());
+                    AIFirst.setMeterWeight(first.getMeterWeight());
+                    AIFirst.setRailwayTypeNo(first.getRailwayTypeNo());
+                    AIFirst.setRailwayTypeName(first.getRailwayTypeName());
+                    AIFirst.setCreateManNo(first.getCreateManNo());
+                    AIFirst.setCreateManName(first.getCreateManName());
+                    AIFirst.setCreateTime(first.getCreateTime());
+                    AIFirst.setRailwaySpeed(first.getRailwaySpeed());
+                    AIFirst.setConveyanceType(first.getRailwayType());
+                    meterWorkRailwayActFirstMapper.insertSelective(AIFirst);
+                    //作废AI标志皮
+                    first.setValueFlag("1");
+                    meterBaseRailwayAiweightMapper.updateByPrimaryKeySelective(first);
+
+                    //新增一条毛重信息
+                    MeterWorkRailwayActFirst second = new MeterWorkRailwayActFirst();
+                    second.setActualFirstNo(received.getActualFirstNo());
+                    second.setValueFlag("2");
+                    second.setRailwayNo(received.getRailwayNo());
+                    second.setRailwayCarriageNo(received.getRailwayCarriageNo());
+                    second.setRailwaySpeed(received.getRailwaySpeed());
+                    second.setMeterWeight(received.getMeterWeight());
+                    second.setCreateTime(received.getCreateTime());
+                    second.setCreateManNo(userId);
+                    second.setCreateManName(userName);
+                    second.setWeightType("0");
+                    second.setRailwayTypeNo(received.getRailwayTypeNo());
+                    second.setRailwayTypeName(received.getRailwayTypeName());
+                    second.setBaseSpotNo(received.getBaseSpotNo());
+                    second.setBaseSpotName(received.getBaseSpotName());
+                    second.setShipmentGrossWeight(received.getShipmentGrossWeight());
+                    second.setShipmentNetWeight(received.getShipmentNetWeight());
+                    second.setRailwayModelName(received.getRailwayModel());
+                    second.setDataSource("1");
+                    second.setNote("标识皮匹配洁净");
+                    meterWorkRailwayActFirstMapper.insertSelective(second);
+
+                    //新增一条洁净数据
+                    MeterWorkRailwayActual netRail = new MeterWorkRailwayActual();
+                    String netNo = meterWorkRailwayActualMapper.getNewID(afl);
+                    netRail.setActualNo(afl + netNo);
+                    netRail.setRailwayNo(received.getRailwayNo());
+                    netRail.setRailwayCarriageNo(received.getRailwayCarriageNo());
+                    netRail.setGrossWeight(received.getMeterWeight());
+                    netRail.setGrossMode("1");
+                    netRail.setGrossManNo(userId);
+                    netRail.setGrossManName(userName);
+                    netRail.setGrossTime(received.getCreateTime());
+                    netRail.setGrossClass(received.getShipmentGrossWeight() + ""); //左右偏载
+                    netRail.setGrossGroup(received.getShipmentNetWeight() + "");//前后偏载
+                    netRail.setBaseSpot1No(received.getBaseSpotNo());
+                    netRail.setBaseSpot1Name(received.getBaseSpotName());
+                    netRail.setActualFirst1No(second.getActualFirstNo());
+                    netRail.setRailwayTypeNo("001019002");
+                    netRail.setRailwayTypeName("动态轨道衡");
+                    netRail.setConveyanceType(received.getRailwayModel());
+                    //netRail.setRailwayModelName(received.getRailwayModel());
+                    netRail.setTareWeight(AIFirst.getMeterWeight());
+                    netRail.setTareManNo(userId);
+                    netRail.setTareManName(userName);
+                    netRail.setTareTime(AIFirst.getCreateTime());
+                    netRail.setTareMode("1");
+                    netRail.setTareClass(second.getShipmentGrossWeight() + ""); //左右偏载
+                    netRail.setTareGroup(second.getShipmentNetWeight() + "");//前后偏载
+                    netRail.setBaseSpot2No(second.getBaseSpotNo());
+                    netRail.setBaseSpot2Name(second.getBaseSpotName());
+                    netRail.setActualFirst2No(second.getActualFirstNo());
+                    netRail.setNetMode("1");
+                    netRail.setNetWeight(second.getMeterWeight().subtract(AIFirst.getMeterWeight()));
+                    netRail.setNetTime(new Date());
+                    netRail.setNetManNo(userId);
+                    netRail.setNetManName(userName);
+                    netRail.setNetSpot3No(received.getBaseSpotNo());
+                    netRail.setNetSpot3Name(received.getBaseSpotName());
+                    netRail.setValueFlag("1");
+                    netRail.setUploadFlag("0");
+                    netRail.setMeterTypeNo(received.getMeterTypeNo());
+                    netRail.setMeterTypeName(received.getMeterTypeName());
+                    netRail.setCreateTime(new Date());
+                    netRail.setCreateManName(userName);
+                    netRail.setNote("标识皮匹配洁净");
+                    netRail.setDataSource("1");
+                    int i = meterWorkRailwayActualMapper.insertSelective(netRail);
+                    if(i >= 1) {
+                        meterWorkRailwayActFirstMapper.deleteByPrimaryKey(firstNo);
+                    }
                 }
             }
             rm.setSucceed();
             rm.setCode("200");
-            rm.setMessage("操作成功,匹配AI标志皮洁净成功!!");
+            rm.setMessage("操作成功,匹配AI标皮洁净成功!!");
         } catch (Exception e) {
             e.printStackTrace();
             rm.setMessage("操作异常,请确认!!!>>>" + e.getMessage());
@@ -4409,6 +4684,7 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
         return rm;
     }
 
+    ///动态衡标准皮结净
     @Override
     public RESTfulResult doAddNetWeight(MeterWorkRailwayMotorialReceived received, MeterBaseRailwayCarriageWeight first01, PreRailwayScale tempScale) {
         RESTfulResult rm = new RESTfulResult();
@@ -4426,18 +4702,84 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
                 userName = "admins";
             }
             MeterWorkRailwayActFirst first = new MeterWorkRailwayActFirst();
-            BeanUtils.copyProperties(first, received);
+            BeanUtils.copyProperties(received, first);
 
-            Assert.isTrue(received.getRailwayNo().equals(first.getRailwayNo()), "车号不一致,请重新选择!");
             //两个车号一样则匹配,否则则不匹配
             if (received.getRailwayNo().equals(first.getRailwayNo())) {
                 MeterWorkRailwayActFirst AIFirst = new MeterWorkRailwayActFirst();
 
-                if(Objects.nonNull(tempScale)) {
-                    Assert.isTrue(Objects.nonNull(tempScale.getPredictionNo()) && StringUtils.isNotEmpty(tempScale.getPredictionNo()), "秤点编号为空");
+                if(tempScale.getPredictionNo() != null) {
+                    Assert.isTrue(StringUtils.isNotEmpty(tempScale.getPredictionNo()), "委托编号为空");
                     PreRailwayScale scale = preRailwayScaleMapper.selectByPrimaryKey(tempScale.getPredictionNo());
                     Assert.isTrue(Objects.nonNull(scale), "委托信息不存在");
 
+                    //已使用 METER_WORK_RAILWAY_RECEIVED表状态设置为已使用
+                    preRailwayScaleMapper.updateMeterWorkRailwayReceived(received.getActualFirstNo());
+
+                    //将一次表中的皮重设置为已洁净
+                    AIFirst.setActualFirstNo(afl + meterWorkRailwayActFirstMapper.getNewID(afl));
+                    AIFirst.setValueFlag("2");
+                    AIFirst.setCreateTime(new Date());
+                    AIFirst.setCreateManNo(userId);
+                    AIFirst.setCreateManName(userName);
+                    AIFirst.setBaseSpotNo(received.getBaseSpotNo());
+                    AIFirst.setBaseSpotName(received.getBaseSpotName());
+                    AIFirst.setMeterWeight(new BigDecimal(first01.getCarriageWeight()));
+                    AIFirst.setConveyanceType(first01.getCarriageCode());
+                    meterWorkRailwayActFirstMapper.insertSelective(AIFirst);
+
+
+                    MeterWorkRailwayActFirst second = new MeterWorkRailwayActFirst();
+                    second.setActualFirstNo(received.getActualFirstNo());
+                    second.setValueFlag("2");
+                    second.setRailwayNo(received.getRailwayNo());
+                    second.setRailwayCarriageNo(received.getRailwayCarriageNo());
+                    second.setRailwaySpeed(received.getRailwaySpeed());
+                    second.setMeterWeight(received.getMeterWeight());
+                    second.setCreateTime(received.getCreateTime());
+                    second.setCreateManNo(userId);
+                    second.setCreateManName(userName);
+                    second.setWeightType("0");
+                    second.setRailwayTypeNo(received.getRailwayTypeNo());
+                    second.setRailwayTypeName(received.getRailwayTypeName());
+                    second.setBaseSpotNo(received.getBaseSpotNo());
+                    second.setBaseSpotName(received.getBaseSpotName());
+                    second.setShipmentGrossWeight(received.getShipmentGrossWeight());
+                    second.setShipmentNetWeight(received.getShipmentNetWeight());
+                    second.setRailwayModelName(received.getRailwayModel());
+                    second.setDataSource("1");
+                    second.setNote("标准皮匹配洁净");
+                    meterWorkRailwayActFirstMapper.insertSelective(second);
+
+                    MeterWorkRailwayActual netRail = new MeterWorkRailwayActual();
+                    doMatch(second, AIFirst, scale, netRail);
+
+                    second.setRailwaySpeed(received.getRailwaySpeed());
+                    second.setRailwayCarriageNo(received.getRailwayCarriageNo());
+                    second.setShipmentGrossWeight(received.getShipmentGrossWeight());
+                    second.setShipmentNetWeight(received.getShipmentNetWeight());
+                    second.setRailwayModelName(received.getRailwayModel());
+                    second.setDataSource("1");
+                    second.setNote("标准皮匹配洁净");
+                    meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(second);
+
+                    netRail.setRailwayCarriageNo(received.getRailwayCarriageNo());
+                    netRail.setGrossMode("1");
+                    netRail.setGrossClass(received.getShipmentGrossWeight() + ""); //左右偏载
+                    netRail.setGrossGroup(received.getShipmentNetWeight() + "");//前后偏载
+                    netRail.setConveyanceType(received.getRailwayModel());
+                    netRail.setTareMode("1");
+                    netRail.setTareClass(second.getShipmentGrossWeight() + ""); //左右偏载
+                    netRail.setTareGroup(second.getShipmentNetWeight() + "");//前后偏载
+                    netRail.setNetMode("1");
+                    netRail.setCreateTime(new Date());
+                    netRail.setCreateManName(userName);
+                    netRail.setNote("标准皮匹配洁净");
+                    netRail.setDataSource("1");
+                    meterWorkRailwayActualMapper.updateByPrimaryKeySelective(netRail);
+
+                    meterWorkRailwayActFirstMapper.deleteByPrimaryKey(AIFirst.getActualFirstNo());
+
                 }else{
                     //已使用 METER_WORK_RAILWAY_RECEIVED表状态设置为已使用
                     preRailwayScaleMapper.updateMeterWorkRailwayReceived(received.getActualFirstNo());
@@ -4446,9 +4788,14 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
                     String firstNo = afl + meterWorkRailwayActFirstMapper.getNewID(afl);
                     AIFirst.setActualFirstNo(firstNo);
                     AIFirst.setValueFlag("2");
+                    AIFirst.setCreateTime(new Date());
+                    AIFirst.setCreateManNo(userId);
+                    AIFirst.setCreateManName(userName);
+                    AIFirst.setBaseSpotNo(received.getBaseSpotNo());
+                    AIFirst.setBaseSpotName(received.getBaseSpotName());
                     AIFirst.setMeterWeight(new BigDecimal(first01.getCarriageWeight()));
                     AIFirst.setConveyanceType(first01.getCarriageCode());
-                    meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(AIFirst);
+                    meterWorkRailwayActFirstMapper.insertSelective(AIFirst);
 
                     //新增一条毛重信息
                     MeterWorkRailwayActFirst second = new MeterWorkRailwayActFirst();
@@ -4469,6 +4816,8 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
                     second.setShipmentGrossWeight(received.getShipmentGrossWeight());
                     second.setShipmentNetWeight(received.getShipmentNetWeight());
                     second.setRailwayModelName(received.getRailwayModel());
+                    second.setDataSource("1");
+                    second.setNote("标准皮匹配洁净");
                     meterWorkRailwayActFirstMapper.insertSelective(second);
 
                     //新增一条洁净数据
@@ -4487,8 +4836,8 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
                     netRail.setBaseSpot1No(received.getBaseSpotNo());
                     netRail.setBaseSpot1Name(received.getBaseSpotName());
                     netRail.setActualFirst1No(second.getActualFirstNo());
-                    netRail.setRailwayTypeNo(received.getRailwayTypeNo());
-                    netRail.setRailwayTypeName(received.getRailwayTypeName());
+                    netRail.setRailwayTypeNo("001019002");
+                    netRail.setRailwayTypeName("动态轨道衡");
                     netRail.setConveyanceType(received.getRailwayModel());
                     //netRail.setRailwayModelName(received.getRailwayModel());
                     netRail.setTareWeight(AIFirst.getMeterWeight());
@@ -4500,7 +4849,7 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
                     netRail.setTareGroup(second.getShipmentNetWeight() + "");//前后偏载
                     netRail.setBaseSpot2No(second.getBaseSpotNo());
                     netRail.setBaseSpot2Name(second.getBaseSpotName());
-                    netRail.setActualFirst2No(second.getActualFirstNo());
+                    netRail.setActualFirst2No(AIFirst.getActualFirstNo());
                     netRail.setNetMode("1");
                     netRail.setNetWeight(second.getMeterWeight().subtract(AIFirst.getMeterWeight()));
                     netRail.setNetTime(new Date());
@@ -4508,15 +4857,17 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
                     netRail.setNetManName(userName);
                     netRail.setNetSpot3No(received.getBaseSpotNo());
                     netRail.setNetSpot3Name(received.getBaseSpotName());
-                    netRail.setValueFlag("0");
+                    netRail.setValueFlag("1");
                     netRail.setUploadFlag("0");
                     netRail.setMeterTypeNo(received.getMeterTypeNo());
                     netRail.setMeterTypeName(received.getMeterTypeName());
-                    int i = meterWorkRailwayActualMapper.insertSelective(netRail);
+                    netRail.setCreateTime(new Date());
+                    netRail.setCreateManName(userName);
+                    netRail.setNote("标准皮匹配洁净");
+                    netRail.setDataSource("1");
+                    meterWorkRailwayActualMapper.insertSelective(netRail);
 
-                    if (i >= 1) {
-                        meterWorkRailwayActFirstMapper.deleteByPrimaryKey(firstNo);
-                    }
+                    meterWorkRailwayActFirstMapper.deleteByPrimaryKey(AIFirst.getActualFirstNo());
                 }
             }
             rm.setSucceed();
@@ -4529,6 +4880,100 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
         return rm;
     }
 
+    //一次记录进行洁净,根据scale进行有委托或者无委托洁净
+    public void doMatch(MeterWorkRailwayActFirst grossModel, MeterWorkRailwayActFirst tareModel, PreRailwayScale scale, MeterWorkRailwayActual actualRow) {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+        if(scale != null) {
+            MeterWorkRailwayActFirst actFirst01 = meterWorkRailwayActFirstMapper.selectAndMatch(grossModel.getActualFirstNo(), scale.getPredictionNo());
+            BeanUtils.copyProperties(actFirst01, grossModel);
+            MeterWorkRailwayActFirst actFirst02 = meterWorkRailwayActFirstMapper.selectAndMatch(tareModel.getActualFirstNo(), scale.getPredictionNo());
+            BeanUtils.copyProperties(actFirst02, tareModel);
+
+            //更新预报数据
+            scale.setValueFlag(DbConstants.NET);
+    //        scale.setUpdateTime(new Date());
+    //        scale.setUpdateManNo("system");
+    //        scale.setUpdateManName("自助计量洁净更新");
+            scale.setUploadFlag("1");
+            scale.setPredictionType("1");
+            preRailwayScaleMapper.updateByPrimaryKeySelective(scale);
+
+            //更新一次数据
+            //更新第一次毛重数据库
+            grossModel.setValueFlag(DbConstants.NET);
+    //        grossModel.setUpdateManName("system");
+    //        grossModel.setUpdateManName("智能计量双委托洁净更新");
+    //        grossModel.setUpdateTime(new Date());
+            grossModel.setWeightType("0");
+            grossModel.setIsPreSacale("1");
+            grossModel.setPredictionNo(scale.getPredictionNo());
+            grossModel.setPredictionType("1");
+            meterWorkRailwayActFirstMapper.updateByPrimaryKey(grossModel);
+            //更新第一次皮重数据库
+            tareModel.setValueFlag(DbConstants.NET);
+    //        tareModel.setUpdateManName("system");
+    //        tareModel.setUpdateManName("自助计量洁净更新");
+    //        tareModel.setUpdateTime(new Date());
+            tareModel.setWeightType("1");
+            tareModel.setIsPreSacale("1");
+            tareModel.setPredictionNo(scale.getPredictionNo());
+            tareModel.setPredictionType("1");
+            meterWorkRailwayActFirstMapper.updateByPrimaryKey(tareModel);
+
+            //将委托中的编号和收发货单位和一次数据等数据拷贝进结净数据中
+            MeterWorkRailwayActual mwca1 = meterWorkRailwayActualMapper.manualAddPre(grossModel.getActualFirstNo(), tareModel.getActualFirstNo(), scale.getPredictionNo());
+            BeanUtils.copyProperties(mwca1, actualRow);
+
+            //添加结净数据
+            actualRow.setActualNo(sdf.format(new Date()) + meterWorkRailwayActualMapper.getNewID(sdf.format(new Date())));
+            actualRow.setNetTime(new Date());
+            actualRow.setNetMode(DbConstants.TYPE);
+//            actualRow.setNote("自助计量匹配洁净");
+            actualRow.setNetMode("1");
+            actualRow.setUploadFlag("1");
+            actualRow.setValueFlag("1");
+            actualRow.setIsPreSacale("1");
+            actualRow.setPredictionNo(scale.getPredictionNo());
+            actualRow.setPredictionType("1");
+            actualRow.setNetWeight(grossModel.getMeterWeight().subtract(tareModel.getMeterWeight()));
+            meterWorkRailwayActualMapper.insertSelective(actualRow);
+        } else {
+            //更新第一次毛重数据库
+            grossModel.setValueFlag(DbConstants.NET);
+    //        grossModel.setUpdateManName("system");
+    //        grossModel.setUpdateManName("自助计量洁净更新");
+    //        grossModel.setUpdateTime(new Date());
+            grossModel.setWeightType("0");
+            grossModel.setIsPreSacale("0");
+            meterWorkRailwayActFirstMapper.updateByPrimaryKey(grossModel);
+            //更新第一次皮重数据库
+            tareModel.setValueFlag(DbConstants.NET);
+    //        tareModel.setUpdateManName("system");
+    //        tareModel.setUpdateManName("自助计量洁净更新");
+    //        tareModel.setUpdateTime(new Date());
+            tareModel.setWeightType("1");
+            tareModel.setIsPreSacale("0");
+            meterWorkRailwayActFirstMapper.updateByPrimaryKey(tareModel);
+
+            //将委托中的编号和收发货单位和一次数据等数据拷贝进结净数据中
+            MeterWorkRailwayActual mwca1 = meterWorkRailwayActualMapper.manualAdd(grossModel.getActualFirstNo(), tareModel.getActualFirstNo());
+            BeanUtils.copyProperties(mwca1, actualRow);
+
+            //添加结净数据
+            String no = meterWorkRailwayActualMapper.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.setIsPreSacale("0");
+            actualRow.setNetWeight(grossModel.getMeterWeight().subtract(tareModel.getMeterWeight()));
+            meterWorkRailwayActualMapper.insertSelective(actualRow);
+        }
+    }
+
     @Override
     public RESTfulResult selfServiceMeasurement(MeterWorkRailwayActFirst first) {
         RESTfulResult rm = new RESTfulResult();

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

@@ -113,6 +113,19 @@ public class MeterWorkRailwayActualController extends BaseRESTfulController {
         }
     }
 
+    @ApiOperation(value = "自动获取轨道衡打印信息", notes = "根据车号、收发货单位获取打印信息")
+    //@RequiresPermissions("meterworkrailwayactual:view")
+    @GetMapping(value = "/autoPrintRailway/")
+    public RESTfulResult autoPrintRailway(@RequestParam HashMap params) {
+        try {
+            RESTfulResult rm  = meterWorkRailwayActualService.autoPrintRailway(params);
+            return rm;
+        } catch (Exception ex) {
+            ex.printStackTrace();
+            throw new MarkerMetException(500, "操作异常!!");
+        }
+    }
+
     @ApiOperation(value = "创建", notes = "根据MeterWorkRailwayActual对象创建")
     @ApiImplicitParam(name = "meterWorkRailwayActual", value = "详细实体meterWorkRailwayActual", required = true, dataType = "MeterWorkRailwayActual")
     //@RequiresPermissions("meterworkrailwayactual:create")

+ 1 - 0
src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/mapper/MeterWorkRailwayActualMapper.java

@@ -50,4 +50,5 @@ public interface MeterWorkRailwayActualMapper extends IBaseMapper<MeterWorkRailw
     List<MeterWorkRailwayActual> likeByDesc(Map<String, Object> params);
 
     List<MeterWorkRailwayActual> selectByAcatualFristNo(Map<String, Object> params);
+    List<MeterWorkRailwayActual> autoPrintRailway(Map<String, Object> params);
 }

+ 15 - 1
src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/mapper/MeterWorkRailwayActualMapper.xml

@@ -3031,7 +3031,7 @@
            t.net_man_name,t.net_time,t.net_spot3_no,t.net_spot3_name,t.net_class,t.net_group,
            t.net_mode,t.value_flag,t.upload_flag,t.check_man_no,t.check_man_name,t.check_time,
            t.upload_man_no,t.upload_man_name,t.upload_time,t.sample_no,t.railway_type_no,t.data_source,
-           t.railway_type_name, t.memo,t.water_num,t1.arrival,t1.station,t.update_man_no,
+           t.railway_type_name, t.memo,t.water_num,t1.arrival,t1.station,t.update_man_no, t.create_time, t.create_man_name,
            t.update_man_name, t.update_time,t.source_area
     from meter_work_railway_actual t, pre_railway_scale t1 where t.actual_no = #{actualNo,jdbcType=VARCHAR} and t1.prediction_no = #{predictionNo,jdbcType=VARCHAR}
   </select>
@@ -4051,4 +4051,18 @@
     actual_first1_no = #{actualFirstNo} or
     actual_first2_no = #{actualFirstNo}
   </select>
+
+  <select id="autoPrintRailway" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select" />
+    where 1 = 1
+        <if test="railwayNo != null and railwayNo != ''">
+            and railway_no like '%railwayNo%'
+        </if>
+        and value_flag != '0'
+        and forwarding_unit_no in
+        <foreach collection="list" item="item" separator="," open="(" close=")">
+            #{item}
+        </foreach>
+        order by net_time desc
+  </select>
 </mapper>

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

@@ -89,4 +89,6 @@ public interface IMeterWorkRailwayActualService extends IBaseService<MeterWorkRa
     PageList<MeterWorkRailwayActual> likeByDesc(Map<String, Object> parameters, Integer pageNum, Integer pageSize);
 
     RESTfulResult batchUpdateLcNo(List<MeterWorkRailwayActual> models);
+    RESTfulResult autoPrintRailway(HashMap<String, Object> map);
+
 }

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

@@ -1,5 +1,6 @@
 package com.steerinfo.meterwork.meterworkrailwayactual.service.impl;
 
+import com.steerinfo.baseinfo.combaseinfo.mapper.ComBaseInfoMapper;
 import com.steerinfo.baseinfo.meterbaserailwayweight.mapper.MeterBaseRailwayWeightMapper;
 import com.steerinfo.baseinfo.meterbaserailwayweight.model.MeterBaseRailwayWeight;
 import com.steerinfo.framework.controller.RESTfulResult;
@@ -67,6 +68,9 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
     @Resource
     private PreRailwayScaleMapper preRailwayScaleMapper;
 
+    @Resource
+    private ComBaseInfoMapper comBaseInfoMapper;
+
     //二次计量方法,用于检化验接口表
     @Autowired
     IMeterWorkRailwayActFirstService meterWorkRailwayActFirstService;
@@ -1938,4 +1942,27 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
         }
         return rm;
     }
+
+    @Override
+    public RESTfulResult autoPrintRailway(HashMap<String, Object> params) {
+        RESTfulResult rm = new RESTfulResult();
+        rm.setFailed();
+        try {
+            //查询配置表所有发货单位编号
+            HashMap<String, Object> obj = new HashMap<>();
+            obj.put("pBaseCode", "001038");
+            List<String> matterModels = comBaseInfoMapper.matterNoByBaseCode(obj);
+            params.put("list", matterModels);
+            List<MeterWorkRailwayActual> actualModels = meterWorkRailwayActualMapper.autoPrintRailway(obj);
+
+            rm.setSucceed();
+            rm.setCode("200");
+            rm.setData(actualModels);
+            rm.setMessage("操作成功,总共"+ actualModels.size() +"条数据!!");
+        }catch(Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常!!>>>" + e.getMessage());
+        }
+        return rm;
+    }
 }