Browse Source

Merge branch 'master' of http://139.196.39.194:9021/chenc/sen-yu-new-service

fenghaifu 2 years ago
parent
commit
357f6ac54d
21 changed files with 715 additions and 185 deletions
  1. 5 3
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/orderData/mapper/xml/SyOrderDataMapper.xml
  2. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/orderData/service/impl/SyOrderDataServiceImpl.java
  3. 8 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/controller/SyShippingDetailsController.java
  4. 6 7
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/entity/VO/SyPreAssembledPackingListVo.java
  5. 7 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/mapper/xml/SyShippingDetailsMapper.xml
  6. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/quartz/job/AddOrderJob.java
  7. 112 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/report/controller/FullSetRateController.java
  8. 64 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/report/entity/FullSetRate.java
  9. 26 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/report/mapper/FullSetRateMapper.java
  10. 53 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/report/mapper/xml/FullSetTateMapper.xml
  11. 29 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/report/service/IFullSetRateService.java
  12. 46 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/report/service/impl/FullSetRateServiceImpl.java
  13. 19 18
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/controller/SyPreAssembledPackingListController.java
  14. 13 8
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/entity/SyPreAssembledPackingList.java
  15. 33 56
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/entity/SyPreAssembledPackingListItem.java
  16. 3 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/mapper/xml/SyPreAssembledPackingListMapper.xml
  17. 27 7
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/service/impl/SyPreAssembledPackingListServiceImpl.java
  18. 186 16
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/controller/SyPackingListTailoringController.java
  19. 21 28
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/entity/SyPackingListTailoring.java
  20. 26 34
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/entity/SyPackingListTailoringItem.java
  21. 29 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/service/impl/SyPackingListTailoringServiceImpl.java

+ 5 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/orderData/mapper/xml/SyOrderDataMapper.xml

@@ -27,10 +27,12 @@
             price_remarks,
             customer_order_number,
             sum(b.total_price_and_tax) as whole_order_total,
+            if(left(b.inventory_ccode,2)='19',
             case customer_abbreviation
-            when '森宇集团' then end_customer
-            when '宁波森宇' then end_customer
-            else customer_abbreviation end as end_customer,
+            when '森语集团' then end_customer
+            when '宁波森语' then end_customer
+            else customer_abbreviation end ,
+            end_customer) as end_customer,
             term_of_payment,
             order_change_description,
             a.memo,

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/orderData/service/impl/SyOrderDataServiceImpl.java

@@ -54,7 +54,7 @@ public class SyOrderDataServiceImpl extends ServiceImpl<SyOrderDataMapper, SyOrd
 
     @Override
     public void doQuerySyOrder() {
-        QuerySyOrder();
+        //QuerySyOrder();
     }
 
     @Override

+ 8 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/controller/SyShippingDetailsController.java

@@ -577,7 +577,7 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
 					  builder.append("*");
 				  }
 				  //创建列名放在第一行
-				  String[] params =("账套*成衣工厂*预发货日期*款号*小po*分销点*起始箱号*结束箱号*item NO./SKU NO./UPC NO./PACKS CODE*PREACKSKU*"+builder+"颜色*配码规则*计划尺码数量*计划装箱数量*件数/箱*箱数*总件数*净重/箱*总净重*毛重/箱*总毛重*外箱长度*外箱宽度*外箱高度*总体积*净净重*单价*总价*备注*发运明细子表ID*发运明细分组ID*发运明细主表ID*订单号*款号*尺码范围*客户*客户简称*申报要素ID").split("\\*");
+				  String[] params =("成衣工厂*款号*小po*分销点*起始箱号*结束箱号*item NO./SKU NO./UPC NO./PACKS CODE*PREACKSKU*"+builder+"颜色*计划装箱数量*净重/箱*毛重/箱*外箱长度*外箱宽度*外箱高度*净净重*客户简称*发运明细子表ID*发运明细分组ID*发运明细主表ID*申报要素ID").split("\\*");
 				  String[] params1 =syPreList.get(index).toString(builder.toString()).split("\\*");
 				  Row row1 = sheet.createRow(0);
 				  Row row2 = sheet.createRow(1);
@@ -586,7 +586,13 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
 					  Cell cell = row1.createCell(x);
 					  cell.setCellValue(params[x]);
 
