dengyj 3 роки тому
батько
коміт
8da4c3b910
16 змінених файлів з 954 додано та 36 видалено
  1. 2 4
      src/main/java/com/steerinfo/meterwork/meterworkimage/controller/MeterWorkImageController.java
  2. 2 2
      src/main/java/com/steerinfo/meterwork/meterworkimage/service/IMeterWorkImageService.java
  3. 30 14
      src/main/java/com/steerinfo/meterwork/meterworkimage/service/impl/MeterWorkImageServiceImpl.java
  4. 96 0
      src/main/java/com/steerinfo/meterwork/meterworkoldandnew/controller/MeterWorkOldAndNew.java
  5. 14 1
      src/main/java/com/steerinfo/meterwork/meterworkoldandnew/mapper/MeterWorkOldAndNewMapper.java
  6. 385 8
      src/main/java/com/steerinfo/meterwork/meterworkoldandnew/mapper/MeterWorkOldAndNewMapper.xml
  7. 14 1
      src/main/java/com/steerinfo/meterwork/meterworkoldandnew/service/IMeterWorkOldAndNewService.java
  8. 33 0
      src/main/java/com/steerinfo/meterwork/meterworkoldandnew/service/impl/MeterWorkOldAndNewService.java
  9. 42 0
      src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/controller/MeterWorkRailwayActualController.java
  10. 5 0
      src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/service/IMeterWorkRailwayActualService.java
  11. 226 3
      src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/service/impl/MeterWorkRailwayActualServiceImpl.java
  12. 18 0
      src/main/java/com/steerinfo/meterwork/meterworkrailwayreceived/controller/MeterWorkRailwayReceivedController.java
  13. 1 0
      src/main/java/com/steerinfo/meterwork/meterworkrailwayreceived/service/IMeterWorkRailwayReceivedService.java
  14. 82 1
      src/main/java/com/steerinfo/meterwork/meterworkrailwayreceived/service/impl/MeterWorkRailwayReceivedServiceImpl.java
  15. 2 2
      src/main/java/com/steerinfo/pretrack/prerailwayscale/mapper/PreRailwayScaleMapper.xml
  16. 2 0
      src/main/java/com/steerinfo/util/SSOUtil.java

+ 2 - 4
src/main/java/com/steerinfo/meterwork/meterworkimage/controller/MeterWorkImageController.java

