From 426f307e9671ae076d99f0a7b9227fc4a6d60fda Mon Sep 17 00:00:00 2001
From: 王佳豪 <g675230687@126.com>
Date: 星期二, 23 三月 2021 10:36:38 +0800
Subject: [PATCH] 1.0.3 erp出库-发货通知功能完成

---
 src/main/resources/mapper/OutStockMapper.xml |   73 ++++++++++++++++++++++++++++++++++--
 1 files changed, 69 insertions(+), 4 deletions(-)

diff --git a/src/main/resources/mapper/OutStockMapper.xml b/src/main/resources/mapper/OutStockMapper.xml
index d4c259a..8b61c42 100644
--- a/src/main/resources/mapper/OutStockMapper.xml
+++ b/src/main/resources/mapper/OutStockMapper.xml
@@ -2,7 +2,7 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.zy.asrs.mapper.OutStockMapper">
 
-    <!-- 鏄犲皠缁撴灉 -->
+    <!-- OutStockBillEntry鏄犲皠缁撴灉 -->
     <resultMap id="OutStockResultMap" type="com.zy.common.service.erp.entity.OutStockBillEntry">
         <result column="FBrNo" property="FBrNo"/>
         <result column="FInterID" property="FInterID"/>
@@ -13,8 +13,34 @@
         <result column="FAuxPrice" property="FAuxPrice"/>
         <result column="FDate" property="FDate"/>
         <result column="FNote" property="FNote"/>
+        <result column="Fnumber" property="FNumber"/>
+        <result column="FSourceBillNo" property="FSourceBillNo"/>
         <result column="FBillNo" property="FBillNo"/>
         <result column="FAdd" property="FAdd"/>
+        <result column="workRecord" property="workRecord"/>
+    </resultMap>
+
+    <!-- asr_loc_detl鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.LocDetl">
+        <result column="loc_no" property="locNo" />
+        <result column="matnr" property="matnr" />
+        <result column="maktx" property="maktx" />
+        <result column="lgnum" property="lgnum" />
+        <result column="type" property="type" />
+        <result column="mnemonic" property="mnemonic" />
+        <result column="supplier" property="supplier" />
+        <result column="warehouse" property="warehouse" />
+        <result column="brand" property="brand" />
+        <result column="anfme" property="anfme" />
+        <result column="altme" property="altme" />
+        <result column="zpallet" property="zpallet" />
+        <result column="bname" property="bname" />
+        <result column="memo" property="memo" />
+        <result column="modi_user" property="modiUser" />
+        <result column="modi_time" property="modiTime" />
+        <result column="appe_user" property="appeUser" />
+        <result column="appe_time" property="appeTime" />
+        <result column="mat_status" property="matStatus" />
     </resultMap>
 
     <sql id="stockOutCondition">
@@ -27,11 +53,15 @@
         select * from
         (
         select ROW_NUMBER() over (order by a.FInterID,a.FEntryID) as row,a.FBrNo,a.FInterID,a.FEntryID,
-        a.FOrderInterID,a.FAuxQty,a.FCommitQty,a.FAuxPrice,a.FDate,a.FNote, b.FBillNo, b.FAdd
+        a.FOrderInterID,a.FAuxQty,a.FCommitQty,a.FAuxPrice,a.FDate,a.FNote, a.Fnumber, a.FSourceBillNo, b.FBillNo,
+        b.FAdd,
+        ((select COUNT(*) from asr_wrk_detl where warehouse = b.FBillNo and matnr = a.Fnumber) + (select COUNT(*) from asr_wrk_detl_log where warehouse = b.FBillNo and matnr = a.Fnumber)) as workRecord
         from OutStockBillEntry a left join OutStockBill b on a.FInterID = b.FInterID
         where 1=1
-        <include refid="stockOutCondition"></include>
-        ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
+        <if test="FBillNo!=null and FBillNo!='' ">
+            and b.FBillNo = #{FBillNo}
+        </if>
+        ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) and workRecord = 0
     </select>
 
     <select id="queryOutStockCount" parameterType="java.util.Map" resultType="java.lang.Integer">
@@ -41,4 +71,39 @@
         left join OutStockBill b on a.FInterID = b.FInterID
         where 1=1
     </select>
+
+    <select id="queryMatnrWithBillNo" resultMap="OutStockResultMap">
+        select * from (select ROW_NUMBER() over (order by a.FInterID,a.FEntryID) as row,a.FBrNo,a.FInterID,a.FEntryID,
+        a.FOrderInterID,a.FAuxQty,a.FCommitQty,a.FAuxPrice,a.FDate,a.FNote, a.Fnumber, a.FSourceBillNo, b.FBillNo,
+        b.FAdd,
+        ((select COUNT(*) from asr_wrk_detl where warehouse = b.FBillNo and matnr = a.Fnumber) + (select COUNT(*) from asr_wrk_detl_log where warehouse = b.FBillNo and matnr = a.Fnumber)) as workRecord
+        from OutStockBillEntry a left join OutStockBill b on a.FInterID = b.FInterID
+        where b.FBillNo = #{FBillNo}) t where t.workRecord = 0
+    </select>
+
+    <select id="queryMatWithLoc" resultMap="BaseResultMap">
+        select * from asr_loc_detl a left join asr_loc_mast b on a.loc_no = b.loc_no
+        where 1=1
+        and b.loc_sts = 'F'
+        and a.matnr = #{matnr}
+        order by
+        DATEPART(yyyy,a.modi_time),DATEPART(mm,a.modi_time),DATEPART(dd,a.modi_time)
+        desc,
+        case
+        when (left(a.loc_no, 2) = '01') then 0
+        when (left(a.loc_no, 2) = '02') then 1
+        when (left(a.loc_no, 2) = '03') then 1
+        when (left(a.loc_no, 2) = '04') then 0
+        when (left(a.loc_no, 2) = '05') then 0
+        when (left(a.loc_no, 2) = '06') then 1
+        when (left(a.loc_no, 2) = '07') then 1
+        when (left(a.loc_no, 2) = '08') then 0
+        when (left(a.loc_no, 2) = '09') then 0
+        when (left(a.loc_no, 2) = '10') then 1
+        when (left(a.loc_no, 2) = '11') then 1
+        when (left(a.loc_no, 2) = '12') then 0
+        else 0
+        end
+        desc
+    </select>
 </mapper>

--
Gitblit v1.9.1