Browse Source

成本报表 面料余下

liuchaohui 2 years ago
parent
commit
64ddb788da

+ 3 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/mapper/SyCostAllocationFabricMapper.java

@@ -6,6 +6,7 @@ import com.baomidou.dynamic.datasource.annotation.DS;
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.cost.entity.SyCostAllocationFabric;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.cost.entity.SyRemaining;
 import org.jeecg.modules.cost.entity.SyTransfer;
 
 /**
@@ -24,4 +25,6 @@ public interface SyCostAllocationFabricMapper extends BaseMapper<SyCostAllocatio
 	List<SyCostAllocationFabric> queryByCostFabric(String mainId);
 	@DS("multi-three")
 	List<SyTransfer> queryTransferByFabric(@Param("code") String code,@Param("goodName") String goodName);
+	@DS("multi-three")
+	List<SyRemaining> queryRemainingByFabric(@Param("code") String code, @Param("goodName") String goodName);
 }

+ 24 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/mapper/xml/SyCostAllocationFabricMapper.xml

@@ -181,4 +181,28 @@
 		)tab2 on tab2.cInvName=tab1.cInvName and tab1.cBatch=tab2.cBatch and tab1.cFree1=tab2.cFree1
 		where tab1.purchaseQuantity-tab2.jian>0
     </select>
+
+	<select id="queryRemainingByFabric" resultType="org.jeecg.modules.cost.entity.SyRemaining">
+		select oti.cInvName as goodsName,ot.cFree1 as color,max(om.ccode) as planCode,sum(ot.iQuantity) as number
+				from UFDATA_901_2021.dbo.om_momain om
+				join UFDATA_901_2021.dbo.OM_MODetails od on om.moid=od.moid
+				join UFDATA_901_2021.dbo.OM_MOMaterials ot on ot.MoDetailsID=od.MODetailsID
+				join UFDATA_901_2021.dbo.Inventory oti on oti.cInvCode=ot.cInvCode
+				join UFDATA_901_2021.dbo.Inventory omi on omi.cInvCode=od.cInvCode
+				WHERE om.iVerifyStateNew = 2 and (om.cCloser is null or om.cCloser='asuser') and omi.cInvCcode like '19%' and om.cCode LIKE CONCAT(#{code},'%') and oti.cInvName = #{goodName}
+						and (oti.cInvCcode like '03%' or oti.cInvCcode like '04%') and oti.cInvCCode != '0399' and oti.cInvCCode != '0499'
+				GROUP BY oti.cInvName,ot.cFree1
+
+		union all
+
+		select oti.cInvName as goodsName,ot.cFree1 as color,max(om.ccode) as planCode,sum(ot.iQuantity) as number
+				from UFDATA_903_2021.dbo.om_momain om
+				join UFDATA_903_2021.dbo.OM_MODetails od on om.moid=od.moid
+				join UFDATA_903_2021.dbo.OM_MOMaterials ot on ot.MoDetailsID=od.MODetailsID
+				join UFDATA_903_2021.dbo.Inventory oti on oti.cInvCode=ot.cInvCode
+				join UFDATA_903_2021.dbo.Inventory omi on omi.cInvCode=od.cInvCode
+				WHERE om.iVerifyStateNew = 2 and (om.cCloser is null or om.cCloser='asuser') and omi.cInvCcode like '19%' and om.cCode LIKE CONCAT(#{code},'%') and oti.cInvName = #{goodName}
+						and (oti.cInvCcode like '03%' or oti.cInvCcode like '04%') and oti.cInvCCode != '0399' and oti.cInvCCode != '0499'
+				GROUP BY oti.cInvName,ot.cFree1
+	</select>
 </mapper>

+ 5 - 29
jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/service/impl/SyCostAllocationServiceImpl.java

@@ -208,35 +208,11 @@ public class SyCostAllocationServiceImpl extends ServiceImpl<SyCostAllocationMap
                   -- 4.根据第三步的采购订单用计划号not like ,找出所有不是本次采购的采购订单
             2.余下:从采购起手,找到所有的采购入库,然后关联材料出库,排除掉自己使用的 就是余下的
             * */
-            /*余下*/
-            String sqlRemaining ="       select b.cInvName as goodsName,b.cPOID as planCode,b.cfree1 as color,max(b.yi ) as number " +
-                                    "       FROM ( " +
-                                    "        select cBatch,cInvCode,iOMoDID from rdrecords11 where  cBatch is not null  " +
-                                    "        group by cBatch,cInvCode,iOMoDID  " +
-                                    "       ) r    " +
-                                    "       JOIN (    " +
-                                    "        SELECT v.cVenName as cVenName,c.cInvName,rs1.cPOID,rs1.cfree1,rs1.cInvCode,rs1.cBatch, " +
-                                    "             sum(isnull(od.iSendQTY,0)+isnull(p.iQuantity,0)) as yi " +
-                                    "        FROM rdrecords01 rs1    " +
-                                    "        left join rdrecord01 r1 on r1.id=rs1.id   " +
-                                    "        left join PO_Podetails p on p.ID=rs1.iPOsID   " +
-                                    "        left join OM_MODetails o on o.MODetailsID =rs1.iOMoDID   " +
-                                    "        left join OM_MOMaterials od on od.MoDetailsID=o.MODetailsID   " +
-                                    "        LEFT JOIN Inventory  c on c.cInvCode=rs1.cInvCode   " +
-                                    "        LEFT JOIN Vendor v ON r1.cVenCode= v.cVenCode  " +
-                                    "        where  rs1.cPOID  like '"+plannum+"%'"+// and v.cVenName='"+Fabric.getProcessUnit()+
-                                    " and c.cInvName='"+Fabric.getGoodsName()+"' " +
-                                    "        group BY v.cVenName,c.cInvName,rs1.cPOID,rs1.cfree1,rs1.cInvCode,rs1.cBatch " +
-                                    "              ) b on r.cBatch = b.cBatch and b.cInvCode=r.cInvCode  " +
-                                    "      JOIN (    " +
-                                    "        SELECT od.MODetailsID     " +
-                                    "        FROM OM_MOMain om LEFT JOIN OM_MODetails od ON om.MOID = od.MOID     " +
-                                    "        WHERE om.iVerifyStateNew = 2 and om.cCode not like '"+plannum+"%'    " +
-                                    "       group by MODetailsID " +
-                                    "       ) o ON r.iOMoDID  = o.MODetailsID   " +
-                                    "           group by b.cVenName,b.cInvName,b.cPOID,b.cfree1";
-
-            List<Map<String, Object>> remainingList  = senYuDataSourceOne.queryForList(sqlRemaining);
+            //若余下数量不为0则给转入数据对象赋值
+            if(!Fabric.getFabricremainingQuantity().equals(0)){
+                List<SyRemaining> syRemaining  = syCostAllocationFabricMapper.queryRemainingByFabric(plannum,Fabric.getGoodsName());
+                Fabric.setSyRemaining(syRemaining);
+            }
             //若转入数量不为0则给转入数据对象赋值
             if(!Fabric.getFabrictransferQuantity().equals(0)){
                 List<SyTransfer> transferlist  = syCostAllocationFabricMapper.queryTransferByFabric(plannum,Fabric.getGoodsName());