Pārlūkot izejas kodu

Merge branch 'master' of https://git.steerinfo.com/DAL-DAZHOU/DAL-DAZHOU-AMS-API

zx 2 gadi atpakaļ
vecāks
revīzija
373f21b4c9

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

@@ -1286,4 +1286,31 @@ public class AmsSaleOrderController extends BaseRESTfulController {
         int result = amsSaleOrderService.adverseCloseSaleOrder(new BigDecimal(saleOrderId));
         return success(result);
     }
+
+    //库存调拨单
+    @ApiOperation(value = "库存调拨单")
+    @PostMapping("/getKucunList")
+    public RESTfulResult getKucunList(@RequestBody(required = false)Map<String,Object>map,
+                                      String startTime,
+                                      String endTime,
+                                      String remark,
+                                      String transferIndep,
+                                      String consigneeName,
+                                      String totheStation){
+        if(remark != null && !"null".equals(remark)&&!"".equals(remark)){
+            map.put("remark","%" + remark + "%");
+        }
+        if(transferIndep != null && !"null".equals(transferIndep) && !"".equals(transferIndep)){
+            map.put("transferIndep","%" + transferIndep + "%");
+        }
+        if(consigneeName != null && !"null".equals(consigneeName) && !"".equals(consigneeName)){
+            map.put("consigneeName","%" + consigneeName + "%");
+        }
+        if(totheStation != null && !"null".equals(totheStation) && !"".equals(totheStation)){
+            map.put("totheStation","%" + totheStation + "%");
+        }
+        DataChange.queryDataByDateTime(startTime, endTime, map, sdfDateTime);//根据时间段查询数据
+        List<Map<String,Object>> mapList = amsSaleOrderService.getKucunList(map);
+        return success(mapList);
+    }
 }

+ 14 - 1
src/main/java/com/steerinfo/dil/controller/AmsSaleOrderMaterialController.java

@@ -16,7 +16,6 @@ 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;
 
@@ -247,6 +246,20 @@ public class AmsSaleOrderMaterialController extends BaseRESTfulController {
         }
     }
 
+    @ApiOperation(value="内转钢材派发订单")
+    @PostMapping("dispatchInwardTruckOrderBySale")
+    public RESTfulResult dispatchInwardTruckOrderBySale(@RequestBody Map<String,Object> mapValue){
+        int result = amsSaleOrderMaterialService.dispatchInwardTruckOrderBySale(mapValue);
+        return success(result);
+
+    }
+
+    @ApiOperation(value = "更新内转钢材收货客户")
+    @PostMapping("/updateInwardConsignee")
+    public RESTfulResult updateInwardConsignee(@RequestBody(required = false)Map<String,Object>map){
+        return success(amsSaleOrderMaterialService.updateInwardConsignee(map));
+    }
+
     @ApiOperation(value="承运商直接选择车牌号派发运输订单")
     @PostMapping("dispatchTruckOrderByCarrier")
     public RESTfulResult dispatchTruckOrderByCarrier(@RequestBody Map<String,Object> mapValue){

+ 3 - 0
src/main/java/com/steerinfo/dil/mapper/AmsSaleOrderMapper.java

@@ -155,4 +155,7 @@ public interface AmsSaleOrderMapper extends IBaseMapper<AmsSaleOrder, BigDecimal
     Map<String, Object> getSaleMaterialMessage(BigDecimal saleMaterialId);
 
     int findOrderMaxNum(BigDecimal resultTotalId);
+
+    List<Map<String, Object>> getKucunList(Map<String, Object> map);
+
 }

+ 5 - 0
src/main/java/com/steerinfo/dil/mapper/AmsSaleOrderMaterialMapper.java

@@ -58,4 +58,9 @@ public interface AmsSaleOrderMaterialMapper extends IBaseMapper<AmsSaleOrderMate
     List<Map<String, Object>> getPriceList(BigDecimal carrierId);
     // 查询车序号中的物资
     List<Map<String, Object>> getMaterial(BigDecimal saleOrderMaterialId);
+    //更新发站
+    int updateSendStation(Map<String, Object> mapValue);
+
+    //更新收货客户
+    int updateInwardConsignee(Map<String, Object> mapValue);
 }

+ 4 - 0
src/main/java/com/steerinfo/dil/service/IAmsSaleOrderMaterialService.java

