소스 검색

供应商产能报表调整、面辅料批量删除

huxy 2 년 전
부모
커밋
1192d23705
18개의 변경된 파일380개의 추가작업 그리고 57개의 파일을 삭제
  1. 110 18
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/scas/controller/SupplierCapacityController.java
  2. 5 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/scas/dto/SupplierCapacityDto.java
  3. 7 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/scas/entity/SupplierCapacity.java
  4. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/scas/entity/vo/SupplierCapacityVo1.java
  5. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/scas/entity/vo/SupplierCapacityVo2.java
  6. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/scas/entity/vo/SupplierCapacityVo3.java
  7. 8 4
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/scas/mapper/SupplierCapacityMapper.java
  8. 52 10
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/scas/mapper/xml/SupplierCapacityMapper.xml
  9. 6 3
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/scas/service/ISupplierCapacityService.java
  10. 25 7
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/scas/service/impl/SupplierCapacityServiceImpl.java
  11. 10 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/controller/SyPreAssembledPackingListController.java
  12. 10 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/controller/SyPackingListFabricController.java
  13. 0 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/entity/SyPackingListFabricItem.java
  14. 4 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/mapper/SyPackingListFabricItemMapper.java
  15. 2 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/mapper/SyPackingListFabricMapper.java
  16. 17 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/mapper/xml/SyPackingListFabricItemMapper.xml
  17. 7 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/mapper/xml/SyPackingListFabricMapper.xml
  18. 114 9
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/service/impl/SyPackingListFabricServiceImpl.java

+ 110 - 18
jeecg-boot-module-system/src/main/java/org/jeecg/modules/scas/controller/SupplierCapacityController.java

@@ -82,6 +82,23 @@ public class SupplierCapacityController extends JeecgController<SupplierCapacity
       if(oConvertUtils.isNotEmpty(supplierCapacityDto.getPlanLotNumber())){
          queryWrapper.eq("p.cPlanLotNumber",supplierCapacityDto.getPlanLotNumber());//计划单号
       }
+      if(oConvertUtils.isNotEmpty(supplierCapacityDto.getStartDate())){//起始日期
+         String []starts =supplierCapacityDto.getStartDate().split("-");
+         queryWrapper.nested(i->i.gt("p.dArriveYear",starts[0]).or().nested(s->s.eq("p.dArriveYear",starts[0]).ge("p.dArriveMonth",starts[1])));
+      }
+      if(oConvertUtils.isNotEmpty(supplierCapacityDto.getEndDate())){//结束日期
+         String []end =supplierCapacityDto.getEndDate().split("-");
+         queryWrapper.nested(i->i.lt("p.dArriveYear",end[0]).or().nested(s->s.eq("p.dArriveYear",end[0]).le("p.dArriveMonth",end[1])));
+      }
+      if(oConvertUtils.isNotEmpty(supplierCapacityDto.getOrderType())){//订单类型
+         queryWrapper.eq("p.iOrderType",supplierCapacityDto.getOrderType());//订单类型iOrderType
+      }
+      if(oConvertUtils.isNotEmpty(supplierCapacityDto.getCVenCodeType())){//供应商类型
+         queryWrapper.eq("p.cVenCodeType",supplierCapacityDto.getCVenCodeType());//供应商类型cVenCodeType
+      }
+      if(oConvertUtils.isNotEmpty(supplierCapacityDto.getItemNumber())){//款号
+         queryWrapper.eq("p.cVenCodeType",supplierCapacityDto.getItemNumber());//供应商类型cVenCodeType
+      }
      /*if(supplierCapacityDto.getStartDate()!=null&&StringUtils.isNotBlank(supplierCapacityDto.getStartDate().toString())){
          //起始月份
          queryWrapper.ge("month(p.dArriveDate)",supplierCapacityDto.getStartDate().getMonth()+1);
@@ -92,19 +109,13 @@ public class SupplierCapacityController extends JeecgController<SupplierCapacity
          queryWrapper.le("month(p.dArriveDate)",supplierCapacityDto.getEndDate().getMonth()+1);
          queryWrapper.le("year(p.dArriveDate)",new SimpleDateFormat("yyyy").format(supplierCapacityDto.getEndDate()));
       }*/
-      if(oConvertUtils.isNotEmpty(supplierCapacityDto.getStartDate())){//起始日期
-         queryWrapper.ge("p.dArriveDate",supplierCapacityDto.getStartDate());
-      }
-      if(oConvertUtils.isNotEmpty(supplierCapacityDto.getEndDate())){//结束日期
-         queryWrapper.le("p.dArriveDate",supplierCapacityDto.getEndDate());
-      }
-      if(oConvertUtils.isNotEmpty(supplierCapacityDto.getOrderType())){//订单类型
-         queryWrapper.eq("p.iOrderType",supplierCapacityDto.getOrderType());//订单类型iOrderType
-      }
-      Page<SupplierCapacity> page = new Page<SupplierCapacity>(pageNo, pageSize);
-      IPage<SupplierCapacity> pageList = SupplierCapacityService.selectPage(page, queryWrapper);
+   /*  12    6
+     2017 2022*/
+     // Page<SupplierCapacity> page = new Page<SupplierCapacity>(pageNo, pageSize);
+      IPage<SupplierCapacity> page2  = SupplierCapacityService.selectPage2(pageNo, pageSize, queryWrapper);
+    //  page.setRecords(pageList);
       result.setSuccess(true);
-      result.setResult(pageList);
+      result.setResult(page2);
       result.setMessage("查询成功");
       return result;
    }