-					  if(x > 9 && x < params.length-27){
+					  //设置单元格宽度
+					  if(x > params.length-5){
+						  sheet.setColumnWidth(x,500);
+					  }else{
+						  sheet.setColumnWidth(x,3000);
+					  }
+					  if(x > 7 && x < params.length-13){
 						  Cell cell1 = row2.createCell(x);
 						  cell1.setCellValue(" ");
 					  }else{

+ 6 - 7
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/entity/VO/SyPreAssembledPackingListVo.java

@@ -196,13 +196,12 @@ public class SyPreAssembledPackingListVo {
     }
 
     public String toString(String builder){
-        String fw[] = builder.split("\\*");
-        String fwSplit = fw[0]+"~"+fw[fw.length-1];
-
-        return account+"*"+garmentFactory+"*"+preDeliveryDate+"*"+itemNumber+"*"+smallPo+"*"+distributionPoint+
-                "*"+""+"*"+""+"*"+""+"*"+""+"*"+builder+"*"+color+"*"+codingRules+"*"+""+"*"+plannedShippingQuantity+
-                "*"+""+"*"+""+"*"+""+"*"+""+"*"+""+"*"+""+"*"+""+"*"+""+"*"+""+"*"+""+"*"+""+"*"+""+"*"+unitPrice+
-                "*"+""+"*"+""+"*"+itemId+"*"+groupId+"*"+id+"*"+orderNumber+"*"+itemNuber+"*"+fwSplit+"*"+customer+"*"+customerAbb+"*"+elenmentId;
+//        String fw[] = builder.split("\\*");
+//        String fwSplit = fw[0]+"~"+fw[fw.length-1];
+        return garmentFactory+"*"+itemNumber+"*"+smallPo+"*"+distributionPoint+"*"+""+
+                "*"+""+"*"+""+"*"+""+"*"+builder+color+"*"+plannedShippingQuantity+
+                "*"+""+"*"+""+"*"+""+"*"+""+"*"+""+"*"+""+"*"+
+                customerAbb+"*"+itemId+"*"+groupId+"*"+id+"*"+elenmentId;
     }
 
 

+ 7 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/mapper/xml/SyShippingDetailsMapper.xml

@@ -11,7 +11,13 @@
            b.distribution_point as distributionPoint,b.pack_id as packId,b.unit_price_including_tax as unitPriceIncludingTax,guangpei_gate_width as guangpeiGateWidth,
            b.supplier_code as supplierCode,a.garment_nmb as garmentNmb,b.garment_factory as garmentFactory,DATE_FORMAT(b.pre_delivery_date,'%Y-%m-%d') as preDeliveryDate,b.box_number as boxNumber,
            a.whole_order_total as wholeOrderTotal,a.sales_department as salesDepartment,a.salesman as salesman,a.currency_text as currencyText,a.third_party as thirdParty,
-            a.deposit_ratio as depositRatio,a.deposit as deposit,a.collaborative_route as collaborativeRoute,a.term_of_payment as termOfPayment,a.end_customer as endCustomer,
+            a.deposit_ratio as depositRatio,a.deposit as deposit,a.collaborative_route as collaborativeRoute,a.term_of_payment as termOfPayment,
+           if(left(b.inventory_ccode,2)='19',
+case a.customer_abbreviation
+when '森语集团' then a.end_customer
+when '宁波森语' then a.end_customer
+else a.customer_abbreviation end ,
+a.end_customer) as endCustomer,
              a.order_remarks as orderRemarks,a.price_remarks as priceRemarks,a.order_change_description as orderChangeDescription,b.supplier as supplier,b.i_tax_price as iTaxPrice,
              case when b.ymoney is null then '0' else b.ymoney end as ymoney,b.OMPO_id as OMPOId,b.inventory_ccode as inventoryCcode
              from sy_order_data_item b

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/quartz/job/AddOrderJob.java

@@ -467,7 +467,7 @@ public class AddOrderJob implements Job,ApplicationContextAware {
                     " where om.cState = 1" +
                     " ) p on s.isosid  = p.isosid and s.cInvCode = p.cInvCode" +
                     " left join Vendor v on p.supplierCode=v.cVenCode"+
-                    " where s.iRowNo ="+syOrderDataVO.getPoIrowno() +" and ss.cSOCode="+syOrderDataVO.getOmpoCode();
+                    " where s.iRowNo ="+syOrderDataVO.getPoIrowno() +" and ss.cSOCode='"+syOrderDataVO.getOmpoCode()+"'";
             listSon = senYuDataSourceThree.queryForList(sql2);
             List<JSONObject> jian2 = JsonChangeUtils.toJSONObject(listSon);
             for (JSONObject jsonObject:jian2) {

+ 112 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/report/controller/FullSetRateController.java

@@ -0,0 +1,112 @@
+package org.jeecg.modules.report.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.log4j.Log4j2;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.report.entity.FullSetRate;
+import org.jeecg.modules.report.service.IFullSetRateService;
+import org.jeecg.modules.report.service.impl.FullSetRateServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.math.BigDecimal;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+
+@Log4j2
+@RestController
+@RequestMapping("/report/fullSetRate")
+public class FullSetRateController extends JeecgController<FullSetRate, IFullSetRateService> {
+
+    @Autowired
+    private FullSetRateServiceImpl fullSetRateService;
+
+    /**
+     * 齐套率列表查询
+     * @param fullSetRate
+     * @return
+     */
+    @GetMapping(value = "/queryListInfo")
+    public Result<IPage<FullSetRate>> queryListInfo(FullSetRate fullSetRate,
+                                                    @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+                                                    @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) throws ParseException {
+
+        Result<IPage<FullSetRate>> result = new Result<IPage<FullSetRate>>();
+        Page<FullSetRate> page = new Page<FullSetRate>(pageNo,pageSize);
+        QueryWrapper<FullSetRate> queryWrapper = new QueryWrapper<>();
+        if(oConvertUtils.isNotEmpty(fullSetRate.getPlanNo())){
+            queryWrapper.like("a.cCode",fullSetRate.getPlanNo());
+        }
+        queryWrapper.groupBy("a.MOID");
+        IPage<FullSetRate> pageList = fullSetRateService.queryListInfo(page,queryWrapper);
+
+        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
+        //最晚最早出库日期集合
+        List<String> moDeilsIDList = new ArrayList<>();
+
+        //累计准时出库数量
+        BigDecimal cumulativeOnTimeDeliveryQuantity = BigDecimal.ZERO;
+        //累计延迟出库数量
+        BigDecimal cumulativeDelayedDeliveryQty = BigDecimal.ZERO;
+
+        for(FullSetRate li:pageList.getRecords()){
+            //查询委外订单子表与发货或日期信息
+            List<FullSetRate> queryMomain = fullSetRateService.queryMOMain(li.getMoID());
+            //循环子表
+            for(FullSetRate momian:queryMomain){
+                moDeilsIDList.add(momian.getMODetailsID());
+                //查询销售出库单获取累计准时出库数量,获取累计延迟出库数量
+              List<FullSetRate> salesIssueList = fullSetRateService.querySalesIssue(momian.getMODetailsID());
+                for(FullSetRate sa:salesIssueList){
+                    Long saTime = sf.parse(sa.getDeliveryDate()).getTime();
+                    Long moTime = sf.parse(momian.getDeliveryDate()).getTime();
+
+                    //大于就是延迟出库
+                    if(saTime > moTime){
+                        cumulativeDelayedDeliveryQty = cumulativeDelayedDeliveryQty.add(sa.getCumulativeOnTimeDeliveryQuantity());
+                    }
+                    //小于等于就是准时出库
+                    if(saTime <= moTime){
+                        cumulativeOnTimeDeliveryQuantity = cumulativeOnTimeDeliveryQuantity.add(sa.getCumulativeOnTimeDeliveryQuantity());
+                    }
+                }
+            }
+            //累计准时出库数量赋值
+            li.setCumulativeOnTimeDeliveryQuantity(cumulativeOnTimeDeliveryQuantity);
+            //累计延迟出库数量赋值
+            li.setCumulativeDelayedDeliveryQty(cumulativeDelayedDeliveryQty);
+            //预计发货日期(最早)赋值
+            li.setEstimatedDeliveryDate(queryMomain.get(0).getDeliveryDate());
+            //最早出库日期赋值,最晚出库日期赋值
+            List<FullSetRate> dateTimeList = fullSetRateService.querySalesIssueDate(moDeilsIDList);
+            li.setEarliestIssueDate(dateTimeList.get(dateTimeList.size()-1).getDeliveryDate());
+            li.setLatestIssueDate(dateTimeList.get(0).getDeliveryDate());
+            //出库率赋值(销售订单累计出库数量/销售订单数量)
+            BigDecimal deliveryRate = li.getCumulativeIssueQuantity().divide(li.getSalesOrderQuantity(),2,BigDecimal.ROUND_FLOOR);
+            li.setDeliveryRate(deliveryRate);
+
+
+        }
+
+        result.setMessage("查询成功!");
+        result.setSuccess(true);
+        result.setResult(pageList);
+
+        return result;
+
+    }
+
+}

+ 64 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/report/entity/FullSetRate.java

@@ -0,0 +1,64 @@
+package org.jeecg.modules.report.entity;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+import java.math.BigDecimal;
+
+/**
+ * 齐套率报表列表实体类
+ */
+@Data
+public class FullSetRate {
+
+    //出库齐套
+    private int fullSetOfDelivery;
+    //来源订单号
+    private String sourceOrderNo;
+    //款号
+    private java.lang.String styleNumber;
+    //销售订单数量
+    private BigDecimal salesOrderQuantity;
+    //订单编号
+    private String subcontractOrderNo;
+    //订单数量
+    private String subcontractOrderQuantity;
+    //交期
+    private String deliveryDate;
+    //部门
+    private String department;
+    //业务员
+    private String salesman;
+    //存货上游订单数量
+    private BigDecimal salesOrderQuantity1;
+    //累计出库数量
+    private BigDecimal cumulativeIssueQuantity;
+    //累计准时出库数量
+    private BigDecimal cumulativeOnTimeDeliveryQuantity;
+    //累计延迟出库数量
+    private BigDecimal cumulativeDelayedDeliveryQty;
+    //未出库数量
+    private BigDecimal quantityNotIssued;
+    //预计发货日期
+    private String estimatedDeliveryDate;
+    //最早出库日期
+    private String earliestIssueDate;
+    //最晚出库日期
+    private String latestIssueDate;
+    //出库率
+    private BigDecimal deliveryRate;
+    //区间出库率
+    private BigDecimal intervalDeliveryRate;
+    //齐套率
+    private String fullSetRate;
+
+
+    //其他条件所需字段
+    private String MODetailsID;
+    private String moID;
+
+    //查询条件所需字段
+    private String planNo;
+
+}

+ 26 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/report/mapper/FullSetRateMapper.java

@@ -0,0 +1,26 @@
+package org.jeecg.modules.report.mapper;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.report.entity.FullSetRate;
+
+import java.util.List;
+
+public interface FullSetRateMapper extends BaseMapper<FullSetRate> {
+
+    //查询列表页面
+    public IPage<FullSetRate> queryListInfo(IPage<FullSetRate> page,@Param("ew") QueryWrapper<FullSetRate> queryWrapper);
+
+    //查询销售出库单 获取累计准时出库数量,累计延迟出库数量
+    public List<FullSetRate> querySalesIssue(@Param("moDeilsID") String moDeilsID);
+
+    //查询委外订单子表信息
+    public List<FullSetRate> queryMOMain(@Param("moId") String moId);
+
+    //查询销售出库单获取最早最晚出库日期
+    public List<FullSetRate> querySalesIssueDate(@Param("moDeilsID") List<String> moDeilsID);
+}

+ 53 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/report/mapper/xml/FullSetTateMapper.xml

@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.report.mapper.FullSetRateMapper">
+    
+    <select id="queryListInfo" resultType="org.jeecg.modules.report.entity.FullSetRate">
+
+        select a.MOID,min(b.csoordercode) as sourceOrderNo,max(c.cDefine22) as styleNumber,
+        sum(c.iQuantity) as salesOrderQuantity,min(a.cCode) as subcontractOrderNo,sum(b.iQuantity) as subcontractOrderQuantity,
+        min(c.dPreDate) as deliveryDate,min(d.cDepName) as department,min(p.cPersonName) as salesman,
+        sum(c.iQuantity) as salesOrderQuantity1,sum(c.iFHQuantity) as cumulativeIssueQuantity,
+        (sum(c.iQuantity)-sum(c.iFHQuantity)) as quantityNotIssued from OM_MOMain a
+left join OM_MODetails b
+on a.MOID = b.MOID
+left join SO_SODetails c
+on b.isosid = c.iSOsID
+left join Department d
+on a.cDepCode = d.cDepCode
+left join Person p
+on a.cPersonCode = p.cPersonCode
+${ew.customSqlSegment}
+
+    </select>
+
+    <select id="querySalesIssue"  resultType="org.jeecg.modules.report.entity.FullSetRate">
+
+    select a.dDate as deliveryDate,b.iQuantity as cumulativeOnTimeDeliveryQuantity from rdrecord32 a
+    left join rdrecords32 b
+    on a.ID = b.ID
+    where b.iorderdid = #{moDeilsID}
+    </select>
+
+    <select id="queryMOMain" resultType="org.jeecg.modules.report.entity.FullSetRate">
+
+      select a.isosid as MODetailsID,b.dPreDate as deliveryDate from OM_MODetails a
+        left join SO_SODetails b
+        on a.isosid = b.iSOsID
+        where a.MOID = #{moId}
+        order by b.dPreDate asc
+
+    </select>
+
+    <select id="querySalesIssueDate" resultType="org.jeecg.modules.report.entity.FullSetRate">
+        select a.dDate as deliveryDate from rdrecord32 a
+    left join rdrecords32 b
+    on a.ID = b.ID
+    where b.iorderdid in
+    <foreach collection="moDeilsID" item="item" separator="," open="(" close=")">
+        #{item}
+    </foreach>
+    order by a.dDate desc
+    </select>
+
+</mapper>

+ 29 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/report/service/IFullSetRateService.java

@@ -0,0 +1,29 @@
+package org.jeecg.modules.report.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.report.entity.FullSetRate;
+import org.jeecg.modules.report.entity.SoSoDetails;
+
+import java.util.List;
+
+
+/**
+ * 齐套率报表
+ */
+public interface IFullSetRateService extends IService<FullSetRate> {
+
+    //查询列表页面
+    public IPage<FullSetRate> queryListInfo(IPage<FullSetRate> page, QueryWrapper<FullSetRate> queryWrapper);
+
+    //查询销售出库单
+    public List<FullSetRate> querySalesIssue(String moDeilsID);
+
+    //查询委外订单子表每条预发货日期信息
+    public List<FullSetRate> queryMOMain(String moId);
+
+    //查询销售出库单获取最早最晚出库日期
+    public List<FullSetRate> querySalesIssueDate(List<String> moDeilsID);
+}

+ 46 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/report/service/impl/FullSetRateServiceImpl.java

@@ -0,0 +1,46 @@
+package org.jeecg.modules.report.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.service.IService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.report.entity.FullSetRate;
+import org.jeecg.modules.report.mapper.FullSetRateMapper;
+import org.jeecg.modules.report.service.IFullSetRateService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 齐套率报表
+ */
+@Service
+@DS("multi-one")
+public class FullSetRateServiceImpl extends ServiceImpl<FullSetRateMapper, FullSetRate> implements IFullSetRateService {
+
+    @Resource
+    private FullSetRateMapper fullSetRateMapper;
+
+    @Override
+    public IPage<FullSetRate> queryListInfo(IPage<FullSetRate> page, QueryWrapper<FullSetRate> queryWrapper) {
+        return fullSetRateMapper.queryListInfo(page,queryWrapper);
+    }
+
+    @Override
+    public List<FullSetRate> querySalesIssue(String moDeilsID) {
+        return fullSetRateMapper.querySalesIssue(moDeilsID);
+    }
+
+    @Override
+    public List<FullSetRate> queryMOMain(String moId) {
+        return fullSetRateMapper.queryMOMain(moId);
+    }
+
+    @Override
+    public List<FullSetRate> querySalesIssueDate(List<String> moDeilsID) {
+        return fullSetRateMapper.querySalesIssueDate(moDeilsID);
+    }
+}

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

@@ -819,6 +819,12 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
                     preAssembledPackingList.setSyPreAssembledPackingListItemList(spaplItems);
                 }
                 temps.add(preAssembledPackingList);
+                if(preAssembledPackingList.getStatus().equals("0")){
+                    result.setCode(200);
+                    result.setMessage("单据"+preAssembledPackingList.getDocumentNo()+"未提交!");
+                    result.setSuccess(true);
+                    return result;
+                }
             }
             String load="D:\\单证模板\\test2.xlsx";
             if(status!=null&&status.equals("1")){
@@ -895,21 +901,24 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
                 }
                 String[] params;
                 if(name!=null&&name.equals("1")){
-                    params=("序号,账套号,成衣工厂,H/D,PO,款号,订单号,UNIT PRICE(单价),分销点,ITEMCODE,PREPACK SKU,启始箱号,结束箱号," +
-                            "颜色(中英文),配码,"+strs+"件数/每箱,箱数,总件数,外箱长度,外箱宽度,外箱高度,总体积,外箱净重,总净重," +
-                            "外箱毛重,总毛重,NN.W,总价,业务员,业务部门,采购委外订单号,主表id,子表id").split(",");
+                    params=("序号,账套号,ITEMCODE,PREPACK SKU,启始箱号,结束箱号," +
+                            "颜色(中英文),"+strs+"外箱长度,外箱宽度,外箱高度,外箱净重," +
+                            "外箱毛重,NN.W,主表id,子表id").split(",");
                     Row row2 = sheet.createRow(3);
                     for (int x=0;x<params.length;x++){
                         Cell cell = row2.createCell(x);//横向
-                        if(x>14&&x<params.length-18){
+                        if(x>6&&x<params.length-8){
                             cell.setCellStyle(cellStyle);
                         }else{
                             cell.setCellStyle(cellStyle2);
                         }
+                        if(x>=params.length-2){
+                            sheet.setColumnWidth(x,1);
+                        }
                         cell.setCellValue(params[x]);//比例
                     }
                 }else{
-                    params=("序号,H/D,PO,款号,订单号,UNIT PRICE(单价),分销点,ITEMCODE,启始箱号,结束箱号," +
+                    params=("序号,PO,款号,订单号,UNIT PRICE(单价),分销点,ITEMCODE,启始箱号,结束箱号," +
                             "颜色(中英文),"+strs+"件数/每箱,箱数,总件数,外箱长度,外箱宽度,外箱高度,总体积,外箱净重,总净重," +
                             "外箱毛重,总毛重,NN.W,总价,Lot NO,Packs CODE,DC NO,SKU号码,LABEL(标签),ORDER NO,Pre-Pack SKU Number").split(",");
                     Row row2 = sheet.createRow(3);
@@ -933,7 +942,7 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
                             cell.setCellStyle(cellStyle2);
                             cell.setCellValue(i+1);//比例
                             continue;
-                        } else if(y>14&&y<params.length-18){
+                        } else if(y>6&&y<params.length-8){
                             cell.setCellStyle(cellStyle);
                         }else{
                             cell.setCellStyle(cellStyle2);
@@ -1102,13 +1111,7 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
             List<Integer> nums=new ArrayList<>();
             list.add("item NO./SKU NO./UPC NO./PACKS CODE");
             list.add("PREACKSKU");
-            list.add("计划尺码数量");
             list.add("净净重");
-            list.add("备注");
-            list.add("订单号");
-            list.add("尺码范围");
-            list.add("款号");
-            list.add("客户简称");
             for (int x=0;x<=sheet.getLastRowNum();x++){
                 Row row=sheet.getRow(x);//列
                 Cell cell2=row.getCell(0);
@@ -1124,12 +1127,12 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
                                 sheet.getRow(0).getCell(i).getStringCellValue()+"未填值!");
                     }
                     cell.setCellType(CellType.STRING);//获取的都转换成String
-                    if(cell.getStringCellValue().length()<1&&x>0&&!nums.contains(i)){ 
+                    if(cell.getStringCellValue().length()<1&&x>0&&!nums.contains(i)){
                         throw new JeecgBootException("第"+num+"页的"+"第"+(x+1)+"行的"+
                                 sheet.getRow(0).getCell(i).getStringCellValue()+"未填值!");
                     }
                     if(x==0){
-                        if((i>9&&i<row.getLastCellNum()-28)||i==row.getLastCellNum()-9){
+                        if((i>7&&i<row.getLastCellNum()-13)||i==row.getLastCellNum()-4){
                             strs3.add(cell.getStringCellValue());
                         }
                         if(list.contains(cell.getStringCellValue())){
@@ -1137,21 +1140,20 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
                             System.out.println("字段\t"+cell.getStringCellValue()+"\t"+i);
                         }
                     }else{
-                        if((i>9&&i<row.getLastCellNum()-28)||i==row.getLastCellNum()-9){
+                        if((i>7&&i<row.getLastCellNum()-13)||i==row.getLastCellNum()-4){
                             strs2.add(cell.getStringCellValue());
                         }else{
                             strs.add(cell.getStringCellValue());
                         }
                     }
                 }
-                System.out.println("nums\t"+nums);
                 if(x>0){
                     SyPreAssembledPackingListItem item=
                             new SyPreAssembledPackingListItem(strs.toArray(new String[strs.size()]),
                                     strs2.toArray(new String[strs2.size()]),
                                     strs3.toArray(new String[strs3.size()]));
                     items.add(item);
-                    main=new SyPreAssembledPackingList(strs.toArray(new String[strs.size()]));
+                   main=new SyPreAssembledPackingList(strs.toArray(new String[strs.size()]));
                 }
             }
             main.setSyPreAssembledPackingListItemList(items);//获取集合
@@ -1159,6 +1161,5 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
             //break;
         }
         boolean bool= syPreAssembledPackingListService.add(mains);
-    //    System.out.println("bool\t"+bool);
     }
 }

+ 13 - 8
jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/entity/SyPreAssembledPackingList.java

@@ -90,6 +90,15 @@ public class SyPreAssembledPackingList implements Serializable {
 	/**成衣工厂*/
 	@ApiModelProperty(value = "成衣工厂")
 	private String garmentFactory;
+	/**小po*/
+	@TableField(exist = false)
+	@ApiModelProperty(value = "小po")
+	private String smallPo;
+	/**分销点*/
+	@Excel(name = "分销点", width = 15)
+	@TableField(exist = false)
+	@ApiModelProperty(value = "分销点")
+	private String distributionPoint;
 	/**总箱数*/
 	@ApiModelProperty(value = "总箱数")
 	private java.math.BigDecimal totalBoxes;
@@ -200,13 +209,9 @@ public class SyPreAssembledPackingList implements Serializable {
 	}
 
 	public SyPreAssembledPackingList(String [] params){
-		//发运明细主表ID 订单号 款号 尺码范围 客户 客户简称 申报要素ID
-		syDeclarationElementsId=params[30];
-		orderNumber=params[31];
-		itemNumber=params[32];
-		sizeRange=params[33];
-		customer=params[34];
-		customerAbbreviation=params[35];
-		elementsId=params[36];
+		//客户简称	发运明细分组ID	发运明细主表ID	申报要素ID//从17开始
+		customerAbbreviation=params[16];
+		syDeclarationElementsId=params[18];
+		elementsId=params[19];
 	}
 }

+ 33 - 56
jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/entity/SyPreAssembledPackingListItem.java

@@ -305,59 +305,55 @@ public class SyPreAssembledPackingListItem implements Serializable {
 	}
 
 	public SyPreAssembledPackingListItem(String[] parsms,String[] parsms2,String[] parsms3){
-		//账套 成衣工厂 预发货日期 款号 小po 分销点 起始箱号	结束箱号
-		//itemcode	PREACKSKU	颜色	配码规则	计划尺码数量	计划装箱数量
-		// 件数/箱	箱数	总件数	净重/箱 总毛重 毛重/箱	总毛重	外箱长度
-		// 外箱宽度	外箱高度	总体积
+		//成衣工厂	款号	小po	分销点	起始箱号	结束箱号	item NO./SKU NO./UPC NO./PACKS CODE	PREACKSKU
+		//颜色	计划装箱数量	净重/箱	毛重/箱	外箱长度	外箱宽度	外箱高度	净净重	客户简称	发运明细分组ID	发运明细主表ID	申报要素ID
 		try{
-			acSetNo=parsms[0];
-			garmentFactory=parsms[1];
-			hod=parsms[2];
-			styleNo=parsms[3];
-			smallPo=parsms[4];
-			poNo=parsms[4];
-			distributionPoint=parsms[5];
-			startingBoxNumber=parsms[6];
-			endCaseNumber=parsms[7];
-			itemCode=parsms[8];
-			prepackSku=parsms[9];
-			colour=parsms[10];
-			withCode=parsms[11];
-			planSize=parsms[12];
-			planQuantity=new BigDecimal(parsms[13]);
-			piecesBox=new BigDecimal(parsms[14]);
-			boxNumber=new BigDecimal(parsms[15]);//箱数
-			total=new BigDecimal(parsms[16]);
-			netWeight=new BigDecimal(parsms[17]);
-			totalNetWeight=new BigDecimal(parsms[18]);
-			grossWeight=new BigDecimal(parsms[19]);
-			totalGrossWeight=new BigDecimal(parsms[20]);
-			outerBoxLength=new BigDecimal(parsms[21]);
-			outerBoxWidth=new BigDecimal(parsms[22]);
-			outerBoxHeight=new BigDecimal(parsms[23]);
-			totalVolume=new BigDecimal(parsms[24]);
-			netWeightToo=new BigDecimal(parsms[25]);
-			unitPrice=new BigDecimal(parsms[26]);
-			totalPrice=new BigDecimal(parsms[27]);
-			memo=parsms[28];
-			syDeclarationElementsId=parsms[30];
+			garmentFactory=parsms[0];
+			styleNo=parsms[1];
+			smallPo=parsms[2];
+			poNo=parsms[2];
+			distributionPoint=parsms[3];
+			startingBoxNumber=parsms[4];
+			endCaseNumber=parsms[5];
+			itemCode=parsms[6];
+			prepackSku=parsms[7];
+			colour=parsms[8];
+			unitPrice=new BigDecimal("0");//初始化
+			totalPrice=new BigDecimal("0");//初始化
+			planQuantity=new BigDecimal(parsms[9]);
+			boxNumber=new BigDecimal(Integer.parseInt(endCaseNumber)-Integer.parseInt(startingBoxNumber)+1);//箱数
+			netWeight=new BigDecimal(parsms[10]);
+			grossWeight=new BigDecimal(parsms[11]);
+			outerBoxLength=new BigDecimal(parsms[12]);
+			outerBoxWidth=new BigDecimal(parsms[13]);
+			outerBoxHeight=new BigDecimal(parsms[14]);
+			netWeightToo=new BigDecimal(parsms[15]);
+			syDeclarationElementsId=parsms[18];
+			groupId=parsms[17];//分组id
 			sizeTables=new ArrayList<>();
 			String planSize="";
+			int piecesBox=0;
 			for (int i=0;i<parsms3.length-1;i++){
 				SizeTable sizeTable=new SizeTable();
 				sizeTable.setSize(parsms3[i]);//尺码
-				sizeTable.setProportion(Integer.parseInt(parsms2[i]));//件数
+				piecesBox+=Integer.parseInt(parsms2[i]);
+				sizeTable.setProportion(Integer.parseInt(parsms2[i]));//比例
 				planSize+=parsms3[i]+":"+(boxNumber.intValue()*sizeTable.getProportion())+"+";
 				sizeTable.setItemId(parsms2[parsms2.length-1].split(",")[i]);//发运明细子表id
 				sizeTables.add(sizeTable);
 			}
 			this.planSize=planSize.substring(0,planSize.length()-1);
+			this.piecesBox=new BigDecimal(piecesBox);//每箱件数
+			this.total=this.boxNumber.multiply(this.piecesBox);//数量
+			this.totalNetWeight=this.boxNumber.multiply(this.netWeight);
+			this.totalGrossWeight=this.boxNumber.multiply(this.grossWeight);
+			this.totalVolume=this.boxNumber.multiply(this.outerBoxLength).multiply(this.outerBoxWidth).multiply(this.outerBoxHeight).divide(new BigDecimal(1000000));
 		}catch (Exception e){
+			e.printStackTrace();
 			System.out.println(e.getMessage());
 		}
 	}
 
-
 	public String toString2() {
 		String sizes="";
 		for (SizeTable size : sizeTables){
@@ -365,7 +361,6 @@ public class SyPreAssembledPackingListItem implements Serializable {
 		}
 		return
 		" ," +
-		hod.substring(0,10) + "," +
 		poNo +  "," +
 		styleNo +  "," +
 		orderNumber + ","+
@@ -409,36 +404,18 @@ public class SyPreAssembledPackingListItem implements Serializable {
 		return
 		" ," +
 		acSetNo	+ "," +
-		garmentFactory	+ "," +
-		hod.substring(0,10) + "," +
-		poNo +  "," +
-		styleNo +  "," +
-		orderNumber + ","+
-		unitPrice + ","+
-		distributionPoint + ","+
 		itemCode + ","+
 		prepackSku + ","+
 		startingBoxNumber + ","+
 		endCaseNumber +  ","+
 		colour +  ","+
-		withCode+  ","+
 		sizes +
-		piecesBox +  ","+
-		boxNumber + ","+
-		total + ","+
 		outerBoxLength + ","+
 		outerBoxWidth + ","+
 		outerBoxHeight + ","+
-		totalVolume + ","+
 		netWeight +  ","+
-		totalNetWeight + ","+
 		grossWeight + ","+
-		totalGrossWeight + ","+
 		netWeightToo + ","+
-		totalPrice+ ","+
-		salesman + ","+
-		salesDepartment + ","+
-		spurOrSubOrder+ ","+
 		syPreAssembledPackingListId+ ","+
 		id.substring(0,id.length()-1);
 	}

+ 3 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/mapper/xml/SyPreAssembledPackingListMapper.xml

@@ -91,7 +91,9 @@
 
     <select id="selectByOneId" resultType="org.jeecg.modules.spapl.entity.SyPreAssembledPackingList" parameterType="java.lang.String">
         select
-        t.*,
+        (select garment_Factory from Sy_Pre_Assembled_Packing_List_item where Sy_Pre_Assembled_Packing_List_id=#{value } limit 1) garment_Factory,
+        (select small_Po from Sy_Pre_Assembled_Packing_List_item where Sy_Pre_Assembled_Packing_List_id=#{value } limit 1) small_Po,
+        (select distribution_Point from Sy_Pre_Assembled_Packing_List_item where Sy_Pre_Assembled_Packing_List_id=#{value } limit 1) distribution_Point,
         (SELECT english_product_name FROM  sy_declaration_elements WHERE id=t.elements_id) englishProductName ,/*中文品名*/
         (SELECT declaration_name FROM  sy_declaration_elements WHERE id=t.elements_id) productName/*英文品名*/
         from(SELECT

+ 27 - 7
jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/service/impl/SyPreAssembledPackingListServiceImpl.java

@@ -11,6 +11,7 @@ import org.jeecg.modules.documents.letterDeposit.entity.SyLetterDeposit;
 import org.jeecg.modules.documents.letterDeposit.entity.SyLetterDepositItem;
 import org.jeecg.modules.documents.letterDeposit.mapper.SyLetterDepositItemMapper;
 import org.jeecg.modules.documents.letterDeposit.mapper.SyLetterDepositMapper;
+import org.jeecg.modules.documents.shippingDetails.entity.SyShippingDetails;
 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;
@@ -360,6 +361,9 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 		SyPreAssembledPackingList syPreAssembledPackingList2=syPreAssembledPackingListMapper.selectByOneId(syPreAssembledPackingList.getId());
 		syPreAssembledPackingList.setEnglishProductName(syPreAssembledPackingList2.getEnglishProductName());
 		syPreAssembledPackingList.setProductName(syPreAssembledPackingList2.getProductName());
+		syPreAssembledPackingList.setGarmentFactory(syPreAssembledPackingList2.getGarmentFactory());
+		syPreAssembledPackingList.setDistributionPoint(syPreAssembledPackingList2.getDistributionPoint());
+		syPreAssembledPackingList.setSmallPo(syPreAssembledPackingList2.getSmallPo());
 		return syPreAssembledPackingList;
 	}
 
@@ -500,7 +504,6 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 					syPreAssembledPackingList.setTotalNetWeight(syPreAssembledPackingList.getTotalNetWeight().add(item.getTotalNetWeight()));
 					syPreAssembledPackingList.setTotalGrossWeight(syPreAssembledPackingList.getTotalGrossWeight().add(item.getTotalGrossWeight()));
 					syPreAssembledPackingList.setTotalVolume(syPreAssembledPackingList.getTotalVolume().add(item.getTotalVolume()));
-					syPreAssembledPackingList.setTotalPrice(syPreAssembledPackingList.getTotalPrice().add(item.getTotalPrice()));
 					List<SizeTable> sizes=item.getSizeTables();//获取尺码表信息
 					item.setSyPreAssembledPackingListId(syPreAssembledPackingList.getId());//获取主表id
 					BigDecimal boxNumber1=item.getBoxNumber();//获取箱数
@@ -514,12 +517,10 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 						item1.setRemainingQuantity(boxNumber);//该尺码的剩余数量
 						item1.setSize(size.getSize());//获取尺码
 						item1.setActualPackingQty(size.getQuantity());//获取该尺码计划装箱数量
-						item1.setTotalPrice(boxNumber.multiply(item1.getUnitPrice()));//获取总价		箱数*单价-->件数*单价
-						item1.setBoxNumber(boxNumber);//获取箱数
+						//item1.setBoxNumber(boxNumber);//获取箱数
 						boxNumber=boxNumber.divide(item.getPiecesBox(),6,BigDecimal.ROUND_HALF_UP);
 						item1.setTotalNetWeight(boxNumber.multiply(item1.getNetWeight()));//获取总净重		净重*箱数
 						item1.setTotalGrossWeight(boxNumber.multiply(item1.getGrossWeight()));//获取总毛重 	箱数*毛重/箱
-						item1.setTotalNetWeight(boxNumber.multiply(new BigDecimal(size.getProportion())));//获取净净重 不知
 						BigDecimal volume=boxNumber.multiply(item1.getOuterBoxHeight());
 						volume=volume.multiply(item1.getOuterBoxLength());
 						volume=volume.multiply(item1.getOuterBoxWidth());
@@ -527,31 +528,50 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 						item1.setSyDeclarationElementsItemId(size.getItemId());//获取到发运明细子表id
 						item1.setSort(size.getNum());//获取序号
 						item1.setId(oConvertUtils.id());//获取到随机id
-						syPreAssembledPackingListItemMapper.insert(item1);//添加子表数据
+						//syPreAssembledPackingListItemMapper.insert(item1);//添加子表数据
 						//获取发育明细数据
 						SyShippingDetailsItem syItem=syShippingDetailsItemMapper.selectById(item1.getSyDeclarationElementsItemId());
 						if(syItem!=null){
 							item1.setOmpoIdItem(syItem.getOmpoIdItem());//获取委外/采购订单子表Id
+							item1.setUnitPrice(syItem.getSalesUnitPrice());//获取销售单价
+							item1.setFactoryUnitPrice(new BigDecimal(syItem.getFactoryUnitPrice()==null?"0":syItem.getFactoryUnitPrice()));//工厂单价
+							item1.setInventoryName(syItem.getInventoryName());//存货名称
+							item1.setAcSetNo(syItem.getAccount());//获取账套号
+							item1.setHod(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(syItem.getPreDeliveryDate()));//预发货日期
+							item1.setTotalPrice(boxNumber.multiply(item1.getUnitPrice()));//获取总价		箱数*单价-->件数*单价
 							item1.setOrderNumber(syItem.getOrderNumber());//获取订单号
+							item1.setWithCode(syItem.getCodingRules());//配码规则
 							item1.setSpurOrSubOrder(syItem.getPurOrSubOrder());//获取采购委外订货号
 							item1.setSyOrderDataItemId(syItem.getSyOrderDataItemId());//获取到订单子表id
 							item1.setSalesman(syItem.getSalesman());//获取业务员
 							item1.setSalesDepartment(syItem.getSalesDepartment());//获取销售部门
 							item1.setInventoryCode(syItem.getInventoryCcode());
-							syPreAssembledPackingListItemMapper.insert(item1);//添加子表数据
+							item1.setOrderNumber(syItem.getOrderNumber());
+							item1.setSpurOrSubOrder(syItem.getPurOrSubOrder());
+							item1.setOmpoId(syItem.getOmpoId());
+							item1.setOmpoIdItem(syItem.getOmpoIdItem());
+							syPreAssembledPackingList.setOrderNumber(syItem.getOrderNumber());
+							syPreAssembledPackingList.setItemNumber(syItem.getItemNumber());
 							//原剩余数量-预装箱单装箱数量=新剩余数量
 							syItem.setSurplusQuantity(syItem.getSurplusQuantity().subtract(item1.getTotal()));
 							//超发数量
-							syItem.setExcessQuantity(syItem.getSurplusQuantity().subtract(syItem.getShipmentQuantity()));
+							syItem.setExcessQuantity(item1.getTotal().subtract(syItem.getSurplusQuantity()));
 							//syItem.setIsReference(1);//标识已被参照
 							syShippingDetailsItemMapper.updateById(syItem);//修改发运明细
 						}
+						syPreAssembledPackingList.setTotalPrice(syPreAssembledPackingList.getTotalPrice().add(item1.getTotalPrice()));//获取总价
+						syPreAssembledPackingListItemMapper.insert(item1);//添加子表数据
 					}
 				}
+				SyShippingDetails syShippingDetails=syShippingDetailsMapper.selectById(syPreAssembledPackingList.getSyDeclarationElementsId());
+				if(syShippingDetails!=null){
+					syPreAssembledPackingList.setCustomer(syShippingDetails.getCustomer());
+				}
 				syPreAssembledPackingListMapper.updateById(syPreAssembledPackingList);//修改汇总数据
 			}
 			bool=true;
 		}catch (Exception e){
+			e.printStackTrace();
 			e.getMessage();
 			bool=false;
 		}

+ 186 - 16
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/controller/SyPackingListTailoringController.java

@@ -479,7 +479,8 @@ public class SyPackingListTailoringController {
 													  SyPackingListTailoringVo syPackingListTailoringVo,
 													  String stratDate,
 													  String endDate) {
-
+		 String token = request.getHeader("X-Access-Token");//获取token
+		 String userName=JwtUtil.getUsername(token);
 		 Page<SyPackingListTailoringVo> page = new Page<SyPackingListTailoringVo>(1, 10000);
 		 QueryWrapper queryWrapper = new QueryWrapper<>();
 		 queryWrapper.eq("a.del_flag","0");
@@ -514,7 +515,6 @@ public class SyPackingListTailoringController {
 			 //queryWrapper.eq("del_flag","0");
 			// queryWrapper.orderByDesc(	"create_time");//创建时间倒序
 			 List<SyPackingListTailoringVo> syPackingListTailoringVos = syPackingListTailoringService.selectList(page,queryWrapper).getRecords();
-			 System.out.println("syPackingListTailoringVos的长度为:\t"+syPackingListTailoringVos.size());
 			 if(syPackingListTailoringVos.size()==0){
 				 result.setResult(null);
 				 result.setMessage("导出失败!没有查询到数据");
@@ -539,13 +539,14 @@ public class SyPackingListTailoringController {
 				 exportList.add(temps.get(i-1));
 				 SyPackingListTailoring exportList2=temps.get(i-1);
 				 Map<String, Object> map = new HashMap<String, Object>();
-				 map.put("entity", exportList2);
+				// map.put("entity", exportList2);
+				 map.put("admin",userName);
 				 listMap.add(map);
 			 }
 			 maps.put(0,listMap);
 			 templateExcelConstants.setColForEach(true);
 			 Workbook workbook = ExcelExportUtil.exportExcelClone(maps,templateExcelConstants);
-			 refreshSheet(workbook,temps);//配置某列数据
+			 refreshSheet1(workbook,temps);//配置某列数据
 			 ServletOutputStream outputStream = response.getOutputStream();
 			 workbook.write(outputStream);
 
@@ -554,8 +555,7 @@ public class SyPackingListTailoringController {
 			 result.setMessage("导出成功!");
 			 result.setSuccess(true);
 		 }catch (Exception e){
-		 	e.printStackTrace();
-			 System.err.println("message\t"+e.getMessage());
+		 	 e.printStackTrace();
 			 result.setResult(null);
 			 result.setMessage(e.getMessage());
 			 result.setSuccess(false);
@@ -565,7 +565,7 @@ public class SyPackingListTailoringController {
 
 	 }
 
-	 protected static void refreshSheet(Workbook workbook,List<SyPackingListTailoring> items) {
+	 protected static void refreshSheet1(Workbook workbook,List<SyPackingListTailoring> items) {
 		 CellStyle cellStyle = workbook.createCellStyle();//设置单元格样式
 
 		 cellStyle.setAlignment(HorizontalAlignment.CENTER);//左右居中
@@ -640,6 +640,168 @@ public class SyPackingListTailoringController {
 		 }
 
 	 }
+
+	 @AutoLog(value = "导出测试")
+	 @ApiOperation(value="导出测试", notes="导出测试")
+	 @RequestMapping(value = "/exportXls4")
+	 public Result<SyPackingListTailoring> exportXls(HttpServletRequest request,HttpServletResponse response,
+													  SyPackingListTailoringVo syPackingListTailoringVo,
+													  String stratDate,
+													  String endDate) {
+		 String token = request.getHeader("X-Access-Token");//获取token
+		 String userName=JwtUtil.getUsername(token);
+		 Page<SyPackingListTailoringVo> page = new Page<SyPackingListTailoringVo>(1, 10000);
+		 QueryWrapper queryWrapper = new QueryWrapper<>();
+		 queryWrapper.eq("a.del_flag","0");
+		 if(oConvertUtils.isNotEmpty(syPackingListTailoringVo.getOrderNumber())){
+			 queryWrapper.like("a.order_number",syPackingListTailoringVo.getOrderNumber());//查询订单号
+		 }
+		 if(oConvertUtils.isNotEmpty(syPackingListTailoringVo.getGarmentFactory())){
+			 queryWrapper.like("b.garment_Factory",syPackingListTailoringVo.getGarmentFactory());//查询成衣工厂
+		 }
+		 //款号	分销点	小po	预托书号
+		 if(oConvertUtils.isNotEmpty(syPackingListTailoringVo.getItemNumber())){
+			 queryWrapper.like("a.item_number",syPackingListTailoringVo.getItemNumber());//款号
+		 }
+		 if(oConvertUtils.isNotEmpty(syPackingListTailoringVo.getDistributionPoint())){
+			 queryWrapper.like("b.distribution_point",syPackingListTailoringVo.getDistributionPoint());//分销点
+		 }
+		 if(oConvertUtils.isNotEmpty(syPackingListTailoringVo.getSmallPo())){
+			 queryWrapper.like("b.small_po",syPackingListTailoringVo.getSmallPo());//小po
+		 }
+		 if(oConvertUtils.isNotEmpty(syPackingListTailoringVo.getDepositaryReceiptNo())){
+			 queryWrapper.like("a.depositary_Receipt_No",syPackingListTailoringVo.getDepositaryReceiptNo());//预托书号
+		 }
+		 if(oConvertUtils.isNotEmpty(stratDate)){
+			 queryWrapper.ge("b.hod",stratDate);//起始日期
+		 }
+		 if(oConvertUtils.isNotEmpty(endDate)){
+			 queryWrapper.le("b.hod",endDate);//结束日期
+		 }
+		 Result result=new Result();
+		 try{
+			 List<SyPackingListTailoringVo> syPackingListTailoringVos = syPackingListTailoringService.selectList(page,queryWrapper).getRecords();
+			 if(syPackingListTailoringVos.size()==0){
+				 result.setResult(null);
+				 result.setMessage("导出失败!没有查询到数据");
+				 result.setSuccess(false);
+				 return result;
+			 }
+			 List<SyPackingListTailoring> temps=new ArrayList<>();
+			 for (SyPackingListTailoringVo temp : syPackingListTailoringVos) {
+				 QueryWrapper<SyPreAssembledPackingList> queryWrapper1 = new QueryWrapper<SyPreAssembledPackingList>();
+				 queryWrapper1.eq("id",temp.getId()).eq("del_flag",0);//预装箱单主表id
+				 SyPackingListTailoring entity=syPackingListTailoringService.queryId(temp.getId());//已筛选删除状态
+				 temps.add(entity);
+			 }
+			 String load="D:\\单证模板\\装箱单成衣2.xlsx";
+			 int count = temps.size();//分几条sheet
+			 File file=new File(load);
+			 TemplateExportParams templateExcelConstants=new TemplateExportParams(file.getAbsolutePath(),true,"预装箱单");
+			 List<Map<String, Object>> listMap = new ArrayList<Map<String, Object>>();
+			 Map<Integer, List<Map<String, Object>>> maps = new HashMap<Integer, List<Map<String, Object>>>();
+			 for (int i = 1; i <=1 ; i++) {
+				 Map<String, Object> map = new HashMap<String, Object>();
+				 map.put("entitys", temps);
+				 map.put("admin",userName);
+				 listMap.add(map);
+			 }
+			 maps.put(0,listMap);
+			 templateExcelConstants.setColForEach(true);
+			 Workbook workbook = ExcelExportUtil.exportExcelClone(maps,templateExcelConstants);
+			 refreshSheet(workbook,temps);//配置某列数据
+			 ServletOutputStream outputStream = response.getOutputStream();
+			 workbook.write(outputStream);
+
+			 result.setCode(200);
+			 result.setResult(temps.get(0));
+			 result.setMessage("导出成功!");
+			 result.setSuccess(true);
+		 }catch (Exception e){
+			 e.printStackTrace();
+			 result.setResult(null);
+			 result.setMessage(e.getMessage());
+			 result.setSuccess(false);
+		 }finally {
+			 return result;
+		 }
+
+	 }
+
+	 protected static void refreshSheet(Workbook workbook,List<SyPackingListTailoring> items) {
+		 CellStyle cellStyle = workbook.createCellStyle();//设置单元格样式
+
+		 cellStyle.setAlignment(HorizontalAlignment.CENTER);//左右居中
+		 cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);//上下居中
+		 cellStyle.setBorderBottom(BorderStyle.THIN);//边框
+		 cellStyle.setBorderTop(BorderStyle.THIN);//边框
+		 cellStyle.setBorderLeft(BorderStyle.THIN);//边框
+		 cellStyle.setBorderRight(BorderStyle.THIN);//边框
+		 cellStyle.setFillForegroundColor(IndexedColors.LIGHT_GREEN.getIndex());//设置前景色 现在是浅绿色
+		 cellStyle.setFillBackgroundColor(HSSFColor.HSSFColorPredefined.LIGHT_GREEN.getIndex());//设置背景色 现在是浅绿色
+		 cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);//必须设置 否则无效
+
+		 CellStyle cellStyle2=workbook.createCellStyle();//设置单元格样式
+		 cellStyle2.setAlignment(HorizontalAlignment.CENTER);//左右居中
+		 cellStyle2.setVerticalAlignment(VerticalAlignment.CENTER);//上下居中
+
+		 Iterator sheets=workbook.sheetIterator();
+		 try{
+			 while (sheets.hasNext()){
+				 Sheet sheet=(Sheet) sheets.next();
+				 List<SyPackingListTailoringItem> list=new ArrayList<>();
+				 for (SyPackingListTailoring sypres : items){
+					 list.addAll(sypres.getSyPackingListTailoringItemList());
+				 }
+				 if(list==null){
+					 continue;//退出本次循环
+				 }
+				 for (int i=0; i < list.size(); i++) {
+					 Row row = sheet.createRow(3+i);//列
+					 String strs="";
+					 for (SizeTable size : list.get(i).getSizeTables()){
+						 strs+=size.getSize()+",";
+					 }
+					 String[] params=("序号,账套,成衣工厂,STYLE NO.,PO NO.," +
+							 "ITEM NO./SKU NO.UPC NO./PACKS CODE,PREPACK SKU," +
+							 "分销点/DC/LABEL,"+strs+"启始箱号,结束箱号,颜色(中英文)" +
+							 ",配码,件数/箱,箱数,计划尺码数量,计划装箱数量,总件数," +
+							 "净重/箱,总净重,毛重/箱,总毛重,外箱长度,外箱宽度," +
+							 "外箱高度,总体积,净净重,备注").split(",");
+					 Row row2 = sheet.createRow(2);
+					 for (int x=0;x<params.length;x++){
+						 Cell cell = row2.createCell(x+11);//横向
+						 if(x>8&&x<params.length-19){
+							 cell.setCellStyle(cellStyle);
+						 }else{
+							 cell.setCellStyle(cellStyle2);
+						 }
+						 cell.setCellValue(params[x]);//比例
+					 }
+					 List<SizeTable> sizes=list.get(i).getSizeTables();
+					 params=list.get(i).toString2().replace("null","").split(",");
+					 for (int y=0;y<params.length;y++){
+						 Cell cell = row.createCell(y+11);//横向
+						 if(y==0){
+							 cell.setCellStyle(cellStyle2);
+							 cell.setCellValue(i+1);//序号
+							 continue;
+						 } else if(y>8&&y<params.length-18){
+							 cell.setCellStyle(cellStyle);
+						 }else{
+							 cell.setCellStyle(cellStyle2);
+						 }
+						 cell.setCellValue(params[y]);//输入值
+					 }
+				 }
+			 }
+		 }catch (Exception e){
+			 e.printStackTrace();
+			 System.err.println(e.getMessage());
+		 }
+
+	 }
+
 	 /**
 	  * 通过excel导入数据
 	  *
@@ -677,7 +839,7 @@ public class SyPackingListTailoringController {
 		 	List<SyPackingListTailoringItem> items=new ArrayList<>();
 			 Sheet sheet=(Sheet) sheets.next();
 			 String str2="";//尺码大小
-			 for (int x=1;x<=sheet.getLastRowNum();x++){
+			 for (int x=2;x<=sheet.getLastRowNum();x++){
 			 	 String str="";
 				 String str1="";//尺码比例
 				 String strMain="";
@@ -693,16 +855,16 @@ public class SyPackingListTailoringController {
 					 }*/
 					cell.setCellType(CellType.STRING);//获取的都转换成String
 					System.out.print(cell.getStringCellValue()+"\t");
-				 	if(x==1&&i%2==1){
-				 		strMain+=cell.getStringCellValue()+",";
+				 	if(x==2&&i<12){
+				 		strMain+=cell.getStringCellValue()+"!-!";
 				 		continue;
 					}else if(x==1){
 				 		continue;
 					}
-				 	if(x==3&&i>14&&i<row.getLastCellNum()-18){
+				 	if(x==3&&i>6&&i<row.getLastCellNum()-8){
 						str2+=cell.getStringCellValue()+",";
 					}
-					 if((i>14&&i<row.getLastCellNum()-18)||i==row.getLastCellNum()-1){
+					 if((i>6&&i<row.getLastCellNum()-8)||i==row.getLastCellNum()-1){
 						 str1+=cell.getStringCellValue()+",";
 						//System.out.print(String.format("\033[%dm%s\033[0m", 31, cell.getStringCellValue())+"\t");//颜色
 					 }else{
@@ -711,16 +873,24 @@ public class SyPackingListTailoringController {
 					 }
 				 }
 				 if(x>3){
+					 System.out.println("\nstr\n"+str);
+					 System.out.println("\nstr1\n"+str1);
+					 System.out.println("\nstr2\n"+str2);
+					 //序号	账套号	ITEMCODE	PREPACK SKU	启始箱号	结束箱号	颜色(中英文)
+					 //外箱长度	外箱宽度	外箱高度	外箱净重	外箱毛重	NN.W
+					 //1	903	item_code	pre_packsku	1	20	COBALT
+					 //100.000	120.000	90.000	5.00	6.00	95.00	1583299233241485314	81b3eda8d70c415b8faf1f0685f47f26-295aa78ae43b49afaf85c9aec17c0276-9653c5da934f4342b9e49fc54ff16816
 					 SyPackingListTailoringItem item=new SyPackingListTailoringItem(
 							 		str.substring(0,str.length()-1).split(","),
 									 str1.substring(0,str1.length()-1).split(","),
 									 str2.substring(0,str2.length()-1).split(","));
 				 	items.add(item);
-				 }else if(x==1){
-					 main=new SyPackingListTailoring(strMain.substring(0,strMain.length()-1).split(","));
+				 }else if(x==2){
+					 System.out.println("\nstrMain1\n"+strMain);
+					 main=new SyPackingListTailoring(strMain.substring(0,strMain.length()-3).split("!-!"));
+					 System.out.println("\nmain\n"+main);
 				 }
-				 x=x<2?++x:x;//跨行
-
+				// x=x<2?++x:x;//跨行
 			 }
 			 main.setSyPackingListTailoringItemList(items);
 			 mains.add(main);

+ 21 - 28
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/entity/SyPackingListTailoring.java

@@ -74,6 +74,14 @@ public class SyPackingListTailoring implements Serializable {
 	@ApiModelProperty(value = "英文品名")
 	@TableField(exist = false)
 	private String englishProductName;
+	/**小po*/
+	@ApiModelProperty(value = "小po")
+	@TableField(exist = false)
+	private String smallPo;
+	/**分销点*/
+	@ApiModelProperty(value = "分销点")
+	@TableField(exist = false)
+	private String distributionPoint;
 	/**尺码范围*/
 	@ApiModelProperty(value = "尺码范围")
 	private String sizeRange;
@@ -196,33 +204,18 @@ public class SyPackingListTailoring implements Serializable {
 	}
 
 	public  SyPackingListTailoring(String [] params){
-		// 订单号
-		// 款号
-		// 报关品名
-		// 英文品名
-		// 客户
-		// 客户简称
-		// 尺码范围
-		// 制单人
-		// 制单日期
-		// 申报要素ID
-		// 主表id
-		orderNumber=params[0];
-		itemNumber=params[1];
-		productName=params[2];
-		englishProductName=params[3];
-		customer=params[4];
-		customerAbbreviation=params[5];
-		sizeRange=params[6];
-		createBy=params[7];
-		//createTime=params[8];
-		elementsId=params[9];
-		syPreAssembledPackingListId=params[10];
-		//款号	30650	订单号	SYJ140-马菲羊	预托书号	预托书	集装箱号	集装箱2
-		itemNumber=params[11];
-		orderNumber=params[12];
-		depositaryReceiptNo=params[13];
-		containerNumber=params[14];
-		containerCode=params[15];
+		//款号	报关品名	英文品名	客户简称	预托书号	集装箱号	集装箱代号	成衣工厂	PO	分销点	申报要素ID	主表id
+		itemNumber=params[0];// 款号
+		productName=params[1];// 报关品名
+		englishProductName=params[2];// 英文品名
+		customerAbbreviation=params[3];// 客户简称
+		depositaryReceiptNo=params[4];//预托书号
+		containerNumber=params[5];//集装箱号
+		containerCode=params[6];//集装箱代号
+		garmentFactory=params[7];//成衣工厂
+		smallPo=params[8];//小po
+		distributionPoint=params[9];// 分销点
+		elementsId=params[10];// 申报要素ID
+		syPreAssembledPackingListId=params[11];// 主表id
 	}
 }

+ 26 - 34
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/entity/SyPackingListTailoringItem.java

@@ -310,53 +310,45 @@ public class SyPackingListTailoringItem implements Serializable {
 	}
 
 	public SyPackingListTailoringItem(String[] params1,String[] params2,String[] params3) {
-		//账套号	成衣工厂	H/D	PO	款号	订单号	UNIT PRICE(单价)	分销点	ITEMCODE	PREPACK SKU	启始箱号	结束箱号	颜色(中英文)	配码
+		//序号	账套号	ITEMCODE	PREPACK SKU	启始箱号	结束箱号	颜色(中英文)
+		// 尺码组
+		// 外箱长度	外箱宽度	外箱高度	外箱净重	外箱毛重	NN.W 主表id
+		// 子表id
 		try{
 			acSetNo=params1[1];//x
-			garmentFactory=params1[2];//x
-			hod=new SimpleDateFormat("yyyy-MM-dd").parse(params1[3]);
-			poNo=params1[4];
-			smallPo=params1[4];
-			styleNo=params1[5];
-			orderNumber=params1[6];
-			System.out.println("\nparams1[7]\t"+params1[7]);
-			unitPrice=new BigDecimal(params1[7]);
-			distributionPoint=params1[8];
-			itemCode=params1[9];
-			prepackSku=params1[10];//x
-			startingBoxNumber=params1[11];
-			endCaseNumber=params1[12];
-			colour=params1[13];
-			withCode=params1[14];//x
-			piecesBox=new BigDecimal(params1[15]);
-			boxNumber=new BigDecimal(params1[16]);
-			total=new BigDecimal(params1[17]);
-			outerBoxLength=new BigDecimal(params1[18]);
-			outerBoxWidth=new BigDecimal(params1[19]);
-			outerBoxHeight=new BigDecimal(params1[20]);
-			totalVolume=new BigDecimal(params1[21]);
-			netWeight=new BigDecimal(params1[22]);
-			totalNetWeight=new BigDecimal(params1[23]);
-			grossWeight=new BigDecimal(params1[24]);
-			totalGrossWeight=new BigDecimal(params1[25]);
-			totalPrice=new BigDecimal(params1[27]);
-			netWeightToo=new BigDecimal(params1[26].length()==0?"0":params1[26]);
-			salesman=params1[28];//x
-			salesDepartment=params1[29];//x
-			spurOrSubOrder=params1[30];//x
-			syPreAssembledPackingListId=params1[31];
-			//syPreAssembledPackingListItemId=params1[24];
+			itemCode=params1[2];
+			prepackSku=params1[3];//x
+			startingBoxNumber=params1[4];
+			endCaseNumber=params1[5];
+			colour=params1[6];
+			unitPrice=new BigDecimal("0");//初始化
+			totalPrice=new BigDecimal("0");//初始化
+			outerBoxLength=new BigDecimal(params1[7]);
+			outerBoxWidth=new BigDecimal(params1[8]);
+			outerBoxHeight=new BigDecimal(params1[9]);
+			netWeight=new BigDecimal(params1[10]);
+			grossWeight=new BigDecimal(params1[11]);
+			netWeightToo=new BigDecimal(params1[12].length()==0?"0":params1[12]);
+			syPreAssembledPackingListId=params1[13];
+			boxNumber=new BigDecimal(Integer.parseInt(endCaseNumber)-Integer.parseInt(startingBoxNumber)+1);//箱数
 			sizeTables=new ArrayList<>();
 			String planSize="";
+			int piecesBox=0;
 			for (int i=0;i<params3.length;i++){
 				SizeTable sizeTable=new SizeTable();
 				sizeTable.setSize(params3[i]);//尺码
+				piecesBox+=Integer.parseInt(params2[i]);
 				sizeTable.setProportion(Integer.parseInt(params2[i]));//比例
 				planSize+=params3[i]+":"+(boxNumber.intValue()*sizeTable.getProportion())+"+";
 				sizeTable.setItemId(params2[params2.length-1].split("-")[i]);//发运明细子表id
 				sizeTables.add(sizeTable);
 			}
 			this.planSize=planSize.substring(0,planSize.length()-1);
+			this.piecesBox=new BigDecimal(piecesBox);//每箱件数
+			this.total=this.boxNumber.multiply(this.piecesBox);//数量
+			this.totalNetWeight=this.boxNumber.multiply(this.netWeight);
+			this.totalGrossWeight=this.boxNumber.multiply(this.grossWeight);
+			this.totalVolume=this.boxNumber.multiply(this.outerBoxLength).multiply(this.outerBoxWidth).multiply(this.outerBoxHeight).divide(new BigDecimal(1000000));
 		}catch (Exception e){
 			e.printStackTrace();
 		}

+ 29 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/service/impl/SyPackingListTailoringServiceImpl.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.documents.letterDeposit.entity.SyLetterDepositItem;
+import org.jeecg.modules.documents.shippingDetails.entity.SyShippingDetails;
 import org.jeecg.modules.documents.shippingDetails.entity.SyShippingDetailsItem;
 import org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrder;
 import org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrderItem;
@@ -481,11 +482,15 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 					item.setGroupId(oConvertUtils.id());//分组随机id
 					item.setDelFlag("0");//默认为未删除
 					syPackingListTailoring.setTotal(syPackingListTailoring.getTotal().add(item.getTotal()));
+					item.setSmallPo(syPackingListTailoring.getSmallPo());
+					item.setPoNo(syPackingListTailoring.getSmallPo());
+					item.setDistributionPoint(syPackingListTailoring.getDistributionPoint());
+					item.setStyleNo(syPackingListTailoring.getItemNumber());
+					item.setGarmentFactory(syPackingListTailoring.getGarmentFactory());
 					syPackingListTailoring.setTotalBoxes(syPackingListTailoring.getTotalBoxes().add(item.getBoxNumber()));
 					syPackingListTailoring.setTotalNetWeight(syPackingListTailoring.getTotalNetWeight().add(item.getTotalNetWeight()));
 					syPackingListTailoring.setTotalGrossWeight(syPackingListTailoring.getTotalGrossWeight().add(item.getTotalGrossWeight()));
 					syPackingListTailoring.setTotalVolume(syPackingListTailoring.getTotalVolume().add(item.getTotalVolume()));
-					syPackingListTailoring.setTotalPrice(syPackingListTailoring.getTotalPrice().add(item.getTotalPrice()));
 					for (SizeTable size : sizes){
 						SyPackingListTailoringItem item1=item;
 						BigDecimal boxNumber=boxNumber1.multiply(new BigDecimal(size.getProportion()));//获取该尺码件数
@@ -494,7 +499,6 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 						item1.setActualPackingQty(boxNumber);//实际装箱数量
 						item1.setPlanQuantity(boxNumber);//计划装箱数量
 						item1.setSize(size.getSize());//获取尺码
-						item1.setTotalPrice(boxNumber.multiply(item1.getUnitPrice()));//获取总价		箱数*单价-->件数*单价
 						boxNumber=boxNumber.divide(item.getPiecesBox(),6,BigDecimal.ROUND_HALF_UP);
 						item1.setTotalNetWeight(boxNumber.multiply(item1.getNetWeight()));//获取总净重		净重*箱数
 						item1.setTotalGrossWeight(boxNumber.multiply(item1.getGrossWeight()));//获取总毛重 	箱数*毛重/箱
@@ -509,11 +513,34 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 						if(syPreItem!=null){
 							syPreItem.setRemainingQuantity(syPreItem.getRemainingQuantity().subtract(item.getTotal()));//新剩余数量=原剩余数量-装箱单新增数量
 							syPreItem.setExcessQuantity(syPreItem.getRemainingQuantity().subtract(item.getTotal()).negate());//同上面,取相反值
+							item1.setUnitPrice(syPreItem.getUnitPrice());//获取单价
+							item1.setHod(new SimpleDateFormat("yyyy-MM-dd").parse(syPreItem.getHod()));//预发货日期
+							item1.setWithCode(syPreItem.getWithCode());
+
+							item1.setOmpoIdItem(syPreItem.getOmpoIdItem());//获取委外/采购订单子表Id
+							item1.setUnitPrice(syPreItem.getUnitPrice());//获取销售单价
+							//item1.setFactoryUnitPrice(new BigDecimal(syPreItem.getFactoryUnitPrice()==null?"0":syPreItem.getFactoryUnitPrice()));//工厂单价
+							item1.setInventoryName(syPreItem.getInventoryName());//存货名称
+							item1.setAcSetNo(syPreItem.getAcSetNo());//获取账套号
+							item1.setTotalPrice(boxNumber.multiply(item1.getUnitPrice()));//获取总价		箱数*单价-->件数*单价
+							item1.setOrderNumber(syPreItem.getOrderNumber());//获取订单号
+							item1.setSalesman(syPreItem.getSalesman());//获取业务员
+							item1.setSalesDepartment(syPreItem.getSalesDepartment());//获取销售部门
+							item1.setInventoryCode(syPreItem.getInventoryCcode());//存货名称
+							item1.setSpurOrSubOrder(syPreItem.getSpurOrSubOrder());//获取采购委外订货号
+							item1.setOmpoId(syPreItem.getOmpoId());//主表id
+							item1.setOmpoIdItem(syPreItem.getOmpoIdItem());//子表id
 							syPreAssembledPackingListItemMapper.updateById(syPreItem);//修改剩余数量
 						}
+						syPackingListTailoring.setTotalPrice(syPackingListTailoring.getTotalPrice().add(item1.getTotalPrice()));//获取总价
 						syPackingListTailoringItemMapper.insert(item1);//添加子表数据
 					}
 				}
+				SyPreAssembledPackingList syPreAssembledPackingList=syPreAssembledPackingListMapper.selectById(syPackingListTailoring.getSyPreAssembledPackingListId());
+				if(syPreAssembledPackingList!=null){
+					syPackingListTailoring.setCustomer(syPreAssembledPackingList.getCustomer());
+					syPackingListTailoring.setOrderNumber(syPreAssembledPackingList.getOrderNumber());
+				}
 				syPackingListTailoringMapper.updateById(syPackingListTailoring);//修改数据
 			}
 			bool=true;