瀏覽代碼

成本分配表调整。计划单统计表调整

huxy 1 月之前
父節點
當前提交
b3595dc5d0

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

@@ -2,6 +2,7 @@ package org.jeecg.modules.cost.mapper;
 
 import java.math.BigDecimal;
 import java.util.List;
+import java.util.Map;
 
 import com.baomidou.dynamic.datasource.annotation.DS;
 import org.apache.ibatis.annotations.Param;
@@ -41,5 +42,5 @@ public interface SyCostAllocationMapper extends BaseMapper<SyCostAllocation> {
 
     //查询销售订单总数量
     @DS("multi-three")
-    BigDecimal getPlanQuantity(@Param("code") String plannum);
+    Map<String,Object> getOrderMap(@Param("code") String plannum);
 }

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

@@ -409,8 +409,11 @@
 	</select>
 
     <!-- 获取 头信息 主要是成衣委外及源头订单信息 -->
-    <select id="getPlanQuantity" resultType="java.math.BigDecimal">
-		select SuM(订单数量)
+    <select id="getOrderMap"  resultType="java.util.HashMap">
+        SELECT ROUND(SuM(订单数量),2) planQuantity,
+        ROUND(SUM(单价*订单数量),2) salesrrdersOriginaltotal,
+        ROUND(SUM(单价*订单数量*汇率),2) salesordersLocaltotal,
+        max(汇率) exchangeRate,max(客户名称) Customer
         from TimeberwordFunction.dbo.sy_shipping_details_item101
         where 委外采购订单号 like '%${code}%'
 	</select>

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

@@ -197,9 +197,14 @@ public class SyCostAllocationServiceImpl extends ServiceImpl<SyCostAllocationMap
                 syCostAllocation = syCostAllocation1;
             }
         }
-
-        BigDecimal getPlanQuantity=syCostAllocationMapper.getPlanQuantity(plannum);//计划数量
-        syCostAllocation.setPlanQuantity(getPlanQuantity);
+        //orderMap   {planQuantity=15499.0000000000, salesrrdersOriginaltotal=771566.2583199996, salesordersLocaltotal=117017.450000}
+        Map<String,Object> orderMap=syCostAllocationMapper.getOrderMap(plannum);//计划数量
+        System.out.println("orderMap   "+orderMap);
+        syCostAllocation.setCustomerShortame(orderMap.get("Customer").toString());//客户
+        syCostAllocation.setExchangeRate(BigDecimal.valueOf((Double)orderMap.get("exchangeRate")));//汇率
+        syCostAllocation.setPlanQuantity(new BigDecimal(orderMap.get("planQuantity").toString()));//计划数量
+        syCostAllocation.setSalesordersLocaltotal(BigDecimal.valueOf((Double)orderMap.get("salesordersLocaltotal")));//美元
+        syCostAllocation.setSalesrrdersOriginaltotal(new BigDecimal(orderMap.get("salesrrdersOriginaltotal").toString()));//美元*汇率=人民币
         syCostAllocation.setGarmentContractno(strs3.toString().substring(1,strs3.toString().length()-1));
         // 销售订单附件
         List<AccessorItem> accessorItemList = new ArrayList<>();

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