@@ -58,6 +58,10 @@ public interface IAmsSaleOrderMaterialService{
     // 销售直接派发销售订单
     int dispatchTruckOrderBySale(Map<String, Object> mapValue);
 
+    //内转钢材派发订单
+    int dispatchInwardTruckOrderBySale(Map<String, Object> mapValue);
+
+    int updateInwardConsignee(Map<String, Object> mapValue);
     // 承运商直接派发销售订单
     int dispatchTruckOrderByCarrier(Map<String, Object> mapValue);
 

+ 3 - 3
src/main/java/com/steerinfo/dil/service/IAmsSaleOrderService.java

@@ -1,8 +1,5 @@
 package com.steerinfo.dil.service;
 
-import com.steerinfo.dil.model.AmsSaleOrder;
-import com.steerinfo.dil.model.AmsSaleOrderMaterial;
-
 import java.math.BigDecimal;
 import java.text.ParseException;
 import java.util.List;
@@ -169,4 +166,7 @@ public interface IAmsSaleOrderService {
     int adverseCloseSaleMaterial(BigDecimal saleMaterialId);
     // 反关闭整个销售订单
     int adverseCloseSaleOrder(BigDecimal saleOrderId);
+
+    List<Map<String, Object>> getKucunList(Map<String, Object> map);
+
 }

+ 185 - 3
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderMaterialServiceImpl.java

@@ -1,6 +1,5 @@
 package com.steerinfo.dil.service.impl;
 
-import com.steerinfo.dil.controller.AmsSaleTrucknoMaterialController;
 import com.steerinfo.dil.feign.IMFeign;
 import com.steerinfo.dil.feign.TmsTruckFeign;
 import com.steerinfo.dil.mapper.*;
@@ -12,8 +11,6 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
 import java.util.*;
 
 /**
@@ -518,6 +515,191 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
         return result;
     }
 
+    @Override
+    public int updateInwardConsignee(Map<String, Object> mapValue) {
+        if(mapValue.get("saleMaterialId") != null && mapValue.get("sendStationId") != null ){
+            amsSaleOrderMaterialMapper.updateSendStation(mapValue);
+        }
+        if(mapValue.get("saleOrderId") != null && mapValue.get("consigneeId") != null){
+            amsSaleOrderMaterialMapper.updateInwardConsignee(mapValue);
+        }
+        return 1;
+    }
+
+    /**
+     * 内转钢材派发订单
+     * @param mapValue
+     * @return
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public int dispatchInwardTruckOrderBySale(Map<String, Object> mapValue) {
+        int result = 0;
+        // 得到列内容
+        List<Map<String,Object>> mapList = (List<Map<String, Object>>) mapValue.get("mapList");
+        // 销售订单主键
+        BigDecimal saleOrderId = DataChange.dataToBigDecimal(mapValue.get("saleOrderId"));
+        // 车序号计数
+        int count = 1;
+        /*
+        车序号表,只生成一次,对应多个子表(物资)
+        */
+        AmsSaleOrderMaterial amsSaleOrderMaterial = new AmsSaleOrderMaterial();
+        // 主键
+        BigDecimal saleOrderMaterialId = amsSaleOrderMaterialMapper.selectMaxId();
+        amsSaleOrderMaterial.setSaleOrderMaterialId(saleOrderMaterialId);
+        // 销售订单主键
+        amsSaleOrderMaterial.setSaleOrderId(saleOrderId);
+        // 车序号
+        amsSaleOrderMaterial.setSaleOrderMaterialTruckNo(new BigDecimal(count));
+        // 下发状态
+        amsSaleOrderMaterial.setIssueStatus(new BigDecimal(2));
+        // 新增车序号表
+        result += amsSaleOrderMaterialMapper.insertSelective(amsSaleOrderMaterial);
+        BigDecimal orderId = omstruckOrderMapper.selectMaxId();
+        if(mapList.size()>=1){
+            //更新发站
+            Map<String,Object> map=mapList.get(0);
+            amsSaleOrderMaterialMapper.updateSendStation(map);
+            /*
+             运输订单
+             */
+            OmstruckOrder omstruckOrder = new OmstruckOrder();
+            // 运输订单主键
+            omstruckOrder.setOrderId(orderId);
+            // 车序号主键
+            omstruckOrder.setOrderPlanId(saleOrderMaterialId);
+            //添加承运商ID 和 运价ID
+//            Object priceId = map.get("priceId");
+            Object priceId = map.get("priceId");
+            if (priceId != null) {
+                omstruckOrder.setPriceId(DataChange.dataToBigDecimal(priceId));
+            }
+            // 承运商id
+            BigDecimal carrierId = DataChange.dataToBigDecimal(map.get("carrierId"));
+            // 运输线路id
+            BigDecimal lineId = DataChange.dataToBigDecimal(map.get("lineId"));
+            // 车牌号
+            String capacityNumber = (String) map.get("capacityNumber");
+            // 得到运力id
+            BigDecimal capacityId = amsSaleOrderMaterialMapper.getCapacityId(capacityNumber);
+            // 运输订单号
+            omstruckOrder.setOrderNumber(DataChange.generateEightDigitsNumber("WYSDD",orderId.intValue()));
+            // 运力id
+            omstruckOrder.setCapacityId(capacityId);
+            // 承运商
+            omstruckOrder.setCarrierId(carrierId);
+            // 下发时间
+            omstruckOrder.setOrderIssueTime(new Date());
+            // 运单状态
+            omstruckOrder.setOrderStatus(new BigDecimal(4));
+            // 订单类型
+            omstruckOrder.setOrderType(new BigDecimal(4));
+            // 运输线路id
+            omstruckOrder.setLineId(lineId);
+            omstruckOrder.setInsertTime(new Date());
+            // 新增运输订单
+            result += omstruckOrderMapper.insertSelective(omstruckOrder);
+        }
+        // 遍历每一个列
+        for (Map<String, Object> map : mapList) {
+            // 销售订单-物资中间表id
+            BigDecimal saleMaterialId = DataChange.dataToBigDecimal(map.get("saleMaterialId"));
+            // 物资id
+            BigDecimal materialId = DataChange.dataToBigDecimal(map.get("materialId"));
+            // 承运商id
+            BigDecimal carrierId = DataChange.dataToBigDecimal(map.get("carrierId"));
+            // 运输线路id
+            BigDecimal lineId = DataChange.dataToBigDecimal(map.get("lineId"));
+            // 通过线路id判断是否是钢材
+            BigDecimal isSteel = amsSaleOrderMaterialMapper.getIsSteel(lineId);
+            // 物资重量
+            BigDecimal materialNumber = DataChange.dataToBigDecimal(map.get("materialWeight"));
+            // 物资数量
+            BigDecimal materialNum = DataChange.dataToBigDecimal(map.get("materialNum"));
+            // 车牌号
+            String capacityNumber = (String) map.get("capacityNumber");
+            // 得到运力id
+            BigDecimal capacityId = amsSaleOrderMaterialMapper.getCapacityId(capacityNumber);
+            // 收货方姓名
+            String consigneeName = String.valueOf(map.get("consigneeName"));
+            // 收货方电话
+            //String consigneeTel = String.valueOf(map.get("saleOrderConsigneeTel"));
+            // 截止日期
+            String dateOfReceiptStr = String.valueOf(map.get("saleDateOfReceipt"));
+            Date dateOfReceipt = null;
+            if (!"null".equals(dateOfReceiptStr) && !"undefined".equals(dateOfReceiptStr)) {
+                dateOfReceipt = new Date(Long.valueOf(dateOfReceiptStr));
+            }
+
+            /*
+             车序号与物资子表
+             */
+            AmsSaleTrucknoMaterial amsSaleTrucknoMaterial = new AmsSaleTrucknoMaterial();
+            // 主键
+            BigDecimal truckNoMaterialId = amsSaleTrucknoMaterialMapper.selectMaxId();
+            amsSaleTrucknoMaterial.setTrucknoMaterialId(truckNoMaterialId);
+            // 销售订单-物资中间表id
+            amsSaleTrucknoMaterial.setMaterialId(saleMaterialId);
+            // 车序号主键
+            amsSaleTrucknoMaterial.setSaleOrderMaterialId(saleOrderMaterialId);
+            // 物资重量
+            amsSaleTrucknoMaterial.setMaterialTheoreticalWeight(materialNumber);
+            amsSaleTrucknoMaterial.setSaleOrderMaterialNumber(materialNum);
+            /*
+             定向派单表
+             */
+            AmsDispatchSaleOrder amsDispatchSaleOrder = new AmsDispatchSaleOrder();
+            // 主键
+            BigDecimal dispatchId = amsDispatchSaleOrderMapper.selectOtherId();
+            amsDispatchSaleOrder.setDispatchId(dispatchId);
+            // 车序号表id
+            amsDispatchSaleOrder.setSaleOrderMaterialId(saleOrderMaterialId);
+            // 承运商id
+            amsDispatchSaleOrder.setCarrierId(carrierId);
+            // 派单时间和成交时间
+            amsDispatchSaleOrder.setDispatchTime(new Date());
+            amsDispatchSaleOrder.setDispatchDealTime(new Date());
+            // 成交类型
+            amsDispatchSaleOrder.setDispatchType(new BigDecimal(0));
+            // 车序号状态
+            amsDispatchSaleOrder.setDispatchStatus(new BigDecimal(2));
+
+            /*
+             运输订单子表
+             */
+            OmstruckOrderMaterial omstruckOrderMaterial = new OmstruckOrderMaterial();
+            // 主键
+            BigDecimal orderMaterialId = omstruckOrderMaterialMapper.selectMaxId();
+            omstruckOrderMaterial.setOrderMaterialId(orderMaterialId);
+            // 运输订单id
+            omstruckOrderMaterial.setOrderId(orderId);
+            // 物资id
+            omstruckOrderMaterial.setMaterialId(materialId);
+            // 物资重量
+            omstruckOrderMaterial.setOrderMaterialWeight(materialNumber);
+            //物资数量
+            omstruckOrderMaterial.setOrderMaterialNumber(materialNum);
+            omstruckOrderMaterial.setInsertTime(new Date());
+            // 新增车序号-物资中间表
+            result += amsSaleTrucknoMaterialMapper.insertSelective(amsSaleTrucknoMaterial);
+            // 新增定向派单表
+            result += amsDispatchSaleOrderMapper.insertSelective(amsDispatchSaleOrder);
+
+            // 新增运输订单子表
+            result += omstruckOrderMaterialMapper.insertSelective(omstruckOrderMaterial);
+            // 车序号累加
+            count++;
+        }
+        // 调用websocket
+        Map<String,Object> orderIdMap = new HashMap<>();
+        orderIdMap.put("orderId",orderId);
+        pushMesToWebsocket(orderIdMap);
+        // 生成运输执行总实绩
+        result += tmsTruckFeign.addTotalResult(orderIdMap);
+        return result;
+    }
+
     /**
      * 承运商直接派发销售订单
      * @param mapValue

+ 5 - 0
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -1906,5 +1906,10 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         return result;
     }
 
+    @Override
+    public List<Map<String, Object>> getKucunList(Map<String, Object> map) {
+        return amsSaleOrderMapper.getKucunList(map);
+    }
+
 
 }

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

@@ -156,11 +156,11 @@ public class AmstruckInwardRequirementServiceImpl extends BaseServiceImpl<Amstru
             amstruckRequirementMaterial.setInsertUsername("admin");
             amstruckRequirementMaterial.setInsertUpdateRemark(InsertUpdateRemark);
             result += amstruckRequirementMaterialMapper.insertSelective(amstruckRequirementMaterial);
-            if(mapValue.get("rangeId") != null){
-                //承运起止范围
-                requireMaterialMap.put("rangeId",mapValue.get("rangeId"));
-                amsContractTruckPriceService.insertLineNodePoint(requireMaterialMap);
-            }
+            //if(mapValue.get("rangeId") != null){
+            //    //承运起止范围
+            //    requireMaterialMap.put("rangeId",mapValue.get("rangeId"));
+            //    amsContractTruckPriceService.insertLineNodePoint(requireMaterialMap);
+            //}
         }
         return result;
     }

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

@@ -15,11 +15,11 @@ openfeign:
   ColumnDataFeign:
     url: ${COLUMNDATAFEIGN_URL:172.16.33.166:8083}
   TmsTruckFeign:
-    url: ${TMSTRUCKFEIGN_URL:172.16.33.162:8008}
+    url: ${TMSTRUCKFEIGN_URL:localhost:8008}
   ImFeign:
     url: ${IMFEIGN_URL:172.16.33.166:8055}
   JoinFeign:
-    url: ${JOINFEIGN_URL:172.16.33.162:8006}
+    url: ${JOINFEIGN_URL:localhost:8006}
 
 
   #测试环境端口

+ 60 - 0
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMapper.xml

@@ -4458,4 +4458,64 @@
     FROM TMSTRUCK_LEAVE_FACTORY_RESULT TLFR
     WHERE TLFR.RESULT_TOTAL_ID = #{resultTotalId}
   </select>
+    <select id="getKucunList" resultType="java.util.Map" parameterType="java.util.Map">
+      SELECT * FROM (
+                      SELECT ASO.SALE_NUMBER "saleNo", ASO.SALE_REMARK "saleRemark",
+                             RAS1.ARRIVAL_NAME      "sendStation",
+                             RAS.ARRIVAL_NAME       "toTheStation",
+                        RM.MATERIAL_NAME       "materialName",
+                        RM.MATERIAL_SPECIFICATION||'('||RM.MATERIAL_MODEL||')' "materialSpa",
+                        ASM.MATERIAL_NUMBER                                    "materialNum",
+                        ASM.MATERIAL_WEIGHT                                    "materialWeight",
+                        RDOINDEP.ORG_NAME                                       "transInDep",
+                        RDOOUTDEP.ORG_NAME                                         "transOutDep",
+                        RISWINOF.INWARD_WAREHOUSE_NAME                           "transInWarehouse",
+                        RC.CONSIGNEE_COMPANY_NAME                              "receiveName",
+                        ASO.SALE_ORDER_ID                                       "saleOrderId",
+                        RAS1.ARRIVAL_ID                                         "sendStationId",
+                        RAS.ARRIVAL_ID                                          "toTheStationId",
+                        ASM.IS_POUND_SALE                                       "isPoundSale",
+                        ASM.SALE_MATERIAL_ID                                    "saleMaterialId",
+                        TPAR.RESULT_ID                                          "approveId"
+                      FROM AMS_SALE_ORDER ASO
+                        LEFT JOIN AMS_SALE_MATERIAL ASM
+                      ON ASM.SALE_ORDER_ID = ASO.SALE_ORDER_ID
+                        LEFT JOIN RMS_MATERIAL RM
+                        ON RM.MATERIAL_ID = ASM.MATERIAL_ID
+                        LEFT JOIN TMSTRAIN_PLEASE_APPROVE_RESULT  TPAR
+                        ON TPAR.RAIL_PLAN_ID = ASM.SALE_MATERIAL_ID
+                        LEFT JOIN RMSTRAIN_ARRIVAL_SEND   RAS
+                        ON RAS.ARRIVAL_ID = TPAR.TO_THE_STATION_ID
+                        LEFT JOIN RMSTRAIN_ARRIVAL_SEND   RAS1
+                        ON RAS1.ARRIVAL_ID = TPAR.SEND_STATION_ID
+                        LEFT JOIN RMS_CONSIGNEE           RC
+                        ON RC.CONSIGNEE_ID = ASO.RECEIVE_ID
+                        LEFT JOIN RMS_DEP_ORG   RDOINDEP
+                        ON RDOINDEP.ORG_CODE = ASO.TRANSFER_IN_DEP
+                        LEFT JOIN RMS_DEP_ORG  RDOOUTDEP
+                        ON RDOOUTDEP.ORG_CODE = ASO.TRANSFER_OUT_DEP
+                        LEFT JOIN RMS_INWARD_STEEL_WAREHOUSE RISWINOF
+                        ON RISWINOF.INWARD_WAREHOUSE_CODE = ASM.TRANSFER_IN_OF_WAREHOUSE
+                      WHERE ASO.SALE_TYPE = 4
+                      <if test="oneDate != null">
+                        and to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt; = ASO.INSERT_TIME
+                      </if>
+                      <if test="startDate != null">
+                        and to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;=  ASO.INSERT_TIME
+                        and to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >=  ASO.INSERT_TIME
+                      </if>
+                      <if test="remark != null">
+                        and ASO.SALE_REMARK||RM.MATERIAL_NAME LIKE #{remark}
+                      </if>
+                      <if test="totheStation != null">
+                        and RAS.ARRIVAL_NAME LIKE #{totheStation}
+                      </if>
+                      <if test="consigneeName != null">
+                        and RC.CONSIGNEE_COMPANY_NAME like #{consigneeName}
+                      </if>
+                      <if test="transferIndep != null">
+                        and RISWINDEP.INWARD_WAREHOUSE_NAME = #{transferIndep}
+                      </if>
+       )
+    </select>
 </mapper>

+ 14 - 0
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMaterialMapper.xml

@@ -541,6 +541,7 @@
       #{item.saleOrderMaterialId,jdbcType=DECIMAL}
     </foreach>
   </update>
+
   <delete id="batchDelete" parameterType="java.util.List">
     delete from AMS_SALE_ORDER_MATERIAL
     where SALE_ORDER_MATERIAL_ID in
@@ -827,4 +828,17 @@
                      ON ASM.SALE_MATERIAL_ID = ASTM.MATERIAL_ID
     WHERE ASTM.SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
   </select>
+
+  <update id="updateSendStation">
+    update
+      TMSTRAIN_PLEASE_APPROVE_RESULT
+    set SEND_STATION_ID=#{sendStationId}
+    WHERE RAIL_PLAN_ID=#{saleMaterialId}
+  </update>
+  <update id="updateInwardConsignee">
+    update
+      AMS_SALE_ORDER
+    set RECEIVE_ID=#{consigneeId}
+    WHERE SALE_ORDER_ID=#{saleOrderId}
+  </update>
 </mapper>