فهرست منبع

Merge branch 'master' into dev

Your Name 3 سال پیش
والد
کامیت
b9071f5a2d

+ 66 - 0
src/main/java/com/steerinfo/dil/controller/OmstruckOrderController.java

@@ -890,6 +890,9 @@ public class OmstruckOrderController extends BaseRESTfulController {
         return success(mapList);
     }
 
+
+
+
     @ApiOperation(value = "查看运输派单")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
@@ -1257,6 +1260,69 @@ public class OmstruckOrderController extends BaseRESTfulController {
         return success(result);
     }
 
+    //采购内转派单
+    @ApiOperation(value = "采购内转派单")
+    @PostMapping("/addPurInwardOrder")
+    public RESTfulResult addPurInwardOrder(@RequestBody(required = false) Map<String,Object>mapValue) {
+        int result = omstruckOrderService.addPurInwardOrder(mapValue);
+        return success(result);
+    }
+
+    //采购内转派单查询
+    @ApiOperation(value = "采购内转运输订单")
+    @PostMapping("/getPurInwardOrderList")
+    public RESTfulResult getPurInwardOrderList(@RequestBody(required = false) Map<String,Object>mapValue,
+                                               Integer apiId,
+                                               Integer pageNum,
+                                               Integer pageSize,
+                                               Integer orderStatus,
+                                               String carrierId,
+                                               String con,
+                                               Integer planEnableStatus) {
+       if(con != null){
+           if(!"undefined".equals(con)){
+               String index = "get_purinward_order_list";
+               return success(esFeign.getConResult(mapValue,index,apiId,pageNum,pageSize,con));//获取查询结果
+           }
+       }
+        int count = 0;
+        if (mapValue == null) {
+            mapValue = new HashMap<>();
+        }
+        if (carrierId != null && !"undefined".equals(carrierId)) {
+            mapValue.put("carrierId",carrierId);
+            count++;
+        }
+        if (planEnableStatus != null && !"undefined".equals(planEnableStatus)) {
+            mapValue.put("planEnableStatus",planEnableStatus);
+            count++;
+        }
+        mapValue.put("orderStatus",orderStatus);
+        count++;
+        List<Map<String, Object>> dispatchSaleOrderList = null;
+        if (mapValue.size() == count) {
+            //将查询结果存入索引中
+            dispatchSaleOrderList = omstruckOrderService.getPurInwardOrderList(mapValue);
+            Map<String, Object> map1 = new HashMap<>();
+            //添加索引
+            map1.put("index","get_purinward_order_list");
+            //添加id
+            map1.put("indexId","inwardOrderId");
+            dispatchSaleOrderList.add(map1);
+            //新建索引
+            esFeign.insertIndex(dispatchSaleOrderList);
+            //删除
+            dispatchSaleOrderList.remove(dispatchSaleOrderList.size()-1);
+        }
+        if (dispatchSaleOrderList == null) {
+            dispatchSaleOrderList = omstruckOrderService.getPurInwardOrderList(mapValue);
+        }
+        PageHelper.startPage(pageNum,pageSize);
+        List<Map<String, Object>> columnList = omstruckOrderService.getPurInwardOrderList(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, dispatchSaleOrderList,columnList);
+        return success(pageList);
+    }
+
     @ApiOperation(value = " 分解/分派计划查询")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),

+ 12 - 0
src/main/java/com/steerinfo/dil/controller/UtilsController.java

@@ -14,6 +14,7 @@ import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.math.BigDecimal;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -46,6 +47,17 @@ public class UtilsController extends BaseRESTfulController {
         return success(i);
     }
 
