luobang 2 年之前
父节点
当前提交
bf6e751f91

+ 1 - 1
pom.xml

@@ -194,7 +194,7 @@
                     <!--包名-->
                     <targetPackage>com.steerinfo.dil</targetPackage>
                     <tables>
-                        <table>OMSTRUCK_ORDER</table>
+                        <table>TMSTRUCK_WEIGHT_RESULT</table>
                     </tables>
                 </configuration>
                 <executions>

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

@@ -5,6 +5,7 @@ import com.steerinfo.framework.mapper.IBaseMapper;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.math.BigDecimal;
+import java.util.Map;
 
 
 @Mapper
@@ -16,4 +17,6 @@ public interface TmstruckReceiveResultMapper extends IBaseMapper<TmstruckReceive
     //计皮完成后 通过总实绩ID 更新状态 为 1
     int updateByTotalResultId(TmstruckReceiveResult tmstruckReceiveResult);
 
+
+
 }

+ 16 - 0
src/main/java/com/steerinfo/dil/mapper/TmstruckWeightResultMapper.java

@@ -119,4 +119,20 @@ public interface TmstruckWeightResultMapper extends IBaseMapper<TmstruckWeightRe
 
     BigDecimal getMaterialIdByOrderId(BigDecimal orderId);
 
+    String getIsSelfMention(Map<String, Object> map);
+
+    BigDecimal getJlSaleOrderMaterialId(Map<String, Object> map);
+
+    BigDecimal getJlSpell(BigDecimal jlSaleOrderMaterialId);
+
+    BigDecimal getWlSpell(Map<String, Object> map);
+
+    BigDecimal getJlOrderId(BigDecimal jlSaleOrderMaterialId);
+
+    BigDecimal getWlSaleOrderMaterialId(Map<String, Object> map);
+
+    int updateOrderPlanId(BigDecimal jlOrderId, BigDecimal wlSaleOrderMaterialId);
+
+    int updateOrderMaterialId(BigDecimal jlOrderId);
+
 }

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

