Browse Source

车皮查看对应的物资信息和车牌号

txf 3 years ago
parent
commit
e44bb97e92

+ 27 - 0
src/main/java/com/steerinfo/dil/controller/TmstrainLoadingResultController.java

@@ -251,4 +251,31 @@ public class TmstrainLoadingResultController extends BaseRESTfulController {
         System.out.println(loadingResultByResultId);
         return success(loadingResultByResultId);
     }
+
+    @ApiOperation(value = "查询车皮物资信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "apiId(259)", value = "表头", required = false, dataType = "Interger")
+    })
+    @PostMapping(value = "/getMaterialAndCarByLoadingId")
+    public RESTfulResult getMaterialAndCarByLoadingId(
+                                    @RequestBody(required = false) Map<String, Object> mapValue,
+                                    Integer apiId,
+                                    Integer pageNum,
+                                    Integer pageSize,
+                                    Integer loadingId,
+                                    Integer unloadingId) {
+        if(loadingId != null){
+            mapValue.put("resultId", loadingId);
+        }
+        if(unloadingId != null){
+            mapValue.put("unloadingId", unloadingId);
+        }
+        //不分页筛选数据
+        List<Map<String, Object>> allMes = tmstrainLoadingResultService.getMaterialAndCarByLoadingId(mapValue);
+        PageHelper.startPage(pageNum, pageSize);
+        //分页数据
+        List<Map<String, Object>> mes = tmstrainLoadingResultService.getMaterialAndCarByLoadingId(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allMes, mes);
+        return success(pageList);
+    }
 }

+ 6 - 0
src/main/java/com/steerinfo/dil/mapper/TmstrainLoadingResultMapper.java

@@ -51,4 +51,10 @@ public interface TmstrainLoadingResultMapper extends IBaseMapper<TmstrainLoading
 
     //通过出库主键ID查询订单总实绩ID
     Map<String, Object> getResultTotalIdByOutBoundResultId(Integer outboundResultId);
+
+    //通过装车实绩主键查询关联的物资信息与车牌号
+    List<Map<String, Object>> getMaterialAndCarByLoadingId(Map<String, Object> map);
+
+    //通过汽运总实绩ID查询装车中间表
+    Integer getTrainTruckIdByTruckTotalId(BigDecimal resultTotalId);
 }

+ 2 - 2
src/main/java/com/steerinfo/dil/service/ITmstrainLoadingResultService.java

@@ -53,6 +53,6 @@ public interface ITmstrainLoadingResultService{
     //内转物流通过id查询装车作业
     List<Map<String,Object>> selectLoadByResultId(BigDecimal resultId);
 
-    //内转查询装车实绩
-    List<Map<String,Object>> selectLoadedForConverted(Map<String,Object> map);
+    //通过装车实绩主键查询关联的物资信息与车牌号
+    List<Map<String, Object>> getMaterialAndCarByLoadingId(Map<String, Object> map);
 }

+ 15 - 9
src/main/java/com/steerinfo/dil/service/impl/TmstrainLoadingResultServiceImpl.java

@@ -252,6 +252,11 @@ public class TmstrainLoadingResultServiceImpl implements ITmstrainLoadingResultS
         Integer outBoundResultId = tmstrainLoadingResultMapper.getOutBoundResultIdByScan((String) map.get("scanCodeText"));
         //通过出库主键查询汽运总实绩ID和物资ID
         Map<String, Object> mesMap = tmstrainLoadingResultMapper.getResultTotalIdByOutBoundResultId(outBoundResultId);
+        //通过汽运总实绩ID查询该订单是否已装车(扫一件即可全部扫描上)
+        Integer resultId = tmstrainLoadingResultMapper.getTrainTruckIdByTruckTotalId(DataChange.dataToBigDecimal(mesMap.get("resultTotalId")));
+        if(resultId != null){
+            return 1; //如果已经扫描上了则默认已装车
+        }
         //添加火运物资中间表
         TmstrainTruckTotalResult tmstrainTruckTotalResult = new TmstrainTruckTotalResult();
         tmstrainTruckTotalResult.setResultId(tmstrainTruckTotalResultMapper.selectMaxId());//添加火运物资中间表主键ID
@@ -271,15 +276,6 @@ public class TmstrainLoadingResultServiceImpl implements ITmstrainLoadingResultS
         return tmstrainLoadingResultMapper.selectLoadByResultId(resultId);
     }
 
