Browse Source

列表审核

liuchaohui 2 years ago
parent
commit
142c08bb2b

+ 4 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/orderData/entity/SySOAndOM.java

@@ -63,4 +63,8 @@ public class SySOAndOM {
     @Excel(name = "委外行号", width = 15)
     @Excel(name = "委外行号", width = 15)
     @ApiModelProperty(value = "委外行号")
     @ApiModelProperty(value = "委外行号")
     private java.lang.String iVouchRowNo;
     private java.lang.String iVouchRowNo;
+    //账套号
+    @Excel(name = "委外账套号", width = 15)
+    @ApiModelProperty(value = "委外账套号")
+    private java.lang.String omaccount;
 }
 }

+ 43 - 5
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/orderData/mapper/xml/SySOAndOMMapper.xml

@@ -1,14 +1,21 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.documents.orderData.mapper.SySOAndOMMapper">
 <mapper namespace="org.jeecg.modules.documents.orderData.mapper.SySOAndOMMapper">
-
+            <!--
+            #101只卖成衣
+            #成衣需要添加数量相等的逻辑   面辅料不要
+            #101本地委外 103的不会到101买成衣只会在102卖成衣
+            -->
     <select id="querySOList" resultType="org.jeecg.modules.documents.orderData.entity.SySOAndOM" >
     <select id="querySOList" resultType="org.jeecg.modules.documents.orderData.entity.SySOAndOM" >
         <if test="sy.account =='101'">
         <if test="sy.account =='101'">
-            select
+            select  om.cCode,od.iVouchRowNo,101 as omaccount,
             sm.cSOCode as orderNumber,sd.iRowNo,sd.cInvCode AS inventoryCode,c.cInvCcode AS inventoryCcode,
             sm.cSOCode as orderNumber,sd.iRowNo,sd.cInvCode AS inventoryCode,c.cInvCcode AS inventoryCcode,
             c.cInvName AS inventoryName,sd.cFree1 AS colour,c.cInvStd as specificationAndModel,sd.iQuantity as quantity,101 as account
             c.cInvName AS inventoryName,sd.cFree1 AS colour,c.cInvStd as specificationAndModel,sd.iQuantity as quantity,101 as account
             from UFDATA_101_2021.dbo.SO_SOMain sm
             from UFDATA_101_2021.dbo.SO_SOMain sm
             join UFDATA_101_2021.dbo.SO_SODetails sd on sm.id=sd.id
             join UFDATA_101_2021.dbo.SO_SODetails sd on sm.id=sd.id
+            left join (select*from UFDATA_101_2021.dbo.OM_MODetails where cbCloser is not null) od
+            on sd.isosid = od.isosid and sd.iQuantity=od.iQuantity
+            left join UFDATA_101_2021.dbo.OM_MOMain om on om.MOID =od.MOID
             join UFDATA_101_2021.dbo.Inventory c on c.cInvCode=sd.cInvCode
             join UFDATA_101_2021.dbo.Inventory c on c.cInvCode=sd.cInvCode
             where sm.csocode=#{sy.orderNumber}
             where sm.csocode=#{sy.orderNumber}
             order BY c.cInvName,sd.cFree1
             order BY c.cInvName,sd.cFree1
@@ -24,19 +31,36 @@
             order BY c.cInvName,sd.cFree1
             order BY c.cInvName,sd.cFree1
         </if>
         </if>
         <if test="sy.account =='103'">
         <if test="sy.account =='103'">
-            select
+            select om.cCode,od.iVouchRowNo,103 as omaccount,
             sm.cSOCode as orderNumber,sd.iRowNo,sd.cInvCode AS inventoryCode,c.cInvCcode AS inventoryCcode,
             sm.cSOCode as orderNumber,sd.iRowNo,sd.cInvCode AS inventoryCode,c.cInvCcode AS inventoryCcode,
             c.cInvName AS inventoryName,sd.cFree1 AS colour,c.cInvStd as specificationAndModel,sd.iQuantity as quantity,103 as account
             c.cInvName AS inventoryName,sd.cFree1 AS colour,c.cInvStd as specificationAndModel,sd.iQuantity as quantity,103 as account
             from UFDATA_103_2021.dbo.SO_SOMain sm
             from UFDATA_103_2021.dbo.SO_SOMain sm
             join UFDATA_103_2021.dbo.SO_SODetails sd on sm.id=sd.id
             join UFDATA_103_2021.dbo.SO_SODetails sd on sm.id=sd.id
+            left join (select*from UFDATA_103_2021.dbo.OM_MODetails where cbCloser is not null) od
+            on sd.isosid = od.isosid and sd.iQuantity=od.iQuantity
+            left join UFDATA_103_2021.dbo.OM_MOMain om on om.MOID =od.MOID
             join UFDATA_103_2021.dbo.Inventory c on c.cInvCode=sd.cInvCode
             join UFDATA_103_2021.dbo.Inventory c on c.cInvCode=sd.cInvCode
