浏览代码

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

fenghaifu 2 年之前
父节点
当前提交
9f523d0772
共有 25 个文件被更改,包括 560 次插入154 次删除
  1. 8 8
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/letterDeposit/controller/SyLetterDepositController.java
  2. 2 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/letterDeposit/entity/VO/SyPreAssembledPackingListVo.java
  3. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/letterDeposit/mapper/xml/SyLetterDepositMapper.xml
  4. 11 10
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/controller/SyShippingDetailsController.java
  5. 8 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/entity/SyShippingDetails.java
  6. 68 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/entity/SyShippingDetailsItem.java
  7. 9 4
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/entity/VO/OrderDataVo.java
  8. 2 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/entity/VO/PushShippingDeialVo.java
  9. 5 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/entity/VO/SyShippingDetailsVo.java
  10. 5 5
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/mapper/xml/SyShippingDetailsMapper.xml
  11. 2 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/service/ISyShippingDetailsService.java
  12. 84 37
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/service/impl/SyShippingDetailsServiceImpl.java
  13. 43 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/controller/SyShippingOrderController.java
  14. 2 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/openApi/controller/PurchaseWarehousingController.java
  15. 8 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/controller/SyPreAssembledPackingListController.java
  16. 1 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/service/impl/SyPreAssembledPackingListServiceImpl.java
  17. 91 76
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/controller/SyPackingListFabricController.java
  18. 11 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/entity/SyPackingListFabric.java
  19. 25 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/entity/SyPackingListFabricItem.java
  20. 11 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/mapper/xml/SyPackingListFabricItemMapper.xml
  21. 1 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/mapper/xml/SyPackingListFabricMapper.xml
  22. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/service/ISyPackingListFabricService.java
  23. 155 4
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/service/impl/SyPackingListFabricServiceImpl.java
  24. 5 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/controller/SyPackingListTailoringController.java
  25. 1 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/mapper/xml/syPackingListTailoringItemMapper.xml

+ 8 - 8
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/letterDeposit/controller/SyLetterDepositController.java

@@ -89,20 +89,20 @@ public class SyLetterDepositController extends JeecgController<SyLetterDeposit,
 			QueryWrapper<SyLetterDeposit> queryWrapper = new QueryWrapper<SyLetterDeposit>();
 			Page<SyLetterDeposit> page = new Page<SyLetterDeposit>(pageNo, pageSize);
 			//客户简称