@@ -120,21 +131,102 @@ public class SupplierCapacityController extends JeecgController<SupplierCapacity
    @AutoLog(value = "供应链产能报表-通过部门、供应商、月份excel导出")
    @ApiOperation(value="供应链产能报表-通过部门、供应商、月份excel导出", notes="供应链产能报表-通过部门、供应商、月份excel导出")
    @RequestMapping(value = "/excel1",method = RequestMethod.GET)
-   public ModelAndView  excel1() {
-      return super.export("合并导出", SupplierCapacityVo1.class,SupplierCapacityService.excel1());
+   public ModelAndView  excel1( SupplierCapacityDto supplierCapacityDto) {
+      QueryWrapper<SupplierCapacityDto> queryWrapper = new QueryWrapper<>();//初始化
+      if(oConvertUtils.isNotEmpty(supplierCapacityDto.getCsrccode())){
+         queryWrapper.eq("p.csrccode",supplierCapacityDto.getCsrccode());;//订单号
+      }
+      if(oConvertUtils.isNotEmpty(supplierCapacityDto.getVenName())){
+         queryWrapper.eq("p.cVenCode",supplierCapacityDto.getVenName());//供应商名称
+      }
+      if(oConvertUtils.isNotEmpty(supplierCapacityDto.getPlanLotNumber())){
+         queryWrapper.eq("p.cPlanLotNumber",supplierCapacityDto.getPlanLotNumber());//计划单号
+      }
+      if(oConvertUtils.isNotEmpty(supplierCapacityDto.getStartDate())){//起始日期
+         String []starts =supplierCapacityDto.getStartDate().split("-");
+         queryWrapper.nested(i->i.gt("p.dArriveYear",starts[0]).or().nested(s->s.eq("p.dArriveYear",starts[0]).ge("p.dArriveMonth",starts[1])));
+      }
+      if(oConvertUtils.isNotEmpty(supplierCapacityDto.getEndDate())){//结束日期
+         String []end =supplierCapacityDto.getEndDate().split("-");
+         queryWrapper.nested(i->i.lt("p.dArriveYear",end[0]).or().nested(s->s.eq("p.dArriveYear",end[0]).le("p.dArriveMonth",end[1])));
+      }
+      if(oConvertUtils.isNotEmpty(supplierCapacityDto.getOrderType())){//订单类型
+         queryWrapper.eq("p.iOrderType",supplierCapacityDto.getOrderType());//订单类型iOrderType
+      }
+      if(oConvertUtils.isNotEmpty(supplierCapacityDto.getCVenCodeType())){//供应商类型
+         queryWrapper.eq("p.cVenCodeType",supplierCapacityDto.getCVenCodeType());//供应商类型cVenCodeType
+      }
+      if(oConvertUtils.isNotEmpty(supplierCapacityDto.getItemNumber())){//款号
+         queryWrapper.eq("p.cVenCodeType",supplierCapacityDto.getItemNumber());//供应商类型cVenCodeType
+      }
+      return super.export("合并导出", SupplierCapacityVo1.class,SupplierCapacityService.excel1(queryWrapper));
    }
 
    @AutoLog(value = "供应链产能报表-通过部门、月份excel导出")
    @ApiOperation(value="供应链产能报表-通过部门、月份excel导出", notes="供应链产能报表-通过部门、月份excel导出")
    @RequestMapping(value = "/excel2",method = RequestMethod.GET)
-   public ModelAndView  excel2() {
-      return super.export("月份部门合计导出", SupplierCapacityVo2.class,SupplierCapacityService.excel2());
+   public ModelAndView  excel2( SupplierCapacityDto supplierCapacityDto) {
+      QueryWrapper<SupplierCapacityDto> queryWrapper = new QueryWrapper<>();//初始化
+      if(oConvertUtils.isNotEmpty(supplierCapacityDto.getCsrccode())){
+         queryWrapper.eq("p.csrccode",supplierCapacityDto.getCsrccode());;//订单号
+      }
+      if(oConvertUtils.isNotEmpty(supplierCapacityDto.getVenName())){
+         queryWrapper.eq("p.cVenCode",supplierCapacityDto.getVenName());//供应商名称
+      }
+      if(oConvertUtils.isNotEmpty(supplierCapacityDto.getPlanLotNumber())){
+         queryWrapper.eq("p.cPlanLotNumber",supplierCapacityDto.getPlanLotNumber());//计划单号
+      }
+      if(oConvertUtils.isNotEmpty(supplierCapacityDto.getStartDate())){//起始日期
+         String []starts =supplierCapacityDto.getStartDate().split("-");
+         queryWrapper.nested(i->i.gt("p.dArriveYear",starts[0]).or().nested(s->s.eq("p.dArriveYear",starts[0]).ge("p.dArriveMonth",starts[1])));
+      }
+      if(oConvertUtils.isNotEmpty(supplierCapacityDto.getEndDate())){//结束日期
+         String []end =supplierCapacityDto.getEndDate().split("-");
+         queryWrapper.nested(i->i.lt("p.dArriveYear",end[0]).or().nested(s->s.eq("p.dArriveYear",end[0]).le("p.dArriveMonth",end[1])));
+      }
+      if(oConvertUtils.isNotEmpty(supplierCapacityDto.getOrderType())){//订单类型
+         queryWrapper.eq("p.iOrderType",supplierCapacityDto.getOrderType());//订单类型iOrderType
+      }
+      if(oConvertUtils.isNotEmpty(supplierCapacityDto.getCVenCodeType())){//供应商类型
+         queryWrapper.eq("p.cVenCodeType",supplierCapacityDto.getCVenCodeType());//供应商类型cVenCodeType
+      }
+      if(oConvertUtils.isNotEmpty(supplierCapacityDto.getItemNumber())){//款号
+         queryWrapper.eq("p.cVenCodeType",supplierCapacityDto.getItemNumber());//供应商类型cVenCodeType
+      }
+      return super.export("月份部门合计导出", SupplierCapacityVo2.class,SupplierCapacityService.excel2(queryWrapper));
    }
 
    @AutoLog(value = "供应链产能报表-通过供应商、月份excel导出")
    @ApiOperation(value="供应链产能报表-通过供应商、月份excel导出", notes="供应链产能报表-通过供应商、月份excel导出")
    @RequestMapping(value = "/excel3",method = RequestMethod.GET)
-   public ModelAndView  excel3() {
-      return super.export("月份供应商合计导出", SupplierCapacityVo3.class,SupplierCapacityService.excel3());
+   public ModelAndView  excel3( SupplierCapacityDto supplierCapacityDto) {
+      QueryWrapper<SupplierCapacityDto> queryWrapper = new QueryWrapper<>();//初始化
+      if(oConvertUtils.isNotEmpty(supplierCapacityDto.getCsrccode())){
+         queryWrapper.eq("p.csrccode",supplierCapacityDto.getCsrccode());;//订单号
+      }
+      if(oConvertUtils.isNotEmpty(supplierCapacityDto.getVenName())){
+         queryWrapper.eq("p.cVenCode",supplierCapacityDto.getVenName());//供应商名称
+      }
+      if(oConvertUtils.isNotEmpty(supplierCapacityDto.getPlanLotNumber())){
+         queryWrapper.eq("p.cPlanLotNumber",supplierCapacityDto.getPlanLotNumber());//计划单号
+      }
+      if(oConvertUtils.isNotEmpty(supplierCapacityDto.getStartDate())){//起始日期
+         String []starts =supplierCapacityDto.getStartDate().split("-");
+         queryWrapper.nested(i->i.gt("p.dArriveYear",starts[0]).or().nested(s->s.eq("p.dArriveYear",starts[0]).ge("p.dArriveMonth",starts[1])));
+      }
+      if(oConvertUtils.isNotEmpty(supplierCapacityDto.getEndDate())){//结束日期
+         String []end =supplierCapacityDto.getEndDate().split("-");
+         queryWrapper.nested(i->i.lt("p.dArriveYear",end[0]).or().nested(s->s.eq("p.dArriveYear",end[0]).le("p.dArriveMonth",end[1])));
+      }
+      if(oConvertUtils.isNotEmpty(supplierCapacityDto.getOrderType())){//订单类型
+         queryWrapper.eq("p.iOrderType",supplierCapacityDto.getOrderType());//订单类型iOrderType
+      }
+      if(oConvertUtils.isNotEmpty(supplierCapacityDto.getCVenCodeType())){//供应商类型
+         queryWrapper.eq("p.cVenCodeType",supplierCapacityDto.getCVenCodeType());//供应商类型cVenCodeType
+      }
+      if(oConvertUtils.isNotEmpty(supplierCapacityDto.getItemNumber())){//款号
+         queryWrapper.eq("p.cVenCodeType",supplierCapacityDto.getItemNumber());//供应商类型cVenCodeType
+      }
+      return super.export("月份供应商合计导出", SupplierCapacityVo3.class,SupplierCapacityService.excel3(queryWrapper));
    }
 }

+ 5 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/scas/dto/SupplierCapacityDto.java

@@ -30,6 +30,11 @@ public class SupplierCapacityDto {
     @ApiModelProperty(value = "结束日期")
     private String endDate;//结束日期
 
+    @ApiModelProperty(value = "款号")
+    private java.lang.String itemNumber;
+
+    @ApiModelProperty(value = "供应商类型")
+    private String cVenCodeType;//供应商类型
     /*@ApiModelProperty(value = "开始月份")
     private Integer startDate;//开始月份
 

+ 7 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/scas/entity/SupplierCapacity.java

@@ -12,6 +12,9 @@ import java.util.Date;
 @ApiModel(description="供应链产能报表")
 public class SupplierCapacity {
 
+    @ApiModelProperty(value = "账套号")
+    private String account;//账套号
+
     @ApiModelProperty(value = "订单号")
     private String csrccode;//订单号
 
@@ -21,6 +24,9 @@ public class SupplierCapacity {
     @ApiModelProperty(value = "部门")
     private String cDepCode;//部门
 
+    @ApiModelProperty(value = "款号")
+    private java.lang.String itemNumber;
+
     @ApiModelProperty(value = "业务员")
     private String cPersonCode;//业务员
 
@@ -46,7 +52,7 @@ public class SupplierCapacity {
     private Integer arriveMonth;//计划到货月份
 
     @ApiModelProperty(value = "计划到货日期")
-    private Date dArriveDate;//计划到货日期
+    private String dArriveDate;//计划到货日期
 
     @ApiModelProperty(value = "系数")
     private BigDecimal coefficient;//系数

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/scas/entity/vo/SupplierCapacityVo1.java

@@ -17,7 +17,7 @@ public class SupplierCapacityVo1 {
     @Excel(name = "累计入库数量", width = 30)
     private BigDecimal iReceivedQTY;//累计入库数量
     @Excel(name = "计划到货月份", width = 15)
-    private Integer arriveMonth;//计划到货月份
+    private String dArriveDate;//计划到货月份
     @Excel(name = "能耗", width = 15)
     private BigDecimal coefficient;//能耗
 }

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/scas/entity/vo/SupplierCapacityVo2.java

@@ -14,7 +14,7 @@ public class SupplierCapacityVo2 {
     @Excel(name = "累计入库数量", width = 30)
     private BigDecimal iReceivedQTY;//累计入库数量
     @Excel(name = "计划到货月份", width = 15)
-    private Integer arriveMonth;//计划到货月份
+    private String dArriveDate;//计划到货月份
     @Excel(name = "能耗", width = 15)
     private BigDecimal coefficient;//能耗
 }

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/scas/entity/vo/SupplierCapacityVo3.java

@@ -14,7 +14,7 @@ public class SupplierCapacityVo3 {
     @Excel(name = "累计入库数量", width = 30)
     private BigDecimal iReceivedQTY;//累计入库数量
     @Excel(name = "计划到货月份", width = 15)
-    private Integer arriveMonth;//计划到货月份
+    private String dArriveDate;//计划到货月份
     @Excel(name = "能耗", width = 15)
     private BigDecimal coefficient;//能耗
 }

+ 8 - 4
jeecg-boot-module-system/src/main/java/org/jeecg/modules/scas/mapper/SupplierCapacityMapper.java

@@ -27,11 +27,15 @@ public interface SupplierCapacityMapper extends BaseMapper<SupplierCapacity> {
 
     List<SupplierCapacity> querySelect(SupplierCapacityDto supplierCapacityDto);
 
-    List<SupplierCapacityVo1> excel001();
+    List<SupplierCapacityVo1> excel001(@Param("ew")QueryWrapper<SupplierCapacityDto> queryWrapper);
 
-    List<SupplierCapacityVo2> excel002();
+    List<SupplierCapacityVo2> excel002(@Param("ew")QueryWrapper<SupplierCapacityDto> queryWrapper);
 
-    List<SupplierCapacityVo3> excel003();
+    List<SupplierCapacityVo3> excel003(@Param("ew")QueryWrapper<SupplierCapacityDto> queryWrapper);
 
-    IPage<SupplierCapacity> selectPage(IPage<SupplierCapacity> page, @Param("ew") QueryWrapper<SupplierCapacityDto> queryWrapper);
+    IPage<SupplierCapacity> selectPage(  @Param("ew") QueryWrapper<SupplierCapacityDto> queryWrapper);
+
+    List<SupplierCapacity> selectPage2(@Param("begin")Integer begin, @Param("end")Integer end, @Param("ew")QueryWrapper<SupplierCapacityDto> queryWrapper);
+
+    long selectCounts(@Param("ew")QueryWrapper<SupplierCapacityDto> queryWrapper);
 }

+ 52 - 10
jeecg-boot-module-system/src/main/java/org/jeecg/modules/scas/mapper/xml/SupplierCapacityMapper.xml

@@ -81,7 +81,7 @@
 
     <select id="selectPage" resultType="org.jeecg.modules.scas.entity.SupplierCapacity">
         --测试
-    select * from(
+    /*select * from(
     select
             PO_Pomain.cPOID csrccode,
             left(PO_Pomain.cPOID,ISNULL(NULLIF(CHARINDEX('-',PO_Pomain.cPOID)-1,-1),len(PO_Pomain.cpoid))) cPlanLotNumber,
@@ -95,7 +95,7 @@
             cComUnitName unit,
             month(dArriveDate) arriveMonth,
             dArriveDate,
-            isnull(Inventory.cInvDefine1,0) coefficient
+            isnull(Inventory.cInvDefine1,1) coefficient
             from PO_Pomain
             left join PO_Podetails on PO_Podetails.POID=PO_Pomain.POID
             left join Department on  Department.cdepcode=PO_Pomain.cDepCode
@@ -118,7 +118,7 @@
             cComUnitName unit,
             month(dArriveDate) arriveMonth,
             dArriveDate,
-            isnull(Inventory.cInvDefine1,0) coefficient
+            isnull(Inventory.cInvDefine1,1) coefficient
             from OM_MOMain
             left join OM_MODetails on OM_MODetails.moid=OM_MOMain.moid
             left join Department on  Department.cdepcode=OM_MOMain.cDepCode
@@ -127,13 +127,24 @@
             left join VendorClass on VendorClass.cVCCode=Vendor.cVCCode
             left join ComputationUnit on OM_MODetails.cUnitID=ComputationUnit.cComunitCode
             left join Inventory on OM_MODetails.cInvCode=Inventory.cInvCode
-            )p
+            )p*/
+            select  * from Supplier_Capacity_Test p
+            ${ew.customSqlSegment}
+    </select>
+
+    <select id="selectPage2" resultType="org.jeecg.modules.scas.entity.SupplierCapacity">
+         WITH selectTemp AS (SELECT TOP 100 PERCENT ROW_NUMBER() OVER (ORDER BY account) as __row_number__, * FROM Supplier_Capacity_Test p
+        ${ew.customSqlSegment})  SELECT * FROM selectTemp WHERE __row_number__ BETWEEN ${begin} AND ${end} ORDER BY __row_number__
+    </select>
+
+    <select id="selectCounts" resultType="long">
+         select count(1) from Supplier_Capacity_Test p
             ${ew.customSqlSegment}
     </select>
 
     <select id="excel001" resultType="org.jeecg.modules.scas.entity.vo.SupplierCapacityVo1">
         --部门	供应商	月份	数量	累计入库数量	能耗(能耗相加的汇总)--汇合
-    select
+   /* select
         p.cDepCode,
         p.cVenCode,
         p.arriveMonth,
@@ -172,13 +183,24 @@
 				--order by cDepCode,cVenCode,arriveMonth
         )p
         group by p.cDepCode,p.cVenCode,p.arriveMonth
-        order by p.cDepCode,p.cVenCode,p.arriveMonth
+        order by p.cDepCode,p.cVenCode,p.arriveMonth*/
+        select
+        p.cDepCode,
+        p.cVenCode,
+        p.dArriveDate,
+        sum(p.iQuantity) iQuantity,
+        sum(p.iReceivedQTY) iReceivedQTY,
+        sum(p.coefficient*p.iQuantity) coefficient
+         from Supplier_Capacity_Test p
+           ${ew.customSqlSegment}
+        group by p.cDepCode,p.cVenCode,p.dArriveDate
+        order by p.cDepCode,p.cVenCode,p.dArriveDate
     </select>
 
     <select id="excel002" resultType="org.jeecg.modules.scas.entity.vo.SupplierCapacityVo2">
 
          --部门	月份	数量	累计入库数量	能耗(能耗相加的汇总)
-        select  p.cDepCode,
+       /* select  p.cDepCode,
                 p.arriveMonth,
                 sum(p.iQuantity) iQuantity,
                 sum(p.iReceivedQTY) iReceivedQTY,
@@ -213,13 +235,23 @@
 					left join Inventory on OM_MODetails.cInvCode=Inventory.cInvCode
                 )p
 					group by p.cDepCode,p.arriveMonth
-					order  by p.cDepCode,p.arriveMonth
+					order  by p.cDepCode,p.arriveMonth*/
+     select
+        p.cDepCode,
+        p.dArriveDate,
+        sum(p.iQuantity) iQuantity,
+        sum(p.iReceivedQTY) iReceivedQTY,
+        sum(p.coefficient*p.iQuantity) coefficient
+         from Supplier_Capacity_Test p
+           ${ew.customSqlSegment}
+   group by p.cDepCode,p.dArriveDate
+    order  by p.cDepCode,p.dArriveDate
     </select>
 
 
     <select id="excel003" resultType="org.jeecg.modules.scas.entity.vo.SupplierCapacityVo3">
          --供应商	月份	数量	累计入库数量	能耗(能耗相加的汇总)
-    select
+    /*select
         p.cVenCode,
         p.arriveMonth,
         sum(p.iQuantity) iQuantity,
@@ -254,7 +286,17 @@
             left join VendorClass on VendorClass.cVCCode=Vendor.cVCCode
             left join Inventory on OM_MODetails.cInvCode=Inventory.cInvCode
     )p group by p.cVenCode,p.arriveMonth
-         order by p.cVenCode,p.arriveMonth
+         order by p.cVenCode,p.arriveMonth*/
+         select
+            p.cVenCode,
+            p.dArriveDate,
+            sum(p.iQuantity) iQuantity,
+            sum(p.iReceivedQTY) iReceivedQTY,
+            sum(p.coefficient*p.iQuantity) coefficient
+         from Supplier_Capacity_Test p
+           ${ew.customSqlSegment}
+         group by p.cVenCode,p.dArriveDate
+         order by p.cVenCode,p.dArriveDate
     </select>
 
 </mapper>

+ 6 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/scas/service/ISupplierCapacityService.java

@@ -2,6 +2,7 @@ package org.jeecg.modules.scas.service;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.jeecg.modules.scas.dto.SupplierCapacityDto;
 import org.jeecg.modules.scas.entity.SupplierCapacity;
@@ -18,11 +19,13 @@ public interface ISupplierCapacityService extends IService<SupplierCapacity> {
 
     List<SupplierCapacity> selectList(SupplierCapacityDto supplierCapacityDto);
 
-    List<SupplierCapacityVo1> excel1();
+    List<SupplierCapacityVo1> excel1( QueryWrapper<SupplierCapacityDto> queryWrapper);
 
-    List<SupplierCapacityVo2> excel2();
+    List<SupplierCapacityVo2> excel2( QueryWrapper<SupplierCapacityDto> queryWrapper);
 
-    List<SupplierCapacityVo3> excel3();
+    List<SupplierCapacityVo3> excel3( QueryWrapper<SupplierCapacityDto> queryWrapper);
 
     public IPage<SupplierCapacity> selectPage(IPage<SupplierCapacity> page, QueryWrapper<SupplierCapacityDto> queryWrapper);
+
+    IPage<SupplierCapacity>  selectPage2(Integer begin, Integer end, QueryWrapper<SupplierCapacityDto> queryWrapper);
 }

+ 25 - 7
jeecg-boot-module-system/src/main/java/org/jeecg/modules/scas/service/impl/SupplierCapacityServiceImpl.java

@@ -3,6 +3,7 @@ package org.jeecg.modules.scas.service.impl;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.apache.poi.ss.usermodel.Workbook;
@@ -35,23 +36,40 @@ public class SupplierCapacityServiceImpl extends ServiceImpl<SupplierCapacityMap
     }
 
     @DS("multi-three")
-    public List<SupplierCapacityVo1> excel1() {
-        return supplierCapacityMapper.excel001();
+    public List<SupplierCapacityVo1> excel1(QueryWrapper<SupplierCapacityDto> queryWrapper) {
+        return supplierCapacityMapper.excel001(queryWrapper);
     }
 
     @DS("multi-three")
-    public List<SupplierCapacityVo2> excel2() {
-        return supplierCapacityMapper.excel002();
+    public List<SupplierCapacityVo2> excel2(QueryWrapper<SupplierCapacityDto> queryWrapper) {
+        return supplierCapacityMapper.excel002(queryWrapper);
     }
 
     @DS("multi-three")
-    public List<SupplierCapacityVo3> excel3() {
-        return supplierCapacityMapper.excel003();
+    public List<SupplierCapacityVo3> excel3(QueryWrapper<SupplierCapacityDto> queryWrapper) {
+        return supplierCapacityMapper.excel003(queryWrapper);
     }
 
     @DS("multi-three")
     public IPage<SupplierCapacity> selectPage(IPage<SupplierCapacity> page, QueryWrapper<SupplierCapacityDto> queryWrapper) {
-        return supplierCapacityMapper.selectPage(page,queryWrapper);
+        //return supplierCapacityMapper.selectPage(queryWrapper);
+        return null;
+    }
+
+    @Override
+    @DS("multi-three")
+    public IPage<SupplierCapacity>  selectPage2(Integer pageNo, Integer pageSize, QueryWrapper<SupplierCapacityDto> queryWrapper) {
+        List<SupplierCapacity> pageList= supplierCapacityMapper.selectPage2((pageNo*pageSize-pageSize+1),pageSize*pageNo,queryWrapper);
+        long count=supplierCapacityMapper.selectCounts(queryWrapper);
+        IPage<SupplierCapacity> page= new Page<SupplierCapacity>(pageNo, pageSize);
+        page.setRecords(pageList);
+        page.setTotal(count);
+        long pages =count / pageSize;
+        if (count % pageSize!= 0) {
+            pages++;
+        }
+        page.setPages(pages);
+        return page;
     }
 
 

+ 10 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/controller/SyPreAssembledPackingListController.java

@@ -1746,6 +1746,11 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
                 Cell cell2=row.getCell(0);
                 if(cell2==null){//如果这一列为空就退出
                     continue;
+                }else{
+                    cell2.setCellType(CellType.STRING);
+                    if(cell2.getStringCellValue().length()<1){
+                        continue;
+                    }
                 }
                 List<String> strs=new ArrayList<String>();//装主要数据
                 List<String> strs2=new ArrayList<String>();//获取尺码的信息
@@ -1879,6 +1884,11 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
                 Cell cell2=row.getCell(0);
                 if(cell2==null){//如果这一列为空就退出
                     continue;
+                }else{
+                    cell2.setCellType(CellType.STRING);
+                    if(cell2.getStringCellValue().length()<1){
+                        continue;
+                    }
                 }
                 List<String> strs=new ArrayList<String>();//装主要数据
                 List<String> strs2=new ArrayList<String>();//获取尺码的信息

+ 10 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/controller/SyPackingListFabricController.java

@@ -487,7 +487,16 @@ public class SyPackingListFabricController {
 	@ApiOperation(value="装箱单-面辅料-批量删除", notes="装箱单-面辅料-批量删除")
 	@DeleteMapping(value = "/deleteBatch")
 	public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
-		this.syPackingListFabricService.delBatchMain(Arrays.asList(ids.split(",")));
+		long startTime = System.currentTimeMillis();
+		List<String> listIds=new ArrayList<>();
+		List<SyPackingListFabric> items=syPackingListFabricService.list();
+		for (SyPackingListFabric item : items){
+			listIds.add(item.getId());
+		}
+		//this.syPackingListFabricService.delBatchMain(Arrays.asList(ids.split(",")));
+		this.syPackingListFabricService.delBatchMain(listIds);
+		long endTime = System.currentTimeMillis();
+		System.out.println("删除数据的时间:" + (endTime - startTime) + "ms");
 		return Result.OK("批量删除成功!");
 	}
 	

+ 0 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/entity/SyPackingListFabricItem.java

@@ -447,7 +447,6 @@ public class SyPackingListFabricItem implements Serializable {
 		treatmentMethod=strs[23+1];//处理方式
 		containerNumber=strs[24+1];//柜号
 		remarks2=strs[25+1];//备注
-		System.out.println("remarks2\t"+remarks2);
 		BigDecimal width1=new BigDecimal("0");
 		BigDecimal gramWeight2=new BigDecimal("0");
 		if(isNumeric(width)){

+ 4 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/mapper/SyPackingListFabricItemMapper.java

@@ -23,6 +23,8 @@ public interface SyPackingListFabricItemMapper extends BaseMapper<SyPackingListF
 
 	public boolean deleteByMainId(String mainId);
 
+	public boolean deleteByMainIds(@Param("ids")String[] mainIds);
+
 	public boolean deleteById(String id);
     
 	public List<SyPackingListFabricItem> selectByMainId(String mainId);
@@ -31,6 +33,8 @@ public interface SyPackingListFabricItemMapper extends BaseMapper<SyPackingListF
 
 	public List<SyPackingListFabricItem> selectByMainId3(@Param("ids") String[] toArray);
 
+	public List<SyPackingListFabricItem> selectGroupIds(@Param("ids") String[] toArray);
+
 	//根据id获取发运明细数据
 	public List<SyPackingListFabricItem> getSyShippingDetailsData(String id);
 

+ 2 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/mapper/SyPackingListFabricMapper.java

@@ -30,6 +30,8 @@ public interface SyPackingListFabricMapper extends BaseMapper<SyPackingListFabri
 
     //将该单据修改成删除状态
     public int deleteByMainId(String id);
+    //将该单据修改成删除状态
+    public int deleteByMainIds(@Param("ids")String[]ids);
 
     IPage<SyPackingListFabric> queryMain(IPage<SyPackingListFabric> page, @Param("ew") QueryWrapper<SyPackingListFabric> queryWrapper);
 

+ 17 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/mapper/xml/SyPackingListFabricItemMapper.xml

@@ -6,6 +6,13 @@
 		update sy_packing_list_fabric_item set del_flag=1 where sy_packing_list_fabric_id=#{value}
 	</delete>
 
+	<delete id="deleteByMainIds" parameterType="java.lang.String">
+		update sy_packing_list_fabric_item set del_flag=1 where sy_packing_list_fabric_id in
+		<foreach collection="ids" item="value" index="index" open="(" separator="," close=")">
+			#{value}
+		</foreach>
+	</delete>
+
 	<delete id="deleteById" parameterType="java.lang.String">
 		update sy_packing_list_fabric_item set del_flag=1 where id=#{value}
 	</delete>
@@ -18,6 +25,16 @@
 			 and del_flag=0
 	</select>
 
+	<select id="selectGroupIds" parameterType="java.lang.String" resultType="org.jeecg.modules.splfi.entity.SyPackingListFabricItem">
+		SELECT sy_shipping_details_item_id,sum(net_Weight) net_Weight,sum(actual_Declared_Quantity) actual_Declared_Quantity,master_Metering
+		FROM  sy_packing_list_fabric_item WHERE sy_shipping_details_item_id in
+		<foreach collection="ids" item="value" index="index" open="(" separator="," close=")">
+			#{value}
+		</foreach>
+		and del_flag=0
+		group by sy_shipping_details_item_id
+	</select>
+
 	<select id="getSyShippingDetailsData" parameterType="java.lang.String" resultType="org.jeecg.modules.splfi.entity.SyPackingListFabricItem">
 		SELECT
 			a.id syShippingDetailsId,

+ 7 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/mapper/xml/SyPackingListFabricMapper.xml

@@ -97,6 +97,13 @@
         update sy_packing_list_fabric set del_flag='1' where id =#{value}
     </update>
 
+    <update id="deleteByMainIds"  parameterType="java.lang.String">
+        update sy_packing_list_fabric set del_flag='1' where id in
+        <foreach collection="ids" item="value" index="index" open="(" separator="," close=")">
+            #{value}
+        </foreach>
+    </update>
+
     <select id="queryMain" resultType="org.jeecg.modules.splfi.entity.SyPackingListFabric">
 		SELECT
 			a.*

+ 114 - 9
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/service/impl/SyPackingListFabricServiceImpl.java

@@ -24,6 +24,7 @@ import org.jeecg.modules.documents.shippingDetails.entity.SyShippingDetailsItem;
 import org.jeecg.modules.documents.shippingDetails.entity.VO.SyShippingDetailsVo;
 import org.jeecg.modules.documents.shippingDetails.mapper.SyShippingDetailsItemMapper;
 import org.jeecg.modules.documents.shippingDetails.mapper.SyShippingDetailsMapper;
+import org.jeecg.modules.documents.shippingDetails.service.ISyShippingDetailsItemService;
 import org.jeecg.modules.documents.shippingDetails.service.impl.SyShippingDetailsItemServiceImpl;
 import org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrder;
 import org.jeecg.modules.documents.syShippingOrder.mapper.SyShippingOrderMapper;
@@ -88,6 +89,8 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 	@Autowired
 	private SyShippingDetailsItemMapper syShippingDetailsItemMapper;
 	@Autowired
+	private ISyShippingDetailsItemService iSyShippingDetailsItemService;
+	@Autowired
 	private SyDeclarationElementsMapper syDeclarationElementsMapper;
 	@Autowired
 	private SyOrderDataMapper syOrderDataMapper;
@@ -285,6 +288,84 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 		syPackingListFabricItemMapper.update(null,updateWrapper);
 	}
 
+	@Transactional
+	public void  updateQuantitys(Map<String,SyPackingListFabricItem> mapItems,List<String> ids){
+		QueryWrapper queryWrapper=new QueryWrapper();
+		queryWrapper.eq("del_flag","0");
+		queryWrapper.in("sy_shipping_details_item_id",ids);
+		List<SyShippingDetailsItem> items=syShippingDetailsItemMapper.selectList(queryWrapper);//获取面辅料出运明细数据
+		if(items.size()==0){
+			return;
+		}
+		Map<String,SyShippingDetailsItem> mapItems2=new HashMap<>();
+		for (SyShippingDetailsItem item : items){
+			mapItems2.put(item.getId(),item);
+		}
+		String[] idList=ids.toArray(new String[ids.size()]);
+		List<SyPackingListFabricItem> items2=syPackingListFabricItemMapper.selectGroupIds(idList);//根据出运明细id合计数据
+		List<SyShippingDetailsItem> items3=new ArrayList<>();
+		Map<String,SyPackingListFabricItem> mapItems3=new HashMap<>();
+		//System.out.println("items2.size\t"+items2.size());
+		for (SyPackingListFabricItem item : items2){
+			mapItems3.put(item.getSyShippingDetailsItemId(),item);
+		}
+		for (SyShippingDetailsItem item : mapItems2.values()){
+			SyPackingListFabricItem item2=mapItems3.get(item.getId());
+			BigDecimal shipmentQuantity=item.getShipmentQuantity();//获取发货数量
+			BigDecimal actualDeclaredQuantity=item2.getActualDeclaredQuantity();//现在数量
+			if(item2.getMasterMetering().equals("KG")){
+				actualDeclaredQuantity=item2.getNetWeight();
+			}
+			BigDecimal remainingQuantity=shipmentQuantity.subtract(actualDeclaredQuantity);//剩余数量
+			BigDecimal excessQuantity=new BigDecimal("0");//超发数量
+			if(actualDeclaredQuantity.doubleValue()>shipmentQuantity.doubleValue()){
+				excessQuantity=actualDeclaredQuantity.subtract(shipmentQuantity);
+			}
+			item.setPackSurplus(remainingQuantity);//出运明细剩余数量
+			item.setExcessQuantity(excessQuantity);//出运明细超发数量
+			items3.add(item);
+			UpdateWrapper updateWrapper=new UpdateWrapper();
+			updateWrapper.set("remaining_Quantity",remainingQuantity);
+			updateWrapper.set("excess_Quantity",excessQuantity);
+			updateWrapper.eq("sy_shipping_details_item_id",item.getId());
+			syPackingListFabricItemMapper.update(null,updateWrapper);
+		}
+		iSyShippingDetailsItemService.updateBatchById(items3);
+		/*QueryWrapper queryWrapper=new QueryWrapper();
+		queryWrapper.eq("sy_shipping_details_item_id", syShippingDetailsItemId);//出运明细id
+		queryWrapper.eq("del_flag", "0");//未删除
+		if(master.equals("KG")){
+			queryWrapper.select("sum(net_Weight) as actualDeclaredQuantity");//获取净重合计
+		}else{
+			queryWrapper.select("sum(actual_Declared_Quantity) as actualDeclaredQuantity");//获取实际报关数量合计
+		}
+		BigDecimal actualDeclaredQuantity=new BigDecimal("0");
+		if(syPackingListFabricItemMapper.selectOne(queryWrapper)!=null){
+			actualDeclaredQuantity=syPackingListFabricItemMapper.selectOne(queryWrapper).getActualDeclaredQuantity();
+		}
+		actualDeclaredQuantity=actualDeclaredQuantity.add(quantity);
+		SyShippingDetailsItem item=syShippingDetailsItemMapper.selectById(syShippingDetailsItemId);
+
+		BigDecimal shipmentQuantity=item.getShipmentQuantity();//获取发货数量
+
+		BigDecimal remainingQuantity=shipmentQuantity.subtract(actualDeclaredQuantity);//剩余数量
+		BigDecimal excessQuantity=new BigDecimal("0");//超发数量
+
+		if(actualDeclaredQuantity.doubleValue()>shipmentQuantity.doubleValue()){
+			excessQuantity=actualDeclaredQuantity.subtract(shipmentQuantity);//
+		}
+
+		item.setPackSurplus(remainingQuantity);//出运明细剩余数量
+		item.setExcessQuantity(excessQuantity);//出运明细超发数量
+		syShippingDetailsItemMapper.updateById(item);
+
+		UpdateWrapper updateWrapper=new UpdateWrapper();
+		updateWrapper.set("remaining_Quantity",remainingQuantity);
+		updateWrapper.set("excess_Quantity",excessQuantity);
+		updateWrapper.eq("sy_shipping_details_item_id",syShippingDetailsItemId);
+		syPackingListFabricItemMapper.update(null,updateWrapper);*/
+	}
+
 	/**
 	 * 根据订单数据id获取单位
 	 * @param id
@@ -400,20 +481,44 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 	@Override
 	@Transactional
 	public void delBatchMain(Collection<? extends Serializable> idList) {
-		for(Serializable id:idList) {
-			QueryWrapper queryWrapper=new QueryWrapper();
-			queryWrapper.eq("sy_packing_list_fabric_id",id);
-			List<SyPackingListFabricItem> syPackingListFabricItems=syPackingListFabricItemMapper.selectList(queryWrapper);
-			for(SyPackingListFabricItem item : syPackingListFabricItems){
+		Map<String,SyPackingListFabricItem> maps=new HashMap();
+		QueryWrapper queryWrapper=new QueryWrapper();
+		queryWrapper.in("sy_packing_list_fabric_id",idList);
+		List<SyPackingListFabricItem> syPackingListFabricItems=syPackingListFabricItemMapper.selectList(queryWrapper);
+		List<String> idItems=new ArrayList<>();
+		String[] ids=idList.toArray(new String[idList.size()]);
+		for(SyPackingListFabricItem item : syPackingListFabricItems){
+			if(item.getActualDeclaredQuantity()==null){
+				item.setActualDeclaredQuantity(new BigDecimal("0"));
+			}
+			if(item.getNetWeight()==null){
+				item.setNetWeight(new BigDecimal("0"));
+			}
+			if(maps.containsKey(item.getSyShippingDetailsItemId())){
+				SyPackingListFabricItem item1=maps.get(item.getSyShippingDetailsItemId());
+				if(item.getMasterMetering().equals("KG")){
+					item1.setNetWeight(item.getNetWeight());
+					maps.put(item.getSyShippingDetailsItemId(),item1);
+					//updateQuantity(item.getNetWeight().negate(),item.getSyShippingDetailsItemId(),item.getMasterMetering());
+				}else{
+					item1.setActualDeclaredQuantity(item.getActualDeclaredQuantity());
+					maps.put(item.getSyShippingDetailsItemId(),item1);
+					//updateQuantity(item.getActualDeclaredQuantity().negate(),item.getSyShippingDetailsItemId(),item.getMasterMetering());
+				}
+			}else{
+				idItems.add(item.getSyShippingDetailsItemId());
 				if(item.getMasterMetering().equals("KG")){
-					updateQuantity(item.getNetWeight().negate(),item.getSyShippingDetailsItemId(),item.getMasterMetering());
+					maps.put(item.getSyShippingDetailsItemId(),item);
+					//updateQuantity(item.getNetWeight().negate(),item.getSyShippingDetailsItemId(),item.getMasterMetering());
 				}else{
-					updateQuantity(item.getActualDeclaredQuantity().negate(),item.getSyShippingDetailsItemId(),item.getMasterMetering());
+					maps.put(item.getSyShippingDetailsItemId(),item);
 				}
 			}
-			syPackingListFabricItemMapper.deleteByMainId(id.toString());
-			syPackingListFabricMapper.deleteByMainId(id.toString());
 		}
+		System.out.println("maps.size\t"+maps.size());
+		updateQuantitys(maps,idItems);
+		syPackingListFabricItemMapper.deleteByMainIds(ids);
+		syPackingListFabricMapper.deleteByMainIds(ids);
 	}
 
 	/**