@@ -96,7 +96,8 @@ public class SyCostLossReviewController extends JeecgController<SyOrderData, ISy
        if(syCostLossReview.getPlanNo()=="" || syCostLossReview.getPlanNo()==null){
            if(syCostLossReview.getFstatus()!=null && syCostLossReview.getFstatus()!=""
                    ||oConvertUtils.isNotEmpty(syCostLossReview.getFfirstApproveDateB())
-                   ||oConvertUtils.isNotEmpty(syCostLossReview.getFfinalApproveDateB())){
+                   ||oConvertUtils.isNotEmpty(syCostLossReview.getFfinalApproveDateB())
+                   ||oConvertUtils.isNotEmpty(syCostLossReview.getMsPlanMan()) ){
                //查面损的数据
                List<String> statusList = new ArrayList<>();
                if(syCostLossReview.getFstatus()!=null){
@@ -113,14 +114,18 @@ public class SyCostLossReviewController extends JeecgController<SyOrderData, ISy
                }
                sumList=list;
            }
-           if(syCostLossReview.getCstatus()!=null && syCostLossReview.getCstatus()!=""){
+           if(syCostLossReview.getCstatus()!=null && syCostLossReview.getCstatus()!=""||oConvertUtils.isNotEmpty(syCostLossReview.getCbPlanMan()) ){
                //查成本的数据
                List<String> statusList = new ArrayList<>();
-               String statusSplit[] = syCostLossReview.getCstatus().split(",");
-               for(String str:statusSplit){
-                   statusList.add(str);
+               if(syCostLossReview.getCstatus()!=null){
+                   String statusSplit[] = syCostLossReview.getCstatus().split(",");
+                   for(String str:statusSplit){
+                       statusList.add(str);
+                   }
+               }else{
+                   statusList=null;
                }
-               List<String> list= syCostLossReviewService.queryCodeBycstatus(statusList);
+               List<String> list= syCostLossReviewService.queryCodeBycstatus(statusList,syCostLossReview);
                if(list.size()<1){
                    return Result.OK(nullList);
                }
@@ -199,14 +204,15 @@ public class SyCostLossReviewController extends JeecgController<SyOrderData, ISy
        }else {
            sumList=null;
        }
-
-           IPage<SyCostLossReview> pageList;
-           pageList = syCostLossReviewMapper.querylist(syCostLossReview,sumList,page,new ArrayList<>());
-           if(sumList != null && sumList.size()!=0&& oConvertUtils.isNotEmpty(sumList)&&oConvertUtils.isEmpty(syCostLossReview.getDverifyDateB())){
-               pageList.setTotal(sumList.size());
-           }else {
-               pageList.setTotal(syCostLossReviewMapper.querylistCount(syCostLossReview, sumList, new ArrayList<>()));
-           }
+       System.out.println("sumList.size    "+sumList.size());
+       System.out.println("sumList    "+sumList);
+       IPage<SyCostLossReview> pageList;
+       pageList = syCostLossReviewMapper.querylist(syCostLossReview,sumList,page,new ArrayList<>());
+       if(sumList != null && sumList.size()!=0&& oConvertUtils.isNotEmpty(sumList)&&oConvertUtils.isEmpty(syCostLossReview.getDverifyDateB())){
+           pageList.setTotal(sumList.size());
+       }else {
+           pageList.setTotal(syCostLossReviewMapper.querylistCount(syCostLossReview, sumList, new ArrayList<>()));
+       }
 
        //赋值制单人
        List<SyCostLossReview> listPlanNo = syCostLossReviewService.queryMakerByplanNo();
@@ -219,6 +225,7 @@ public class SyCostLossReviewController extends JeecgController<SyOrderData, ISy
        Map<String, SyCostLossReview> map2 = list2.stream()
                .collect(Collectors.toMap(SyCostLossReview::getPlanNo, c2 -> c2));
        long endTime2 = System.currentTimeMillis();
+       System.out.println("map2   \n"+map2.get("SYL8330"));
        System.out.println("生成时间:" + (endTime2 - startTime) + "ms");
 
 //       //赋值面损审批数据2
@@ -236,7 +243,7 @@ public class SyCostLossReviewController extends JeecgController<SyOrderData, ISy
        System.out.println("生成时间:" + (endTime3 - startTime) + "ms");
        Map<String, SyCostLossReview> map3 = list3.stream()
                .collect(Collectors.toMap(SyCostLossReview::getPlanNo, c3 -> c3));
-
+       System.out.println("map3   \n"+map3.get("SYL8330"));
        //赋值计划统计单保存的数据
        QueryWrapper wrapper = new QueryWrapper();
        List<SyPlanStatistics> planStatistics =syPlanStatisticsService.list(wrapper);
@@ -255,6 +262,7 @@ public class SyCostLossReviewController extends JeecgController<SyOrderData, ISy
                        c1.setFfinalApproveDate(c2.getFfinalApproveDate());
                        c1.setFrejectDate(c2.getFrejectDate());
                        c1.setFstatus(c2.getFstatus());
+                       c1.setMsPlanMan(c2.getMsPlanMan());
                    }
                    return c1;
                })
@@ -269,6 +277,7 @@ public class SyCostLossReviewController extends JeecgController<SyOrderData, ISy
                        c1.setCfinalApproveDate(c2.getCfinalApproveDate());
                        c1.setCrejectDate(c2.getCrejectDate());
                        c1.setCstatus(c2.getCstatus());
+                       c1.setCbPlanMan(c2.getCbPlanMan());
                    }
                    return c1;
                })

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