-			if(oConvertUtils.isNotEmpty(syLetterDeposit.getClientAbbreviation().trim())){
-				queryWrapper.eq("b.client_abbreviation",syLetterDeposit.getClientAbbreviation());
+			if(oConvertUtils.isNotEmpty(syLetterDeposit.getClientAbbreviation())){
+				queryWrapper.eq("b.client_abbreviation",syLetterDeposit.getClientAbbreviation().trim());
 			}
 			//集装箱号
-			if(oConvertUtils.isNotEmpty(syLetterDeposit.getContainerNumber().trim())){
-				queryWrapper.eq("b.container_number",syLetterDeposit.getContainerNumber());
+			if(oConvertUtils.isNotEmpty(syLetterDeposit.getContainerNumber())){
+				queryWrapper.eq("b.container_number",syLetterDeposit.getContainerNumber().trim());
 			}
 			//小PO
-			if(oConvertUtils.isNotEmpty(syLetterDeposit.getSmallPo().trim())){
-				queryWrapper.eq("b.small_po",syLetterDeposit.getSmallPo());
+			if(oConvertUtils.isNotEmpty(syLetterDeposit.getSmallPo())){
+				queryWrapper.eq("b.small_po",syLetterDeposit.getSmallPo().trim());
 			}
 			//预托书号
-			if(oConvertUtils.isNotEmpty(syLetterDeposit.getDepositaryReceiptNo().trim())){
-				queryWrapper.eq("a.depositary_receipt_no",syLetterDeposit.getDepositaryReceiptNo());
+			if(oConvertUtils.isNotEmpty(syLetterDeposit.getDepositaryReceiptNo())){
+				queryWrapper.eq("a.depositary_receipt_no",syLetterDeposit.getDepositaryReceiptNo().trim());
 			}
 			//托书日期
 			if(oConvertUtils.isNotEmpty(syLetterDeposit.getShippingOrderDate())){

+ 2 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/letterDeposit/entity/VO/SyPreAssembledPackingListVo.java

@@ -168,4 +168,6 @@ public class SyPreAssembledPackingListVo {
     /**预装箱单分组ID*/
     @ApiModelProperty(value = "订单号")
     private String orderNumber;
+    @ApiModelProperty(value = "采购/委外工厂(供应商)")
+    private String supplier;
 }

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/letterDeposit/mapper/xml/SyLetterDepositMapper.xml

@@ -11,7 +11,7 @@ sum(b.total_net_weight) as totalNetWeight,a.order_type as orderType,b.plan_Quant
 sum(b.total_gross_weight) as totalGrossWeight,sum(b.total_volume) as totalVolume,sum(b.total_price) as totalPrice,b.factory_unit_price as factoryUnitPrice,
 a.depositary_receipt_no as depositaryReceiptNo,a.spur_Or_Sub_Order as spurOrSubOrder,sum(b.pieces_box) as piecesBox,b.size,a.order_number as orderNumber,
 b.starting_box_number as startingBoxNumber,b.end_case_number as endCaseNumber,b.outer_box_length as outerBoxLength,b.outer_box_width as outerBoxWidth,b.outer_box_height as outerBoxHeight,
-b.garment_factory as garmentFactory,b.hod as hod,b.style_no as styleNo,b.prepack_sku as prepackSku,
+b.garment_factory as garmentFactory,b.hod as hod,b.style_no as styleNo,b.prepack_sku as prepackSku,b.supplier as supplier,
 b.salesman as salesman,b.sales_Department as salesDepartment
 from sy_pre_assembled_packing_list_item b
 left join sy_pre_assembled_packing_list a

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

@@ -194,11 +194,11 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
 			String createTime = sf.format(new Date());
 			syShippingDetails.setCreateTime(sf.parse(createTime));
 
-			List<SyShippingDetailsItem> syShippingDetailsItemList = syShippingDetails.getSyShippingDetailsItemList();
-			if (syShippingDetailsItemList.size() == 0) {
-				result.setMessage("表体信息不能为空!");
-				return result;
-			}
+//			List<SyShippingDetailsItem> syShippingDetailsItemList = syShippingDetails.getSyShippingDetailsItemList();
+//			if (syShippingDetailsItemList.size() == 0) {
+//				result.setMessage("表体信息不能为空!");
+//				return result;
+//			}
 			SyShippingDetails syShippingDetailstEntity = syShippingDetailsService.syShippingDetailsAdd(syShippingDetails);
 			result.setSuccess(true);
 			result.setMessage("添加成功!");
@@ -549,7 +549,7 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
 
 	 /**
 	  * 发运明细查询订单接口
-	  * @param orderNumber
+	  * @param
 	  * @param account
 	  * @param pageNo
 	  * @param pageSize
@@ -560,7 +560,7 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
   @AutoLog(value = "发运明细查询订单")
   @ApiOperation(value="发运明细查询订单", notes="发运明细查询订单")
   @GetMapping(value = "/queryOrderData")
-  public Result<IPage<OrderDataVo>> queryOrderData(String orderNumber,String account,String startDeliveryDate,String endDeliveryDate,String smallPo,
+  public Result<IPage<OrderDataVo>> queryOrderData(String itemNumber,String account,String startDeliveryDate,String endDeliveryDate,String smallPo,
 												   String salesman,String customerName,String flourOrGarment,String preDeliveryDateS,String preDeliveryDateE,
 												   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
 												   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
@@ -573,8 +573,8 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
 	  QueryWrapper<OrderDataVo> queryWrapper = new QueryWrapper<>();
 
 	  Page<OrderDataVo> page = new Page<OrderDataVo>(pageNo, pageSize);
-	  if (oConvertUtils.isNotEmpty(orderNumber)) {
-		  queryWrapper.eq("a.order_number", orderNumber);
+	  if (oConvertUtils.isNotEmpty(itemNumber)) {
+		  queryWrapper.eq("b.item_number", itemNumber);
 	  }
 	  if (oConvertUtils.isNotEmpty(account)) {
 		  queryWrapper.eq("a.account", account);
@@ -658,6 +658,7 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
 			   }
 			  //查询主表
 			  PushShippingVO pushShippingVO =  syShippingDetailsService.pushSyShipping(id);
+			  pushShippingVO.setPoNo(li.getPoNo());
 			  pushShippingVO.setLines(li);
 			  list.add(pushShippingVO);
 		  }
@@ -840,7 +841,7 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
 
 
 	 /**
-	  * 订单数据明细展示
+	  * 订单数据明数据
 	  * @param orderDataVo
 	  * @return
 	  */

+ 8 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/entity/SyShippingDetails.java

@@ -152,4 +152,12 @@ public class SyShippingDetails {
 	@TableField(exist = false)
 	List<String> submitListId;
 
+	//订单子表ID
+	@TableField(exist = false)
+	private List<String> itemId;
+
+	//成衣还是面料
+	@TableField(exist = false)
+	private String readyFabric;
+
 }

+ 68 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/entity/SyShippingDetailsItem.java

@@ -13,6 +13,7 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import org.jeecg.modules.documents.shippingDetails.entity.VO.OrderDataVo;
 import org.springframework.format.annotation.DateTimeFormat;
 import org.jeecgframework.poi.excel.annotation.Excel;
 
@@ -237,7 +238,7 @@ public class SyShippingDetailsItem {
 	private String inventoryName;
 	@Excel(name = "单价(销售)", width = 15)
 	@ApiModelProperty(value = "单价(销售)")
-	private String salesUnitPrice;
+	private BigDecimal salesUnitPrice;
 	@Excel(name = "采购/委外订单号", width = 15)
 	@ApiModelProperty(value = "采购/委外订单号")
 	private String purOrSubOrder;
@@ -324,7 +325,7 @@ public class SyShippingDetailsItem {
 	/**光坯毛门幅CM*/
 	@Excel(name = "光坯毛门幅CM", width = 15)
 	@ApiModelProperty(value = "光坯毛门幅CM")
-	private java.math.BigDecimal guangpeiGateWidth;
+	private java.lang.String guangpeiGateWidth;
 
 	/**超发数量*/
 	@Excel(name = "超发数量", width = 15)
@@ -364,4 +365,69 @@ public class SyShippingDetailsItem {
 	@Excel(name = "提交1,取消提交0", width = 15)
 	@ApiModelProperty(value = "提交1,取消提交0")
 	private Integer submitStatus;
+
+	public SyShippingDetailsItem(){}
+
+
+	//将销售订单数据转换成发运明细数据
+	public SyShippingDetailsItem(OrderDataVo orderDataVo){
+
+		this.syOrderDataId = orderDataVo.getSyOrderDataId();
+		this.syOrderDataItemId = orderDataVo.getSyOrderDataItemId();
+		this.account = orderDataVo.getAccount();
+		this.orderNumber = orderDataVo.getOrderNumber();
+		this.businessTypeText = orderDataVo.getBusinessTypeText();
+		this.smallPo = orderDataVo.getSmallPo();
+		this.packId = orderDataVo.getPackId();
+		this.orderQuantity = orderDataVo.getQuantity();
+		this.orderRemainingQuantity = orderDataVo.getQuantity();
+		this.shipmentQuantity = orderDataVo.getQuantity();
+		this.salesTypeText = orderDataVo.getSalesTypeText();
+        this.customerAbbreviation = orderDataVo.getCustomerAbbreviation();
+        this.customerName = orderDataVo.getCustomerName();
+        this.exchangeRate = orderDataVo.getExchangeRate();
+        this.salesDepartment = orderDataVo.getSalesDepartment();
+        this.salesman = orderDataVo.getSalesman();
+        this.currencyText = orderDataVo.getCurrencyText();
+        this.brandSide = orderDataVo.getBrandSide();
+        this.thirdParty = orderDataVo.getThirdParty();
+        this.depositRatio = orderDataVo.getDepositRatio();
+        this.deposit = orderDataVo.getDeposit();
+        this.collaborativeRoute = orderDataVo.getCollaborativeRoute();
+        this.termOfPayment = orderDataVo.getTermOfPayment();
+        this.endCustomer = orderDataVo.getEndCustomer();
+        this.priceRemarks = orderDataVo.getPriceRemarks();
+        this.orderRemarks = orderDataVo.getOrderRemarks();
+        this.orderChangeDescription = orderDataVo.getOrderChangeDescription();
+        //this.customsDeclarationUnitPrice = orderDataVo.get
+		this.delFlag = "0";
+		this.distributionPoint = orderDataVo.getDistributionPoint();
+		this.itemNumber = orderDataVo.getItemNumber();
+		this.inventoryName = orderDataVo.getInventoryName();
+		this.salesUnitPrice = orderDataVo.getUnitPriceIncludingTax();
+		this.purOrSubOrder = orderDataVo.getPurOrSubOrder();
+		this.numberOfSets = orderDataVo.getNumberOfSets();
+		this.inventoryCode = orderDataVo.getInventoryCode();
+		this.boxNumber = orderDataVo.getBoxNumber();
+		this.preDeliveryDate = orderDataVo.getPreDeliveryDate();
+		this.preCompletionDate = orderDataVo.getPreCompletionDate();
+		this.garmentFactory = orderDataVo.getGarmentFactory();
+		this.specificationAndModel = orderDataVo.getSpecificationAndModel();
+		this.colour = orderDataVo.getColour();
+		this.size = orderDataVo.getSize();
+		this.surplusQuantity = orderDataVo.getQuantity();
+		this.codingRules = orderDataVo.getCodingRules();
+		this.guangpeiGateWidth = orderDataVo.getGuangpeiGateWidth();
+		this.excessQuantity = new BigDecimal(-1);
+		this.isReference = 0;
+		this.inventoryCcode = orderDataVo.getInventoryCcode();
+		this.supplierCode = orderDataVo.getSupplierCode();
+		this.supplier = orderDataVo.getSupplier();
+		this.ompoAccount = orderDataVo.getOmpoAccount();
+		this.ompoId = orderDataVo.getOmpoId();
+		this.ompoIdItem = orderDataVo.getOmpoIdItem();
+		this.ymoney = orderDataVo.getYmoney();
+		this.submitStatus = 0;
+
+	}
 }

+ 9 - 4
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/entity/VO/OrderDataVo.java

@@ -176,7 +176,7 @@ public class OrderDataVo {
 
     @Excel(name = "含税单价", width = 15)
     @ApiModelProperty(value = "含税单价")
-    private String unitPriceIncludingTax;
+    private BigDecimal unitPriceIncludingTax;
 
     @Excel(name = "订单主表ID", width = 15)
     @ApiModelProperty(value = "订单主表ID")
@@ -204,16 +204,16 @@ public class OrderDataVo {
     @Excel(name = "预发货日期", width = 15,format = "yyyy-MM-dd")
     @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
     @DateTimeFormat(pattern="yyyy-MM-dd")
-    private String preDeliveryDate;
+    private java.util.Date preDeliveryDate;
 
     @Excel(name = "预完工日期", width = 15,format = "yyyy-MM-dd")
     @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
     @DateTimeFormat(pattern="yyyy-MM-dd")
-    private String preCompletionDate;
+    private java.util.Date preCompletionDate;
 
     @Excel(name = "箱数", width = 15)
     @ApiModelProperty(value = "箱数")
-    private String boxNumber;
+    private BigDecimal boxNumber;
 
     @Excel(name = "委外采购单价", width = 15)
     @ApiModelProperty(value = "委外采购单价")
@@ -252,4 +252,9 @@ public class OrderDataVo {
     private List<String> itemId;
 
     private String readyFabric;
+
+    //套装件数
+    private Integer numberOfSets;
+
+    private String groupid;
 }

+ 2 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/entity/VO/PushShippingDeialVo.java

@@ -43,5 +43,7 @@ public class PushShippingDeialVo {
 
     //提交状态
     private String submitStatus;
+    //订单号
+    private String poNo;
 
 }

+ 5 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/entity/VO/SyShippingDetailsVo.java

@@ -279,4 +279,9 @@ public class SyShippingDetailsVo {
 
     //供应商
     private String supplier;
+
+    /**制单人*/
+    @Excel(name = "制单人", width = 15)
+    @ApiModelProperty(value = "制单人")
+    private java.lang.String createBy;
 }

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

@@ -62,7 +62,7 @@
     b.deposit as deposit,b.collaborative_route as collaborativeRoute,b.term_of_payment as termOfPayment,b.end_customer as endCustomer,
     b.order_remarks as orderRemarks,b.price_remarks as priceRemarks,b.order_change_description as orderChangeDescription,b.pre_completion_date as preCompletionDate,
     b.sales_type_text as salesTypeText,b.customer_name as customerName,b.exchange_rate as exchangeRate,a.whole_order_total as wholeOrderTotal,
-    b.declaration_elements as declarationElements,b.number_of_sets as numberOfSets,a.chinese_name as chineseName,a.account as account,b.supplier as supplier,
+    b.declaration_elements as declarationElements,b.number_of_sets as numberOfSets,a.chinese_name as chineseName,b.account as account,b.supplier as supplier,
     a.english_product_name as englishProductName,b.garment_factory as garmentFactory,b.elements_id as elementsId from sy_shipping_details a
 left join sy_shipping_details_item b
 on a.id = b.shipping_details_id and b.del_flag = 0
@@ -87,7 +87,7 @@ ${ew.customSqlSegment}
     b.deposit as deposit,b.collaborative_route as collaborativeRoute,b.term_of_payment as termOfPayment,b.end_customer as endCustomer,
     b.order_remarks as orderRemarks,b.price_remarks as priceRemarks,b.order_change_description as orderChangeDescription,b.pre_completion_date as preCompletionDate,
     b.sales_type_text as salesTypeText,b.customer_name as customerName,b.exchange_rate as exchangeRate,a.whole_order_total as wholeOrderTotal,
-    b.declaration_elements as declarationElements,b.number_of_sets as numberOfSets,a.chinese_name as chineseName,a.account as account,b.supplier as supplier,
+    b.declaration_elements as declarationElements,b.number_of_sets as numberOfSets,a.chinese_name as chineseName,b.account as account,b.supplier as supplier,
     a.english_product_name as englishProductName,b.garment_factory as garmentFactory,b.elements_id as elementsId from sy_shipping_details a
 left join sy_shipping_details_item b
 on a.id = b.shipping_details_id and b.del_flag = 0
@@ -109,8 +109,8 @@ ${ew.customSqlSegment}
     <select id="pushSyShipping" resultType="org.jeecg.modules.documents.shippingDetails.entity.VO.PushShippingDeialVo">
       select
        concat(a.document_no,'-',b.sort) as packingHeaderNum,a.document_no as attributeString1,
-          'ACCESSORIES' as packingType,'NEW' as packingStatus,b.order_number as poNo,
-          b.sy_order_data_id as attributeBigint1,b.supplier_code as supplierNumber,'成衣工厂' as factory,
+          'ACCESSORIES' as packingType,'NEW' as packingStatus,b.pur_or_sub_order as poNo,
+          b.ompo_id as attributeBigint1,b.supplier_code as supplierNumber,'成衣工厂' as factory,
            a.create_by as preparer,a.create_time as preparationTime
           from sy_shipping_details a
           where a.del_flag = 0 and a.id = #{id}
@@ -120,7 +120,7 @@ ${ew.customSqlSegment}
     <select id="pushSyShippingDeial" resultType="org.jeecg.modules.documents.shippingDetails.entity.VO.PushShippingDeialVo">
 
       select b.sort as packingLineNum,
-           b.sy_order_data_item_id as moDetailId,b.item_number as styleNo,b.colour as color,
+           b.ompo_id_item as moDetailId,b.item_number as styleNo,b.colour as color,b.pur_or_sub_order as poNo,
            b.inventory_code as itemCode,b.inventory_name as itemDesc,c.declaration_name as declarationName,
            b.material_composition as composition,'0' as width,'0' as rolls,b.shipment_quantity as planPackingQty,
            b.treatment_method as treatmentMethod,b.manual_yarn_flag as manualYarnFlag,

+ 2 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/service/ISyShippingDetailsService.java

@@ -12,6 +12,7 @@ import org.jeecg.modules.documents.shippingDetails.entity.VO.PushShippingDeialVo
 import org.jeecg.modules.documents.shippingDetails.entity.VO.PushShippingVO;
 import org.jeecg.modules.documents.shippingDetails.entity.VO.SyShippingDetailsVo;
 
+import java.text.ParseException;
 import java.util.List;
 
 /**
@@ -27,7 +28,7 @@ public interface ISyShippingDetailsService extends IService<SyShippingDetails> {
     public IPage<OrderDataVo> queryOrderData(IPage<OrderDataVo> page, QueryWrapper<OrderDataVo> queryWrapper);
 
     //新增发运明细
-    public SyShippingDetails syShippingDetailsAdd(SyShippingDetails syShippingDetails);
+    public SyShippingDetails syShippingDetailsAdd(SyShippingDetails syShippingDetails) throws ParseException;
 
     //发运明细分页列表查询 --成衣的
     public IPage<SyShippingDetailsVo> queryShippingDetails(IPage<SyShippingDetailsVo> page, QueryWrapper<SyShippingDetailsVo> queryWrapper);

+ 84 - 37
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/service/impl/SyShippingDetailsServiceImpl.java

@@ -2,10 +2,12 @@ package org.jeecg.modules.documents.shippingDetails.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.documents.orderData.entity.SyOrderData;
 import org.jeecg.modules.documents.orderData.entity.SyOrderDataItem;
+import org.jeecg.modules.documents.orderData.entity.SyOrderDataVO;
 import org.jeecg.modules.documents.orderData.service.impl.SyOrderDataItemServiceImpl;
 import org.jeecg.modules.documents.seclarationElements.entity.SyDeclarationElements;
 import org.jeecg.modules.documents.seclarationElements.service.ISyDeclarationElementsService;
@@ -26,6 +28,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
@@ -69,7 +72,7 @@ public class SyShippingDetailsServiceImpl extends ServiceImpl<SyShippingDetailsM
      * @return
      */
     @Override
-    public SyShippingDetails syShippingDetailsAdd(SyShippingDetails syShippingDetails) {
+    public SyShippingDetails syShippingDetailsAdd(SyShippingDetails syShippingDetails) throws ParseException {
 
         int sort = 1;
         List<SyShippingDetailsItem> syShippingDetailsItemList = new ArrayList<>();
@@ -80,49 +83,93 @@ public class SyShippingDetailsServiceImpl extends ServiceImpl<SyShippingDetailsM
          //设置单据号(F2206201305854)
         if(oConvertUtils.isEmpty(syId)){
         SimpleDateFormat sf = new SimpleDateFormat("yyMMddHHmmSS");
+            SimpleDateFormat sf1 = new SimpleDateFormat("yyyy-MM-dd");
         String createTime = sf.format(new Date());
         syShippingDetails.setDocumentNo("F"+createTime);
         syShippingDetails.setState("0");//状态
-            syShippingDetails.setAccount(syShippingDetails.getSyShippingDetailsItemList().get(0).getAccount());//账套
+        String date = sf1.format(new Date());
+        syShippingDetails.setDocumentDate(sf1.parse(date));
+
         }
-         //新增子表
-        List<SyShippingDetailsItem> list = syShippingDetails.getSyShippingDetailsItemList();
-
-         if(list.size()!=0){
-             for (SyShippingDetailsItem li:list){
-
-                 li.setSort(sort);
-                 //设置主表自建
-                 li.setShippingDetailsId(id);
-                 li.setId(oConvertUtils.id());
-                 li.setSurplusQuantity(li.getShipmentQuantity());//剩余数量
-                 syShippingDetailsItemList.add(li);
-                 sort++;
-                 //回写销售订单剩余数量
-                 SyOrderDataItem orderDataItem = syOrderDataItemService.getById(li.getSyOrderDataItemId());
-                 if(oConvertUtils.isNotEmpty(orderDataItem)){
-                     BigDecimal suerBox = orderDataItem.getSurplusNum().subtract(li.getShipmentQuantity());
-                     orderDataItem.setSurplusNum(suerBox);
-                     syOrderDataItemService.updateById(orderDataItem);
-                 }
-
-                 //获取报关要素ID
-                 //根据条件查询报关要素信息
-              QueryWrapper<SyDeclarationElements> elementsQueryWrapper = new QueryWrapper<>();
-                 elementsQueryWrapper.eq("inventory_name",li.getInventoryName()).eq("ac_set_no",li.getOmpoAccount()).eq("item_number",li.getItemNumber()).eq("del_flag",0);
-                 elementsQueryWrapper.orderByDesc("create_time");
-                 List<SyDeclarationElements> elementsList = syDeclarationElementsService.list(elementsQueryWrapper);
-                 if(elementsList.size() != 0){
-                     //获取最新一条ID
-                     String elementId = elementsList.get(0).getId();
-                     li.setElementsId(elementId);
-                 }
 
-             }
-             if(syShippingDetailsItemList.size()!=0){
+        //新增子表
+        int m = 0;
+        //订单子表明细ID集合(单条)
+        List<String> stringList = new ArrayList<>();
+        //分组ID集合
+        List<String> groupIdList = new ArrayList<>();
+
+        QueryWrapper<OrderDataVo> queryWrapper = new QueryWrapper<>();
+        Page<OrderDataVo> page = new Page<OrderDataVo>(1, -1);
+        //查询订单数据
+        List<String> itemId = syShippingDetails.getItemId();
+        for(String ids:itemId){
+            //groupIdList.add(org.jeecg.modules.system.util.oConvertUtils.getId());
+            String itemIdSplit[] = ids.split(",");
+            for (String li:itemIdSplit){
+                stringList.add(li);
+            }
+            queryWrapper.in("b.id",stringList).eq("a.del_flag",0);
+            IPage<OrderDataVo> pageList = syShippingDetailsMapper.displayDetails(page, queryWrapper);
+
+            //清空集合
+            stringList.clear();
+            String gourpid = oConvertUtils.id();
+
+            for (OrderDataVo li:pageList.getRecords()){
+                //实现构造函数方法赋值
+                SyShippingDetailsItem entity = new SyShippingDetailsItem(li);
+                //设置分组ID
+                if(ids.contains(li.getSyOrderDataItemId())){
+                    entity.setGroupId(gourpid);
+                }
+                //设置物料成分
+                if(syShippingDetails.getReadyFabric().equals("成衣")){
+                    entity.setMaterialComposition(li.getSpecificationAndModel());//取规格型号
+                }else{
+                    entity.setMaterialComposition(li.getInventoryName());//取存货名称
+                }
+                //设置排序
+                entity.setSort(sort);
+                //设置主表自建
+                entity.setShippingDetailsId(id);
+                entity.setId(oConvertUtils.id());
+                sort++;
+                //设置报关单价 = 销售单价-佣金
+                BigDecimal yj = li.getYmoney();
+                if(oConvertUtils.isEmpty(yj)){
+                    yj = BigDecimal.ZERO;
+                }
+                if(oConvertUtils.isEmpty(li.getITaxPrice())){
+                    li.setITaxPrice(BigDecimal.ZERO);
+                }
+                BigDecimal customsDeclarationUnitPrice = li.getITaxPrice().subtract(yj);
+                entity.setCustomsDeclarationUnitPrice(customsDeclarationUnitPrice);
+
+                //获取报关要素ID
+                //根据条件查询报关要素信息
+                QueryWrapper<SyDeclarationElements> elementsQueryWrapper = new QueryWrapper<>();
+                elementsQueryWrapper.eq("inventory_name",li.getInventoryName()).eq("ac_set_no",li.getOmpoAccount()).eq("item_number",li.getItemNumber()).eq("del_flag",0);
+                elementsQueryWrapper.orderByDesc("create_time");
+                List<SyDeclarationElements> elementsList = syDeclarationElementsService.list(elementsQueryWrapper);
+                if(elementsList.size() != 0){
+                    //获取最新一条ID
+                    String elementId = elementsList.get(0).getId();
+                    entity.setElementsId(elementId);
+                }
+
+                syShippingDetailsItemList.add(entity);
+                //设置主表客户
+                syShippingDetails.setCustomer(li.getCustomerName());
+            }
+
+        }
+        if(syShippingDetailsItemList.size()!=0){
                  syShippingDetailsItemService.saveBatch(syShippingDetailsItemList);
+
              }
-         }
+
+
 
         boolean ok = save(syShippingDetails);
         if(ok){

+ 43 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/controller/SyShippingOrderController.java

@@ -318,6 +318,49 @@ public class SyShippingOrderController extends JeecgController<SyShippingOrder,
 	  return  result;
   }
 
+
+	 /**
+	  * 面料装箱单点击确定调用该方法
+	  * @param fabricId
+	  * @param pageNo
+	  * @param pageSize
+	  * @param request
+	  * @param response
+	  * @return
+	  */
+	 @AutoLog(value = "查询装箱单-成衣")
+	 @ApiOperation(value="查询装箱单-成衣", notes="查询装箱单-成衣")
+	 @GetMapping(value = "/queryFabric")
+	 public Result<IPage<SyPackingList>> queryFabric(List<String> fabricId,
+														@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+														@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+														HttpServletRequest request, HttpServletResponse response){
+
+		 Result<IPage<SyPackingList>> result = new Result<IPage<SyPackingList>>();
+		 List<String> idList = new ArrayList<>();
+
+		 IPage<SyPackingList> pageList = new Page<>();
+		 Page<SyPackingList> page = new Page<SyPackingList>(1, -1);
+
+		 QueryWrapper<SyPackingList> queryWrapper = new QueryWrapper<>();
+
+		 String idSplit[] = fabricId.get(0).split(",");
+		 for(String id:idSplit){
+			 idList.add(id);
+		 }
+
+		 queryWrapper.in("b.sy_packing_list_fabric_id",idList);
+		 queryWrapper.eq("a.del_flag",0).eq("b.del_flag",0).eq("a.status",1);
+			 queryWrapper.groupBy("a.group_id");
+			 pageList = syShippingOrderService.queryFabric(page,queryWrapper);
+
+
+		 result.setSuccess(true);
+		 result.setMessage("查询成功!");
+		 result.setResult(pageList);
+		 return  result;
+	 }
+
 	 /**
 	  * 提交
 	  * @param syShippingOrder

+ 2 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/openApi/controller/PurchaseWarehousingController.java

@@ -231,7 +231,7 @@ public class PurchaseWarehousingController extends JeecgController<PurchaseWareh
               }
               if(boo == false){
               	  result.setSuccess(false);
-				  result.success("检查账套号是否正确!");
+				  result.setMessage("检查账套号是否正确!");
 				  return result;
 			  }else {
 				  result.success("操作成功");
@@ -330,7 +330,7 @@ public class PurchaseWarehousingController extends JeecgController<PurchaseWareh
 			  }
 			  if(boo == false){
 				  result.setSuccess(false);
-				  result.success("检查账套号是否正确!");
+				  result.setMessage("检查账套号是否正确!");
 				  return result;
 			  }else {
 

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

@@ -167,6 +167,8 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
 	 public Result<IPage<SyShippingDetailsVo>> queryPageList3(
 	 								 String documentNo,
 									 String customer,
+									 String salesman,
+									 String garmentFactory,
 									 String distributionPoint,
 									 String startDate,
 									 String smallPo,
@@ -191,6 +193,12 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
 		 if(oConvertUtils.isNotEmpty(smallPo)){//小po
 			 queryWrapper.eq("t.smallPo",smallPo);
 		 }
+		 if(oConvertUtils.isNotEmpty(salesman)){//小po
+			 queryWrapper.eq("t.salesman",salesman);
+		 }
+		 if(oConvertUtils.isNotEmpty(garmentFactory)){//小po
+			 queryWrapper.eq("t.garmentFactory",garmentFactory);
+		 }
 		 //预发货日期
 		 if(oConvertUtils.isNotEmpty(startDate)){//起始
 			 queryWrapper.ge("t.preDeliveryDate",startDate);

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

@@ -426,6 +426,7 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 	public SyLetterDepositItem typeConversion(SyPreAssembledPackingListItem syPreAssembledPackingListItem) {
 		QueryWrapper queryWrapper=new QueryWrapper();
 		queryWrapper.eq("sy_pre_assembled_packing_list_item_id",syPreAssembledPackingListItem.getId());
+		queryWrapper.eq("del_flag","0");//未删除的数据
 		SyLetterDepositItem syLetterDepositItem=syLetterDepositItemMapper.selectOne(queryWrapper);//问题点
 		if(syLetterDepositItem!=null){
 			String id=syLetterDepositItem.getId();//保存预托书id防止覆盖

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

@@ -4,10 +4,8 @@ import java.io.UnsupportedEncodingException;
 import java.io.IOException;
 import java.net.URLDecoder;
 import java.text.ParseException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
+import java.text.SimpleDateFormat;
+import java.util.*;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -17,6 +15,8 @@ import org.jeecg.common.system.vo.LoginUser;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.documents.shippingDetails.entity.VO.SyShippingDetailsVo;
+import org.jeecg.modules.openApi.entity.DxpDataPlan;
+import org.jeecg.modules.openApi.service.IDxpDataPlanService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -103,7 +103,9 @@ public class SyPackingListFabricController {
 	 @GetMapping(value = "/getShippingDetails")
 	 public Result<IPage<SyShippingDetailsVo>> getShippingDetails(
 			 String documentNo,
+			 String orderNumber,
 			 String customer,
+			 String createBy,
 			 String distributionPoint,
 			 String startDate,
 			 String smallPo,
@@ -116,20 +118,26 @@ public class SyPackingListFabricController {
 		 //只有成衣才能被选中,筛选为成衣的订单,需要加个条件
 		 Result<IPage<SyShippingDetailsVo>> result = new Result<IPage<SyShippingDetailsVo>>();
 		 QueryWrapper<SyShippingDetailsVo> queryWrapper = new QueryWrapper<>();
-		 if(oConvertUtils.isNotEmpty(documentNo)) {
+		 if(oConvertUtils.isNotEmpty(documentNo)) {//单据号
 			 queryWrapper.eq("t.documentNo", documentNo);//单据号
 		 }
+		 if(oConvertUtils.isNotEmpty(orderNumber)){//订单号
+			 queryWrapper.eq("t.orderNumber", orderNumber);//订单号
+		 }
+		 if(oConvertUtils.isNotEmpty(createBy)){//制单人
+			 queryWrapper.eq("t.createBy", createBy);//制单人
+		 }
 		 if(oConvertUtils.isNotEmpty(customer)){//客户
-			 queryWrapper.eq("t.customer",customer).or().eq("t.customerAbbreviation",customer);
+			 queryWrapper.eq("t.customer",customer).or().eq("t.customerAbbreviation",customer);//客户
 		 }
 		 if(oConvertUtils.isNotEmpty(distributionPoint)){//分销点
-			 queryWrapper.eq("t.distributionPoint",distributionPoint);
+			 queryWrapper.eq("t.distributionPoint",distributionPoint);//分销点
 		 }
 		 if(oConvertUtils.isNotEmpty(smallPo)){//小po
-			 queryWrapper.eq("t.smallPo",smallPo);
+			 queryWrapper.eq("t.smallPo",smallPo);//小po
 		 }
 		 if(oConvertUtils.isNotEmpty(garmentFactory)){//成衣工厂
-			 queryWrapper.eq("t.garmentFactory",garmentFactory);
+			 queryWrapper.eq("t.garmentFactory",garmentFactory);//成衣工厂
 		 }
 		 //预发货日期
 		 if(oConvertUtils.isNotEmpty(startDate)){//起始
@@ -334,74 +342,81 @@ public class SyPackingListFabricController {
 		return result;
 	}
 
-  /**
-   * 导出excel
-   *
-   * @param request
-   * @param syPackingListFabric
-   */
-  @RequestMapping(value = "/exportXls")
-  public ModelAndView exportXls(HttpServletRequest request, SyPackingListFabric syPackingListFabric) {
-      // Step.1 组装查询条件
-      QueryWrapper<SyPackingListFabric> queryWrapper = QueryGenerator.initQueryWrapper(syPackingListFabric, request.getParameterMap());
-      LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+	/**
+	* 导出excel
+	*
+	* @param request
+	* @param syPackingListFabric
+	*/
+	@RequestMapping(value = "/exportXls")
+	public ModelAndView exportXls(HttpServletRequest request, SyPackingListFabric syPackingListFabric) {
+	  // Step.1 组装查询条件
+	  QueryWrapper<SyPackingListFabric> queryWrapper = QueryGenerator.initQueryWrapper(syPackingListFabric, request.getParameterMap());
+	  LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
 
-      //Step.2 获取导出数据
-      List<SyPackingListFabricPage> pageList = new ArrayList<SyPackingListFabricPage>();
-      List<SyPackingListFabric> syPackingListFabricList = syPackingListFabricService.list(queryWrapper);
-      for (SyPackingListFabric temp : syPackingListFabricList) {
-          SyPackingListFabricPage vo = new SyPackingListFabricPage();
-          BeanUtils.copyProperties(temp, vo);
-          List<SyPackingListFabricItem> syPackingListFabricItemList = syPackingListFabricItemService.selectByMainId(temp.getId());
-          vo.setSyPackingListFabricItemList(syPackingListFabricItemList);
-          pageList.add(vo);
-      }
-      //Step.3 调用AutoPoi导出Excel
-      ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
-      mv.addObject(NormalExcelConstants.FILE_NAME, "装箱单面料");
-      mv.addObject(NormalExcelConstants.CLASS, SyPackingListFabricPage.class);
-      mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("装箱单面料数据", "导出人:"+sysUser.getRealname(), "面料装箱单"));
-      mv.addObject(NormalExcelConstants.DATA_LIST, pageList);
-      return mv;
-  }
+	  //Step.2 获取导出数据
+	  List<SyPackingListFabricPage> pageList = new ArrayList<SyPackingListFabricPage>();
+	  List<SyPackingListFabric> syPackingListFabricList = syPackingListFabricService.list(queryWrapper);
+	  for (SyPackingListFabric temp : syPackingListFabricList) {
+		  SyPackingListFabricPage vo = new SyPackingListFabricPage();
+		  BeanUtils.copyProperties(temp, vo);
+		  List<SyPackingListFabricItem> syPackingListFabricItemList = syPackingListFabricItemService.selectByMainId(temp.getId());
+		  vo.setSyPackingListFabricItemList(syPackingListFabricItemList);
+		  pageList.add(vo);
+	  }
+	  //Step.3 调用AutoPoi导出Excel
+	  ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
+	  mv.addObject(NormalExcelConstants.FILE_NAME, "装箱单面料");
+	  mv.addObject(NormalExcelConstants.CLASS, SyPackingListFabricPage.class);
+	  mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("装箱单面料数据", "导出人:"+sysUser.getRealname(), "面料装箱单"));
+	  mv.addObject(NormalExcelConstants.DATA_LIST, pageList);
+	  return mv;
+	}
 
-  /**
-   * 通过excel导入数据
-   *
-   * @param request
-   * @param response
-   * @return
-   */
-  @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
-  public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
-      MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
-      Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
-      for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
-          MultipartFile file = entity.getValue();// 获取上传文件对象
-          ImportParams params = new ImportParams();
-          params.setTitleRows(2);
-          params.setHeadRows(1);
-          params.setNeedSave(true);
-          try {
-              List<SyPackingListFabricPage> list = ExcelImportUtil.importExcel(file.getInputStream(), SyPackingListFabricPage.class, params);
-              for (SyPackingListFabricPage page : list) {
-                  SyPackingListFabric po = new SyPackingListFabric();
-                  BeanUtils.copyProperties(page, po);
-                  syPackingListFabricService.saveMain(po);
-              }
-              return Result.OK("文件导入成功!数据行数:" + list.size());
-          } catch (Exception e) {
-              log.error(e.getMessage(),e);
-              return Result.error("文件导入失败:"+e.getMessage());
-          } finally {
-              try {
-                  file.getInputStream().close();
-              } catch (IOException e) {
-                  e.printStackTrace();
-              }
-          }
-      }
-      return Result.OK("文件导入失败!");
-  }
+	/**
+	* 通过excel导入数据
+	*
+	* @param request
+	* @param response
+	* @return
+	*/
+	@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+	public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+	  MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+	  Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
+	  for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
+		  MultipartFile file = entity.getValue();// 获取上传文件对象
+		  ImportParams params = new ImportParams();
+		  params.setTitleRows(2);
+		  params.setHeadRows(1);
+		  params.setNeedSave(true);
+		  try {
+			  List<SyPackingListFabricPage> list = ExcelImportUtil.importExcel(file.getInputStream(), SyPackingListFabricPage.class, params);
+			  for (SyPackingListFabricPage page : list) {
+				  SyPackingListFabric po = new SyPackingListFabric();
+				  BeanUtils.copyProperties(page, po);
+				  syPackingListFabricService.saveMain(po);
+			  }
+			  return Result.OK("文件导入成功!数据行数:" + list.size());
+		  } catch (Exception e) {
+			  log.error(e.getMessage(),e);
+			  return Result.error("文件导入失败:"+e.getMessage());
+		  } finally {
+			  try {
+				  file.getInputStream().close();
+			  } catch (IOException e) {
+				  e.printStackTrace();
+			  }
+		  }
+	  }
+	  return Result.OK("文件导入失败!");
+	}
 
+	@AutoLog(value = "手动同步辅料数据")
+	@ApiOperation(value="手动同步辅料数据", notes="手动同步辅料数据")
+	@GetMapping(value = "/getU8Data")
+	public Result<?> getU8Data(){
+		syPackingListFabricService.getU8Data();
+		return Result.OK("同步成功");
+	}
 }

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

@@ -136,4 +136,15 @@ public class SyPackingListFabric implements Serializable {
 	/*铅分号*/
 	@ApiModelProperty(value = "铅分号")
 	private String plumbumNo;
+
+	@ApiModelProperty(value = "是否直接从u8拉的数据")
+	//@TableField(exist = false)
+	private Integer isU8Data;
+	@ApiModelProperty(value = "u8唯一标识")
+	//@TableField(exist = false)
+	private String u8Id;
+	/**账套号*/
+	@ApiModelProperty(value = "账套号")
+	//@TableField(exist = false)
+	private String account;
 }

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

@@ -241,8 +241,8 @@ public class SyPackingListFabricItem implements Serializable {
 	@TableField(exist = false)
 	private int isAdd;
 	/**剩余数量*/
-	@Excel(name = "剩余数量", width = 15)
-	@ApiModelProperty(value = "剩余数量")
+	@Excel(name = "发运明细剩余数量", width = 15)
+	@ApiModelProperty(value = "发运明细剩余数量")
 	@TableField(exist = false)
 	private Integer surplusQuantity;
 	/**申报要素ID*/
@@ -289,4 +289,27 @@ public class SyPackingListFabricItem implements Serializable {
 	@ApiModelProperty(value = "业务部门(销售部门)")
 	private java.lang.String salesDepartment;
 
+	/**辅料u8唯一标识*/
+	@ApiModelProperty(value = "辅料u8唯一标识")
+	//@TableField(exist = false)
+	private String u8Id;
+	/**辅料u8唯一标识*/
+	@ApiModelProperty(value = "辅料u8主表标识")
+	//@TableField(exist = false)
+	private String u8Pid;
+	/**账套号*/
+	@ApiModelProperty(value = "账套号")
+	//@TableField(exist = false)
+	private String account;
+	/**尺码*/
+	@ApiModelProperty(value = "尺码")
+	//@TableField(exist = false)
+	private String size;
+	@ApiModelProperty(value = "销售订单子表id")
+	//@TableField(exist = false)
+	private String isosid;
+
+
+	@TableField(exist = false)
+	private String venId;
 }

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

@@ -56,9 +56,19 @@
 		SELECT
 			a.id syShippingDetailsId,
 			b.id syShippingDetailsItemId,
+			(SELECT supplier FROM sy_shipping_details_item WHERE inventory_Ccode LIKE '03%'
+			AND inventory_Ccode!='0399' AND sy_shipping_details_item.id=b.id) supplierDyeingPlant,
+			(SELECT supplier_code FROM sy_shipping_details_item WHERE inventory_Ccode LIKE '03%'
+			AND inventory_Ccode!='0399' AND sy_shipping_details_item.id=b.id) supplierCodeDyeingPlant,
+			(SELECT supplier FROM sy_shipping_details_item WHERE inventory_Ccode LIKE '04%'
+			AND inventory_Ccode!='0499' AND sy_shipping_details_item.id=b.id) supplierPrintingPlant,
+			(SELECT supplier_code FROM sy_shipping_details_item WHERE inventory_Ccode LIKE '04%'
+			AND inventory_Ccode!='0499' AND sy_shipping_details_item.id=b.id) supplierCodePrintingPlant,
+
+			b.inventory_CCode venId,/*获取物料分类*/
 			a.order_Type,
 			(select declaration_Name from sy_declaration_elements where id=b.elements_Id) as declaration_Name,
-			IF(INSTR(b.pur_or_sub_order,'-')>0,LEFT(b.pur_or_sub_order,INSTR(b.pur_or_sub_order,'-')-1),b.pur_or_sub_order) PlanLotNumber,
+			IF(INSTR(b.order_number,'-')>0,LEFT(b.order_number,INSTR(b.order_number,'-')-1),b.order_number) PlanLotNumber,
 			c.master_Metering,/*主计量*/
 			b.salesman,/*业务员*/
 			b.sales_Department,/*业务部门*/

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

@@ -5,6 +5,7 @@
     <select id="queryShippingDetails" resultType="org.jeecg.modules.documents.shippingDetails.entity.VO.SyShippingDetailsVo">
     SELECT t.* FROM(SELECT
         a.id AS id,
+        a.create_by as createBy,
         a.document_no AS documentNo,
         a.document_date AS documentDate,
         b.order_number AS orderNumber,

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/service/ISyPackingListFabricService.java

@@ -60,5 +60,5 @@ public interface ISyPackingListFabricService extends IService<SyPackingListFabri
 	//分页查询
 	IPage<SyPackingListFabric> selectPage(IPage<SyPackingListFabric> page,QueryWrapper<SyPackingListFabric> queryWrapper);
 
-
+	void getU8Data();
 }

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

@@ -1,13 +1,20 @@
 package org.jeecg.modules.splfi.service.impl;
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.modules.documents.orderData.entity.SyOrderDataItem;
 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.service.impl.SyShippingDetailsItemServiceImpl;
+import org.jeecg.modules.openApi.entity.DxpDataPlan;
+import org.jeecg.modules.openApi.service.IDxpDataPlanService;
+import org.jeecg.modules.openApi.service.ISenYuDataSourceOne;
+import org.jeecg.modules.openApi.service.ISenYuDataSourceThree;
+import org.jeecg.modules.openApi.service.ISenYuDataSourceTwo;
 import org.jeecg.modules.spapl.entity.SyPreAssembledPackingList;
 import org.jeecg.modules.splfi.entity.SyPackingListFabric;
 import org.jeecg.modules.splfi.entity.SyPackingListFabricItem;
@@ -15,6 +22,7 @@ import org.jeecg.modules.splfi.mapper.SyPackingListFabricItemMapper;
 import org.jeecg.modules.splfi.mapper.SyPackingListFabricMapper;
 import org.jeecg.modules.splfi.service.ISyPackingListFabricService;
 import org.jeecg.modules.system.entity.SysUser;
+import org.jeecg.modules.system.util.JsonChangeUtils;
 import org.jeecg.modules.system.util.oConvertUtils;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
@@ -42,13 +50,21 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 	private SyPackingListFabricItemMapper syPackingListFabricItemMapper;
 	@Autowired
 	private SyShippingDetailsItemMapper syShippingDetailsItemMapper;
-	
+	@Autowired
+	private ISenYuDataSourceOne senYuDataSourceOne;
+	@Autowired
+	private ISenYuDataSourceTwo senYuDataSourceTwo;
+	@Autowired
+	private ISenYuDataSourceThree senYuDataSourceThree;
+	@Autowired
+	private IDxpDataPlanService dxpDataPlanService;
 	@Override
 	@Transactional
 	public SyPackingListFabric saveMain(SyPackingListFabric syPackingListFabric) {
 		SimpleDateFormat sf= new SimpleDateFormat("yyMMdd");
 		QueryWrapper<SyPackingListFabric> queryWrapperCount=new QueryWrapper<>();
 		queryWrapperCount.like("create_time", new SimpleDateFormat("yyyy-MM-dd").format(System.currentTimeMillis()));
+		queryWrapperCount.eq("is_U8_Data","0");//判断是不是面料
 		queryWrapperCount.select("lpad(count(0)+1,6,0) as id");
 		String dateNo ="ML"+sf.format(System.currentTimeMillis())+getOne(queryWrapperCount).getId();//获取单据号
 		syPackingListFabric.setDelFlag("0");
@@ -153,9 +169,12 @@ return null;
 	public  SyPackingListFabric getSyShippingDetailsData(String[] ids,String [] groupIds) throws ParseException {
 		String time= new SimpleDateFormat("yyyy-MM-dd").format(System.currentTimeMillis());
 		SyPackingListFabric syPackingListFabric=syPackingListFabricMapper.getSyShippingDetailsData(ids);
-		syPackingListFabric.setPreparedDate(new SimpleDateFormat("yyyy-MM-dd").parse(time));//获取制单日期
-		System.out.println("ids的数据为:\t"+ids[0]+"\ngroupIds为:\t"+groupIds[0]);
-		syPackingListFabric.setSyPackingListFabricItem(syPackingListFabricItemMapper.getSyShippingDetailsDatas(ids,groupIds));
+		//syPackingListFabric.setPreparedDate(new SimpleDateFormat("yyyy-MM-dd").parse(time));//获取制单日期
+		//System.out.println("ids的数据为:\t"+ids[0]+"\ngroupIds为:\t"+groupIds[0]);
+		List<SyPackingListFabricItem> syPackingListFabricItems=syPackingListFabricItemMapper.getSyShippingDetailsDatas(ids,groupIds);
+
+		syPackingListFabric.setSyPackingListFabricItem(syPackingListFabricItems);
+
 		return syPackingListFabric;
 	}
 
@@ -171,4 +190,136 @@ return null;
 		return syPackingListFabricMapper.queryMain(page,queryWrapper);
 	}
 
+	/**
+	 * 每3分钟拉取一次数据
+	 */
+	@Override
+	@Scheduled(fixedRate=1000*60*3)
+	//@Transactional
+	public void getU8Data() {
+		SimpleDateFormat sf= new SimpleDateFormat("yyMMdd");
+		try{
+			QueryWrapper<DxpDataPlan> queryWrapper = new QueryWrapper<>();
+			queryWrapper.eq("code", "senYu_accessory_data");
+			DxpDataPlan dxpDataPlan=dxpDataPlanService.getOne(queryWrapper);
+			String time=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(System.currentTimeMillis());//获取现在时间
+			String lastTime=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(dxpDataPlan.getLastTime());
+			System.out.println("time:\t"+time);
+			System.out.println("lastTime:\t"+lastTime);
+			String [] pks=dxpDataPlan.getPkOrg().split(",");
+			for (String pk : pks){
+				String account=pk.split(":")[1];//获取账套号
+				//先插主表数据,然后根据主表id查询子表数据再添加
+				String sql="select \n" +
+						"a.id u8Id,\n" +
+						account+" as account , \n" +
+						"'1' as is_U8_Data,\n" +
+						"a.cMemo memo,\n" +
+						"a.cMaker preparedBy,\n" +
+						"a.cDefine10  exportInvoiceNo,\n" +
+						"a.dnmaketime  preparedDate\n" +
+						"from rdrecord32 a\n" +
+						"where " +
+						"cCusCode='T020001' and\n" +
+						" (select count(1) from \n" +
+						"rdrecords32 left join Inventory\n" +
+						"on rdrecords32.cInvCode=Inventory.cInvCode \n" +
+						"where rdrecords32.id=a.id\n" +
+						"and cInvCCode not like '01%'\n" +
+						"and cInvCCode not like '02%'\n" +
+						"and cInvCCode not like '03%'\n" +
+						"and cInvCCode not like '04%'\n" +
+						"and cInvCCode not like '19%')>0"+
+						"and a.dnverifytime>'"+lastTime+"'";//根据最后一次拉去时间
+				List<Map<String, Object>> listMain = new ArrayList<>();
+				System.out.println("sql:\t"+sql);
+				if(account.equals("903")){
+					listMain = senYuDataSourceThree.queryForList(sql);//903
+				}else{
+					listMain = senYuDataSourceTwo.queryForList(sql);//902
+				}
+				if (listMain.size()==0){
+					continue;//退出本次循环
+				}
+				List<JSONObject> jsonObjects = JsonChangeUtils.toJSONObject(listMain);
+				for(JSONObject json : jsonObjects){
+					SyPackingListFabric sy = JSONObject.toJavaObject(json, SyPackingListFabric.class);
+					QueryWrapper<SyPackingListFabric> queryWrapperCount=new QueryWrapper<>();
+					queryWrapperCount.like("create_time", new SimpleDateFormat("yyyy-MM-dd").format(System.currentTimeMillis()));//今天生成
+					queryWrapper.eq("is_U8_Data","1");//判断是不是辅料
+					queryWrapperCount.select("lpad(count(0)+1,6,0) as id");
+					String dateNo ="FL"+sf.format(System.currentTimeMillis())+getOne(queryWrapperCount).getId();//获取单据号
+					sy.setDocumentNo(dateNo);//单据号
+					sy.setU8Id(account+sy.getU8Id());
+					sy.setId(sy.getU8Id());
+					syPackingListFabricMapper.insert(sy);//添加数据
+					String sql2="select " +
+							"b.AutoID as u8id ,\n" +
+							"b.id as u8pid,\n" +
+							"left(b.csocode,ISNULL(NULLIF(CHARINDEX('-',b.csocode)-1,-1),len(b.csocode))) as planLotNumber,\n" +
+							"b.csocode as orderNumber,\n" +
+							account+" as account,\n"+
+							"f.AutoID  as isosid,\n" +
+							"b.iQuantity  as inventoryQuantity,\n" +
+							"b.cbMemo as remarks,\n" +
+							"b.cbMemo as memo,\n" +
+							"f.iTaxUnitPrice as price,\n"+
+							"d.cPersonName as salesman,\n" +
+							"b.cDefine22 as itemNumber,\n" +
+							"b.cFree6 as gramWeight,\n" +
+							"b.cFree1 as colour,\n" +
+							"b.cInvCode as inventoryCode,\n" +
+							"c.cInvName as inventoryName,\n" +
+							"c.cInvName as composition,\n" +
+							"b.cFree2 as size ,\n" +
+							"e.cComUnitName as masterMetering,\n" +
+							"b.cFree4 as width,\n" +
+							"c.cInvStd  as specificationAndModel\n" +
+							"from rdrecord32 a \n" +
+							"left JOIN rdrecords32 b\n" +
+
+							"on a.id=b.id \n" +
+							"left join Inventory c\n" +
+							"on b.cInvCode=c.cInvCode\n" +
+							"LEFT JOIN Person  d\n" +
+							"ON d.cPersonCode = a.cPersonCode\n" +
+							"left join ComputationUnit e\n" +
+							"on c.cComunitCode=e.cComunitCode\n" +
+							"left join SO_SODetails f\n" +
+							"on b.iorderdid=f.iSOsID\n" +
+							"where cInvCCode not like '01%'\n" +
+							"and cInvCCode not like '02%'\n" +
+							"and cInvCCode not like '03%'\n" +
+							"and cInvCCode not like '04%'\n" +
+							"and cInvCCode not like '19%'\n" +
+							"and cCusCode='T020001'\n" +
+							"and a.id='"+sy.getU8Id().substring(3)+"'";
+					List<Map<String, Object>> list = new ArrayList<>();
+					String groupId=oConvertUtils.getId();//获取id
+					if(account.equals("903")){
+						list = senYuDataSourceThree.queryForList(sql2);//903
+					}else{
+						list = senYuDataSourceTwo.queryForList(sql2);//902
+					}
+					List<JSONObject> jianSon = JsonChangeUtils.toJSONObject(list);
+					for (JSONObject json1 :  jianSon){
+						SyPackingListFabricItem sy1 = JSONObject.toJavaObject(json1, SyPackingListFabricItem.class);
+						sy1.setU8Id(account+sy1.getU8Id());//获取账套号+id
+						sy1.setId(sy1.getU8Id());
+						sy1.setActualDeclaredQuantity(sy1.getInventoryQuantity());//给报关数量赋值
+						sy1.setGroupId(groupId);
+						sy1.setSyPackingListFabricId(sy.getId());//获取主表id
+						sy1.setU8Pid(sy.getU8Id());
+						syPackingListFabricItemMapper.insert(sy1);//插入新数据
+					}
+					//sys.add(sy);//集合
+				}
+			}
+			dxpDataPlanService.updateLastTime2(time,"senYu_accessory_data");//修改最后抓取时间
+		}catch (Exception e){
+			System.out.println("辅料更新失败:"+e.getMessage());
+			log.error(e.getMessage());
+		}
+		//return sys;
+	}
 }

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

@@ -89,13 +89,18 @@ public class SyPackingListTailoringController {
 								   String endDate,
 								   HttpServletRequest req) {
 		String orderNumber=syPackingListTailoringVo.getOrderNumber();//获取订单号
+		String garmentFactory=syPackingListTailoringVo.getGarmentFactory();//获取成衣工厂
 		syPackingListTailoringVo.setOrderNumber(null);//获取订单号
+		syPackingListTailoringVo.setGarmentFactory(null);//获取成衣工厂
 		QueryWrapper<SyPackingListTailoringVo> queryWrapper = QueryGenerator.initQueryWrapper(syPackingListTailoringVo, req.getParameterMap());
 		Page<SyPackingListTailoringVo> page = new Page<SyPackingListTailoringVo>(pageNo, pageSize);
 		queryWrapper.eq("a.del_flag","0");
 		if(oConvertUtils.isNotEmpty(orderNumber)){
 			queryWrapper.eq("a.order_number",orderNumber);//查询订单号
 		}
+		if(oConvertUtils.isNotEmpty(garmentFactory)){
+			queryWrapper.eq("a.garment_Factory",garmentFactory);//查询成衣工厂
+		}
 		if(oConvertUtils.isNotEmpty(stratDate)){
 			queryWrapper.ge("b.hod",stratDate);//起始日期
 		}

+ 1 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/mapper/xml/syPackingListTailoringItemMapper.xml

@@ -116,6 +116,7 @@
 		ompo_Id_Item,/*采购委外订单子表id*/
 		ymoney,/*佣金*/
 		plan_Size,/*计划尺码数量*/
+		remarks,/*备注*/
 		group_id
 	FROM  sy_packing_list_tailoring_item
 	WHERE sy_packing_list_tailoring_id =#{value} AND del_flag = 0