-    /**
-     * 内转查询装车实绩
-     * @param map
-     * @return
-     */
-    @Override
-    public List<Map<String, Object>> selectLoadedForConverted(Map<String, Object> map) {
-        return tmstrainLoadingResultMapper.selectLoadedForConverted(map);
-    }
 
     @Override
     public List<Map<String, Object>> getSendStationName() {
@@ -300,4 +296,14 @@ public class TmstrainLoadingResultServiceImpl implements ITmstrainLoadingResultS
     public List<Map<String, Object>> getWagonNo(Map<String, Object> map) {
         return tmstrainLoadingResultMapper.getWagonNo(map);
     }
+
+    /**
+     * 内转查询车皮物资信息
+     * @param map
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getMaterialAndCarByLoadingId(Map<String, Object> map) {
+        return tmstrainLoadingResultMapper.getMaterialAndCarByLoadingId(map);
+    }
 }

+ 9 - 5
src/main/java/com/steerinfo/dil/service/impl/TmstrainWagonUnloadResultServiceImpl.java

@@ -12,6 +12,7 @@ import com.steerinfo.dil.service.ITmstrainWagonUnloadResultService;
 import com.steerinfo.dil.util.DataChange;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.util.Date;
@@ -190,6 +191,7 @@ public class TmstrainWagonUnloadResultServiceImpl implements ITmstrainWagonUnloa
      * @param map
      * @return
      */
+    @Transactional
     public int addTmsTrainUnloadResultForNZ(Map<String, Object> map) {
         BigDecimal orderId = DataChange.dataToBigDecimal(map.get("orderId"));
         BigDecimal materialId = DataChange.dataToBigDecimal(map.get("materialId"));
@@ -197,8 +199,12 @@ public class TmstrainWagonUnloadResultServiceImpl implements ITmstrainWagonUnloa
         List<Map<String, Object>> totalIdList = tmstrainWagonUnloadResultMapper.getTotalIdByOrderId(orderId);
         Map<String, Object> mesMap = totalIdList.get(0);
         BigDecimal trainTotalId = DataChange.dataToBigDecimal(mesMap.get("trainTotalId"));
-        BigDecimal truckTotalId = DataChange.dataToBigDecimal(mesMap.get("truckTotalId"));
-        mesMap.put("materialId", materialId);
+        //通过汽运总实绩ID、火运总实绩ID 查找中间表主键
+        Integer truckTrainId = tmstrainTruckTotalResultMapper.getIdByMateAndTruckAndTrainTotalId(mesMap);
+        //如果没有查出中间表数据 说明该订单已经卸过车
+        if(truckTrainId == null){
+            return 1;
+        }
         //通过火运总实绩ID查询装车实绩ID
         Integer loadingId = tmstrainWagonUnloadResultMapper.getLoadingIdByTrainTotalId(trainTotalId);
         //拿到装车实绩ID后查询车皮号与发运计划号
@@ -231,11 +237,9 @@ public class TmstrainWagonUnloadResultServiceImpl implements ITmstrainWagonUnloa
             tmstrainTotalResult.setUpdateTime(new Date());
             count += tmstrainTotalResultMapper.updateByPrimaryKeySelective(tmstrainTotalResult);
         }
-        //通过物资ID、汽运总实绩ID、火运总实绩ID 查找中间表主键
-        Integer id = tmstrainTruckTotalResultMapper.getIdByMateAndTruckAndTrainTotalId(mesMap);
         //修改火运物资中间表为已卸车
         TmstrainTruckTotalResult tmstrainTruckTotalResult = new TmstrainTruckTotalResult();
-        tmstrainTruckTotalResult.setId(new BigDecimal(id));
+        tmstrainTruckTotalResult.setId(new BigDecimal(truckTrainId));
         tmstrainTruckTotalResult.setLoadStatus(new BigDecimal(1));//已卸车
         count += tmstrainTruckTotalResultMapper.updateByPrimaryKeySelective(tmstrainTruckTotalResult);
         return count;

+ 48 - 0
src/main/resources/com/steerinfo/dil/mapper/TmstrainLoadingResultMapper.xml

@@ -976,4 +976,52 @@
         WHERE TLR.RESULT_WAGON_NO = #{resultWagonNo} AND TLR.PURCHASE_ORDER_RAIL_PLAN_ID = #{railPlanId}
   </select>
 
+<!-- 通过装车实绩主键查询关联的物资信息与车牌号  -->
+  <select id="getMaterialAndCarByLoadingId" parameterType="java.util.Map" resultType="java.util.Map">
+    select RC.CAPACITY_NUMBER        "capacityNumber",
+           RM.MATERIAL_NAME          "materialName",
+           RM.MATERIAL_SPECIFICATION "materialSpecification",
+           RM.MATERIAL_MODEL         "materialModel",
+           OOM.ORDER_MATERIAL_NUMBER    "orderMaterialNumber"
+    from TMSTRAIN_TRUCK_TOTAL_RESULT TTTR
+           left join TMSTRUCK_TOTAL_RESULT TTR
+                     on TTR.RESULT_TOTAL_ID = TTTR.TMSTRUCK_TOTAL_RESULT_ID
+           left join OMSTRUCK_ORDER OO
+                     on OO.ORDER_ID = TTR.ORDER_ID
+           left join RMS_DRIVER_CAPACITY RDC
+                     on RDC.DRIVER_CAPACITY_ID = OO.DRIVER_CAPACITY_ID
+           left join RMS_CAPACITY RC
+                     on RC.CAPACITY_ID = RDC.CAPACITY_ID
+           left join OMSTRUCK_ORDER_MATERIAL OOM
+                     on OOM.ORDER_ID = OO.ORDER_ID
+           left join RMS_MATERIAL RM
+                     on RM.MATERIAL_ID = OOM.MATERIAL_ID
+    <where>
+          <if test="loadingId != null">
+            TTTR.TMSTRAIN_TOTAL_RESULT_ID = (
+                select TTR.TOTAL_RESULT_ID
+            from TMSTRAIN_LOADING_RESULT TLR
+            left join TMSTRAIN_TOTAL_RESULT TTR
+                on TLR.RESULT_ID = TTR.LOADING_ID
+            where TLR.RESULT_ID = #{loadingId}
+            )
+          </if>
+          <if test="unloadingId != null">
+           and TTTR.TMSTRAIN_TOTAL_RESULT_ID = (
+            select TTR.TOTAL_RESULT_ID
+                from TMSTRAIN_WAGON_UNLOAD_RESULT TWUR
+            left join TMSTRAIN_TOTAL_RESULT TTR
+                on TTR.UNLOADING_ID = TWUR.UNLOADING_ID
+            where TWUR.UNLOADING_ID = #{unloadingId}
+            )
+          </if>
+      </where>
+  </select>
+
+<!-- 通过汽车总实绩ID查询中间表-->
+  <select id="getTrainTruckIdByTruckTotalId" parameterType="java.math.BigDecimal" resultType="java.lang.Integer">
+    select TTTR.RESULT_ID
+    from TMSTRAIN_TRUCK_TOTAL_RESULT TTTR
+    where TTTR.TMSTRUCK_TOTAL_RESULT_ID = #{resultTotalId}
+  </select>
 </mapper>

+ 2 - 1
src/main/resources/com/steerinfo/dil/mapper/TmstrainTruckTotalResultMapper.xml

@@ -346,10 +346,11 @@
   <select id="getIdByMateAndTruckAndTrainTotalId" resultType="java.lang.Integer">
         select
                TTTR.RESULT_ID
+
         from TMSTRAIN_TRUCK_TOTAL_RESULT TTTR
         where TTTR.TMSTRUCK_TOTAL_RESULT_ID = #{truckTotalId}
               and TTTR.TMSTRAIN_TOTAL_RESULT_ID = #{trainTotalId}
-              and TTTR.MATERIAL_ID = #{materialId}
+              and TTTR.LOAD_STATUS = 0
   </select>
 
 

+ 7 - 7
src/main/resources/com/steerinfo/dil/mapper/TmstrainWagonUnloadResultMapper.xml

@@ -900,13 +900,13 @@
   select *
   from(
   select a_order.PURCHASE_ORDER_NO "purchaseOrderNo",
-  t_load.RESULT_WAGON_NO "resultWagonNo",
-  d_batch.RESULT_FOREIGN_SHIP_NAME "resultForeignShipName",
-  r_material.MATERIAL_NAME "materialName",
-  t_unload.RESULT_UNLOAD_TIME "resultUnloadTime",
-  (t_load.RESULT_BILLABLE_TONNAGE-t_unload.RESULT_RAIL_HORIZONTAL_WEIGHT) "differentialWeight",
-  oo.ORDER_NO "orderNo",
-  TUP.UNLOAD_POINT_NAME "unloadPointName"
+             t_load.RESULT_WAGON_NO "resultWagonNo",
+        d_batch.RESULT_FOREIGN_SHIP_NAME "resultForeignShipName",
+        r_material.MATERIAL_NAME "materialName",
+        t_unload.RESULT_UNLOAD_TIME "resultUnloadTime",
+        (t_load.RESULT_BILLABLE_TONNAGE-t_unload.RESULT_RAIL_HORIZONTAL_WEIGHT) "differentialWeight",
+        oo.ORDER_NO "orderNo",
+            TUP.UNLOAD_POINT_NAME "unloadPointName"
   from TMSTRAIN_LOADING_RESULT t_load
   left join AMS_PURCHASE_ORDER a_order
   on t_load.PURCHASE_ORDER_RAIL_PLAN_ID=a_order.PURCHASE_ORDER_ID