+    @ApiOperation(value = "新增采购内转运输订单")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "运输订单主键id加同意/拒绝状态码", required = false, dataType = "Map"),
+    })
+    @PostMapping("/addPurInwardOrder")
+    public RESTfulResult addPurInwardOrder(@RequestParam BigDecimal orderId) {
+        int i = omstruckOrderService.addPurInwardOrder1(orderId);
+        return success(i);
+    }
+
+
 
     @ApiOperation(value = "运输订单子表新增方法")
     @ApiImplicitParams({

+ 4 - 0
src/main/java/com/steerinfo/dil/mapper/OmstruckOrderMapper.java

@@ -297,4 +297,8 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
    //删除进厂实绩
    int deleteEnResult(BigDecimal enFactoryId);
 
+   List<Map<String, Object>> getPurInwardOrderList(Map<String, Object> mapValue);
+
+   Map<String, Object> selectOrderMap(BigDecimal orderId);
+
 }

+ 7 - 0
src/main/java/com/steerinfo/dil/service/IOmstruckOrderService.java

@@ -194,4 +194,11 @@ public interface IOmstruckOrderService {
 
     //修改运力
     int updateCapacityId(Map<String,Object> map);
+
+    int addPurInwardOrder(Map<String, Object> mapValue);
+
+    List<Map<String, Object>> getPurInwardOrderList(Map<String, Object> mapValue);
+
+    int addPurInwardOrder1(BigDecimal orderId);
+
 }

+ 124 - 1
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderServiceImpl.java

@@ -591,6 +591,123 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
         return result;
     }
 
