HUJIANGUO преди 3 години
родител
ревизия
dbd1ac0803

+ 17 - 1
src/main/java/com/steerinfo/dil/controller/AmsSaleOrderController.java

@@ -509,7 +509,8 @@ public class AmsSaleOrderController extends BaseRESTfulController {
                                                          Integer pageSize,
                                                          Integer apiId,
                                                          String con,
-                                                         Integer shipperId
+                                                         Integer shipperId,
+                                                         @RequestParam(required = false) Integer saleType
 //                                                         String startDate,
 //                                                         String endDate
                                                          ) {
@@ -519,6 +520,7 @@ public class AmsSaleOrderController extends BaseRESTfulController {
         if(shipperId != null  && !"".equals(shipperId) && !"null".equals(shipperId)){
             mapValue.put("shipperId", shipperId);
         }
+        mapValue.put("saleType",saleType);
 //        SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
 //        if(startDate != null  && !"".equals(startDate) && !"null".equals(startDate)){
 //            Date startTime=new Date(Long.parseLong(startDate));
@@ -799,4 +801,18 @@ public class AmsSaleOrderController extends BaseRESTfulController {
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId,null, saleOrderList);
         return success(pageList);
     }
+
+    @ApiModelProperty(value = "删除上一条销售订单")
+    @PostMapping("/deleteSaleOrderById")
+    public RESTfulResult deleteSaleOrderById(@RequestParam Integer saleOrderId) {
+        int result = amsSaleOrderService.deleteSaleOrderById(new BigDecimal(saleOrderId));
+        return success(result);
+    }
+
+    @ApiModelProperty(value = "查询出销售订单下的所有数据")
+    @PostMapping("/getAllSaleMessages")
+    public RESTfulResult getAllSaleMessages(@RequestParam Integer saleOrderId) {
+        Map<String,Object> saleMap = amsSaleOrderService.getAllSaleMessages(new BigDecimal(saleOrderId));
+        return success(saleMap);
+    }
 }

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

@@ -100,4 +100,12 @@ public interface AmsSaleOrderMapper extends IBaseMapper<AmsSaleOrder, BigDecimal
     List<Map<String, Object>> getSaleOrderListByCarrierSsoId(Map<String, Object> map);
 
     BigDecimal getOrderPrice(Map<String, Object> map);
+    // 根据id查询收货单位名称
+    String selectConsigneeName(BigDecimal receiveId);
+    // 根据收货单位名称查询承运商id
+    BigDecimal selectCarrierId(String consigneeName);
+    // 查询销售订单的数据
+    Map<String, Object> getSaleMapMessages(BigDecimal saleOrderId);
+    // 查询销售订单下面表的数据
+    List<Map<String, Object>> getSaleListMessages(BigDecimal saleOrderId);
 }

+ 15 - 0
src/main/java/com/steerinfo/dil/model/AmsSaleOrder.java

