Sfoglia il codice sorgente

计划单统计表 多条件查询

liuchaohui 2 anni fa
parent
commit
3aae60c73f

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

@@ -21,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
 import java.util.List;
 
 
@@ -51,6 +52,40 @@ public class SyCostLossReviewController extends JeecgController<SyOrderData, ISy
                                   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                   HttpServletRequest req) {
        Page<SyCostLossReview> page = new Page<SyCostLossReview>(pageNo, pageSize);
+       List<String> sumList = new ArrayList<>();
+       if(syCostLossReview.getPlanNo()=="" || syCostLossReview.getPlanNo()==null){
+           if(syCostLossReview.getFstatus()!=null && syCostLossReview.getFstatus()!=""){
+               List<String> list= syCostLossReviewService.queryCodeByfstatus(syCostLossReview.getFstatus());
+               sumList=list;
+           }
+           if(syCostLossReview.getCstatus()!=null && syCostLossReview.getCstatus()!=""){
+               List<String> list= syCostLossReviewService.queryCodeBycstatus(syCostLossReview.getCstatus());
+               if(sumList.size()<1){
+                   sumList=list;
+               }else {
+                   sumList.retainAll(list);
+               }
+           }
+           if(syCostLossReview.getMaker()!=null && syCostLossReview.getMaker()!=""){
+               List<String> list= syCostLossReviewService.queryCodeBymaker(syCostLossReview.getMaker());
+               if(sumList.size()<1){
+                   sumList=list;
+               }else {
+                   sumList.retainAll(list);
+               }
+           }
+           if((syCostLossReview.getRemarks()!=null && syCostLossReview.getRemarks()!="") ||
+                   (syCostLossReview.getPlanMan()!=null && syCostLossReview.getPlanMan()!="") ){
+               List<String> list= syCostLossReviewService.queryCodeByPlanTable(syCostLossReview.getRemarks(),syCostLossReview.getPlanMan());
+               if(sumList.size()<1){
+                   sumList=list;
+               }else {
+                   sumList.retainAll(list);
+               }
+           }
+           syCostLossReview.setSumList(sumList);
+       }
+
        IPage<SyCostLossReview> pageList = syCostLossReviewService.querylist(syCostLossReview,page);
        for (SyCostLossReview sy:pageList.getRecords()) {
            //赋值制单人

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

@@ -10,6 +10,7 @@ import org.jeecgframework.poi.excel.annotation.Excel;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.util.Date;
+import java.util.List;
 
 /**
  * @Description: 成本损失列表
@@ -66,4 +67,10 @@ public class SyCostLossReview {
 
 	private String cstatus;
 
+	private String planMan;
+
+	private String remarks;
+
+	List<String> sumList;
+
 }

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

@@ -28,4 +28,11 @@ public interface SyCostLossReviewMapper extends BaseMapper<SyCostLossReview> {
 
     SyCostLossReview querySyFabricLossByCode(@Param("planCode")String planCode);
     SyCostLossReview queryCostAllocationByCode(@Param("planCode")String planCode);
+
+    @DS("multi-one")
+    List<String> queryCodeBymaker(@Param("maker")String maker);
+
+    List<String> queryCodeByfstatus(@Param("status")String status);
+    List<String> queryCodeBycstatus(@Param("status")String status);
+    List<String> queryCodeByPlanTable(@Param("remarks")String remarks,@Param("planMan")String planMan);
 }

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

@@ -172,6 +172,12 @@
         <if test="sy.makingPeople != null and sy.makingPeople !=''">
             AND JSON_EXTRACT( content, '$.makingPeople' ) LIKE CONCAT('%',#{sy.makingPeople},'%')
         </if>
+        <if test="sy.sumList != null">
+            plan_code in
+            <foreach open="(" close=")" separator="," collection="list" item="item" index="index">
+                #{item}
+            </foreach>
+        </if>
     </select>
 
     <select id="queryCostAllocation" resultType="org.jeecg.modules.documents.costLossReview.entity.CostAllocationReview">
@@ -262,4 +268,78 @@
         from sy_cost_json
         where plan_num=#{planCode}
     </select>
+
+
+    <select id="queryCodeBymaker" resultType="String">
+        select planNo as cCode from (
+            select LEFT(cSOCode,CHARINDEX('-',cSOCode)-1) as planNo,cMaker as maker from UFDATA_103_2021.dbo.SO_SOMain s
+                    JOIN UFDATA_103_2021.dbo.Department de ON s.cDepCode = de.cDepCode
+                    JOIN UFDATA_103_2021.dbo.Person  pe ON s.cMaker = pe.cPersonName
+                    where cSOCode like 'sy%' and CHARINDEX('-',cSOCode)>0 and pe.cdepcode='TPD02'
+
+            union all
+            select LEFT(cCode,CHARINDEX('-',cCode)-1) as planNo,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.cMaker = pe.cPersonName
+                    where cCode like 'sy%' and CHARINDEX('-',cCode)>0 and pe.cdepcode='TPD02'
+
+            union all
+            select LEFT(cPOID,CHARINDEX('-',cPOID)-1) as planNo,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.cMaker = pe.cPersonName
+                    where cPOID like 'sy%' and CHARINDEX('-',cPOID)>0 and pe.cdepcode='TPD02'
+
+            union all
+            select LEFT(cSOCode,CHARINDEX('-',cSOCode)-1) as planNo,cMaker as maker from UFDATA_101_2021.dbo.SO_SOMain s
+                    JOIN UFDATA_101_2021.dbo.Department de ON s.cDepCode = de.cDepCode
+                    JOIN UFDATA_101_2021.dbo.Person  pe ON s.cMaker = pe.cPersonName
+                    where cSOCode like 'sy%' and CHARINDEX('-',cSOCode)>0 and pe.cdepcode='TPD02'
+
+            union all
+            select LEFT(cCode,CHARINDEX('-',cCode)-1) as planNo,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.cMaker = pe.cPersonName
+                    where cCode like 'sy%' and CHARINDEX('-',cCode)>0 and pe.cdepcode='TPD02'
+
+            union all
+            select LEFT(cPOID,CHARINDEX('-',cPOID)-1) as planNo,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.cMaker = pe.cPersonName
+                    where cPOID like 'sy%' and CHARINDEX('-',cPOID)>0 and pe.cdepcode='TPD02'
+
+            union all
+            select LEFT(cPOID,CHARINDEX('-',cPOID)-1) as planNo,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.cMaker = pe.cPersonName
+                    where cPOID like 'sy%' and CHARINDEX('-',cPOID)>0 and pe.cdepcode='TPD02'
+
+            union all
+            select LEFT(cSOCode,CHARINDEX('-',cSOCode)-1) as planNo,cMaker as maker from UFDATA_102_2021.dbo.SO_SOMain s
+                    JOIN UFDATA_102_2021.dbo.Department de ON s.cDepCode = de.cDepCode
+                    JOIN UFDATA_102_2021.dbo.Person  pe ON s.cMaker = pe.cPersonName
+                    where cSOCode like 'sy%' and CHARINDEX('-',cSOCode)>0 and pe.cdepcode='TPD02'
+        ) as views
+        where maker =#{maker}
+        group by planNo,maker
+    </select>
+    <select id="queryCodeByfstatus" resultType="String">
+        select plan_code as cCode
+        from sy_fabric_loss_report
+        where status=#{status}
+    </select>
+    <select id="queryCodeBycstatus" resultType="String">
+        select plan_num as cCode
+        from sy_cost_json
+        where status=#{status}
+    </select>
+    <select id="queryCodeByPlanTable" resultType="String">
+        select plan_num as cCode from sy_plan_statistics
+        where 1=1
+        <if test="remarks!=null and remarks!=''">
+            and remarks=#{remarks}
+        </if>
+        <if test="planMan!=null and planMan!=''">
+            and plan_man={planMan}
+        </if>
+    </select>
 </mapper>

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

@@ -22,4 +22,8 @@ public interface ISyCostLossReviewService extends IService<SyCostLossReview> {
      IPage<CostAllocationReview> queryCostAllocation(CostAllocationReview sy, Page<CostAllocationReview> page);
      SyCostLossReview querySyFabricLossByCode(String planCode);
      SyCostLossReview queryCostAllocationByCode(String planCode);
+     List<String> queryCodeBymaker(String maker);
+     List<String> queryCodeByfstatus(String status);
+     List<String> queryCodeBycstatus(String status);
+     List<String> queryCodeByPlanTable(String remarks,String planMan);
 }

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

@@ -55,4 +55,24 @@ public class SyCostLossReviewServiceImpl extends ServiceImpl<SyCostLossReviewMap
     public SyCostLossReview queryCostAllocationByCode(String planCode) {
         return syCostLossReviewMapper.queryCostAllocationByCode(planCode);
     }
+
+    @Override
+    public List<String> queryCodeBymaker(String maker) {
+        return syCostLossReviewMapper.queryCodeBymaker(maker);
+    }
+
+    @Override
+    public List<String> queryCodeByfstatus(String status) {
+        return syCostLossReviewMapper.queryCodeByfstatus(status);
+    }
+
+    @Override
+    public List<String> queryCodeBycstatus(String status) {
+        return syCostLossReviewMapper.queryCodeBycstatus(status);
+    }
+
+    @Override
+    public List<String> queryCodeByPlanTable(String remarks, String planMan) {
+        return syCostLossReviewMapper.queryCodeByPlanTable(remarks, planMan);
+    }
 }