liuchaohui vor 2 Jahren
Ursprung
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)
     @ApiModelProperty(value = "委外行号")
     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"?>
 <!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">
-
+            <!--
+            #101只卖成衣
+            #成衣需要添加数量相等的逻辑   面辅料不要
+            #101本地委外 103的不会到101买成衣只会在102卖成衣
+            -->
     <select id="querySOList" resultType="org.jeecg.modules.documents.orderData.entity.SySOAndOM" >
         <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,
             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
             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
             where sm.csocode=#{sy.orderNumber}
             order BY c.cInvName,sd.cFree1
@@ -24,19 +31,36 @@
             order BY c.cInvName,sd.cFree1
         </if>
         <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,
             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 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
-            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
         </if>
     </select>
 
     <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
         from OM_MOMain om
         join OM_MODetails od on om.MOID =od.MOID
@@ -214,16 +238,30 @@
     </update>
 
     <select id="queryOM" resultType="org.jeecg.modules.documents.orderData.entity.SyOrderDataVO" >
+        <if test="sy.omaccount =='101'">
         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,'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
         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>
     </select>
 
     <delete id="delOrder" parameterType="String" >