@@ -141,6 +141,12 @@ public class AmsSaleOrder implements IBasePO<BigDecimal> {
     @ApiModelProperty(value="销售员ID",required=false)
     private BigDecimal salerId;
 
+    /**
+     * 销售订单类型:(空:化产焦炭和水渣,1:钢材,2:钒渣)(SALE_TYPE,DECIMAL,0)
+     */
+    @ApiModelProperty(value="销售订单类型:(空:化产焦炭和水渣,1:钢材,2:钒渣)",required=false)
+    private BigDecimal saleType;
+
     private static final long serialVersionUID = 1L;
 
     @Override
@@ -329,6 +335,14 @@ public class AmsSaleOrder implements IBasePO<BigDecimal> {
         this.salerId = salerId;
     }
 
+    public BigDecimal getSaleType() {
+        return saleType;
+    }
+
+    public void setSaleType(BigDecimal saleType) {
+        this.saleType = saleType;
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -357,6 +371,7 @@ public class AmsSaleOrder implements IBasePO<BigDecimal> {
         sb.append(", deleted=").append(deleted);
         sb.append(", closeStatus=").append(closeStatus);
         sb.append(", salerId=").append(salerId);
+        sb.append(", saleType=").append(saleType);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();

+ 47 - 2
src/main/java/com/steerinfo/dil/model/OmstruckOrder.java

@@ -100,9 +100,9 @@ public class OmstruckOrder implements IBasePO<BigDecimal> {
     private BigDecimal deleted;
 
     /**
-     * 订单类型(1:销售订单;2:焦炭发运计划;3:水渣发运计划;4:内转到异地库;5:采购辅料订单;6:采购老区燃料订单;7:采购新区燃料订单;8:采购进口矿(万州-厂内);9:采购内转(达州-厂内);10:采购内转(老区-厂内); 11:厂内内转;12:零星物资进厂、13:零星物资出厂:14:钢材退货 ;15 内转精煤进厂;16 内转精煤出厂;17 采购化工材料新区订单; 18 采购化工材料老区订单)(ORDER_TYPE,DECIMAL,0)
+     * 订单类型(1:销售订单;2:焦炭发运计划;3:水渣发运计划;4:内转到异地库;5:采购辅料订单;6:采购老区燃料订单;7:采购新区燃料订单;8:采购进口矿(万州-厂内);9:内转钢坯车 ; 10:采购内转(老区-厂内); 11:厂内内转;12:零星物资进厂、13:零星物资出厂:14:钢材退货 ;15 内转精煤进厂;16 内转精煤出厂;17 采购化工材料新区订单; 18 采购化工材料老区订单)(ORDER_TYPE,DECIMAL,0)
      */
-    @ApiModelProperty(value="订单类型(1:销售订单;2:焦炭发运计划;3:水渣发运计划;4:内转到异地库;5:采购辅料订单;6:采购老区燃料订单;7:采购新区燃料订单;8:采购进口矿(万州-厂内);9:采购内转(达州-厂内);10:采购内转(老区-厂内); 11:厂内内转;12:零星物资进厂、13:零星物资出厂:14:钢材退货 ;15 内转精煤进厂;16 内转精煤出厂;17 采购化工材料新区订单; 18 采购化工材料老区订单)",required=false)
+    @ApiModelProperty(value="订单类型(1:销售订单;2:焦炭发运计划;3:水渣发运计划;4:内转到异地库;5:采购辅料订单;6:采购老区燃料订单;7:采购新区燃料订单;8:采购进口矿(万州-厂内);9:内转钢坯车 ; 10:采购内转(老区-厂内); 11:厂内内转;12:零星物资进厂、13:零星物资出厂:14:钢材退货 ;15 内转精煤进厂;16 内转精煤出厂;17 采购化工材料新区订单; 18 采购化工材料老区订单)",required=false)
     private BigDecimal orderType;
 
     /**
@@ -147,6 +147,24 @@ public class OmstruckOrder implements IBasePO<BigDecimal> {
     @ApiModelProperty(value="订单所属承运商ID",required=false)
     private BigDecimal carrierId;
 
+    /**
+     * 行程ID(TRIP_ID,VARCHAR,200)
+     */
+    @ApiModelProperty(value="行程ID",required=false)
+    private String tripId;
+
+    /**
+     * 打印状态(ORDER_PRINT_STATUS,DECIMAL,0)
+     */
+    @ApiModelProperty(value="打印状态",required=false)
+    private BigDecimal orderPrintStatus;
+
+    /**
+     * 司机电话号码(DRIVER_TEL,VARCHAR,36)
+     */
+    @ApiModelProperty(value="司机电话号码",required=false)
+    private String driverTel;
+
     private static final long serialVersionUID = 1L;
 
     @Override
@@ -343,6 +361,30 @@ public class OmstruckOrder implements IBasePO<BigDecimal> {
         this.carrierId = carrierId;
     }
 
+    public String getTripId() {
+        return tripId;
+    }
+
+    public void setTripId(String tripId) {
+        this.tripId = tripId == null ? null : tripId.trim();
+    }
+
+    public BigDecimal getOrderPrintStatus() {
+        return orderPrintStatus;
+    }
+
+    public void setOrderPrintStatus(BigDecimal orderPrintStatus) {
+        this.orderPrintStatus = orderPrintStatus;
+    }
+
+    public String getDriverTel() {
+        return driverTel;
+    }
+
+    public void setDriverTel(String driverTel) {
+        this.driverTel = driverTel == null ? null : driverTel.trim();
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -372,6 +414,9 @@ public class OmstruckOrder implements IBasePO<BigDecimal> {
         sb.append(", driverConfirmation=").append(driverConfirmation);
         sb.append(", priceId=").append(priceId);
         sb.append(", carrierId=").append(carrierId);
+        sb.append(", tripId=").append(tripId);
+        sb.append(", orderPrintStatus=").append(orderPrintStatus);
+        sb.append(", driverTel=").append(driverTel);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();

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

@@ -127,4 +127,8 @@ public interface IAmsSaleOrderService {
     List<Map<String, Object>> getHaveCarTruckNoList(Map<String, Object> mapValue);
     //展示销售公司下发给承运商的销售订单列表
     List<Map<String, Object>> getSaleOrderListByCarrierSsoId(Map<String, Object> mapValue);
+    // 删除销售订单
+    int deleteSaleOrderById(BigDecimal saleOrderId);
+    // 查询出销售订单的所有数据
+    Map<String, Object> getAllSaleMessages(BigDecimal saleOrderId);
 }

+ 65 - 2
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -555,6 +555,8 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         amsSaleOrder.setSaleOrderIsselfMention(isSelfMention);
         amsSaleOrder.setSaleOrderId(saleOrderId);
         amsSaleOrder.setSalerId(salerId);
+        // 设置钢材订单
+        amsSaleOrder.setSaleType(new BigDecimal(1));
         amsSaleOrder.setSaleNumber(DataChange.generateEightDigitsNumber("WXSDD",saleOrderId.intValue(),"-"));
         amsSaleOrder.setInsertTime(new Date());
         amsSaleOrder.setInsertUpdateRemark("物流新增销售订单");
@@ -604,7 +606,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                         amsSaleOrderMaterial.setSaleShippingAddressId((BigDecimal) placeIdList.get(0).get("placeId"));
                     }
                 }
-                if (amsSaleOrderMaterial.getSaleShippingAddressId() != null) {
+                if (amsSaleOrderMaterial.getSaleShippingAddressId() != null && isSelfMention.equals("否")) {
                     // 自动匹配承运商
                     List<Map<String, Object>> carrierList = getCarrierByPlace(amsSaleOrderMaterial.getSaleShippingAddressId());
                     // 单一承运商才进行匹配
@@ -618,6 +620,21 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                         dispatchToCarrier(list);
                     }
                 }
+                if (isSelfMention.equals("是")) {
+                    // 根据收货单位id查询出收货单位名称
+                    String consigneeName = amsSaleOrderMapper.selectConsigneeName(receiveId);
+                    // 根据收货单位名称查询承运商id
+                    BigDecimal carrierId = amsSaleOrderMapper.selectCarrierId(consigneeName);
+                    List<Map<String, Object>> list = new ArrayList<>();
+                    Map<String,Object> map1 = new HashMap<>();
+                    // 传入车序号主键和承运商id
+                    if (carrierId != null) {
+                        map1.put("saleOrderMaterialId", saleOrderMaterialId);
+                        map1.put("carrierId", carrierId);
+                        list.add(map1);
+                        dispatchToCarrier(list);
+                    }
+                }
                 // 收货方姓名
                 String consigneeName = String.valueOf(map.get("saleOrderConsignee"));
                 // 收货方电话
@@ -728,6 +745,8 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
             BigDecimal priceId = amsSaleOrderMapper.getOrderPrice(map);
             // 运输线路id
             BigDecimal lineId = DataChange.dataToBigDecimal(map.get("lineId"));
+            // 司机电话号码
+            String driverTel = (String) map.get("driverTel");
             BigDecimal isSteel = new BigDecimal(1);
             // 得到运力id
             BigDecimal capacityId = amsSaleOrderMaterialMapper.getCapacityId(capacityNumber);
@@ -750,7 +769,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                 amsDispatchSaleOrder.setDispatchTime(new Date());
                 amsDispatchSaleOrder.setDispatchDealTime(new Date());
                 // 成交类型
-                amsDispatchSaleOrder.setDispatchType(new BigDecimal(0));
+                amsDispatchSaleOrder.setDispatchType(new BigDecimal(2));
                 // 车序号状态
                 amsDispatchSaleOrder.setDispatchStatus(new BigDecimal(2));
                 result += amsDispatchSaleOrderMapper.insertSelective(amsDispatchSaleOrder);
@@ -794,6 +813,10 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                 omstruckOrder.setOrderIssueTime(new Date());
                 // 运单状态
                 omstruckOrder.setOrderStatus(new BigDecimal(4));
+                // 司机电话
+                if (driverTel != null && !"null".equals(driverTel)) {
+                    omstruckOrder.setDriverTel(driverTel);
+                }
                 BigDecimal status;
                 // 钢材
                 if (isSteel != null && isSteel.intValue() == 1) {
@@ -905,6 +928,19 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
     @Override
     public List<Map<String, Object>> getSaleOrderListToCarrier(Map<String, Object> map) {
         List<Map<String, Object>> resultList = amsSaleOrderMapper.getSaleOrderListToCarrier(map);
+        for (Map<String, Object> resultMap : resultList) {
+            BigDecimal saleOrderId = (BigDecimal) resultMap.get("saleOrderId");
+            // 物资
+            List<Map<String,Object>> materialList = amsSaleOrderMapper.getTruckNoAndMaterial(saleOrderId);
+            if (materialList != null && materialList.size() > 0) {
+                Map<String, Object> materialMap = materialList.get(0);
+                String materialName = (String) materialMap.get("materialName");
+                if (materialList.size() != 1) {
+                    materialName += "...";
+                }
+                resultMap.put("materialName",materialName);
+            }
+        }
         return resultList;
     }
 
@@ -944,6 +980,33 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         return resultList;
     }
 
+    /**
+     *
+     * @param saleOrderId
+     * @return
+     */
+    @Override
+    public int deleteSaleOrderById(BigDecimal saleOrderId) {
+        AmsSaleOrder amsSaleOrder = new AmsSaleOrder();
+        amsSaleOrder.setSaleOrderId(saleOrderId);
+        amsSaleOrder.setDeleted(new BigDecimal(1));
+        int result = amsSaleOrderMapper.updateByPrimaryKeySelective(amsSaleOrder);
+        return result;
+    }
+
+    /**
+     * 查询出销售订单下的所有数据
+     * @param saleOrderId
+     * @return
+     */
+    @Override
+    public Map<String, Object> getAllSaleMessages(BigDecimal saleOrderId) {
+        Map<String,Object> saleMap = amsSaleOrderMapper.getSaleMapMessages(saleOrderId);
+        List<Map<String,Object>> mapList = amsSaleOrderMapper.getSaleListMessages(saleOrderId);
+        saleMap.put("mapList",mapList);
+        return saleMap;
+    }
+
     /**
      * 展示未匹配承运商的车序号
      * @param mapValue

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

@@ -17,7 +17,7 @@ openfeign:
   TmsTruckFeign:
     url: ${TMSTRUCKFEIGN_URL:172.16.33.162:8008}
   ImFeign:
-    url: ${IMFEIGN_URL:172.16.33.162:8018}
+    url: ${IMFEIGN_URL:172.16.33.166:8055}
   JoinFeign:
     url: ${JOINFEIGN_URL:172.16.33.162:8006}
 

+ 126 - 28
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMapper.xml

@@ -24,20 +24,21 @@
     <result column="DELETED" jdbcType="DECIMAL" property="deleted" />
     <result column="CLOSE_STATUS" jdbcType="DECIMAL" property="closeStatus" />
     <result column="SALER_ID" jdbcType="DECIMAL" property="salerId" />
+    <result column="SALE_TYPE" jdbcType="DECIMAL" property="saleType" />
   </resultMap>
   <sql id="columns">
     SALE_ORDER_ID, PLAN_ID, SALE_NUMBER, SHIPPER_ID, RECEIVE_ID, SALE_ACCOUNT_BALANCE,
     SALE_CURRENT_ORDER_AMOUNT, SALE_HISTORICAL_ORDER_AMOUNT, SALE_ORDER_STATUS, SALE_ORDER_RECEIVE_CUSTOMER,
     SALE_ORDER_ISSELF_MENTION, SALE_UNIT_PRICE, SALE_ORDER_TAX, SALE_REMARK, INSERT_USERNAME,
     INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED, CLOSE_STATUS,
-    SALER_ID
+    SALER_ID, SALE_TYPE
   </sql>
   <sql id="columns_alias">
     t.SALE_ORDER_ID, t.PLAN_ID, t.SALE_NUMBER, t.SHIPPER_ID, t.RECEIVE_ID, t.SALE_ACCOUNT_BALANCE,
     t.SALE_CURRENT_ORDER_AMOUNT, t.SALE_HISTORICAL_ORDER_AMOUNT, t.SALE_ORDER_STATUS,
     t.SALE_ORDER_RECEIVE_CUSTOMER, t.SALE_ORDER_ISSELF_MENTION, t.SALE_UNIT_PRICE, t.SALE_ORDER_TAX,
     t.SALE_REMARK, t.INSERT_USERNAME, t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME,
-    t.INSERT_UPDATE_REMARK, t.DELETED, t.CLOSE_STATUS, t.SALER_ID
+    t.INSERT_UPDATE_REMARK, t.DELETED, t.CLOSE_STATUS, t.SALER_ID, t.SALE_TYPE
   </sql>
   <sql id="select">
     SELECT <include refid="columns" /> FROM AMS_SALE_ORDER
@@ -113,6 +114,9 @@
       <if test="salerId != null">
         and SALER_ID = #{salerId}
       </if>
+      <if test="saleType != null">
+        and SALE_TYPE = #{saleType}
+      </if>
     </where>
   </sql>
   <sql id="whereLike">
@@ -183,9 +187,12 @@
       <if test="salerId != null">
         and SALER_ID = #{salerId}
       </if>
+      <if test="saleType != null">
+        and SALE_TYPE = #{saleType}
+      </if>
     </where>
   </sql>
-  <delete id="deleteByPrimaryKey" parameterType="DECIMAL">
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Short">
     delete from AMS_SALE_ORDER
     where SALE_ORDER_ID = #{saleOrderId,jdbcType=DECIMAL}
   </delete>
@@ -255,6 +262,9 @@
     <if test="salerId != null">
       or SALER_ID = #{salerId}
     </if>
+    <if test="saleType != null">
+      or SALE_TYPE = #{saleType}
+    </if>
   </delete>
   <insert id="insert" parameterType="com.steerinfo.dil.model.AmsSaleOrder">
     insert into AMS_SALE_ORDER (SALE_ORDER_ID, PLAN_ID, SALE_NUMBER,
@@ -265,7 +275,7 @@
                                 SALE_ORDER_TAX, SALE_REMARK, INSERT_USERNAME,
                                 INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME,
                                 INSERT_UPDATE_REMARK, DELETED, CLOSE_STATUS,
-                                SALER_ID)
+                                SALER_ID, SALE_TYPE)
     values (#{saleOrderId,jdbcType=DECIMAL}, #{planId,jdbcType=DECIMAL}, #{saleNumber,jdbcType=VARCHAR},
             #{shipperId,jdbcType=DECIMAL}, #{receiveId,jdbcType=DECIMAL}, #{saleAccountBalance,jdbcType=DECIMAL},
             #{saleCurrentOrderAmount,jdbcType=DECIMAL}, #{saleHistoricalOrderAmount,jdbcType=DECIMAL},
@@ -274,7 +284,7 @@
             #{saleOrderTax,jdbcType=VARCHAR}, #{saleRemark,jdbcType=VARCHAR}, #{insertUsername,jdbcType=VARCHAR},
             #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP},
             #{insertUpdateRemark,jdbcType=VARCHAR}, #{deleted,jdbcType=DECIMAL}, #{closeStatus,jdbcType=DECIMAL},
-            #{salerId,jdbcType=DECIMAL})
+            #{salerId,jdbcType=DECIMAL}, #{saleType,jdbcType=DECIMAL})
   </insert>
   <insert id="insertSelective" parameterType="com.steerinfo.dil.model.AmsSaleOrder">
     insert into AMS_SALE_ORDER
@@ -345,6 +355,9 @@
       <if test="salerId != null">
         SALER_ID,
       </if>
+      <if test="saleType != null">
+        SALE_TYPE,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="saleOrderId != null">
@@ -413,6 +426,9 @@
       <if test="salerId != null">
         #{salerId,jdbcType=DECIMAL},
       </if>
+      <if test="saleType != null">
+        #{saleType,jdbcType=DECIMAL},
+      </if>
     </trim>
   </insert>
   <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.AmsSaleOrder">
@@ -437,7 +453,8 @@
         INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
         DELETED = #{deleted,jdbcType=DECIMAL},
         CLOSE_STATUS = #{closeStatus,jdbcType=DECIMAL},
-        SALER_ID = #{salerId,jdbcType=DECIMAL}
+        SALER_ID = #{salerId,jdbcType=DECIMAL},
+        SALE_TYPE = #{saleType,jdbcType=DECIMAL}
     where SALE_ORDER_ID = #{saleOrderId,jdbcType=DECIMAL}
   </update>
   <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.AmsSaleOrder">
@@ -506,10 +523,13 @@
       <if test="salerId != null">
         SALER_ID = #{salerId,jdbcType=DECIMAL},
       </if>
+      <if test="saleType != null">
+        SALE_TYPE = #{saleType,jdbcType=DECIMAL},
+      </if>
     </set>
     where SALE_ORDER_ID = #{saleOrderId,jdbcType=DECIMAL}
   </update>
-  <select id="selectByPrimaryKey" parameterType="DECIMAL" resultMap="BaseResultMap">
+  <select id="selectByPrimaryKey" parameterType="java.lang.Short" resultMap="BaseResultMap">
     <include refid="select" />
     where SALE_ORDER_ID = #{saleOrderId,jdbcType=DECIMAL}
   </select>
@@ -532,8 +552,8 @@
     SALE_ORDER_TAX, SALE_REMARK, INSERT_USERNAME,
     INSERT_TIME, UPDATE_USERNAME,
     UPDATE_TIME, INSERT_UPDATE_REMARK,
-    DELETED, CLOSE_STATUS, SALER_ID
-    )
+    DELETED, CLOSE_STATUS, SALER_ID,
+    SALE_TYPE)
     ( <foreach collection="list" item="item" separator="union all">
     select
     #{item.saleOrderId,jdbcType=DECIMAL},
@@ -545,8 +565,8 @@
     #{item.saleOrderTax,jdbcType=VARCHAR}, #{item.saleRemark,jdbcType=VARCHAR}, #{item.insertUsername,jdbcType=VARCHAR},
     #{item.insertTime,jdbcType=TIMESTAMP}, #{item.updateUsername,jdbcType=VARCHAR},
     #{item.updateTime,jdbcType=TIMESTAMP}, #{item.insertUpdateRemark,jdbcType=VARCHAR},
-    #{item.deleted,jdbcType=DECIMAL}, #{item.closeStatus,jdbcType=DECIMAL}, #{item.salerId,jdbcType=DECIMAL}
-    from dual
+    #{item.deleted,jdbcType=DECIMAL}, #{item.closeStatus,jdbcType=DECIMAL}, #{item.salerId,jdbcType=DECIMAL},
+    #{item.saleType,jdbcType=DECIMAL} from dual
   </foreach> )
   </insert>
   <update id="batchUpdate" parameterType="java.util.List">
@@ -640,6 +660,10 @@
     <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_ID" separator=" ">
       when #{item.saleOrderId,jdbcType=DECIMAL} then #{item.salerId,jdbcType=DECIMAL}
     </foreach>
+    ,SALE_TYPE=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_ID" separator=" ">
+      when #{item.saleOrderId,jdbcType=DECIMAL} then #{item.saleType,jdbcType=DECIMAL}
+    </foreach>
     where SALE_ORDER_ID in
     <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
       #{item.saleOrderId,jdbcType=DECIMAL}
@@ -1824,6 +1848,12 @@
     <if test="shipperId != null">
       and a_s_order.SHIPPER_ID = #{shipperId}
     </if>
+    <if test="saleType != null">
+      and a_s_order.SALE_TYPE = #{saleType}
+    </if>
+    <if test="saleType == null">
+      and a_s_order.SALE_TYPE is null
+    </if>
     ORDER BY a_s_order.UPDATE_TIME DESC
     )
     <where>
@@ -2091,7 +2121,7 @@
     on t_t_result.result_total_id=t_w_result.result_total_id
     left join OMSTRUCK_ORDER_MATERIAL o_o_material
     on o_order.order_id=o_o_material.ORDER_ID
-    where t_w_result.RESULT_NET_WEIGHT is null and o_order.order_status !=8
+    where t_w_result.RESULT_NET_WEIGHT is null and o_order.order_status in (2,4,5)
     GROUP BY
     a_s_o_Material.SALE_ORDER_ID
   
@@ -2106,6 +2136,7 @@
     on o_order.order_id=t_t_result.order_id
     left join Tmstruck_Weight_Result t_w_result
     on t_t_result.result_total_id=t_w_result.result_total_id
+    where t_w_result.RESULT_NET_WEIGHT is null and o_order.order_status in (2,4,5)
     GROUP BY
     a_s_o_Material.SALE_ORDER_ID
   
@@ -2254,23 +2285,24 @@
   </select>
 
   <select id="getTruckNoAndMaterial" parameterType="DECIMAL" resultType="java.util.Map" >
-    SELECT DISTINCT ASOM.SALE_ORDER_MATERIAL_TRUCK_NO                                                                AS "truckNo",
-                    RM.MATERIAL_NAME                                                                                 AS "materialName",
-                    ASM.MATERIAL_ID                                                                                  AS "materialId",
-                    ASM.MATERIAL_NUMBER                                                                              AS "materialNumber",
-                    ASM.MATERIAL_WEIGHT                                                                              AS "materialWeight",
-                    ASOM.SALE_DATE_OF_RECEIPT                                                                        AS "receiptDate",
-                    RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL                                                   AS "materialModelSpecification",
-                    RM.MATERIAL_CODE                                                                                 AS "materialCode",
+    SELECT DISTINCT ASOM.SALE_ORDER_MATERIAL_TRUCK_NO              AS "truckNo",
+                    RM.MATERIAL_NAME                               AS "materialName",
+                    ASM.MATERIAL_ID                                AS "materialId",
+                    ASM.MATERIAL_NUMBER                            AS "materialNumber",
+                    ASM.MATERIAL_WEIGHT                            AS "materialWeight",
+                    ASOM.SALE_DATE_OF_RECEIPT                      AS "receiptDate",
+                    RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL AS "materialModelSpecification",
+                    RM.MATERIAL_CODE                               AS "materialCode",
                     RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT || RRA.ADDRESS_TOWN ||
-                    RRP.ADDRESS_DELIVERY_ADDRESS                                                                     AS "place",
-                    ASOM.SALE_DATE_OF_RECEIPT                                                                        AS "receiptDate",
-                    ASOM.SALE_ORDER_CONSIGNEE_TEL                                                                    AS "saleOrderConsigneeTel",
-                    ASOM.SALE_ORDER_CONSIGNEE                                                                        AS "saleOrderConsignee",
-                    ASOM.SALE_ORDER_MATERIAL_ID                                                                      AS "saleOrderMaterialId",
-                    ASOM.SALE_SHIPPING_ADDRESS_ID                                                                    AS "placeId",
-                    RC.CAPACITY_NUMBER                                                                               AS "capacityNumber",
-                    ADSO.CARRIER_ID                                                                                  AS "carrierId"
+                    RRP.ADDRESS_DELIVERY_ADDRESS                   AS "place",
+                    ASOM.SALE_DATE_OF_RECEIPT                      AS "receiptDate",
+                    ASOM.SALE_ORDER_CONSIGNEE_TEL                  AS "saleOrderConsigneeTel",
+                    ASOM.SALE_ORDER_CONSIGNEE                      AS "saleOrderConsignee",
+                    ASOM.SALE_ORDER_MATERIAL_ID                    AS "saleOrderMaterialId",
+                    ASOM.SALE_SHIPPING_ADDRESS_ID                  AS "placeId",
+                    RC.CAPACITY_NUMBER                             AS "capacityNumber",
+                    ADSO.CARRIER_ID                                AS "carrierId",
+                    RCA.CARRIER_NAME                               AS "carrierName"
     FROM AMS_SALE_TRUCKNO_MATERIAL ASTM
            LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
                      ON ASOM.SALE_ORDER_MATERIAL_ID = ASTM.SALE_ORDER_MATERIAL_ID
@@ -2288,8 +2320,11 @@
                      ON RC.CAPACITY_ID = OO.CAPACITY_ID
            LEFT JOIN AMS_DISPATCH_SALE_ORDER ADSO
                      ON ADSO.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+           LEFT JOIN RMS_CARRIER RCA
+                     ON RCA.CARRIER_ID = ADSO.CARRIER_ID
     WHERE ASOM.SALE_ORDER_ID = #{saleOrderId}
       AND OO.ORDER_ID IS NULL
+      AND ADSO.DISPATCH_ID IS NOT NULL
     ORDER BY ASOM.SALE_ORDER_MATERIAL_TRUCK_NO ASC
   </select>
 
@@ -2945,4 +2980,67 @@
     WHERE ACTP.CARRIER_ID = #{carrierId}
       AND ASOM.SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
   </select>
+
+  <select id="selectConsigneeName" parameterType="DECIMAL" resultType="java.lang.String" >
+    SELECT RC.CONSIGNEE_COMPANY_NAME AS "consigneeName"
+    FROM RMS_CONSIGNEE RC
+    WHERE RC.CONSIGNEE_ID = #{receiveId}
+  </select>
+
+  <select id="selectCarrierId" resultType="DECIMAL" parameterType="java.lang.String">
+    SELECT RC.CARRIER_ID AS "carrierId"
+    FROM RMS_CARRIER RC
+    WHERE RC.CARRIER_NAME = #{consigneeName}
+  </select>
+
+  <select id="getSaleMapMessages" resultType="java.util.Map" parameterType="DECIMAL" >
+    SELECT ASO.SALE_ORDER_ISSELF_MENTION   AS "isSelfMention",
+           ASO.SALE_REMARK                 AS "saleRemark",
+           ASO.SALE_ORDER_RECEIVE_CUSTOMER AS "saleOrderReceiveCustomer",
+           RSH.SHIPPER_ID                  AS "shipperId",
+           RSH.SHIPPER_NAME                AS "shipperName",
+           RCO.CONSIGNEE_ID                AS "receiveId",
+           RCO.CONSIGNEE_COMPANY_NAME      AS "receiveName",
+           RSA.SALER_ID                    AS "salerId",
+           RSA.SALER_NAME                  AS "salerName"
+    FROM AMS_SALE_ORDER ASO
+           LEFT JOIN RMS_SHIPPER RSH
+                     ON RSH.SHIPPER_ID = ASO.SHIPPER_ID
+           LEFT JOIN RMS_CONSIGNEE RCO
+                     ON RCO.CONSIGNEE_ID = ASO.RECEIVE_ID
+           LEFT JOIN RMS_SALER RSA
+                     ON RSA.SALER_ID = ASO.SALER_ID
+    WHERE ASO.SALE_ORDER_ID = #{saleOrderId}
+  </select>
+
+  <select id="getSaleListMessages" parameterType="DECIMAL" resultType="java.util.Map" >
+    SELECT ASOM.SALE_ORDER_MATERIAL_TRUCK_NO                                AS "truckNo",
+           RRP.ADDRESS_DELIVERY_ADDRESS                                     AS "place",
+           RRA.ADDRESS_ID                                                   AS "shipperAddressId",
+           RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT || RRA.ADDRESS_TOWN AS "saleShipperAddressName",
+           ASOM.SALE_ORDER_CONSIGNEE                                        AS "saleOrderConsignee",
+           ASOM.SALE_ORDER_CONSIGNEE_TEL                                    AS "saleOrderConsigneeTel",
+           ASOM.SALE_DATE_OF_RECEIPT                                        AS "saleDateOfReceipt",
+           ASM.MATERIAL_ID                                                  AS "materialId",
+           RM.MATERIAL_NAME                                                 AS "materialName",
+           RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL                   AS "Specification",
+           RM.MATERIAL_CODE                                                 AS "materialCode",
+           ASM.MATERIAL_NUMBER                                              AS "materialNumber",
+           ASM.STEEL_METER                                                  AS "steelMeters",
+           ASM.IS_POUND_SALE                                                AS "isPoundSale"
+    FROM AMS_SALE_ORDER ASO
+           LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+                     ON ASO.SALE_ORDER_ID = ASOM.SALE_ORDER_ID
+           LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM
+                     ON ASTM.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+           LEFT JOIN AMS_SALE_MATERIAL ASM
+                     ON ASM.SALE_MATERIAL_ID = ASTM.MATERIAL_ID
+           LEFT JOIN RMS_MATERIAL RM
+                     ON RM.MATERIAL_ID = ASM.MATERIAL_ID
+           LEFT JOIN RMS_RECEIVE_PLACE RRP
+                     ON RRP.PLACE_ID = ASOM.SALE_SHIPPING_ADDRESS_ID
+           LEFT JOIN RMS_RECEIVE_ADDRESS RRA
+                     ON RRA.ADDRESS_ID = RRP.ADDRESS_ID
+    WHERE ASO.SALE_ORDER_ID = #{saleOrderId}
+  </select>
 </mapper>

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

@@ -25,20 +25,24 @@
         <result column="DRIVER_CONFIRMATION" jdbcType="DECIMAL" property="driverConfirmation" />
         <result column="PRICE_ID" jdbcType="DECIMAL" property="priceId" />
         <result column="CARRIER_ID" jdbcType="DECIMAL" property="carrierId" />
+        <result column="TRIP_ID" jdbcType="VARCHAR" property="tripId" />
+        <result column="ORDER_PRINT_STATUS" jdbcType="DECIMAL" property="orderPrintStatus" />
+        <result column="DRIVER_TEL" jdbcType="VARCHAR" property="driverTel" />
     </resultMap>
     <sql id="columns">
         ORDER_ID, ORDER_PLAN_ID, ORDER_NUMBER, CAPACITY_ID, ORDER_ISSUE_TIME, ORDER_RECEIVE_STATUS,
     ORDER_RECEIVE_REFUSE_TIME, ORDER_COMMUNICATION_DURATION, ORDER_STATUS, INSERT_USERNAME,
     INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED, ORDER_TYPE,
     ORDER_LINE_SEQUENCE, LINE_ID, ORDER_ENTRY_TIME, UNLOAD_POINT_ID, DRIVER_CONFIRMATION,
-    PRICE_ID, CARRIER_ID
+    PRICE_ID, CARRIER_ID, TRIP_ID, ORDER_PRINT_STATUS, DRIVER_TEL
     </sql>
     <sql id="columns_alias">
         t.ORDER_ID, t.ORDER_PLAN_ID, t.ORDER_NUMBER, t.CAPACITY_ID, t.ORDER_ISSUE_TIME, t.ORDER_RECEIVE_STATUS,
     t.ORDER_RECEIVE_REFUSE_TIME, t.ORDER_COMMUNICATION_DURATION, t.ORDER_STATUS, t.INSERT_USERNAME,
     t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.DELETED,
     t.ORDER_TYPE, t.ORDER_LINE_SEQUENCE, t.LINE_ID, t.ORDER_ENTRY_TIME, t.UNLOAD_POINT_ID,
-    t.DRIVER_CONFIRMATION, t.PRICE_ID, t.CARRIER_ID
+    t.DRIVER_CONFIRMATION, t.PRICE_ID, t.CARRIER_ID, t.TRIP_ID, t.ORDER_PRINT_STATUS,
+    t.DRIVER_TEL
     </sql>
     <sql id="select">
         SELECT <include refid="columns" /> FROM OMSTRUCK_ORDER
@@ -117,6 +121,15 @@
             <if test="carrierId != null">
                 and CARRIER_ID = #{carrierId}
             </if>
+            <if test="tripId != null and tripId != ''">
+                and TRIP_ID = #{tripId}
+            </if>
+            <if test="orderPrintStatus != null">
+                and ORDER_PRINT_STATUS = #{orderPrintStatus}
+            </if>
+            <if test="driverTel != null and driverTel != ''">
+                and DRIVER_TEL = #{driverTel}
+            </if>
         </where>
     </sql>
     <sql id="whereLike">
@@ -190,9 +203,18 @@
             <if test="carrierId != null">
                 and CARRIER_ID = #{carrierId}
             </if>
+            <if test="tripId != null and tripId != ''">
+                and TRIP_ID LIKE '%${tripId}%'
+            </if>
+            <if test="orderPrintStatus != null">
+                and ORDER_PRINT_STATUS = #{orderPrintStatus}
+            </if>
+            <if test="driverTel != null and driverTel != ''">
+                and DRIVER_TEL LIKE '%${driverTel}%'
+            </if>
         </where>
     </sql>
-    <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Short">
         delete from OMSTRUCK_ORDER
         where ORDER_ID = #{orderId,jdbcType=DECIMAL}
     </delete>
@@ -265,6 +287,15 @@
         <if test="carrierId != null">
             or CARRIER_ID = #{carrierId}
         </if>
+        <if test="tripId != null and tripId != ''">
+            or TRIP_ID = #{tripId}
+        </if>
+        <if test="orderPrintStatus != null">
+            or ORDER_PRINT_STATUS = #{orderPrintStatus}
+        </if>
+        <if test="driverTel != null and driverTel != ''">
+            or DRIVER_TEL = #{driverTel}
+        </if>
     </delete>
     <insert id="insert" parameterType="com.steerinfo.dil.model.OmstruckOrder">
         insert into OMSTRUCK_ORDER (ORDER_ID, ORDER_PLAN_ID, ORDER_NUMBER,
@@ -274,7 +305,8 @@
                                     UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK,
                                     DELETED, ORDER_TYPE, ORDER_LINE_SEQUENCE,
                                     LINE_ID, ORDER_ENTRY_TIME, UNLOAD_POINT_ID,
-                                    DRIVER_CONFIRMATION, PRICE_ID, CARRIER_ID
+                                    DRIVER_CONFIRMATION, PRICE_ID, CARRIER_ID,
+                                    TRIP_ID, ORDER_PRINT_STATUS, DRIVER_TEL
         )
         values (#{orderId,jdbcType=DECIMAL}, #{orderPlanId,jdbcType=DECIMAL}, #{orderNumber,jdbcType=VARCHAR},
                 #{capacityId,jdbcType=DECIMAL}, #{orderIssueTime,jdbcType=TIMESTAMP}, #{orderReceiveStatus,jdbcType=DECIMAL},
@@ -283,7 +315,8 @@
                 #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR},
                 #{deleted,jdbcType=DECIMAL}, #{orderType,jdbcType=DECIMAL}, #{orderLineSequence,jdbcType=DECIMAL},
                 #{lineId,jdbcType=DECIMAL}, #{orderEntryTime,jdbcType=TIMESTAMP}, #{unloadPointId,jdbcType=DECIMAL},
-                #{driverConfirmation,jdbcType=DECIMAL}, #{priceId,jdbcType=DECIMAL}, #{carrierId,jdbcType=DECIMAL}
+                #{driverConfirmation,jdbcType=DECIMAL}, #{priceId,jdbcType=DECIMAL}, #{carrierId,jdbcType=DECIMAL},
+                #{tripId,jdbcType=VARCHAR}, #{orderPrintStatus,jdbcType=DECIMAL}, #{driverTel,jdbcType=VARCHAR}
                )
     </insert>
     <insert id="insertSelective" parameterType="com.steerinfo.dil.model.OmstruckOrder">
@@ -358,6 +391,15 @@
             <if test="carrierId != null">
                 CARRIER_ID,
             </if>
+            <if test="tripId != null">
+                TRIP_ID,
+            </if>
+            <if test="orderPrintStatus != null">
+                ORDER_PRINT_STATUS,
+            </if>
+            <if test="driverTel != null">
+                DRIVER_TEL,
+            </if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="orderId != null">
@@ -429,6 +471,15 @@
             <if test="carrierId != null">
                 #{carrierId,jdbcType=DECIMAL},
             </if>
+            <if test="tripId != null">
+                #{tripId,jdbcType=VARCHAR},
+            </if>
+            <if test="orderPrintStatus != null">
+                #{orderPrintStatus,jdbcType=DECIMAL},
+            </if>
+            <if test="driverTel != null">
+                #{driverTel,jdbcType=VARCHAR},
+            </if>
         </trim>
     </insert>
     <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.OmstruckOrder">
@@ -454,7 +505,10 @@
             UNLOAD_POINT_ID = #{unloadPointId,jdbcType=DECIMAL},
             DRIVER_CONFIRMATION = #{driverConfirmation,jdbcType=DECIMAL},
             PRICE_ID = #{priceId,jdbcType=DECIMAL},
-            CARRIER_ID = #{carrierId,jdbcType=DECIMAL}
+            CARRIER_ID = #{carrierId,jdbcType=DECIMAL},
+            TRIP_ID = #{tripId,jdbcType=VARCHAR},
+            ORDER_PRINT_STATUS = #{orderPrintStatus,jdbcType=DECIMAL},
+            DRIVER_TEL = #{driverTel,jdbcType=VARCHAR}
         where ORDER_ID = #{orderId,jdbcType=DECIMAL}
     </update>
     <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.OmstruckOrder">
@@ -526,10 +580,19 @@
             <if test="carrierId != null">
                 CARRIER_ID = #{carrierId,jdbcType=DECIMAL},
             </if>
+            <if test="tripId != null">
+                TRIP_ID = #{tripId,jdbcType=VARCHAR},
+            </if>
+            <if test="orderPrintStatus != null">
+                ORDER_PRINT_STATUS = #{orderPrintStatus,jdbcType=DECIMAL},
+            </if>
+            <if test="driverTel != null">
+                DRIVER_TEL = #{driverTel,jdbcType=VARCHAR},
+            </if>
         </set>
         where ORDER_ID = #{orderId,jdbcType=DECIMAL}
     </update>
-    <select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" resultMap="BaseResultMap">
+    <select id="selectByPrimaryKey" parameterType="java.lang.Short" resultMap="BaseResultMap">
         <include refid="select" />
         where ORDER_ID = #{orderId,jdbcType=DECIMAL}
     </select>
@@ -553,7 +616,8 @@
         DELETED, ORDER_TYPE, ORDER_LINE_SEQUENCE,
         LINE_ID, ORDER_ENTRY_TIME, UNLOAD_POINT_ID,
         DRIVER_CONFIRMATION, PRICE_ID,
-        CARRIER_ID)
+        CARRIER_ID, TRIP_ID, ORDER_PRINT_STATUS,
+        DRIVER_TEL)
         ( <foreach collection="list" item="item" separator="union all">
         select
         #{item.orderId,jdbcType=DECIMAL},
@@ -566,7 +630,8 @@
         #{item.deleted,jdbcType=DECIMAL}, #{item.orderType,jdbcType=DECIMAL}, #{item.orderLineSequence,jdbcType=DECIMAL},
         #{item.lineId,jdbcType=DECIMAL}, #{item.orderEntryTime,jdbcType=TIMESTAMP}, #{item.unloadPointId,jdbcType=DECIMAL},
         #{item.driverConfirmation,jdbcType=DECIMAL}, #{item.priceId,jdbcType=DECIMAL},
-        #{item.carrierId,jdbcType=DECIMAL} from dual
+        #{item.carrierId,jdbcType=DECIMAL}, #{item.tripId,jdbcType=VARCHAR}, #{item.orderPrintStatus,jdbcType=DECIMAL},
+        #{item.driverTel,jdbcType=VARCHAR} from dual
     </foreach> )
     </insert>
     <update id="batchUpdate" parameterType="java.util.List">
@@ -664,6 +729,18 @@
         <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
             when #{item.orderId,jdbcType=DECIMAL} then #{item.carrierId,jdbcType=DECIMAL}
         </foreach>
+        ,TRIP_ID=
+        <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.tripId,jdbcType=VARCHAR}
+        </foreach>
+        ,ORDER_PRINT_STATUS=
+        <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.orderPrintStatus,jdbcType=DECIMAL}
+        </foreach>
+        ,DRIVER_TEL=
+        <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.driverTel,jdbcType=VARCHAR}
+        </foreach>
         where ORDER_ID in
         <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
             #{item.orderId,jdbcType=DECIMAL}