+    //采购内转派单
+    @Override
+    public int addPurInwardOrder(Map<String, Object> mapValue) {
+        int result = 0;
+        List<Map<String,Object>> mapList = (List<Map<String, Object>>) mapValue.get("mapList");
+
+        BigDecimal planId = DataChange.dataToBigDecimal(mapValue.get("planId"));
+        BigDecimal lineId = DataChange.dataToBigDecimal(mapValue.get("lineId"));
+        BigDecimal orderType = DataChange.dataToBigDecimal(mapValue.get("orderType"));
+        AmstruckInwardPlan amstruckInwardPlan = amstruckInwardPlanMapper.selectByPrimaryKey(planId);
+        amstruckInwardPlan.setPlanStatus(new BigDecimal(3));
+        result += amstruckInwardPlanMapper.updateByPrimaryKeySelective(amstruckInwardPlan);
+        BigDecimal materialId = omstruckOrderMapper.getInwardMaterial(planId);
+        for (Map<String,Object> orderMap : mapList) {
+            OmstruckOrder omstruckOrder = new OmstruckOrder();
+            String capacityNumber = (String)orderMap.get("capacityNumber");
+            Map<String,Object> capacityMap = new HashMap<>();
+            capacityMap.put("capacityNumber",capacityNumber);
+            List<RmsCapacity> rmsCapacities = rmsCapacityMapper.selectByParameters(capacityMap);
+            RmsCapacity rmsCapacity = rmsCapacities.get(0);
+//            rmsCapacity.setCapacityStatus(new BigDecimal(2));
+            result +=rmsCapacityMapper.updateByPrimaryKeySelective(rmsCapacity);
+            BigDecimal capacityId = rmsCapacity.getCapacityId();
+            capacityMap.clear();
+            capacityMap.put("capacityId",capacityId);
+            BigDecimal orderId = omstruckOrderMapper.selectMaxId();
+            // 添加总实绩
+            Map<String,Object> orderIdMap = new HashMap<>();
+            orderIdMap.put("orderId",orderId);
+            tmsTruckFeign.addTotalResult(orderIdMap);
+            omstruckOrder.setOrderId(orderId);
+            omstruckOrder.setOrderPlanId(planId);
+            String orderNumber = DataChange.generateEightDigitsNumber("WYSDD", orderId.intValue());
+            omstruckOrder.setOrderNumber(orderNumber);
+            omstruckOrder.setOrderIssueTime(new Date());
+            omstruckOrder.setOrderStatus(new BigDecimal(4));
+            omstruckOrder.setCapacityId(capacityId);
+            omstruckOrder.setInsertTime(new Date());
+            omstruckOrder.setUpdateTime(new Date());
+            omstruckOrder.setInsertUsername("admin");
+            omstruckOrder.setUpdateUsername("admin");
+            omstruckOrder.setInsertUpdateRemark("无");
+            omstruckOrder.setDeleted(new BigDecimal(0));
+            omstruckOrder.setOrderType(orderType);
+            omstruckOrder.setLineId(lineId);
+            result +=omstruckOrderMapper.insertSelective(omstruckOrder);
+            OmstruckOrderMaterial omstruckOrderMaterial = new OmstruckOrderMaterial();
+            BigDecimal orderMaterialId = omstruckOrderMaterialMapper.selectMaxId();
+            omstruckOrderMaterial.setOrderMaterialId(orderMaterialId);
+            omstruckOrderMaterial.setOrderId(orderId);
+            omstruckOrderMaterial.setMaterialId(materialId);
+            omstruckOrderMaterial.setInsertTime(new Date());
+            omstruckOrderMaterial.setUpdateTime(new Date());
+            omstruckOrderMaterial.setInsertUsername("admin");
+            omstruckOrderMaterial.setUpdateUsername("admin");
+            omstruckOrderMaterial.setInsertUpdateRemark("无");
+            result +=omstruckOrderMaterialMapper.insertSelective(omstruckOrderMaterial);
+        }
+       return result;
+    }
+
+    @Override
+    public List<Map<String, Object>> getPurInwardOrderList(Map<String, Object> mapValue) {
+        List<Map<String,Object>> mapList = omstruckOrderMapper.getPurInwardOrderList(mapValue);
+        for (Map<String,Object>map:mapList
+             ) {
+            map.put("loadName","化工园区铁专线");
+        }
+        return mapList;
+    }
+
+    @Override
+    public int addPurInwardOrder1(BigDecimal orderId) {
+        //根据运输订单id查询信息
+        Map<String,Object>map = omstruckOrderMapper.selectOrderMap(orderId);
+        BigDecimal planId = DataChange.dataToBigDecimal(map.get("planId"));
+        BigDecimal lineId = DataChange.dataToBigDecimal(map.get("lineId"));
+        BigDecimal orderType = DataChange.dataToBigDecimal(map.get("orderType"));
+        BigDecimal capacityId = DataChange.dataToBigDecimal(map.get("capacityId"));
+        BigDecimal materialId = DataChange.dataToBigDecimal(map.get("materialId"));
+        int result = 0;
+        OmstruckOrder omstruckOrder = new OmstruckOrder();
+        BigDecimal orderIds = omstruckOrderMapper.selectMaxId();
+        // 添加总实绩
+        Map<String,Object> orderIdMap = new HashMap<>();
+        orderIdMap.put("orderId",orderIds);
+        tmsTruckFeign.addTotalResult(orderIdMap);
+        omstruckOrder.setOrderId(orderIds);
+        omstruckOrder.setOrderPlanId(planId);
+        String orderNumber = DataChange.generateEightDigitsNumber("WYSDD", orderIds.intValue());
+        omstruckOrder.setOrderNumber(orderNumber);
+        omstruckOrder.setOrderIssueTime(new Date());
+        omstruckOrder.setOrderStatus(new BigDecimal(4));
+        omstruckOrder.setCapacityId(capacityId);
+        omstruckOrder.setInsertTime(new Date());
+        omstruckOrder.setUpdateTime(new Date());
+        omstruckOrder.setInsertUsername("admin");
+        omstruckOrder.setUpdateUsername("admin");
+        omstruckOrder.setInsertUpdateRemark("无");
+        omstruckOrder.setDeleted(new BigDecimal(0));
+        omstruckOrder.setOrderType(orderType);
+        omstruckOrder.setLineId(lineId);
+        result +=omstruckOrderMapper.insertSelective(omstruckOrder);
+        OmstruckOrderMaterial omstruckOrderMaterial = new OmstruckOrderMaterial();
+        BigDecimal orderMaterialId = omstruckOrderMaterialMapper.selectMaxId();
+        omstruckOrderMaterial.setOrderMaterialId(orderMaterialId);
+        omstruckOrderMaterial.setOrderId(orderIds);
+        omstruckOrderMaterial.setMaterialId(materialId);
+        omstruckOrderMaterial.setInsertTime(new Date());
+        omstruckOrderMaterial.setUpdateTime(new Date());
+        omstruckOrderMaterial.setInsertUsername("admin");
+        omstruckOrderMaterial.setUpdateUsername("admin");
+        omstruckOrderMaterial.setInsertUpdateRemark("无");
+        result +=omstruckOrderMaterialMapper.insertSelective(omstruckOrderMaterial);
+        return result;
+    }
+
     /**
      * 销售物流,下发订单
      *
@@ -652,7 +769,7 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
             omstruckOrderSeparateService.addAllSonResult(orderMessage);
             //判断订单是否是一车多单
             BigDecimal orderType = (BigDecimal) orderMessage.get("orderType");
-            if (orderType.intValue()==15 || orderType.intValue()==16) {
+            if (orderType.intValue()==15 || orderType.intValue()==16 || orderType.intValue()==12 ||orderType.intValue()==13) {
                 //通过订单查询趟次
                 Map<String, Object> sporadicOrderTimes = omstruckOrderMapper.getSporadicOrderTimes(orderId);
                 BigDecimal orderTimes = DataChange.dataToBigDecimal(sporadicOrderTimes.get("orderTimes"));
@@ -1759,6 +1876,12 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                 break;
             case 9:
             case 10:
+                mesMap = omstruckOrderMapper.getNZOrderMessageToApp(map);
+                mesMap.get("orderStatus");
+                map.put("orderStatus",mesMap.get("orderStatus"));
+                mesMap = omstruckOrderMapper.getNZOrderMessageToApp(map);
+                mesMap.put("loadName","化工园区铁专线");
+                break;
             case 11:
                 mesMap = omstruckOrderMapper.getNZOrderMessageToApp(map);
                 break;

+ 1 - 1
src/main/resources/application-dev.yml

@@ -15,7 +15,7 @@ openfeign:
   TmsTruckFeign:
     url: ${TMSTRUCKFEIGN_URL:172.16.33.162:8008}
   AmsFeign:
-    url: ${AMSFEIGN_URL:172.16.33.162:8015}
+    url: ${AMSFEIGN_URL:localhost:8015}
   ImFeign:
     url: ${IMFEIGN_URL:172.16.33.162:8055}
 

+ 126 - 9
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml

@@ -2573,7 +2573,7 @@
 
     <!-- 物资信息 -->
     <select id="getMaterialMes" parameterType="DECIMAL" resultType="java.util.Map">
-        SELECT RM.MATERIAL_NAME                                                            "materialName",
+        SELECT RM.MATERIAL_NAME  "materialName",
                CONCAT(CONCAT(RM.MATERIAL_MODEL, '('), CONCAT(MATERIAL_SPECIFICATION, ')')) "materialMC",
                (case
                     when OOM.ORDER_MATERIAL_WEIGHT is not null
@@ -2584,7 +2584,7 @@
                    )
                    AS                                                                   "weightNum",
                 (   SELECT
-                           TWR.RESULT_NET_WEIGHT
+                           LISTAGG ( TWR.RESULT_NET_WEIGHT, '、' ) within GROUP ( ORDER BY TWR.GROSS_SEGMENT_SQE )
                     FROM TMSTRUCK_WEIGHT_RESULT TWR
                     JOIN TMSTRUCK_TOTAL_RESULT TTR
                         ON TTR.RESULT_TOTAL_ID = TWR.RESULT_TOTAL_ID
@@ -2812,9 +2812,9 @@
         OO.ORDER_NUMBER "orderNumber",
         OO.ORDER_LINE_SEQUENCE "orderLineSequence",
         RC.CAPACITY_NUMBER "capacityNumber",
-        rwl.warehouse_name "loadName",
         RW.WAREHOUSE_NAME "unloadName",
-        OO.ORDER_TYPE "orderType"
+        OO.ORDER_TYPE "orderType",
+        OO.ORDER_STATUS "orderStatus"
         FROM OMSTRUCK_ORDER OO
         LEFT JOIN AMSTRUCK_INWARD_PLAN AIP
         ON OO.ORDER_PLAN_ID = AIP.PLAN_ID
@@ -2824,8 +2824,6 @@
         ON AIR.REQUIREMENT_ID = ARP.REQUIREMENT_ID
         LEFT JOIN AMS_PURCHASE_ORDER APO
         ON APO.PURCHASE_ORDER_ID = AIR.PURCHASE_ORDER_ID
-        left join rms_warehouse rwl
-        on rwl.warehouse_id = AIR.REQUIREMNT_UNIT_ID
         LEFT JOIN RMS_SUPPLIER RS
         ON RS.SUPPLIER_ID = APO.SUPPLIER_UNIT_ID
         LEFT JOIN RMS_WAREHOUSE RW
@@ -2834,11 +2832,14 @@
         ON RC.CAPACITY_ID = OO.CAPACITY_ID
         WHERE OO.ORDER_ID = #{orderId}
         <if test="status == null">
-            AND OO.ORDER_STATUS in (4, 5)
+            AND OO.ORDER_STATUS in (4, 5, 6)
         </if>
         <if test="status != null">
             AND OO.ORDER_STATUS = 2
         </if>
+        <if test="orderStatus == 4">
+            AND AIP.PLAN_EABLE_STATUS = 1
+        </if>
     </select>
     <!--  查询发运计划运输订单给APP  2 3 4 -->
     <select id="getFYJHOrderMessageToApp" parameterType="java.util.Map" resultType="java.util.Map">
@@ -3039,7 +3040,112 @@
         FROM RMS_LINE RL
         WHERE RL.LINE_ID = #{lineId}
     </select>
-<!--删除计重实绩id-->
+<!--    采购内转运输订单-->
+    <select id="getPurInwardOrderList" resultType="java.util.Map">
+       SELECT * FROM (
+        SELECT APO.PURCHASE_ORDER_NO      AS "purchaseOrderNo",
+        RM.MATERIAL_NAME           AS "materialName",
+        RCA.CARRIER_NAME           AS "carrierName",
+        RC.CAPACITY_NUMBER         AS "capacityNumber",
+        AIR.REQUIREMENT_NUMBER     AS "requirementNumber",
+        RW.WAREHOUSE_NAME          AS "wareHouseName",
+        OO.ORDER_ID                AS "orderId",
+        RS.SUPPLIER_NAME           AS "supplierName",
+        RCE.CONSIGNEE_COMPANY_NAME AS "consigneeName",
+        OO.ORDER_NUMBER            AS "orderNo"
+        FROM OMSTRUCK_ORDER OO
+        LEFT JOIN OMSTRUCK_ORDER_MATERIAL OOM
+        ON OOM.ORDER_ID = OO.ORDER_ID
+        LEFT JOIN RMS_CAPACITY RC
+        ON RC.CAPACITY_ID = OO.CAPACITY_ID
+        LEFT JOIN AMSTRUCK_INWARD_PLAN AIP
+        ON OO.ORDER_PLAN_ID = AIP.PLAN_ID
+        LEFT JOIN AMSTRUCK_REQUIREMENT_PLAN ARP
+        ON ARP.PLAN_ID = AIP.PLAN_ID
+        LEFT JOIN AMSTRUCK_INWARD_REQUIREMENT AIR
+        ON AIR.REQUIREMENT_ID = ARP.REQUIREMENT_ID
+        LEFT JOIN AMSTRUCK_REQUIREMENT_MATERIAL ARM
+        ON ARM.REQUIREMENT_ID = AIR.REQUIREMENT_ID
+        LEFT JOIN AMS_PURCHASE_ORDER APO
+        ON APO.PURCHASE_ORDER_ID = AIR.PURCHASE_ORDER_ID
+        LEFT JOIN DIL_BATCH DB
+        ON APO.BATCH_ID = DB.BATCH_ID
+        LEFT JOIN RMS_MATERIAL RM
+        ON RM.MATERIAL_ID = OOM.MATERIAL_ID
+        LEFT JOIN RMS_WAREHOUSE RW
+        ON RW.WAREHOUSE_ID = AIR.REQUIREMENT_UNLOAD_UNIT_ID
+        LEFT JOIN RMS_CARRIER RCA
+        ON RCA.CARRIER_ID = AIP.CARRIER_ID
+        LEFT JOIN RMS_SUPPLIER RS
+        ON RS.SUPPLIER_ID = APO.SUPPLIER_UNIT_ID
+        LEFT JOIN RMS_CONSIGNEE RCE
+        ON RCE.CONSIGNEE_ID = APO.RECEIVE_UNIT_ID
+        WHERE AIP.DELETED = 0
+        AND OO.ORDER_TYPE IN (4, 9, 10, 11)
+        AND OO.ORDER_STATUS = #{orderStatus}
+        <if test="carrierId !=null">
+            AND AIP.CARRIER_ID = (SELECT RCR.CARRIER_ID FROM RMS_CARRIER RCR WHERE RCR.CARRIER_SSO_ID = #{carrierId})
+        </if>
+        <if test="planEnableStatus !=null">
+            AND AIP.PLAN_EABLE_STATUS = 1
+        </if>
+        ORDER BY OO.INSERT_TIME DESC
+        )
+
+       <where>
+            <if test="orderNo != null">
+                <foreach collection="orderNo" item="item" open="(" separator="or" close=")">
+                    "orderNo" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="materialName != null">
+                and
+                <foreach collection="materialName" item="item" open="(" separator="or" close=")">
+                    "materialName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="carrierName != null">
+                and
+                <foreach collection="carrierName" item="item" open="(" separator="or" close=")">
+                    "carrierName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="capacityNumber != null">
+                and
+                <foreach collection="capacityNumber" item="item" open="(" separator="or" close=")">
+                    "capacityNumber" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="requirementNumber != null">
+                and
+                <foreach collection="requirementNumber" item="item" open="(" separator="or" close=")">
+                    "requirementNumber" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="warehouseName != null">
+                and
+                <foreach collection="warehouseName" item="item" open="(" separator="or" close=")">
+                    "warehouseName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="supplierName != null">
+                and
+                <foreach collection="supplierName" item="item" open="(" separator="or" close=")">
+                    "supplierName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="consigneeName != null">
+                and
+                <foreach collection="consigneeName" item="item" open="(" separator="or" close=")">
+                    "consigneeName" like '%${item}%'
+                </foreach>
+            </if>
+        </where>
+        <include refid="orderBy">
+        </include>
+    </select>
+
+    <!--删除计重实绩id-->
     <delete id="deleteWeightResult" parameterType="java.math.BigDecimal">
         delete from TMSTRUCK_WEIGHT_RESULT
         where WEIGHT_TASK_RESULT_ID = #{weightResultId}
@@ -3066,5 +3172,16 @@
         delete from TMSTRUCK_ENFACTORY_RESULT
         where RESULT_ID = #{enFactoryId}
     </delete>
-
+<!--根据订单id查询运输订单信息-->
+    <select id="selectOrderMap" resultType="java.util.Map" parameterType="DECIMAL">
+        select oo.order_plan_id "planId",
+        oo.capacity_id   "capacityId",
+        oo.order_type    "orderType",
+        oo.line_id       "lineId",
+        oom.material_id  "materialId"
+        from omstruck_order oo
+        left join omstruck_order_material oom
+        on oom.order_id = oo.order_id
+        where oo.order_id = #{orderId}
+    </select>
 </mapper>