@@ -89,6 +89,10 @@ public class SyCostLossReview {
 
 	//对单人条件
 	private String planMan;
+	//面损审核人
+	private String msPlanMan;
+	//成本审核人
+	private String cbPlanMan;
 	//是否有无对单人
 	private String isPlanMan;
 

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

@@ -40,10 +40,9 @@ public interface SyCostLossReviewMapper extends BaseMapper<SyCostLossReview> {
     @DS("multi-one")
     List<String> queryCodeBymaker(@Param("maker")String maker);
 
-    List<String> queryCodeByfstatus(@Param("status")List<String> status,
-                                    @Param("e")SyCostLossReview syCostLossReview);
+    List<String> queryCodeByfstatus(@Param("status")List<String> status,@Param("e")SyCostLossReview syCostLossReview);
 
-    List<String> queryCodeBycstatus(@Param("status")List<String> status);
+    List<String> queryCodeBycstatus(@Param("status")List<String> status,@Param("e")SyCostLossReview syCostLossReview);
     List<String> queryCodeByPlanTable(@Param("remarks")String remarks,@Param("planMan")String planMan);
 
 

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

@@ -547,6 +547,7 @@ GROUP BY planNo;
         b.processing_time AS frejectDate,
         first_approve_date AS ffirstApproveDate,
         final_approve_date AS ffinalApproveDate,
+        c.processed_by AS msPlanMan,
         status AS fstatus
         FROM sy_fabric_loss_report
         left join (SELECT plan_no,min(processing_time) processing_time
@@ -555,6 +556,9 @@ GROUP BY planNo;
         left join (SELECT plan_no,min(processing_time) processing_time
         FROM sy_approval_history where stuta='驳回' GROUP BY plan_no) b
         on plan_code=b.plan_no
+        left join (SELECT plan_no,min(processed_by) processed_by
+        FROM sy_approval_history where stuta='审批通过' GROUP BY plan_no) c
+        on plan_code=c.plan_no
     </select>
 
 <!--    <select id="querySyFabricLossByCode2" resultType="org.jeecg.modules.documents.costLossReview.entity.SyCostLossReview">-->
@@ -579,6 +583,7 @@ GROUP BY planNo;
             a.first_approve_date as cfirstApproveDate, -- 初审通过日期
             c.processing_time AS frejectDate, -- 返单日期
             d.processing_time AS cfinalApproveDate, -- 终审通过日期
+            e.processed_by AS cbPlanMan, -- 审核人
             cost_info ->> '$.remarks'  AS remarks
         from sy_cost_json a
         left join (SELECT plan_no,min(processing_time) processing_time
@@ -589,7 +594,11 @@ GROUP BY planNo;
         on plan_num=c.plan_no
         left join (SELECT plan_no,min(processing_time) processing_time
         FROM sy_cost_approval_history where stuta='审批通过' GROUP BY plan_no) d
-        on plan_num=d.plan_no group by a.plan_num
+        on plan_num=d.plan_no
+        left join (SELECT plan_no,min(processed_by) processed_by
+        FROM sy_cost_approval_history where stuta='审批通过' GROUP BY plan_no) e
+        on plan_num=e.plan_no
+         group by a.plan_num
     </select>
 
     <select id="queryCostAllocationByCode" resultType="org.jeecg.modules.documents.costLossReview.entity.SyCostLossReview">
@@ -673,6 +682,10 @@ GROUP BY planNo;
         <if test='e.ffinalApproveDateB !="" and e.ffinalApproveDateE != null'>
             and final_approve_date between #{e.ffinalApproveDateB} and #{e.ffinalApproveDateE}
         </if>
+        <if test='e.msPlanMan !="" and e.msPlanMan != null'>
+            and plan_code in(select plan_no from sy_approval_history
+            where processed_by like CONCAT('%',#{e.msPlanMan},'%')and stuta='审批通过')
+        </if>
 
     </select>
     <select id="queryCodeBycstatus" resultType="String">
@@ -682,6 +695,10 @@ GROUP BY planNo;
         <foreach collection="status" item="value" index="index" open="(" separator="," close=")">
         #{value}
         </foreach>
+        <if test='e.cbPlanMan !="" and e.cbPlanMan != null'>
+            and plan_code in(select plan_no from sy_cost_approval_history
+            where processed_by like CONCAT('%',#{e.cbPlanMan},'%')and stuta='审批通过')
+        </if>
     </select>
     <select id="queryCodeByPlanTable" resultType="String">
         select plan_num as cCode from sy_plan_statistics

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/costLossReview/service/ISyCostLossReviewService.java

@@ -29,7 +29,7 @@ public interface ISyCostLossReviewService extends IService<SyCostLossReview> {
      List<SyCostLossReview> queryCostAllocationByCode();
      List<String> queryCodeBymaker(String maker);
      List<String> queryCodeByfstatus(List<String> status,SyCostLossReview syCostLossReview);
-     List<String> queryCodeBycstatus(List<String> status);
+     List<String> queryCodeBycstatus(List<String> status,SyCostLossReview syCostLossReview);
      List<String> queryCodeByPlanTable(String remarks,String planMan);
 
 

+ 2 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/costLossReview/service/impl/SyCostLossReviewServiceImpl.java

@@ -91,8 +91,8 @@ public class SyCostLossReviewServiceImpl extends ServiceImpl<SyCostLossReviewMap
     }
 
     @Override
-    public List<String> queryCodeBycstatus(List<String> status) {
-        return syCostLossReviewMapper.queryCodeBycstatus(status);
+    public List<String> queryCodeBycstatus(List<String> status,SyCostLossReview syCostLossReview) {
+        return syCostLossReviewMapper.queryCodeBycstatus(status,syCostLossReview);
     }
 
     @Override