@@ -147,6 +147,12 @@ public class TmstruckWeightResult implements IBasePO<BigDecimal> {
     @ApiModelProperty(value="物资件数",required=false)
     private BigDecimal materialNum;
 
+    /**
+     * 销售订单子表ID(SALE_MATERIAL_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="销售订单子表ID",required=false)
+    private BigDecimal saleMaterialId;
+
     private static final long serialVersionUID = 1L;
 
     @Override
@@ -343,6 +349,14 @@ public class TmstruckWeightResult implements IBasePO<BigDecimal> {
         this.materialNum = materialNum;
     }
 
+    public BigDecimal getSaleMaterialId() {
+        return saleMaterialId;
+    }
+
+    public void setSaleMaterialId(BigDecimal saleMaterialId) {
+        this.saleMaterialId = saleMaterialId;
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -372,6 +386,7 @@ public class TmstruckWeightResult implements IBasePO<BigDecimal> {
         sb.append(", grossSegmentSqe=").append(grossSegmentSqe);
         sb.append(", tareSegmentSqe=").append(tareSegmentSqe);
         sb.append(", materialNum=").append(materialNum);
+        sb.append(", saleMaterialId=").append(saleMaterialId);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();

+ 51 - 19
src/main/java/com/steerinfo/dil/service/impl/TmstruckWeightResultServiceImpl.java

@@ -230,7 +230,6 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
         }
         //根据传输过来的物资名称和规格型号
         Object resultNetWeight = map.get("resultNetWeight");
-
         if(resultNetWeight  != null && !"".equals(resultNetWeight)) {
             BigDecimal materialId = tmstruckWeightResultMapper.getMaterialId(map);
             if(materialId == null){
@@ -253,6 +252,7 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
             BigDecimal saleMaterialId = DataChange.dataToBigDecimal(saleMaterialMes.get("saleMaterialId"));//销售订单存放物资子表id
             BigDecimal orderMaterialId = DataChange.dataToBigDecimal(saleMaterialMes.get("orderMaterialId"));
             BigDecimal materialWeight = DataChange.dataToBigDecimal(saleMaterialMes.get("materialWeight"));//旧总理重
+            tmstruckWeightResult.setSaleMaterialId(saleMaterialId);
             map.put("orderMaterialId",orderMaterialId);
             map.put("saleMaterialId",saleMaterialId);
             BigDecimal newWeight = null;
@@ -805,19 +805,19 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
                 logger.info("=========" + "计量检查" + format.format(new Date()));
                 logger.info(jsonObject.toString());
                 logger.info("=========" + "计量检查" + format.format(new Date()));
-                try{
-                    new Thread( new Runnable() {
-                        public void run(){
-                            try {
-                                newFileTool.newFile(jsonObject.toString(),"计量物流金蝶核对");
-                            } catch (IOException e) {
-                                e.printStackTrace();
-                            }
-                        }
-                    }).start();
-                }catch (Exception e) {
-                    e.printStackTrace();
-                }
+                //try{
+                //    new Thread( new Runnable() {
+                //        public void run(){
+                //            try {
+                //                newFileTool.newFile(jsonObject.toString(),"计量物流金蝶核对");
+                //            } catch (IOException e) {
+                //                e.printStackTrace();
+                //            }
+                //        }
+                //    }).start();
+                //}catch (Exception e) {
+                //    e.printStackTrace();
+                //}
                 //判断该车的运输订单号是否是钢材且是否是正在作业中的,如果不是就返回true
                 int i = tmstruckWeightResultMapper.checkOrderIsSteel(map);
                 if (i == 0) {
@@ -826,11 +826,43 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
                 //判断该分录是不是在物流系统,如果不在返回true
                 int j = tmstruckWeightResultMapper.checkOrder(map);
                 if (j == 0) {
-                    //如果对不上,那么就将运输订单里面的状态变一下
-                    tmstruckWeightResultMapper.updateOmsRedQrCode(map);
-                    //推送数据
-                    utilsService.pushMesToWebsocket((String) map.get("carNo"), "计量");
-                    return  false;
+                    //判断是否自提
+                    String isSelfMention = tmstruckWeightResultMapper.getIsSelfMention(map);
+                    if(isSelfMention != null && isSelfMention.equals("是")) {
+                        //如果是自提,则更换规格
+                        BigDecimal jlSaleOrderMaterialId = tmstruckWeightResultMapper.getJlSaleOrderMaterialId(map);
+                        BigDecimal wlSaleOrderMaterialId = tmstruckWeightResultMapper.getWlSaleOrderMaterialId(map);
+                        BigDecimal wlOrderId = tmstruckWeightResultMapper.getJlOrderId(wlSaleOrderMaterialId);
+                        if(jlSaleOrderMaterialId != null) {
+                            //如果车序号子表存在,判断拼数是否相同
+                            BigDecimal jlSpell = tmstruckWeightResultMapper.getJlSpell(jlSaleOrderMaterialId);
+                            BigDecimal wlSpell = tmstruckWeightResultMapper.getWlSpell(map);
+                            //如果拼数相同,则继续更换运单,否则返回
+                            if (jlSpell.compareTo(wlSpell) == 0) {
+                               //判断正确的车序号主键有没有派车
+                                BigDecimal jlOrderId = tmstruckWeightResultMapper.getJlOrderId(jlSaleOrderMaterialId);
+                                if(jlOrderId != null) {
+                                    //分别更新
+                                    tmstruckWeightResultMapper.updateOrderPlanId(jlOrderId,wlSaleOrderMaterialId);
+                                    tmstruckWeightResultMapper.updateOrderPlanId(wlOrderId,jlSaleOrderMaterialId);
+                                    //清空运输订单子表的某个数据
+                                    tmstruckWeightResultMapper.updateOrderMaterialId(jlOrderId);
+                                    tmstruckWeightResultMapper.updateOrderMaterialId(wlOrderId);
+                                }else{
+                                    tmstruckWeightResultMapper.updateOrderPlanId(wlOrderId,jlSaleOrderMaterialId);
+                                    tmstruckWeightResultMapper.updateOrderMaterialId(wlOrderId);
+                                }
+                            }
+                        }
+                        //根据分录ID查询车序号
+                        utilsService.pushMesToWebsocket((String) map.get("carNo"), "计量");
+                        return false;
+                    }else {
+                        //如果对不上,那么就将运输订单里面的状态变一下
+                        tmstruckWeightResultMapper.updateOmsRedQrCode(map);
+                        utilsService.pushMesToWebsocket((String) map.get("carNo"), "计量");
+                        return false;
+                    }
                 }else{
                     return true;
                 }

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

@@ -350,7 +350,8 @@
     where TRR.RESULT_TOTAL_ID = #{resultTotalId}
   </select>
 
-  <!--通过总实绩Id 更新 状态码 为 1 已签收-->
+
+    <!--通过总实绩Id 更新 状态码 为 1 已签收-->
   <update id="updateByTotalResultId" parameterType="com.steerinfo.dil.model.TmstruckReceiveResult">
     update TMSTRUCK_RECEIVE_RESULT
     <set>

+ 92 - 10
src/main/resources/com/steerinfo/dil/mapper/TmstruckWeightResultMapper.xml

@@ -25,20 +25,22 @@
         <result column="GROSS_SEGMENT_SQE" jdbcType="DECIMAL" property="grossSegmentSqe" />
         <result column="TARE_SEGMENT_SQE" jdbcType="DECIMAL" property="tareSegmentSqe" />
         <result column="MATERIAL_NUM" jdbcType="DECIMAL" property="materialNum" />
+        <result column="SALE_MATERIAL_ID" jdbcType="DECIMAL" property="saleMaterialId" />
     </resultMap>
     <sql id="columns">
         WEIGHT_TASK_RESULT_ID, RESULT_TOTAL_ID, RESULT_POUND_NO, RESULT_GROSS_WEIGHT, RESULT_GROSS_WEIGHT_TIME,
     RESULT_TARE_WEIGHT, RESULT_TARE_WEIGHT_TIME, RESULT_NET_WEIGHT, INSERT_USERNAME,
     INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK, DELETE_NAME, DELETE_TIME,
     RESULT_GROSS_PLACE_ID, RESULT_TARE_PLACE_ID, MATERIAL_ID, ISDEDUCT, ISQUALITY, GROSS_SEGMENT_SQE,
-    TARE_SEGMENT_SQE, MATERIAL_NUM
+    TARE_SEGMENT_SQE, MATERIAL_NUM, SALE_MATERIAL_ID
     </sql>
     <sql id="columns_alias">
         t.WEIGHT_TASK_RESULT_ID, t.RESULT_TOTAL_ID, t.RESULT_POUND_NO, t.RESULT_GROSS_WEIGHT,
     t.RESULT_GROSS_WEIGHT_TIME, t.RESULT_TARE_WEIGHT, t.RESULT_TARE_WEIGHT_TIME, t.RESULT_NET_WEIGHT,
     t.INSERT_USERNAME, t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK,
     t.DELETE_NAME, t.DELETE_TIME, t.RESULT_GROSS_PLACE_ID, t.RESULT_TARE_PLACE_ID, t.MATERIAL_ID,
-    t.ISDEDUCT, t.ISQUALITY, t.GROSS_SEGMENT_SQE, t.TARE_SEGMENT_SQE, t.MATERIAL_NUM
+    t.ISDEDUCT, t.ISQUALITY, t.GROSS_SEGMENT_SQE, t.TARE_SEGMENT_SQE, t.MATERIAL_NUM,
+    t.SALE_MATERIAL_ID
     </sql>
     <sql id="select">
         SELECT <include refid="columns" /> FROM TMSTRUCK_WEIGHT_RESULT
@@ -117,6 +119,9 @@
             <if test="materialNum != null">
                 and MATERIAL_NUM = #{materialNum}
             </if>
+            <if test="saleMaterialId != null">
+                and SALE_MATERIAL_ID = #{saleMaterialId}
+            </if>
         </where>
     </sql>
     <sql id="whereLike">
@@ -190,9 +195,12 @@
             <if test="materialNum != null">
                 and MATERIAL_NUM = #{materialNum}
             </if>
+            <if test="saleMaterialId != null">
+                and SALE_MATERIAL_ID = #{saleMaterialId}
+            </if>
         </where>
     </sql>
-    <delete id="deleteByPrimaryKey" parameterType="DECIMAL">
+    <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
         delete from TMSTRUCK_WEIGHT_RESULT
         where WEIGHT_TASK_RESULT_ID = #{weightTaskResultId,jdbcType=DECIMAL}
     </delete>
@@ -265,6 +273,9 @@
         <if test="materialNum != null">
             or MATERIAL_NUM = #{materialNum}
         </if>
+        <if test="saleMaterialId != null">
+            or SALE_MATERIAL_ID = #{saleMaterialId}
+        </if>
     </delete>
     <insert id="insert" parameterType="com.steerinfo.dil.model.TmstruckWeightResult">
         insert into TMSTRUCK_WEIGHT_RESULT (WEIGHT_TASK_RESULT_ID, RESULT_TOTAL_ID,
@@ -275,7 +286,7 @@
                                             DELETE_NAME, DELETE_TIME, RESULT_GROSS_PLACE_ID,
                                             RESULT_TARE_PLACE_ID, MATERIAL_ID, ISDEDUCT,
                                             ISQUALITY, GROSS_SEGMENT_SQE, TARE_SEGMENT_SQE,
-                                            MATERIAL_NUM)
+                                            MATERIAL_NUM, SALE_MATERIAL_ID)
         values (#{weightTaskResultId,jdbcType=DECIMAL}, #{resultTotalId,jdbcType=DECIMAL},
                 #{resultPoundNo,jdbcType=VARCHAR}, #{resultGrossWeight,jdbcType=DECIMAL}, #{resultGrossWeightTime,jdbcType=TIMESTAMP},
                 #{resultTareWeight,jdbcType=DECIMAL}, #{resultTareWeightTime,jdbcType=TIMESTAMP},
@@ -284,7 +295,7 @@
                 #{deleteName,jdbcType=VARCHAR}, #{deleteTime,jdbcType=TIMESTAMP}, #{resultGrossPlaceId,jdbcType=DECIMAL},
                 #{resultTarePlaceId,jdbcType=DECIMAL}, #{materialId,jdbcType=DECIMAL}, #{isdeduct,jdbcType=DECIMAL},
                 #{isquality,jdbcType=DECIMAL}, #{grossSegmentSqe,jdbcType=DECIMAL}, #{tareSegmentSqe,jdbcType=DECIMAL},
-                #{materialNum,jdbcType=DECIMAL})
+                #{materialNum,jdbcType=DECIMAL}, #{saleMaterialId,jdbcType=DECIMAL})
     </insert>
     <insert id="insertSelective" parameterType="com.steerinfo.dil.model.TmstruckWeightResult">
         insert into TMSTRUCK_WEIGHT_RESULT
@@ -358,6 +369,9 @@
             <if test="materialNum != null">
                 MATERIAL_NUM,
             </if>
+            <if test="saleMaterialId != null">
+                SALE_MATERIAL_ID,
+            </if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="weightTaskResultId != null">
@@ -429,6 +443,9 @@
             <if test="materialNum != null">
                 #{materialNum,jdbcType=DECIMAL},
             </if>
+            <if test="saleMaterialId != null">
+                #{saleMaterialId,jdbcType=DECIMAL},
+            </if>
         </trim>
     </insert>
     <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.TmstruckWeightResult">
@@ -454,7 +471,8 @@
             ISQUALITY = #{isquality,jdbcType=DECIMAL},
             GROSS_SEGMENT_SQE = #{grossSegmentSqe,jdbcType=DECIMAL},
             TARE_SEGMENT_SQE = #{tareSegmentSqe,jdbcType=DECIMAL},
-            MATERIAL_NUM = #{materialNum,jdbcType=DECIMAL}
+            MATERIAL_NUM = #{materialNum,jdbcType=DECIMAL},
+            SALE_MATERIAL_ID = #{saleMaterialId,jdbcType=DECIMAL}
         where WEIGHT_TASK_RESULT_ID = #{weightTaskResultId,jdbcType=DECIMAL}
     </update>
     <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.TmstruckWeightResult">
@@ -526,10 +544,13 @@
             <if test="materialNum != null">
                 MATERIAL_NUM = #{materialNum,jdbcType=DECIMAL},
             </if>
+            <if test="saleMaterialId != null">
+                SALE_MATERIAL_ID = #{saleMaterialId,jdbcType=DECIMAL},
+            </if>
         </set>
         where WEIGHT_TASK_RESULT_ID = #{weightTaskResultId,jdbcType=DECIMAL}
     </update>
-    <select id="selectByPrimaryKey" parameterType="DECIMAL" resultMap="BaseResultMap">
+    <select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" resultMap="BaseResultMap">
         <include refid="select" />
         where WEIGHT_TASK_RESULT_ID = #{weightTaskResultId,jdbcType=DECIMAL}
     </select>
@@ -553,7 +574,8 @@
         DELETE_NAME, DELETE_TIME, RESULT_GROSS_PLACE_ID,
         RESULT_TARE_PLACE_ID, MATERIAL_ID,
         ISDEDUCT, ISQUALITY, GROSS_SEGMENT_SQE,
-        TARE_SEGMENT_SQE, MATERIAL_NUM)
+        TARE_SEGMENT_SQE, MATERIAL_NUM,
+        SALE_MATERIAL_ID)
         ( <foreach collection="list" item="item" separator="union all">
         select
         #{item.weightTaskResultId,jdbcType=DECIMAL},
@@ -566,7 +588,8 @@
         #{item.deleteName,jdbcType=VARCHAR}, #{item.deleteTime,jdbcType=TIMESTAMP}, #{item.resultGrossPlaceId,jdbcType=DECIMAL},
         #{item.resultTarePlaceId,jdbcType=DECIMAL}, #{item.materialId,jdbcType=DECIMAL},
         #{item.isdeduct,jdbcType=DECIMAL}, #{item.isquality,jdbcType=DECIMAL}, #{item.grossSegmentSqe,jdbcType=DECIMAL},
-        #{item.tareSegmentSqe,jdbcType=DECIMAL}, #{item.materialNum,jdbcType=DECIMAL} from dual
+        #{item.tareSegmentSqe,jdbcType=DECIMAL}, #{item.materialNum,jdbcType=DECIMAL},
+        #{item.saleMaterialId,jdbcType=DECIMAL} from dual
     </foreach> )
     </insert>
     <update id="batchUpdate" parameterType="java.util.List">
@@ -664,6 +687,10 @@
         <foreach close="end" collection="list" index="index" item="item" open="case WEIGHT_TASK_RESULT_ID" separator=" ">
             when #{item.weightTaskResultId,jdbcType=DECIMAL} then #{item.materialNum,jdbcType=DECIMAL}
         </foreach>
+        ,SALE_MATERIAL_ID=
+        <foreach close="end" collection="list" index="index" item="item" open="case WEIGHT_TASK_RESULT_ID" separator=" ">
+            when #{item.weightTaskResultId,jdbcType=DECIMAL} then #{item.saleMaterialId,jdbcType=DECIMAL}
+        </foreach>
         where WEIGHT_TASK_RESULT_ID in
         <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
             #{item.weightTaskResultId,jdbcType=DECIMAL}
@@ -1015,9 +1042,15 @@
         left join AMS_SALE_TRUCKNO_MATERIAL ASTM on ASOM.SALE_ORDER_MATERIAL_ID = ASTM.SALE_ORDER_MATERIAL_ID
         left join AMS_SALE_MATERIAL ASM on ASTM.MATERIAL_ID = ASM.SALE_MATERIAL_ID
         left join OMSTRUCK_ORDER_MATERIAL OOM on OO.ORDER_ID = OOM.ORDER_ID
+        AND OOM.SALE_MATERIAL_ID = ASM.SALE_MATERIAL_ID AND OOM.SALE_MATERIAL_ID IS NOT NULL
+        OR (OO.ORDER_ID = OOM.ORDER_ID and OOM.SALE_MATERIAL_ID IS NULL)
         where ASM.MATERIAL_ID = #{materialId}
         AND OO.ORDER_ID = #{orderId}
         AND OOM.MATERIAL_ID = #{materialId}
+        AND ASM.SALE_MATERIAL_ID NOT IN (
+        SELECT nvl(TWR.SALE_MATERIAL_ID,0) FROM TMSTRUCK_TOTAL_RESULT TTR
+        LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWR ON TWR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+        WHERE TTR.ORDER_ID = #{orderId})
         fetch first 1 row only
     </select>
 
@@ -1125,7 +1158,8 @@
             TWR.RESULT_TARE_WEIGHT_TIME = NULL,
             TWR.INSERT_UPDATE_REMARK = '计量联动删除',
             TWR.RESULT_POUND_NO = NULL,
-            TWR.MATERIAL_ID = NULL
+            TWR.MATERIAL_ID = NULL,
+            TWR.SALE_MATERIAL_ID = NULL
         WHERE TWR.WEIGHT_TASK_RESULT_ID = #{weightTaskResultId}
     </update>
     <update id="updateWeightTareNoGross" parameterType="java.math.BigDecimal">
@@ -1142,6 +1176,7 @@
         SET OO.ORDER_LINE_SEQUENCE = #{orderLineSqe}
         WHERE OO.ORDER_ID = #{orderId}
     </update>
+
     <select id="selectWeightMes" resultType="java.util.Map">
         SELECT TWR.WEIGHT_TASK_RESULT_ID "weightTaskResultId",
                TWR.TARE_SEGMENT_SQE "tareSqe",
@@ -1165,4 +1200,51 @@
         AND OOM.ORDER_ID = #{orderId}
         FETCH FIRST 1 row only
     </select>
+    <select id="getIsSelfMention" resultType="java.lang.String" parameterType="map">
+        SELECT ASO.SALE_ORDER_ISSELF_MENTION FROM OMSTRUCK_ORDER OO
+        LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+        ON ASOM.SALE_ORDER_MATERIAL_ID = OO.ORDER_PLAN_ID
+        LEFT JOIN AMS_SALE_ORDER ASO ON ASO.SALE_ORDER_ID = ASOM.SALE_ORDER_ID
+        WHERE OO.ORDER_NUMBER = #{orderNumber}
+        AND OO.ORDER_STATUS = 5
+    </select>
+    <select id="getJlSaleOrderMaterialId" resultType="java.math.BigDecimal">
+        SELECT distinct ASOM.SALE_ORDER_MATERIAL_ID FROM AMS_SALE_MATERIAL ASM
+        LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM
+        ON ASTM.MATERIAL_ID = ASM.SALE_MATERIAL_ID
+        LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+        ON ASOM.SALE_ORDER_MATERIAL_ID = ASTM.SALE_ORDER_MATERIAL_ID
+        WHERE ASM.EAS_PRIMARY_ID = #{flId}
+    </select>
+    <select id="getJlSpell" resultType="java.math.BigDecimal" parameterType="decimal">
+        SELECT count(astm.TRUCKNO_MATERIAL_ID) FROM AMS_SALE_TRUCKNO_MATERIAL ASTM
+        WHERE ASTM.SALE_ORDER_MATERIAL_ID = #{jlSaleOrderMaterialId}
+    </select>
+    <select id="getWlSpell" resultType="java.math.BigDecimal" parameterType="map">
+        SELECT count(oom.ORDER_MATERIAL_ID) FROM OMSTRUCK_ORDER OO
+        LEFT JOIN OMSTRUCK_ORDER_MATERIAL OOM
+        ON OOM.ORDER_ID = OO.ORDER_ID
+        WHERE OO.ORDER_NUMBER = #{orderNumber}
+        and oo.order_status = 5
+    </select>
+    <select id="getJlOrderId" resultType="java.math.BigDecimal" parameterType="java.math.BigDecimal">
+        SELECT OO.ORDER_ID FROM OMSTRUCK_ORDER OO
+        WHERE OO.ORDER_PLAN_ID = #{jlSaleOrderMaterialId}
+        AND OO.ORDER_TYPE = 1
+    </select>
+    <select id="getWlSaleOrderMaterialId" resultType="java.math.BigDecimal" parameterType="map">
+        SELECT OO.ORDER_PLAN_ID FROM OMSTRUCK_ORDER OO
+        WHERE OO.ORDER_NUMBER = #{orderNumber}
+        AND OO.ORDER_STATUS = 5
+    </select>
+    <update id="updateOrderPlanId" >
+        UPDATE OMSTRUCK_ORDER OO
+        SET OO.ORDER_PLAN_ID = #{wlSaleOrderMaterialId}
+        WHERE OO.ORDER_ID = #{jlOrderId}
+    </update>
+    <update id="updateOrderMaterialId">
+        UPDATE OMSTRUCK_ORDER_MATERIAL OOM
+        SET OOM.SALE_MATERIAL_ID = null
+        WHERE OOM.ORDER_ID = #{jlOrderId}
+    </update>
 </mapper>