@@ -143,8 +143,7 @@ public class MeterWorkImageController extends BaseRESTfulController {
     public RESTfulResult getUrl(@RequestParam String actualFirstNo) {
         RESTfulResult rm = failed();
         try {
-            ArrayList<String> urls = meterWorkImageService.queryRailwayUrl(actualFirstNo);
-            return success(urls);
+            rm = meterWorkImageService.queryRailwayUrl(actualFirstNo);
         } catch (MarkerMetException e) {
             e.printStackTrace();
             rm.setCode("200");
@@ -163,8 +162,7 @@ public class MeterWorkImageController extends BaseRESTfulController {
     public RESTfulResult getRailwayUrl(@RequestParam String actualFirstNo) {
         RESTfulResult rm = failed();
         try {
-            ArrayList<String> urls = meterWorkImageService.queryUrl(actualFirstNo);
-            return success(urls);
+            rm = meterWorkImageService.queryUrl(actualFirstNo);
         } catch (MarkerMetException e) {
             e.printStackTrace();
             rm.setCode("200");

+ 2 - 2
src/main/java/com/steerinfo/meterwork/meterworkimage/service/IMeterWorkImageService.java

@@ -23,9 +23,9 @@ import java.util.HashMap;
  */
 public interface IMeterWorkImageService extends IBaseService<MeterWorkImage, String>{
 
-    ArrayList<String> queryUrl(String actualFirstNo);
+    RESTfulResult queryUrl(String actualFirstNo);
 
-    ArrayList<String> queryRailwayUrl(String actualFirstNo);
+    RESTfulResult queryRailwayUrl(String actualFirstNo);
     RESTfulResult getRailwayImageUrl(HashMap<String, Object> map);
     RESTfulResult getRailwayActualImageUrl(HashMap<String, Object> map);
 

+ 30 - 14
src/main/java/com/steerinfo/meterwork/meterworkimage/service/impl/MeterWorkImageServiceImpl.java

@@ -52,15 +52,19 @@ public class MeterWorkImageServiceImpl extends BaseServiceImpl<MeterWorkImage, S
     protected IBaseMapper<MeterWorkImage, String> getMapper() {
         return meterWorkImageMapper;
     }
-    public ArrayList<String> queryUrl(String actualFirstNo)
+    public RESTfulResult queryUrl(String actualFirstNo)
     {
+        RESTfulResult rm = new RESTfulResult();
+        rm.setFailed();
         try {
             if (actualFirstNo == null || "".equals(actualFirstNo)) {
-                throw  new MarkerMetException(0,"计量作业编号为空!!");
+                rm.setMessage("计量作业编号为空!!");
+                return rm;
             }
             MeterWorkImage mwi = meterWorkImageMapper.selectByPrimaryKey(actualFirstNo);
             if(mwi==null) {
-                throw  new MarkerMetException(0,"该计量作业编号不存在图片!!");
+                rm.setMessage("该计量作业编号不存在图片!!");
+                return rm;
             }
             ArrayList<String> urls=new ArrayList<>();
             if (mwi.getImageFile1() != null && !mwi.getImageFile1().equals("")) {
@@ -95,23 +99,30 @@ public class MeterWorkImageServiceImpl extends BaseServiceImpl<MeterWorkImage, S
                 String no = mwi.getImageFile8();
                 urls.add(no);
             }
-            return urls;
-        } catch (MarkerMetException e){
-             throw  e;
+            rm.setSucceed();
+            rm.setCode("200");
+            rm.setMessage("操作成功");
+            rm.setData(urls);
+        } catch (Exception e){
+             e.printStackTrace();
+             rm.setMessage(e.getMessage());
         }
-
+        return rm;
     }
 
     @Override
-    public ArrayList<String> queryRailwayUrl(String actualFirstNo) {
-
+    public RESTfulResult queryRailwayUrl(String actualFirstNo) {
+        RESTfulResult rm = new RESTfulResult();
+        rm.setFailed();
         try {
             if (actualFirstNo == null || "".equals(actualFirstNo)) {
-                throw  new MarkerMetException(0,"计量作业编号为空!!");
+                rm.setMessage("计量作业编号为空!!");
+                return rm;
             }
             MeterWorkImage mwi = meterWorkImageMapper.selectByPrimaryKey(actualFirstNo);
             if(mwi==null) {
-                throw  new MarkerMetException(0,"该计量作业编号不存在图片!!");
+                rm.setMessage("该计量作业编号不存在图片!!");
+                return rm;
             }
             ArrayList<String> urls=new ArrayList<>();
             if (mwi.getImageFile1() != null && !mwi.getImageFile1().equals("")) {
@@ -146,10 +157,15 @@ public class MeterWorkImageServiceImpl extends BaseServiceImpl<MeterWorkImage, S
                 String no = mwi.getImageFile8();
                 urls.add(no);
             }
-            return urls;
-        } catch (MarkerMetException e){
-            throw  e;
+            rm.setSucceed();
+            rm.setCode("200");
+            rm.setMessage("操作成功");
+            rm.setData(urls);
+        } catch (Exception e){
+            e.printStackTrace();
+            rm.setMessage(e.getMessage());
         }
+        return rm;
     }
 
     @Override

+ 96 - 0
src/main/java/com/steerinfo/meterwork/meterworkoldandnew/controller/MeterWorkOldAndNew.java

@@ -321,6 +321,102 @@ public class MeterWorkOldAndNew extends BaseRESTfulController {
         return rm;
     }
 
+    /*
+     * 动态轨道衡新老系统查询接口
+     */
+    @ApiOperation(value="查询轨道衡结净老系统和新系统", notes="返回List<HashMap>对象")
+    @PostMapping(value = "/railwaydynamic/doQueryOldAndNew2")
+    public RESTfulResult doQueryRailwayDynamicOldAndNew2(@RequestBody HashMap params) {
+        RESTfulResult rm = success();
+        try {
+            //PageHelper.startPage(Integer.parseInt(params.get("pageNum").toString()), Integer.parseInt(params.get("pageSize").toString()));
+
+            // 新系统结净数据
+            List<HashMap> newList = meterWorkOldAndNewService.getRailwayDynamicNew(params);
+
+            // 老系统结净数据
+            List<HashMap> oldList = meterWorkOldAndNewService.getRailwayDynamicOld(params);
+
+            // 新老系统数据联合查询
+            List<HashMap> totalList = Stream.of(newList, oldList)
+                    .flatMap(x -> x.stream())
+                    .collect(Collectors.toList());
+
+            PageList pageInfo = this.helpPage(params, totalList);
+            rm.setCode("200");
+            rm.setMessage("操作成功!!");
+            rm.setData(pageInfo);
+        }catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常:>>>" + e.getMessage());
+        }
+        return rm;
+    }
+
+    /*
+     * 动态轨道衡新老计量系统联合查询接口
+     */
+    @ApiOperation(value="查询轨道衡结净老系统和新系统", notes="返回List<HashMap>对象")
+    @PostMapping(value = "/railwaydynamic/doQueryFirstOldAndNew2")
+    public RESTfulResult doQueryRailwayDynamicFirstOldAndNew2(@RequestBody HashMap params) {
+        RESTfulResult rm = success();
+        try {
+
+            // 新系统结净数据
+            List<HashMap> newList = meterWorkOldAndNewService.getRailwayDynamicFirstNew(params);
+
+            // 老系统结净数据
+            List<HashMap> oldList = meterWorkOldAndNewService.getRailwayDynamicFirstOld(params);
+
+            // 新老系统数据联合查询
+            List<HashMap> totalList = Stream.of(newList, oldList)
+                    .flatMap(x -> x.stream())
+                    .collect(Collectors.toList());
+
+
+            //PageHelper.startPage(Integer.parseInt(params.get("pageNum").toString()), 200);
+
+            PageList pageInfo = this.helpPage(params, totalList);
+            rm.setCode("200");
+            rm.setMessage("操作成功!!");
+            rm.setData(pageInfo);
+        }catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常:>>>" + e.getMessage());
+        }
+        return rm;
+    }
+
+    @ApiOperation(value="统计结净老系统和新系统", notes="返回List<HashMap>对象")
+    @PostMapping(value = "/railwaydynamic/countOldAndNew2")
+    public RESTfulResult countRailwayDynamicOldAndNew2(@RequestBody HashMap params) {
+        RESTfulResult rm = success();
+        try {
+            //PageHelper.startPage(Integer.parseInt(params.get("pageNum").toString()), Integer.parseInt(params.get("pageSize").toString()));
+
+            // 新系统结净数据
+            List<HashMap> newList = meterWorkOldAndNewService.countRailwayDynamicNew(params);
+
+            // 老系统结净数据
+            List<HashMap> oldList = meterWorkOldAndNewService.countRailwayDynamicOld(params);
+
+            // 新老系统数据联合查询
+            List<HashMap> totalList = Stream.of(newList, oldList)
+                    .flatMap(x -> x.stream())
+                    .collect(Collectors.toList());
+
+            //List<HashMap> oldAndNewList = meterWorkCarActualMapper.countOldAndNew(params);
+            PageList pageInfo = this.helpPage(params, totalList);
+            rm.setCode("200");
+            rm.setMessage("操作成功!!");
+            rm.setData(pageInfo);
+        }catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常:>>>" + e.getMessage());
+        }
+        return rm;
+    }
+
     private PageList helpPage(HashMap params, List<HashMap> totalList){
         Integer pageNo = Integer.parseInt(params.get("pageNum").toString());
         Integer pageSize = Integer.parseInt(params.get("pageSize").toString());

+ 14 - 1
src/main/java/com/steerinfo/meterwork/meterworkoldandnew/mapper/MeterWorkOldAndNewMapper.java

@@ -26,7 +26,7 @@ public interface MeterWorkOldAndNewMapper {
 
     List<HashMap> countOld(Map<String, Object> params);
 
-    // 轨道衡联合查询
+    // 静态轨道衡联合查询
     List<HashMap> doQueryRailwayNew(Map<String, Object> params);
 
     List<HashMap> doQueryRailwayOld(Map<String, Object> params);
@@ -38,4 +38,17 @@ public interface MeterWorkOldAndNewMapper {
     List<HashMap> countRailwayNew(Map<String, Object> params);
 
     List<HashMap> countRailwayOld(Map<String, Object> params);
+
+    // 动态轨道衡联合查询
+    List<HashMap> doQueryRailwayDynamicNew(Map<String, Object> params);
+
+    List<HashMap> doQueryRailwayDynamicOld(Map<String, Object> params);
+
+    List<HashMap> doQueryRailwayDynamicFirstNew(Map<String, Object> params);
+
+    List<HashMap> doQueryRailwayDynamicFirstOld(Map<String, Object> params);
+
+    List<HashMap> countRailwayDynamicNew(Map<String, Object> params);
+
+    List<HashMap> countRailwayDynamicOld(Map<String, Object> params);
 }

+ 385 - 8
src/main/java/com/steerinfo/meterwork/meterworkoldandnew/mapper/MeterWorkOldAndNewMapper.xml

@@ -91,12 +91,12 @@
         fs_senderRemark sender_remark,
         '老系统' as REMARK
         from jgweight.view_car_net
-        where FS_NETWEIGHTTIME > to_date('2022-07-21','YYYY-MM-DD') AND FS_DELETEDTAG='N'
+        where FS_DELETEDTAG='N'
         and fs_noticeId is not null
         <if test="remark != null and remark != ''">
             and '老系统' LIKE '%${remark}%'
         </if>
-        <if test="predictionNo != null and predictionNo != ''">
+        <if test="predictionNo != null and predictionNo != ''">Dynamic
             and fs_noticeId LIKE '%${predictionNo}%'
         </if>
         <if test="senderRemark != null and senderRemark != ''">
@@ -372,6 +372,7 @@
         </if>
     </select>
 
+    <!--静态轨道衡-->
     <select id="doQueryRailwayNew" parameterType="java.util.HashMap" resultType="HashMap">
         select RAILWAY_NO,
         PREDICTION_NO,
@@ -393,7 +394,7 @@
         MATTER_NAME,
         '新系统' as remark
         from METER_WORK_RAILWAY_ACTUAL
-        where VALUE_FLAG in ('2') and RAILWAY_TYPE_NO = '001019001'
+        where VALUE_FLAG in ('2') and RAILWAY_TYPE_NO = '001019002'
         <if test="remark != null and remark != ''">
             and '新系统' LIKE '%${remark}%'
         </if>
@@ -461,7 +462,7 @@ FS_RECEIVERNAME RECEIVING_UINT_NAME,
 FS_RECEIVERREMARK RECEIVER_REMARK,
 FS_MATERIALNAME MATTER_NAME,
 '老系统' as remark
-from JGWEIGHT.VIEW_TRAIN_NET
+from JGWEIGHT.VIEW_TRAIN_DYNAMIC_NET
 where FS_ISVALID = '1' and FS_DELETEDTAG = 'N' and (FS_BALANCETYPE='静态' or FS_BALANCETYPE='铁水轨道衡')
         <if test="remark != null and remark != ''">
             and '老系统' LIKE '%${remark}%'
@@ -527,7 +528,7 @@ where FS_ISVALID = '1' and FS_DELETEDTAG = 'N' and (FS_BALANCETYPE='静态' or F
         sender_remark,
         '新系统' remark
         from meter_work_railway_act_first
-        where VALUE_FLAG in ('2') and RAILWAY_TYPE_NO = '001019001'
+        where VALUE_FLAG in ('2') and RAILWAY_TYPE_NO = '001019002'
         <if test="remark != null and remark != ''">
             and '新系统' LIKE '%${remark}%'
         </if>
@@ -585,7 +586,7 @@ where FS_ISVALID = '1' and FS_DELETEDTAG = 'N' and (FS_BALANCETYPE='静态' or F
         FS_materialName matter_name,
         FS_SENDERREMARK sender_remark,
         '老系统' remark
-        from jgweight.VIEW_TRAIN_FIRST
+        from jgweight.VIEW_TRAIN_DYNAMIC_FIRST
         where FS_DELETEDTAG='N' and FS_BALANCETYPE='静态'
         <if test="remark != null and remark != ''">
             and '老系统' LIKE '%${remark}%'
@@ -644,7 +645,7 @@ where FS_ISVALID = '1' and FS_DELETEDTAG = 'N' and (FS_BALANCETYPE='静态' or F
         '新系统' remark
         from METER_WORK_RAILWAY_ACTUAL
         where 1= 1
-        and VALUE_FLAG in ('2') and RAILWAY_TYPE_NO = '001019001'
+        and VALUE_FLAG in ('2') and RAILWAY_TYPE_NO = '001019002'
         <if test="startTime != null and endTime != null and startTime != '' and endTime != ''">
             and net_time  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') and net_time  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
         </if>
@@ -700,7 +701,383 @@ where FS_ISVALID = '1' and FS_DELETEDTAG = 'N' and (FS_BALANCETYPE='静态' or F
         fs_receiver receiving_uint_no,
         fs_receiverName receiving_uint_name,
         '老系统' remark
-        from JGWEIGHT.VIEW_TRAIN_NET
+        from JGWEIGHT.VIEW_TRAIN_DYNAMIC_NET
+        where 1 = 1
+        and FS_TRAINNO is not null
+        and FS_DELETEDTAG='N'
+        <if test="startTime != null and endTime != null and startTime != '' and endTime != ''">
+            and Fd_NETWEIGHTTIME  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') and Fd_NETWEIGHTTIME  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
+        </if>
+        <if test="netSpot3No != null and netSpot3No != ''">
+            and fs_netPointId like '%${netSpot3No}%'
+        </if>
+        <if test="netSpot3Name != null and netSpot3Name != ''">
+            and fs_netPointName like '%${netSpot3Name}%'
+        </if>
+        <if test="senderRemark != null and senderRemark != ''">
+            and fs_senderRemark LIKE '%${senderRemark}%'
+        </if>
+        <if test="railwayNo != null and railwayNo != ''">
+            and FS_TRAINNO LIKE '%${railwayNo}%'
+        </if>
+        group by fs_material, fs_materialName, fs_sender , fs_senderName , fs_receiver , fs_receiverName
+        )
+        where 1=1
+        <if test="remark != null and remark != ''">
+            and remark LIKE '%${remark}%'
+        </if>
+        <if test="forwardingUnitNo != null and forwardingUnitNo != ''">
+            and FORWARDING_UNIT_NO LIKE '%${forwardingUnitNo}%'
+        </if>
+        <if test="forwardingUnitName != null and forwardingUnitName != ''">
+            and FORWARDING_UNIT_NAME LIKE '%${forwardingUnitName}%'
+        </if>
+        <if test="receivingUintNo != null and receivingUintNo != ''">
+            and RECEIVING_UINT_NO LIKE '%${receivingUintNo}%'
+        </if>
+        <if test="receivingUintName != null and receivingUintName != ''">
+            and RECEIVING_UINT_NAME LIKE '%${receivingUintName}%'
+        </if>
+        <if test="matterNo != null and matterNo != ''">
+            and matter_no LIKE '%${matterNo}%'
+        </if>
+        <if test="matterName != null and matterName != ''">
+            and matter_name LIKE '%${matterName}%'
+        </if>
+    </select>
+
+    <!--动态轨道衡-->
+    <select id="doQueryRailwayDynamicNew" parameterType="java.util.HashMap" resultType="HashMap">
+        select RAILWAY_NO,
+        PREDICTION_NO,
+        GROSS_WEIGHT,
+        TARE_WEIGHT,
+        NET_WEIGHT,
+        NET_TIME,
+        GROSS_TIME,
+        TARE_TIME,
+        BASE_SPOT1_NAME,
+        BASE_SPOT2_NAME,
+        NET_SPOT3_NAME,
+        RAILWAY_TYPE_NAME,
+        VALUE_FLAG,
+        FORWARDING_UNIT_NAME,
+        SENDER_REMARK,
+        RECEIVING_UINT_NAME,
+        RECEIVER_REMARK,
+        MATTER_NAME,
+        '新系统' as remark
+        from METER_WORK_RAILWAY_ACTUAL
+        where VALUE_FLAG in ('2') and RAILWAY_TYPE_NO = '001019002'
+        <if test="remark != null and remark != ''">
+            and '新系统' LIKE '%${remark}%'
+        </if>
+        <if test="predictionNo != null and predictionNo != ''">
+            and PREDICTION_NO LIKE '%${predictionNo}%'
+        </if>
+        <if test="minWeight != null and minWeight != ''">
+            and NET_WEIGHT &gt; '%${minWeight}%'
+        </if>
+        <if test="maxWeight != null and maxWeight != ''">
+            and NET_WEIGHT &lt; '%${maxWeight}%'
+        </if>
+        <if test="netSpot3No != null and netSpot3No != ''">
+            and BASE_SPOT1_NO like '%${netSpot3No}%'
+        </if>
+        <if test="netSpot3Name != null and netSpot3Name != ''">
+            and BASE_SPOT1_NAME like '%${netSpot3Name}%'
+        </if>
+        <if test="startTime != null and endTime != null and startTime != '' and endTime != ''">
+            and NET_TIME  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') and NET_TIME  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
+        </if>
+        <if test="forwardingUnitNo != null and forwardingUnitNo != ''">
+            and FORWARDING_UNIT_NO LIKE '%${forwardingUnitNo}%'
+        </if>
+        <if test="forwardingUnitName != null and forwardingUnitName != ''">
+            and FORWARDING_UNIT_NAME LIKE '%${forwardingUnitName}%'
+        </if>
+        <if test="receivingUintNo != null and receivingUintNo != ''">
+            and RECEIVING_UINT_NO LIKE '%${receivingUintNo}%'
+        </if>
+        <if test="receivingUintName != null and receivingUintName != ''">
+            and RECEIVING_UINT_NAME LIKE '%${receivingUintName}%'
+        </if>
+        <if test="railwayNo != null and railwayNo != ''">
+            and RAILWAY_NO like '%${railwayNo}%'
+        </if>
+        <if test="matterNo != null and matterNo != ''">
+            and MATTER_NO LIKE '%${matterNo}%'
+        </if>
+        <if test="matterName != null and matterName != ''">
+            and materialName LIKE '%${matterName}%'
+        </if>
+        <if test="senderRemark != null and senderRemark != ''">
+            and RECEIVER_REMARK LIKE '%${senderRemark}%'
+        </if>
+    </select>
+
+    <select id="doQueryRailwayDynamicOld" parameterType="java.util.HashMap" resultType="HashMap">
+        select FS_TRAINNO RAILWAY_NO,
+        FS_NOTICENO PREDICTION_NO,
+        FN_GROSSWEIGHT*1000 GROSS_WEIGHT,
+        FN_TAREWEIGHT*1000 TARE_WEIGHT,
+        FN_NETWEIGHT*1000 NET_WEIGHT,
+        FD_NETWEIGHTTIME NET_TIME,
+        FD_GROSSWEIGHTTIME GROSS_TIME,
+        FD_TAREWEIGHTTIME TARE_TIME,
+        FS_GROSSWEIGHTPOINTNAME BASE_SPOT1_NAME,
+        FS_TAREWEIGHTPOINTNAME BASE_SPOT2_NAME,
+        FS_NETPOINTNAME NET_SPOT3_NAME,
+        FS_BALANCETYPE RAILWAY_TYPE_NAME,
+        FS_ISVALID VALUE_FLAG,
+        FS_SENDERNAME FORWARDING_UNIT_NAME,
+        FS_SENDERREMARK SENDER_REMARK,
+        FS_RECEIVERNAME RECEIVING_UINT_NAME,
+        FS_RECEIVERREMARK RECEIVER_REMARK,
+        FS_MATERIALNAME MATTER_NAME,
+        '老系统' as remark
+        from JGWEIGHT.VIEW_TRAIN_DYNAMIC_NET
+        where FS_ISVALID = '1' and FS_DELETEDTAG = 'N'
+        -- and (FS_BALANCETYPE='静态' or FS_BALANCETYPE='铁水轨道衡')
+        <if test="remark != null and remark != ''">
+            and '老系统' LIKE '%${remark}%'
+        </if>
+        <if test="predictionNo != null and predictionNo != ''">
+            and FS_NOTICENO LIKE '%${predictionNo}%'
+        </if>
+        <if test="minWeight != null and minWeight != ''">
+            and FN_NETWEIGHT &gt; '%${minWeight}%'
+        </if>
+        <if test="maxWeight != null and maxWeight != ''">
+            and FN_NETWEIGHT &lt; '%${maxWeight}%'
+        </if>
+        <if test="netSpot3No != null and netSpot3No != ''">
+            and fs_netPointId like '%${netSpot3No}%'
+        </if>
+        <if test="netSpot3Name != null and netSpot3Name != ''">
+            and FS_NETPOINTNAME like '%${netSpot3Name}%'
+        </if>
+        <if test="startTime != null and endTime != null and startTime != '' and endTime != ''">
+            and FD_NETWEIGHTTIME >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') and FD_NETWEIGHTTIME  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
+        </if>
+        <if test="forwardingUnitNo != null and forwardingUnitNo != ''">
+            and FS_SENDER LIKE '%${forwardingUnitNo}%'
+        </if>
+        <if test="forwardingUnitName != null and forwardingUnitName != ''">
+            and FS_SENDERNAME LIKE '%${forwardingUnitName}%'
+        </if>
+        <if test="receivingUintNo != null and receivingUintNo != ''">
+            and fs_receiver LIKE '%${receivingUintNo}%'
+        </if>
+        <if test="receivingUintName != null and receivingUintName != ''">
+            and FS_RECEIVERNAME LIKE '%${receivingUintName}%'
+        </if>
+        <if test="railwayNo != null and railwayNo != ''">
+            and FS_TRAINNO like '%${railwayNo}%'
+        </if>
+        <if test="matterNo != null and matterNo != ''">
+            and fs_material LIKE '%${matterNo}%'
+        </if>
+        <if test="matterName != null and matterName != ''">
+            and FS_MATERIALNAME LIKE '%${matterName}%'
+        </if>
+        <if test="senderRemark != null and senderRemark != ''">
+            and fs_senderRemark LIKE '%${senderRemark}%'
+        </if>
+    </select>
+
+    <select id="doQueryRailwayFirstDynamicNew" parameterType="java.util.HashMap" resultType="HashMap">
+        select actual_first_no,
+        prediction_no,
+        RAILWAY_NO,
+        meter_weight,
+        create_time,
+        base_spot_no,
+        base_spot_name,
+        forwarding_unit_no,
+        forwarding_unit_name,
+        receiving_uint_no,
+        receiving_uint_name,
+        matter_no,
+        matter_name,
+        sender_remark,
+        '新系统' remark
+        from meter_work_railway_act_first
+        where VALUE_FLAG in ('2') and RAILWAY_TYPE_NO = '001019002'
+        <if test="remark != null and remark != ''">
+            and '新系统' LIKE '%${remark}%'
+        </if>
+        <if test="predictionNo != null and predictionNo != ''">
+            and prediction_no LIKE '%${predictionNo}%'
+        </if>
+        <if test="startTime != null and endTime != null and startTime != '' and endTime != ''">
+            and  create_time  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') and create_time  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
+        </if>
+        <if test="senderRemark != null and senderRemark != ''">
+            and sender_remark LIKE '%${senderRemark}%'
+        </if>
+        <if test="railwayNo != null and railwayNo != ''">
+            and RAILWAY_NO like '%${railwayNo}%'
+        </if>
+        <if test="baseSpotNo != null and baseSpotNo != ''">
+            and base_spot_no like '%${baseSpotNo}%'
+        </if>
+        <if test="baseSpotName != null and baseSpotName != ''">
+            and base_spot_name like '%${baseSpotName}%'
+        </if>
+        <if test="forwardingUnitNo != null and forwardingUnitNo != ''">
+            and FORWARDING_UNIT_NO LIKE '%${forwardingUnitNo}%'
+        </if>
+        <if test="forwardingUnitName != null and forwardingUnitName != ''">
+            and FORWARDING_UNIT_NAME LIKE '%${forwardingUnitName}%'
+        </if>
+        <if test="receivingUintNo != null and receivingUintNo != ''">
+            and RECEIVING_UINT_NO LIKE '%${receivingUintNo}%'
+        </if>
+        <if test="receivingUintName != null and receivingUintName != ''">
+            and RECEIVING_UINT_NAME LIKE '%${receivingUintName}%'
+        </if>
+        <if test="matterNo != null and matterNo != ''">
+            and matter_no LIKE '%${matterNo}%'
+        </if>
+        <if test="matterName != null and matterName != ''">
+            and matter_name LIKE '%${matterName}%'
+        </if>
+    </select>
+
+    <select id="doQueryRailwayFirstDynamicOld" parameterType="java.util.HashMap" resultType="HashMap">
+        select FS_WEIGHTNO actual_first_no,
+        FS_noticeNO prediction_no,
+        FS_TRAINNO RAILWAY_NO,
+        FN_weight*1000 meter_weight,
+        FD_weightTime create_time,
+        fs_pointId base_spot_no,
+        FS_pointName base_spot_name,
+        FS_sender forwarding_unit_no,
+        FS_senderName forwarding_unit_name,
+        FS_receiver receiving_uint_no,
+        FS_receiverName receiving_uint_name,
+        FS_material matter_no,
+        FS_materialName matter_name,
+        FS_SENDERREMARK sender_remark,
+        '老系统' remark
+        from jgweight.VIEW_TRAIN_DYNAMIC_FIRST
+        where FS_DELETEDTAG='N'
+        -- and FS_BALANCETYPE='动态'
+        <if test="remark != null and remark != ''">
+            and '老系统' LIKE '%${remark}%'
+        </if>
+        <if test="predictionNo != null and predictionNo != ''">
+            and FS_noticeNO LIKE '%${predictionNo}%'
+        </if>
+        <if test="startTime != null and endTime != null and startTime != '' and endTime != ''">
+            and FD_weightTime >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') and FD_weightTime  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
+        </if>
+        <if test="senderRemark != null and senderRemark != ''">
+            and FS_SENDERREMARK LIKE '%${senderRemark}%'
+        </if>
+        <if test="railwayNo != null and railwayNo != ''">
+            and FS_TRAINNO like '%${railwayNo}%'
+        </if>
+        <if test="baseSpotNo != null and baseSpotNo != ''">
+            and fs_pointId like '%${baseSpotNo}%'
+        </if>
+        <if test="baseSpotName != null and baseSpotName != ''">
+            and FS_pointName like '%${baseSpotName}%'
+        </if>
+        <if test="forwardingUnitNo != null and forwardingUnitNo != ''">
+            and FS_sender LIKE '%${forwardingUnitNo}%'
+        </if>
+        <if test="forwardingUnitName != null and forwardingUnitName != ''">
+            and FS_senderName LIKE '%${forwardingUnitName}%'
+        </if>
+        <if test="receivingUintNo != null and receivingUintNo != ''">
+            and FS_receiver LIKE '%${receivingUintNo}%'
+        </if>
+        <if test="receivingUintName != null and receivingUintName != ''">
+            and FS_receiverName LIKE '%${receivingUintName}%'
+        </if>
+        <if test="matterNo != null and matterNo != ''">
+            and FS_material LIKE '%${matterNo}%'
+        </if>
+        <if test="matterName != null and matterName != ''">
+            and FS_materialName LIKE '%${matterName}%'
+        </if>
+    </select>
+
+    <select id="countRailwayDynamicNew" parameterType="java.util.HashMap" resultType="HashMap">
+        select * from
+        (
+        select matter_no,
+        matter_name,
+        count(1) countSum,
+        sum(net_weight) net_weight,
+        sum(gross_weight) gross_weight,
+        sum(tare_weight) tare_weight,
+        forwarding_unit_no,
+        forwarding_unit_name,
+        receiving_uint_no,
+        receiving_uint_name,
+        '新系统' remark
+        from METER_WORK_RAILWAY_ACTUAL
+        where 1= 1
+        and VALUE_FLAG in ('2') and RAILWAY_TYPE_NO = '001019002'
+        <if test="startTime != null and endTime != null and startTime != '' and endTime != ''">
+            and net_time  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') and net_time  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
+        </if>
+        <if test="netSpot3No != null and netSpot3No != ''">
+            and net_spot3_no like '%${netSpot3No}%'
+        </if>
+        <if test="netSpot3Name != null and netSpot3Name != ''">
+            and net_spot3_name like '%${netSpot3Name}%'
+        </if>
+        <if test="senderRemark != null and senderRemark != ''">
+            and sender_remark LIKE '%${senderRemark}%'
+        </if>
+        <if test="railwayNo != null and railwayNo != ''">
+            and RAILWAY_NO like '%${railwayNo}%'
+        </if>
+        group by matter_no, matter_name, forwarding_unit_no, forwarding_unit_name, receiving_uint_no, receiving_uint_name
+        )
+        where 1=1
+        <if test="remark != null and remark != ''">
+            and remark LIKE '%${remark}%'
+        </if>
+        <if test="forwardingUnitNo != null and forwardingUnitNo != ''">
+            and FORWARDING_UNIT_NO LIKE '%${forwardingUnitNo}%'
+        </if>
+        <if test="forwardingUnitName != null and forwardingUnitName != ''">
+            and FORWARDING_UNIT_NAME LIKE '%${forwardingUnitName}%'
+        </if>
+        <if test="receivingUintNo != null and receivingUintNo != ''">
+            and RECEIVING_UINT_NO LIKE '%${receivingUintNo}%'
+        </if>
+        <if test="receivingUintName != null and receivingUintName != ''">
+            and RECEIVING_UINT_NAME LIKE '%${receivingUintName}%'
+        </if>
+        <if test="matterNo != null and matterNo != ''">
+            and matter_no LIKE '%${matterNo}%'
+        </if>
+        <if test="matterName != null and matterName != ''">
+            and matter_name LIKE '%${matterName}%'
+        </if>
+    </select>
+
+    <select id="countRailwayDynamicOld" parameterType="java.util.HashMap" resultType="HashMap">
+        select * from
+        (
+        select fs_material matter_no,
+        fs_materialName matter_name,
+        count(1) countSum,
+        sum(fn_netWeight*1000) net_weight,
+        sum(fn_grossWeight*1000) gross_weight,
+        sum(fn_tareWeight*1000) tare_weight,
+        fs_sender forwarding_unit_no,
+        fs_senderName forwarding_unit_name,
+        fs_receiver receiving_uint_no,
+        fs_receiverName receiving_uint_name,
+        '老系统' remark
+        from JGWEIGHT.VIEW_TRAIN_DYNAMIC_NET
         where 1 = 1
         and FS_TRAINNO is not null
         and FS_DELETEDTAG='N'

+ 14 - 1
src/main/java/com/steerinfo/meterwork/meterworkoldandnew/service/IMeterWorkOldAndNewService.java

@@ -23,7 +23,7 @@ public interface IMeterWorkOldAndNewService {
 
     List<HashMap> countOld(HashMap params);
 
-    // 轨道衡联合查询Service
+    // 静态轨道衡联合查询Service
     List<HashMap> getRailwayNew(HashMap params);
 
     List<HashMap> getRailwayOld(HashMap params);
@@ -35,4 +35,17 @@ public interface IMeterWorkOldAndNewService {
     List<HashMap> countRailwayNew(HashMap params);
 
     List<HashMap> countRailwayOld(HashMap params);
+
+    // 动态轨道衡联合查询Service
+    List<HashMap> getRailwayDynamicNew(HashMap params);
+
+    List<HashMap> getRailwayDynamicOld(HashMap params);
+
+    List<HashMap> getRailwayDynamicFirstNew(HashMap params);
+
+    List<HashMap> getRailwayDynamicFirstOld(HashMap params);
+
+    List<HashMap> countRailwayDynamicNew(HashMap params);
+
+    List<HashMap> countRailwayDynamicOld(HashMap params);
 }

+ 33 - 0
src/main/java/com/steerinfo/meterwork/meterworkoldandnew/service/impl/MeterWorkOldAndNewService.java

@@ -85,4 +85,37 @@ public class MeterWorkOldAndNewService implements IMeterWorkOldAndNewService {
     public List<HashMap> countRailwayOld(HashMap params) {
         return meterWorkOldAndNewMapper.countRailwayOld(params);
     }
+
+    @Override
+    public List<HashMap> getRailwayDynamicNew(HashMap params) {
+        return meterWorkOldAndNewMapper.doQueryRailwayDynamicNew(params);
+    }
+
+    @Override
+    @TargetDataSource(dataSourceKey = DataSourceKey.DB_SLAVE1)
+    public List<HashMap> getRailwayDynamicOld(HashMap params) {
+        return meterWorkOldAndNewMapper.doQueryRailwayOld(params);
+    }
+
+    @Override
+    public List<HashMap> getRailwayDynamicFirstNew(HashMap params) {
+        return meterWorkOldAndNewMapper.doQueryRailwayFirstNew(params);
+    }
+
+    @Override
+    @TargetDataSource(dataSourceKey = DataSourceKey.DB_SLAVE1)
+    public List<HashMap> getRailwayDynamicFirstOld(HashMap params) {
+        return meterWorkOldAndNewMapper.doQueryRailwayFirstOld(params);
+    }
+
+    @Override
+    public List<HashMap> countRailwayDynamicNew(HashMap params) {
+        return meterWorkOldAndNewMapper.countRailwayNew(params);
+    }
+
+    @Override
+    @TargetDataSource(dataSourceKey = DataSourceKey.DB_SLAVE1)
+    public List<HashMap> countRailwayDynamicOld(HashMap params) {
+        return meterWorkOldAndNewMapper.countRailwayOld(params);
+    }
 }

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

@@ -1047,4 +1047,46 @@ public class MeterWorkRailwayActualController extends BaseRESTfulController {
             return failed(null, "操作异常,请确认!");
         }
     }
+
+    @ApiOperation(value = "C#——批量作废净重数据并撤销委托")
+    @Transactional
+    @PostMapping(value = "/deleteList")
+    public RESTfulResult deleteList(@RequestBody List<MeterWorkRailwayActual> models) {
+        try {
+            RESTfulResult rm = meterWorkRailwayActualService.deleteList(models);
+            return rm;
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return failed(null, "操作异常,请确认!");
+        }
+    }
+
+    @ApiOperation(value = "C#——轨道衡净重批量修改")
+    @Transactional
+    @PostMapping(value = "/Upload")
+    public RESTfulResult Upload(@RequestBody List<MeterWorkRailwayActual> models) {
+        try {
+            RESTfulResult rm = meterWorkRailwayActualService.Upload(models);
+            return rm;
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return failed(null, "操作异常,请确认!");
+        }
+    }
+
+    @ApiOperation(value = "C#——轨道衡净重批量修改")
+    @Transactional
+    @PostMapping(value = "/Unload")
+    public RESTfulResult Unload(@RequestBody List<MeterWorkRailwayActual> models) {
+        try {
+            RESTfulResult rm = meterWorkRailwayActualService.Unload(models);
+            return rm;
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return failed(null, "操作异常,请确认!");
+        }
+    }
 }

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

@@ -34,6 +34,7 @@ public interface IMeterWorkRailwayActualService extends IBaseService<MeterWorkRa
 
     int cancel(MeterWorkRailwayActual model);
     RESTfulResult batchCancel(List<MeterWorkRailwayActual> model);
+    RESTfulResult deleteList(List<MeterWorkRailwayActual> models);
 
     int publish(MeterWorkRailwayActual model);
     RESTfulResult batchPublish(List<MeterWorkRailwayActual> models);
@@ -110,4 +111,8 @@ public interface IMeterWorkRailwayActualService extends IBaseService<MeterWorkRa
 
 
     RESTfulResult copyActual(List<MeterWorkRailwayActual> models);
+
+    RESTfulResult Upload(List<MeterWorkRailwayActual> models);
+
+    RESTfulResult Unload(List<MeterWorkRailwayActual> models);
 }

+ 226 - 3
src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/service/impl/MeterWorkRailwayActualServiceImpl.java

@@ -210,6 +210,124 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
         return rm;
     }
 
+    @Override
+    public RESTfulResult deleteList(List<MeterWorkRailwayActual> models) {
+        RESTfulResult rm = new RESTfulResult();
+        rm.setFailed();
+        try{
+            int count = 0;
+            Assert.isTrue(models.size() >= 1, "请勾选数据进行作废数据");
+            for (MeterWorkRailwayActual model: models){
+                MeterWorkRailwayActual modelTemp = meterWorkRailwayActualMapper.selectByPrimaryKey(model.getActualNo());
+                if (modelTemp.getActualNo() == null || "".equals(modelTemp.getActualNo())) {
+                    rm.setMessage("未找到结净计量数据,请确认!!!");
+                    return rm;
+                }
+                if (modelTemp.getPredictionNo() == null || "".equals(modelTemp.getPredictionNo())
+                        || "2".equals(modelTemp.getValueFlag()) || "0".equals(modelTemp.getValueFlag())) {
+                    rm.setMessage("只有已匹配委托且有效未发布的数据才能进行作废操作");
+                    return rm;
+                }
+            }
+
+            String userId= models.get(0).getUpdateManNo();
+            String userName = models.get(0).getUpdateManName();
+
+            for(MeterWorkRailwayActual modelTemp: models) {
+                if(modelTemp.getPredictionNo() != null && StringUtils.isNotEmpty(modelTemp.getPredictionNo())){
+                    PreRailwayScale scaleTemp = preRailwayScaleMapper.selectByPrimaryKey(modelTemp.getPredictionNo());
+                    if(scaleTemp.getValueFlag().equals("9")) {
+                        rm.setMessage("结净数据中包含已结算的委托!!!");
+                        return rm;
+                    }
+                    if(scaleTemp.getPredictionType().equals("5") || scaleTemp.getPredictionType().equals("6") || scaleTemp.getPredictionType().equals("7")){
+                        rm.setMessage("结净数据中包含特殊委托匹配结净的数据!!!");
+                        return rm;
+                    }
+                }
+            }
+            for (MeterWorkRailwayActual model: models) {
+                //循环每一个结净记录
+                //委托不能为空
+                if(model.getPredictionNo() != null){
+                    // 改委托
+                    if (StringUtils.isNotEmpty(model.getPredictionNo())) {
+                        PreRailwayScale scale = preRailwayScaleMapper.selectByPrimaryKey(model.getPredictionNo());
+                        scale.setValueFlag("1");
+                        scale.setUploadFlag("1");
+                        scale.setUpdateTime(new Date());
+                        scale.setUpdateManNo(userId);
+                        scale.setUpdateManName(userName + ":结净废除操作");
+                        preRailwayScaleMapper.updateByPrimaryKeySelective(scale);
+                    }
+                }
+                // 清空一次毛重、皮重委托信息
+                MeterWorkRailwayActFirst firstGross;
+                MeterWorkRailwayActFirst firstTare;
+                if(StringUtils.isNotEmpty(model.getActualFirst1No())&&StringUtils.isNotEmpty(model.getActualFirst2No())){
+                    firstGross = meterWorkRailwayActFirstMapper.selectAndRemove(model.getActualFirst1No());
+                    firstTare =  meterWorkRailwayActFirstMapper.selectAndRemove(model.getActualFirst2No());
+                }else{
+                    firstGross = meterWorkRailwayActFirstMapper.selectByPrimaryKey(model.getActualFirst1No());
+                    firstTare = meterWorkRailwayActFirstMapper.selectByPrimaryKey(model.getActualFirst2No());
+                }
+                if(firstGross != null){
+                    firstGross.setValueFlag(DbConstants.VALID);
+//                    firstGross.setUpdateManName("system");
+//                    firstGross.setUpdateManName("结净废除更新");
+                    firstGross.setUpdateManNo(userId);
+                    firstGross.setUpdateManName(userName);
+                    firstGross.setNote(model.getNote());
+                    firstGross.setUpdateTime(new Date());
+                    firstGross.setIsPreSacale("0");
+                    firstGross.setValueFlag("0");
+                    meterWorkRailwayActFirstMapper.updateByPrimaryKey(firstGross);
+                }
+                if(firstTare != null){
+                    firstTare.setValueFlag(DbConstants.VALID);
+//                    firstTare.setUpdateManNo("system");
+//                    firstTare.setUpdateManName("结净废除更新");
+                    firstTare.setUpdateManNo(userId);
+                    firstTare.setUpdateManName(userName);
+                    firstTare.setNote(model.getNote());
+                    firstTare.setUpdateTime(new Date());
+                    firstTare.setIsPreSacale("0");
+                    firstTare.setValueFlag("0");
+                    meterWorkRailwayActFirstMapper.updateByPrimaryKey(firstTare);
+                }
+                // 作废结净数据并解除委托
+                MeterWorkRailwayActual cleanModel = meterWorkRailwayActualMapper.cleanPredcition(model.getActualNo());
+                cleanModel.setUploadFlag("1");
+                cleanModel.setValueFlag("0");
+                meterWorkRailwayActualMapper.updateByPrimaryKeySelective(cleanModel);
+
+                MeterBaseOperationLog logModel = new MeterBaseOperationLog();
+                logModel.setId(PublicMethod.IdCreate(2));
+                logModel.setCreateManNo(userId);
+                logModel.setCreateManName(userName);
+                logModel.setCreateTime(new Date());
+                logModel.setOperationPage("动态轨道衡-动轨净重数据维护");
+                logModel.setOperationFunction("净重数据作废");
+                logModel.setOperationId(model.getActualNo());
+                logModel.setOperationPredictionNo(model.getPredictionNo());
+                logModel.setOperationCarnNo(model.getRailwayNo());
+                logModel.setOperationBeforeFix(model.toString());
+                logModel.setOperationAfterFix(cleanModel.toString());
+                meterBaseOperationLogMapper.insertSelective(logModel);
+                //删结净
+                //meterWorkCarActualMapper.deleteByPrimaryKey(model.getActualNo());
+            }
+
+            rm.setSucceed();
+            rm.setMessage("共有"+ count +"条数据作废净重数据成功");
+            rm.setData(count);
+        }catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage(e.getMessage());
+        }
+        return rm;
+    }
+
     @Override
     public int publish(MeterWorkRailwayActual model) {
         int i = 0;
@@ -2977,13 +3095,28 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
         rm.setFailed();
         try {
             Assert.isTrue(models.size() >= 1, "数据不能为空");
+
             int count = 0;
             for(MeterWorkRailwayActual model: models) {
                 String no = PublicMethod.IdCreate(3);
                 model.setActualNo(no);
+                meterWorkRailwayActualMapper.insertSelective(model);
+                if(model.getPredictionNo() != null && StringUtils.isNotEmpty(model.getPredictionNo())) {
+                    model.setPredictionType("1");
+                    model.setIsPreSacale("1");
+
+                    PreRailwayScale scale = preRailwayScaleMapper.selectByPrimaryKey(model.getPredictionNo());
+                    scale.setValueFlag("2");
+                    scale.setMeasureStation(model.getNetSpot3No());
+                    scale.setMeasureStationName(model.getNetSpot3Name());
+                    scale.setPredictionType("1");
+                    scale.setUpdateManNo(model.getNetManNo());
+                    scale.setUpdateManName(model.getNetManName());
+                    scale.setUpdateTime(new Date());
+                    preRailwayScaleMapper.updateByPrimaryKeySelective(scale);
+                }
                 count ++;
 
-                meterWorkRailwayActualMapper.insertSelective(model);
                 MeterBaseOperationLog logModel = new MeterBaseOperationLog();
                 logModel.setId(PublicMethod.IdCreate(2));
                 logModel.setCreateManNo(model.getCreateManName());
@@ -3003,8 +3136,8 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
             rm.setMessage("共有" + count + "条数据一次批量新增成功");
         } catch (Exception e) {
             e.printStackTrace();
-            rm.setMessage(e.getMessage());
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            rm.setMessage(e.getMessage());
         }
         return rm;
     }
@@ -3015,7 +3148,7 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
         rm.setFailed();
         try {
             Assert.isTrue(models.size() >= 1, "数据不能为空");
-            List<MeterWorkRailwayActual> res = null;
+            List<MeterWorkRailwayActual> res = new ArrayList<>();
             int count = 0;
             String userId = "";
             String userName = "";
@@ -3051,7 +3184,11 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
                     logModel.setOperationAfterFix(model.toString());
                     meterBaseOperationLogMapper.insertSelective(logModel);
                     model.setNote("");
+                    model.setUpdateManNo(userId);
+                    model.setUpdateManName(userName);
+                    model.setUpdateTime(new Date());
                     int re = meterWorkRailwayActualMapper.updateByPrimaryKeySelective(model);
+                    count++;
                 }
             }
             if(res.size() > 0){
@@ -3186,4 +3323,90 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
         }
         return rm;
     }
+
+    @Override
+    public RESTfulResult Upload(List<MeterWorkRailwayActual> models) {
+        RESTfulResult rm = new RESTfulResult();
+        rm.setFailed();
+        try {
+            Assert.isTrue(models.size() >= 1, "数据不能为空");
+            List<MeterWorkRailwayActual> res = null;
+            int count = 0;
+            for(MeterWorkRailwayActual model: models) {
+//                MeterWorkRailwayActual sel = new MeterWorkRailwayActual();
+                HashMap sel = new HashMap();
+                sel.put("actualNo",model.getActualNo());
+                sel.put("uploadFlag","2");
+                List<MeterWorkRailwayActual> meterWorkRailwayActual = meterWorkRailwayActualMapper.selectByParameter(sel);
+                if(meterWorkRailwayActual.size() > 0){
+                    res.add(model);
+                }else {
+                    MeterWorkRailwayActual up = new MeterWorkRailwayActual();
+                    up.setUploadFlag("2");
+                    up.setActualNo(model.getActualNo());
+                    int re = meterWorkRailwayActualMapper.updateByPrimaryKeySelective(up);
+                    count++;
+                }
+            }
+            if(res.size() > 0){
+                rm.setSucceed();
+                rm.setCode("200");
+                rm.setData(res);
+                rm.setMessage("发布成功,部分数据已发布无法发布");
+            }
+            else {
+                rm.setSucceed();
+                rm.setData("200");
+                rm.setMessage("共有" + count + "条数据发布成功");
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage(e.getMessage());
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+        }
+        return rm;
+    }
+
+    @Override
+    public RESTfulResult Unload(List<MeterWorkRailwayActual> models) {
+        RESTfulResult rm = new RESTfulResult();
+        rm.setFailed();
+        try {
+            Assert.isTrue(models.size() >= 1, "数据不能为空");
+            List<MeterWorkRailwayActual> res = null;
+            int count = 0;
+            for(MeterWorkRailwayActual model: models) {
+//                MeterWorkRailwayActual sel = new MeterWorkRailwayActual();
+                HashMap sel = new HashMap();
+                sel.put("actualNo",model.getActualNo());
+                sel.put("uploadFlag","2");
+                List<MeterWorkRailwayActual> meterWorkRailwayActual = meterWorkRailwayActualMapper.selectByParameter(sel);
+                if(meterWorkRailwayActual.size() > 0){
+                    res.add(model);
+                }else {
+                    MeterWorkRailwayActual up = new MeterWorkRailwayActual();
+                    up.setUploadFlag("1");
+                    up.setActualNo(model.getActualNo());
+                    int re = meterWorkRailwayActualMapper.updateByPrimaryKeySelective(up);
+                    count++;
+                }
+            }
+            if(res.size() > 0){
+                rm.setSucceed();
+                rm.setCode("200");
+                rm.setData(res);
+                rm.setMessage("发布成功,部分数据已发布无法发布");
+            }
+            else {
+                rm.setSucceed();
+                rm.setData("200");
+                rm.setMessage("共有" + count + "条数据发布成功");
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage(e.getMessage());
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+        }
+        return rm;
+    }
 }

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

@@ -193,4 +193,22 @@ public class MeterWorkRailwayReceivedController extends BaseRESTfulController {
         }
         return rm;
     }
+
+    @ApiOperation(value="更新详细信息", notes="根据url的id来指定更新对象,并根据传过来的meterWorkRailwayReceived信息来更新详细信息")
+    @PostMapping(value = "/addList", produces  = "application/json;charset=UTF-8")
+    public RESTfulResult addList(@RequestBody List<MeterWorkRailwayReceived> models){
+        RESTfulResult rm = new RESTfulResult();
+        try {
+            rm = meterWorkRailwayReceivedService.addList(models);
+        } catch (MarkerMetException e) {
+            e.printStackTrace();
+            rm.setMessage(e.getMessage());
+        } catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常,请确认!");
+        } finally {
+
+        }
+        return rm;
+    }
 }

+ 1 - 0
src/main/java/com/steerinfo/meterwork/meterworkrailwayreceived/service/IMeterWorkRailwayReceivedService.java

@@ -27,5 +27,6 @@ public interface IMeterWorkRailwayReceivedService extends IBaseService<MeterWork
     RESTfulResult checkandadd(MeterWorkRailwayReceived model)  throws Exception;
     List<MeterWorkRailwayReceived> noPage(HashMap<String, Object> parmas);
     RESTfulResult updateList(List<MeterWorkRailwayReceived> models);
+    RESTfulResult addList(List<MeterWorkRailwayReceived> models);
 
 }

+ 82 - 1
src/main/java/com/steerinfo/meterwork/meterworkrailwayreceived/service/impl/MeterWorkRailwayReceivedServiceImpl.java

@@ -11,7 +11,9 @@ import com.steerinfo.framework.service.pagehelper.PageHelper;
 import com.steerinfo.framework.service.pagehelper.PageList;
 import com.steerinfo.metermonitor.metermonitornote.mapper.MeterMonitorNoteMapper;
 import com.steerinfo.metermonitor.metermonitornote.model.MeterMonitorNote;
+import com.steerinfo.meterwork.meterworkrailwayactfirst.mapper.MeterWorkRailwayActFirstMapper;
 import com.steerinfo.meterwork.meterworkrailwayactfirst.model.MeterWorkRailwayActFirst;
+import com.steerinfo.meterwork.meterworkrailwayactual.model.MeterWorkRailwayActual;
 import com.steerinfo.meterwork.meterworkrailwayreceived.model.MeterWorkRailwayReceived;
 import com.steerinfo.meterwork.meterworkrailwayreceived.mapper.MeterWorkRailwayReceivedMapper;
 import com.steerinfo.meterwork.meterworkrailwayreceived.service.IMeterWorkRailwayReceivedService;
@@ -22,13 +24,16 @@ import com.steerinfo.util.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
+import org.springframework.util.Assert;
 
 import javax.annotation.Resource;
 import java.text.SimpleDateFormat;
+import java.util.ArrayList;
 import java.util.Date;
 import java.math.BigDecimal;
 import java.util.HashMap;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * MeterWorkRailwayReceived服务实现:
@@ -52,6 +57,9 @@ public class MeterWorkRailwayReceivedServiceImpl extends BaseServiceImpl<MeterWo
     @Resource
     private MeterWorkRailwayRecMainMapper meterWorkRailwayRecMainMapper;
 
+    @Resource
+    private MeterWorkRailwayActFirstMapper meterWorkRailwayActFirstMapper;
+
     @Resource
     private MeterBaseRailwayAiweightMapper meterBaseRailwayAiweightMapper;
 
@@ -116,7 +124,6 @@ public class MeterWorkRailwayReceivedServiceImpl extends BaseServiceImpl<MeterWo
                 if(model.getAiWeight() != null && StringUtils.isNotEmpty(model.getAiWeight())) {
                     HashMap<String, Object> map = new HashMap<>();
                     map.put("railwayNo", model.getRailwayNo());
-                    map.put("valueFlag", "0");
                     List<MeterBaseRailwayAiweight> AiModels = meterBaseRailwayAiweightMapper.selectByParameters(map);
                     MeterBaseRailwayAiweight AiModel = new MeterBaseRailwayAiweight();
                     if(AiModels.size() >= 1) {
@@ -127,6 +134,7 @@ public class MeterWorkRailwayReceivedServiceImpl extends BaseServiceImpl<MeterWo
                         AiModel.setUpdateManNo("systemAdd");
                         AiModel.setUpdateManName("systemAdd");
                         AiModel.setUpdateTime(new Date());
+                        AiModel.setValueFlag("0");
                         meterBaseRailwayAiweightMapper.updateByPrimaryKeySelective(AiModel);
                     }else {
                         AiModel.setActualFirstNo(model.getActualFirstNo());
@@ -181,8 +189,81 @@ public class MeterWorkRailwayReceivedServiceImpl extends BaseServiceImpl<MeterWo
             rm.setData(count);
         }catch(Exception e) {
             e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             rm.setMessage("操作异常");
+        }
+        return rm;
+    }
+
+    @Override
+    public RESTfulResult addList(List<MeterWorkRailwayReceived> models) {
+        RESTfulResult rm = new RESTfulResult();
+        rm.setFailed();
+        try{
+            Assert.isTrue(models.size() >= 1, "未勾选数据新增");
+            int count = 0;
+            List<String> spotList = models
+                    .stream()
+                    .map(MeterWorkRailwayReceived::getBaseSpotNo)
+                    .distinct()
+                    .collect(Collectors.toList());
+            for (String spotNo: spotList) {
+                List<MeterWorkRailwayReceived> receiveds = new ArrayList<>();
+                for(MeterWorkRailwayReceived receivedTemp: models){
+                    if(spotNo.equals(receivedTemp.getBaseSpotNo())){
+                        receiveds.add(receivedTemp);
+                    }
+                }
+
+                if(receiveds.size()>=1) {
+                    //插入主表数据
+                    MeterWorkRailwayRecMain recMain = new MeterWorkRailwayRecMain();
+                    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+                    String afl = sdf.format(new Date());
+                    String lcNo = meterWorkRailwayRecMainMapper.getLcNo(afl, receiveds.get(0).getBaseSpotNo());
+                    recMain.setActualNo(receiveds.get(0).getBaseSpotName().replaceAll("#", "")
+                            .replaceAll("轨道衡", "")
+                            .replaceAll("动轨", "")
+                            .replaceAll("动态", "") + "-" + afl + lcNo + "(" + receiveds.size() + ")");
+                    recMain.setIsDispose("0");
+                    recMain.setSoundName(recMain.getActualNo());
+                    recMain.setCarriageNum((short)receiveds.size());
+                    recMain.setBaseSpotNo(receiveds.get(0).getBaseSpotNo());
+                    recMain.setBaseSpotName(receiveds.get(0).getBaseSpotName());
+                    recMain.setCreateTime(new Date());
+                    meterWorkRailwayRecMainMapper.insertSelective(recMain);
+
+                    for(MeterWorkRailwayReceived received: receiveds){
+                        if(received.getMemo() != null && StringUtils.isNotEmpty(received.getMemo())) {
+                            MeterBaseOperationLog note = new MeterBaseOperationLog();
+                            note.setId(PublicMethod.IdCreate(3));
+                            note.setCreateManNo(received.getCreateManNo());
+                            note.setCreateManName(received.getCreateManName());
+                            note.setCreateTime(new Date());
+                            note.setOperationPage("终端-轨道衡从表数据维护");
+                            note.setOperationFunction("新增");
+                            note.setOperationCarnNo(received.getRailwayNo());
+                            meterBaseOperationLogMapper.insertSelective(note);
+                        }
+                        received.setRailwayWorkNo(recMain.getActualNo());
+                        received.setActualFirstNo(PublicMethod.IdCreate(3));
+                        received.setValueFlag("1");
+                        received.setRailwayTypeNo("001019002");
+                        received.setRailwayTypeName("动态轨道衡");
+                        meterWorkRailwayReceivedMapper.insertSelective(received);
+                        count ++;
+                    }
+                }
+            }
+
+            rm.setSucceed();
+            rm.setMessage("操作成功,共有" + count + "条数据更新成功");
+            rm.setCode("200");
+            rm.setData(count);
+        }catch(Exception e) {
+            e.printStackTrace();
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            rm.setMessage("操作异常");
         }
         return rm;
     }

+ 2 - 2
src/main/java/com/steerinfo/pretrack/prerailwayscale/mapper/PreRailwayScaleMapper.xml

@@ -2910,7 +2910,7 @@
     <select id="doQueryByCar" parameterType="java.util.HashMap" resultMap="BaseResultMap">
         <include refid="select"/>
         <where>
-            (( VALUE_FLAG == and TRUST_AVAILABILITY_TIME >= sysDate ) or value_flag = '4')
+            (( VALUE_FLAG = '1' and TRUST_AVAILABILITY_TIME >= sysDate ) or value_flag = '4')
             <if test="railwayNo != null">
                 and RAILWAY_NO = #{railwayNo}
             </if>
@@ -2927,7 +2927,7 @@
                 and create_time between to_date(#{startTime},'yyyy-MM-dd HH24:mi:ss') and to_date(#{endTime},'yyyy-MM-dd HH24:mi:ss')
             </if>
         </where>
-        order by CREATE_TIME desc
+        order by trust_date_time desc
     </select>
 
     <!--用于查询最近一个车号的预报或者正使用与使用中的预报,并显示毛重皮重净重及时间-->

+ 2 - 0
src/main/java/com/steerinfo/util/SSOUtil.java

@@ -63,6 +63,8 @@ public class SSOUtil {
                 JSONObject jsonObject3 = JSONObject.parseObject(ssomsg3);
 
                 if(!jsonObject3.get("code").toString().equals("0")) {
+                    map.put("code", jsonObject3.get("code").toString());
+                    map.put("msg", jsonObject3.get("resultMessage").toString());
                     ssoDeleter(tempObject2.get("userId").toString(),accessToken);
                 }
                 else {