Kaynağa Gözat

计划单统计报表,成本分配

zengtx 1 yıl önce
ebeveyn
işleme
5880051848

+ 5 - 5
jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/mapper/xml/SyCostAllocationMapper.xml

@@ -129,8 +129,8 @@
 	join UFDATA_101_2021.dbo.PO_Podetails pd on pm.POID = pd.POID
 	join UFDATA_101_2021.dbo.PurBillVouchs pbs on pd.ID = pbs.iPOsID
 	join UFDATA_101_2021.dbo.PurBillVouch pb on pb.PBVID  = pbs.PBVID
-	join UFDATA_101_2021.dbo.Inventory omi on omi.cInvCode=pd.cInvCode
-		join UFDATA_102_2021.dbo.SO_SOMain so on pd.csoordercode = so.csocode
+	join UFDATA_101_2021.dbo.Inventory omi on omi.cInvCode=pbs.cInvCode
+		join UFDATA_101_2021.dbo.SO_SOMain so on pd.csoordercode = so.csocode
 	where pm.cPOID like CONCAT(#{code},'%') and (omi.cInvCcode like '03%' or omi.cInvCcode like '04%') and omi.cInvCCode != '0399' and omi.cInvCCode != '0499' and omi.cInvCCode != '0299'
 	 and omi.cInvCCode != '07'and omi.cInvCCode != '06'and omi.cInvCCode != '05' and pb.cVenCode not in('T010001','T020001')
 
@@ -140,7 +140,7 @@ select sum(pbs.iOriSum) as iOriSum,sum(round(pbs.iOriSum/1.13,2)) as iNotOriMone
 	join UFDATA_102_2021.dbo.PO_Podetails pd on pm.POID = pd.POID
 	join UFDATA_102_2021.dbo.PurBillVouchs pbs on pd.ID = pbs.iPOsID
 	join UFDATA_102_2021.dbo.PurBillVouch pb on pb.PBVID  = pbs.PBVID
-	join UFDATA_102_2021.dbo.Inventory omi on omi.cInvCode=pd.cInvCode
+	join UFDATA_102_2021.dbo.Inventory omi on omi.cInvCode=pbs.cInvCode
 		join UFDATA_102_2021.dbo.SO_SOMain so on pd.csoordercode = so.csocode
 	where pm.cPOID like CONCAT(#{code},'%') and (omi.cInvCcode like '03%' or omi.cInvCcode like '04%') and omi.cInvCCode != '0399' and omi.cInvCCode != '0499' and omi.cInvCCode != '0299'
 	 and omi.cInvCCode != '07'and omi.cInvCCode != '06'and omi.cInvCCode != '05' and pb.cVenCode not in('T010001','T020001')
@@ -152,8 +152,8 @@ select sum(pbs.iOriSum) as iOriSum,sum(round(pbs.iOriSum/1.13,4)) as iNotOriMone
 	join UFDATA_103_2021.dbo.PO_Podetails pd on pm.POID = pd.POID
 	join UFDATA_103_2021.dbo.PurBillVouchs pbs on pd.ID = pbs.iPOsID
 	join UFDATA_103_2021.dbo.PurBillVouch pb on pb.PBVID  = pbs.PBVID
-	join UFDATA_103_2021.dbo.Inventory omi on omi.cInvCode=pd.cInvCode
-		join UFDATA_102_2021.dbo.SO_SOMain so on pd.csoordercode = so.csocode
+	join UFDATA_103_2021.dbo.Inventory omi on omi.cInvCode=pbs.cInvCode
+		join UFDATA_103_2021.dbo.SO_SOMain so on pd.csoordercode = so.csocode
 	where pm.cPOID like CONCAT(#{code},'%') and (omi.cInvCcode like '03%' or omi.cInvCcode like '04%') and omi.cInvCCode != '0399' and omi.cInvCCode != '0499' and omi.cInvCCode != '0299'
 	and omi.cInvCCode != '07'and omi.cInvCCode != '06'and omi.cInvCCode != '05' and pb.cVenCode not in('T010001','T020001')
 		) t where t.iOriSum is not null

+ 4 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/costLossReview/controller/SyCostLossReviewController.java

@@ -68,7 +68,8 @@ public class SyCostLossReviewController extends JeecgController<SyOrderData, ISy
                                   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                   @RequestParam(name="pageSize", defaultValue="50") Integer pageSize,
                                   HttpServletRequest req) {
-       Page<SyCostLossReview> page = new Page<SyCostLossReview>(pageNo, pageSize);
+       Page page = new Page(pageNo, pageSize,false);
+
        IPage<SyCostLossReview> nullList = new Page<>();
        List<String> sumList = new ArrayList<>();
        if(syCostLossReview.getPlanNo()=="" || syCostLossReview.getPlanNo()==null){
@@ -138,14 +139,14 @@ public class SyCostLossReviewController extends JeecgController<SyOrderData, ISy
            List<String> list1= syCostLossReviewService.queryCodeByPlanTable("","");
 
            pageList = syCostLossReviewMapper.querylist(syCostLossReview,sumList,page,list1);
-
+           pageList.setTotal(syCostLossReviewMapper.querylistCount(syCostLossReview,sumList,list1));
        }else{
            pageList = syCostLossReviewService.querylist(syCostLossReview,sumList,page,new ArrayList<>());
+           pageList.setTotal(syCostLossReviewMapper.querylistCount(syCostLossReview,sumList,new ArrayList<>()));
        }
 
        for (SyCostLossReview sy:pageList.getRecords()) {
 
-
            //赋值制单人
            List<String> list=syCostLossReviewService.queryMakerByplanNo(sy.getPlanNo());
            if(list.size()==0){

+ 3 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/costLossReview/mapper/SyCostLossReviewMapper.java

@@ -22,6 +22,9 @@ import java.util.Map;
 public interface SyCostLossReviewMapper extends BaseMapper<SyCostLossReview> {
     @DS("multi-one")
     IPage<SyCostLossReview> querylist(@Param("e")SyCostLossReview syCostLossReview,@Param("list")List<String> list, Page<SyCostLossReview> page,@Param("planlist") List<String> planlist);//@Param("pageNO")int pageNO,@Param("pageSize")int pageSize
+    @DS("multi-one")
+    int querylistCount(@Param("e")SyCostLossReview syCostLossReview,@Param("list")List<String> list,@Param("planlist") List<String> planlist);//@Param("pageNO")int pageNO,@Param("pageSize")int pageSize
+
     @DS("multi-one")
     List<String> queryMakerByplanNo(@Param("planNo")String planNo);
 

+ 75 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/costLossReview/mapper/xml/SyCostLossReviewMapper.xml

@@ -2,6 +2,7 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.documents.costLossReview.mapper.SyCostLossReviewMapper">
     <select id="querylist" resultType="org.jeecg.modules.documents.costLossReview.entity.SyCostLossReview">
+
         select planNo,min(dverifyDate) as dverifyDate,min(department) as department,min(salesman) as salesman,min(maker) as maker from (
 
 
@@ -69,11 +70,84 @@
                 #{item}
             </foreach>
         </if>
-        group by planNo
+        group by views.planNo ORDER BY min(dverifyDate)
 
     </select>
     <!--order by dverifyDate desc offset #{pageNO} rows fetch next #{pageSize} rows only-->
 
+    <select id="querylistCount" resultType="java.lang.Integer">
+
+select count(*) from(
+        select planNo,min(dverifyDate) as dverifyDate,min(department) as department,min(salesman) as salesman,min(maker) as maker from (
+
+
+        select  case when PATINDEX('%备%', t.planNo) !=0 then left(t.planNo,6) else t.planNo end as planNo,t.salesman,t.maker,t.department,t.dverifyDate from (
+
+        select LEFT(cCode,CHARINDEX('-',cCode)-1) as planNo,dverifydate as dverifyDate,de.cDepName as department,
+        pe.cPersonName as salesman,cMaker as maker from UFDATA_103_2021.dbo.OM_MOMain s
+        JOIN UFDATA_103_2021.dbo.Department de ON s.cDepCode = de.cDepCode
+        JOIN UFDATA_103_2021.dbo.Person  pe ON s.cPersonCode = pe.cPersonCode
+        where cCode like 'sy%' and CHARINDEX('-',cCode)>0
+
+        union all
+        select LEFT(cPOID,CHARINDEX('-',cPOID)-1) as planNo,cAuditDate as dverifyDate,de.cDepName as department,
+        pe.cPersonName as salesman,cMaker as maker from UFDATA_103_2021.dbo.PO_Pomain s
+        JOIN UFDATA_103_2021.dbo.Department de ON s.cDepCode = de.cDepCode
+        JOIN UFDATA_103_2021.dbo.Person  pe ON s.cPersonCode = pe.cPersonCode
+        where cPOID like 'sy%' and CHARINDEX('-',cPOID)>0
+
+        union all
+
+        select LEFT(cCode,CHARINDEX('-',cCode)-1) as planNo,dverifydate as dverifyDate,de.cDepName as department,
+        pe.cPersonName as salesman,cMaker as maker from UFDATA_101_2021.dbo.OM_MOMain s
+        JOIN UFDATA_101_2021.dbo.Department de ON s.cDepCode = de.cDepCode
+        JOIN UFDATA_101_2021.dbo.Person  pe ON s.cPersonCode = pe.cPersonCode
+        where cCode like 'sy%' and CHARINDEX('-',cCode)>0
+
+        union all
+        select LEFT(cPOID,CHARINDEX('-',cPOID)-1) as planNo,cAuditDate as dverifyDate,de.cDepName as department,
+        pe.cPersonName as salesman,cMaker as maker from UFDATA_101_2021.dbo.PO_Pomain s
+        JOIN UFDATA_101_2021.dbo.Department de ON s.cDepCode = de.cDepCode
+        JOIN UFDATA_101_2021.dbo.Person  pe ON s.cPersonCode = pe.cPersonCode
+        where cPOID like 'sy%' and CHARINDEX('-',cPOID)>0
+
+        union all
+        select LEFT(cPOID,CHARINDEX('-',cPOID)-1) as planNo,cAuditDate as dverifyDate,de.cDepName as department,
+        pe.cPersonName as salesman,cMaker as maker from UFDATA_102_2021.dbo.PO_Pomain s
+        JOIN UFDATA_102_2021.dbo.Department de ON s.cDepCode = de.cDepCode
+        JOIN UFDATA_102_2021.dbo.Person  pe ON s.cPersonCode = pe.cPersonCode
+        where cPOID like 'sy%' and CHARINDEX('-',cPOID)>0
+
+        ) t
+        ) as views
+        where PATINDEX('%[吖-咗]%', planNo)=0 and PATINDEX('%.%', planNo)=0 and PATINDEX('%/%', planNo)=0
+        <if test="e.planNo !=null and e.planNo !=''">
+            and planNo like CONCAT(#{e.planNo},'%')
+        </if>
+        <if test="e.dverifyDateB !=null and e.dverifyDateB !='' and e.dverifyDateE !=null and e.dverifyDateE !=''">
+            and dverifyDate between #{e.dverifyDateB} and #{e.dverifyDateE}
+        </if>
+        <if test="e.department !=null and e.department !=''">
+            and department like CONCAT(#{e.department},'%')
+        </if>
+        <if test="e.salesman !=null and e.salesman !=''">
+            and salesman like CONCAT(#{e.salesman},'%')
+        </if>
+        <if test="list != null">
+            and planNo in
+            <foreach open="(" close=")" separator="," collection="list" item="item">
+                #{item}
+            </foreach>
+        </if>
+        <if test="planlist.size!=0">
+            and planNo not in
+            <foreach open="(" close=")" separator="," collection="planlist" item="item">
+                #{item}
+            </foreach>
+        </if>
+        group by views.planNo) t1
+    </select>
+
     <select id="queryMakerByplanNo" resultType="String">
         select maker from (
             select LEFT(cSOCode,CHARINDEX('-',cSOCode)-1) as planNo,cMaker as maker from UFDATA_103_2021.dbo.SO_SOMain s

+ 2 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/mapper/xml/SyShippingOrderMapper.xml

@@ -7,8 +7,8 @@
 select t.id, t.shippingOrderNumber, t.garmentFactory,t.clientAbbreviation,t.theFinalShippingDate,t.theDocumentsState,
 round(sum(t.totalPrice),2) as money,round(sum(t.grossWeight),2) as totalGrossWeight,sum(t.boxNumber) as boxNumber,t.syStuta,
 t.exportInvoiceNo,t.orderNumber,t.shippingOrderDate,t.smailPo,t.readyFabric,t.pkOrg,t.delFlag,t.distributionPoint,t.isAhaa,
-round(sum(t.volume),3) as totalVolume,t.unitInOperation from (
-select a.id as id,a.shipping_order_number as shippingOrderNumber,b.garment_factory as garmentFactory,
+round(sum(t.volume),3) as totalVolume,t.unitInOperation,t.timeStuta,t.timeMesage,t.failMesage from (
+select a.time_stuta as timeStuta,a.time_mesage as timeMesage,a.fail_mesage as failMesage,a.id as id,a.shipping_order_number as shippingOrderNumber,b.garment_factory as garmentFactory,
 b.client_abbreviation as clientAbbreviation,a.unit_in_operation as unitInOperation,b.box_number as boxNumber,
 b.gross_weight as grossWeight,b.volume as volume,sum(b.number*b.unit_price) as totalPrice,
 a.the_final_shipping_date as theFinalShippingDate,a.export_invoice_no as exportInvoiceNo,