-            where sm.csocode=#{sy.orderNumber}
+            where sm.csocode=#{sy.orderNumber} and c.cInvCcode like '19%'
+            order BY c.cInvName,sd.cFree1
+
+            union all
+
+            select om.cCode,od.iVouchRowNo,103 as omaccount,
+            sm.cSOCode as orderNumber,sd.iRowNo,sd.cInvCode AS inventoryCode,c.cInvCcode AS inventoryCcode,
+            c.cInvName AS inventoryName,sd.cFree1 AS colour,c.cInvStd as specificationAndModel,sd.iQuantity as quantity,103 as account
+            from UFDATA_103_2021.dbo.SO_SOMain sm
+            join UFDATA_103_2021.dbo.SO_SODetails sd on sm.id=sd.id
+            left join (select*from UFDATA_103_2021.dbo.OM_MODetails where cbCloser is not null) od
+            on sd.isosid = od.isosid
+            left join UFDATA_103_2021.dbo.OM_MOMain om on om.MOID =od.MOID
+            join UFDATA_103_2021.dbo.Inventory c on c.cInvCode=sd.cInvCode
+            where sm.csocode=#{sy.orderNumber} and c.cInvCcode not like '19%'
             order BY c.cInvName,sd.cFree1
             order BY c.cInvName,sd.cFree1
         </if>
         </if>
     </select>
     </select>
 
 
     <select id="queryOMList" resultType="org.jeecg.modules.documents.orderData.entity.SySOAndOM" >
     <select id="queryOMList" resultType="org.jeecg.modules.documents.orderData.entity.SySOAndOM" >
-        select om.cCode,od.iVouchRowNo,od.cInvCode AS inventoryCode,
+        select om.cCode,od.iVouchRowNo,od.cInvCode AS inventoryCode,103 as omaccount,
             c.cInvName AS inventoryName,od.cFree1 AS colour,c.cInvStd as specificationAndModel,od.iQuantity as quantity
             c.cInvName AS inventoryName,od.cFree1 AS colour,c.cInvStd as specificationAndModel,od.iQuantity as quantity
         from OM_MOMain om
         from OM_MOMain om
         join OM_MODetails od on om.MOID =od.MOID
         join OM_MODetails od on om.MOID =od.MOID
@@ -214,16 +238,30 @@
     </update>
     </update>
 
 
     <select id="queryOM" resultType="org.jeecg.modules.documents.orderData.entity.SyOrderDataVO" >
     <select id="queryOM" resultType="org.jeecg.modules.documents.orderData.entity.SyOrderDataVO" >
+        <if test="sy.omaccount =='101'">
         SELECT
         SELECT
             om.cCode as ompoCode,om.MOID as ompoId,od.MODetailsID as ompoIdItem,
             om.cCode as ompoCode,om.MOID as ompoId,od.MODetailsID as ompoIdItem,
                             v.cVenAbbName as supplier,
                             v.cVenAbbName as supplier,
             od.cDefine23  as guangpeiGateWidth,od.dArriveDate,
             od.cDefine23  as guangpeiGateWidth,od.dArriveDate,
+            om.cVenCode as supplierCode,od.iTaxPrice,'101' as ompoAccount
+        FROM OM_MOMain om
+        LEFT JOIN OM_MODetails od on om.MOID=od.MOID
+        LEFT JOIN Vendor v on om.cVenCode=v.cVenCode
+        where om.iVerifyStateNew = 2 and (om.cCloser is null or om.cCloser='asuser')
+			and om.cCode=#{sy.cCode} and od.iVouchRowNo=#{sy.iVouchRowNo}
+        </if>
+        <if test="sy.omaccount =='103'">
+			SELECT
+            om.cCode as ompoCode,om.MOID as ompoId,od.MODetailsID as ompoIdItem,
+                            v.cVenAbbName as supplier,
+            od.cDefine23  as guangpeiGateWidth,od.dArriveDate,
             om.cVenCode as supplierCode,od.iTaxPrice,'103' as ompoAccount
             om.cVenCode as supplierCode,od.iTaxPrice,'103' as ompoAccount
         FROM OM_MOMain om
         FROM OM_MOMain om
         LEFT JOIN OM_MODetails od on om.MOID=od.MOID
         LEFT JOIN OM_MODetails od on om.MOID=od.MOID
         LEFT JOIN Vendor v on om.cVenCode=v.cVenCode
         LEFT JOIN Vendor v on om.cVenCode=v.cVenCode
         where om.iVerifyStateNew = 2 and (om.cCloser is null or om.cCloser='asuser')
         where om.iVerifyStateNew = 2 and (om.cCloser is null or om.cCloser='asuser')
 			and om.cCode=#{sy.cCode} and od.iVouchRowNo=#{sy.iVouchRowNo}
 			and om.cCode=#{sy.cCode} and od.iVouchRowNo=#{sy.iVouchRowNo}
+        </if>
     </select>
     </select>
 
 
     <delete id="delOrder" parameterType="String" >
     <delete id="delOrder" parameterType="String" >