Parcourir la source

预托书调整

zengtx il y a 3 ans
Parent
commit
a54e544355

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

@@ -81,7 +81,7 @@ public class SyLetterDepositController extends JeecgController<SyLetterDeposit,
 		try {
 			QueryWrapper<SyLetterDeposit> queryWrapper = QueryGenerator.initQueryWrapper(syLetterDeposit, req.getParameterMap());
 			Page<SyLetterDeposit> page = new Page<SyLetterDeposit>(pageNo, pageSize);
-			queryWrapper.eq("a.del_flag",0).groupBy("a.depositary_receipt_no").orderByDesc("a.depositary_receipt_no");
+			queryWrapper.eq("a.del_flag",0).orderByDesc("a.depositary_receipt_no");
 			IPage<SyLetterDeposit> pageList = syLetterDepositService.querySyLetterDeposit(page, queryWrapper);
 			result.setSuccess(true);
 			result.setMessage("查询成功!");
@@ -258,7 +258,7 @@ public class SyLetterDepositController extends JeecgController<SyLetterDeposit,
 			SyLetterDeposit syLetterDeposit = syLetterDepositService.getById(id);
 			//查询子表信息
 			QueryWrapper<SyLetterDepositItem> queryWrapper = new QueryWrapper<>();
-			queryWrapper.eq("sy_letter_deposit_id",id).eq("del_flag",0);
+			queryWrapper.eq("sy_letter_deposit_id",id).eq("del_flag",0).groupBy("letter_groupid");
 			List<SyLetterDepositItem> syLetterDepositItemList = syLetterDepositItemService.list(queryWrapper);
             if(syLetterDepositItemList.size()!=0){
 				syLetterDeposit.setSyLetterDepositItemList(syLetterDepositItemList);
@@ -340,39 +340,38 @@ public class SyLetterDepositController extends JeecgController<SyLetterDeposit,
 
 	 /**
 	  * 预托书提交、取消提交
-	  * @param id
-	  * @param type
+	  * @param syLetterDeposit
 	  * @return
 	  */
 	 @AutoLog(value = "预托书提交、取消提交,(提交:type=1,取消提交:type = 2)")
 	 @ApiOperation(value = "预托书提交、取消提交,(提交:type=1,取消提交:type = 2)", notes="预托书提交、取消提交,(提交:type=1,取消提交:type = 2)")
 	 @PostMapping(value = "/syShippingDetailsSubmit")
-	 public Result<Integer> syLetterDepositSubmit(String id, String type) {
+	 public Result<Integer> syLetterDepositSubmit(@RequestBody SyLetterDeposit syLetterDeposit) {
 
 		 Result<Integer> result = new Result<Integer>();
 
 		 try {
-			 if(org.jeecg.modules.system.util.oConvertUtils.isEmpty(id)){
+			 if(org.jeecg.modules.system.util.oConvertUtils.isEmpty(syLetterDeposit.getId())){
 				 result.setMessage("未拿到ID");
 				 result.setSuccess(false);
 				 return  result;
 			 }
-			 if(org.jeecg.modules.system.util.oConvertUtils.isEmpty(type)){
+			 if(org.jeecg.modules.system.util.oConvertUtils.isEmpty(syLetterDeposit.getType())){
 				 result.setMessage("未拿到type");
 				 result.setSuccess(false);
 				 return  result;
 			 }
 
 			 //判断是否有该数据
-			 SyLetterDeposit shippingDetails = syLetterDepositService.getById(id);
+			 SyLetterDeposit shippingDetails = syLetterDepositService.getById(syLetterDeposit.getId());
 			 if(org.jeecg.modules.system.util.oConvertUtils.isEmpty(shippingDetails)){
 				 result.setMessage("未找到该数据!");
 				 result.setSuccess(false);
 				 return  result;
 			 }
-			 int i = syLetterDepositService.syLetterDepositSubmit(id, type);
+			 int i = syLetterDepositService.syLetterDepositSubmit(syLetterDeposit.getId(), syLetterDeposit.getType());
 			 if(i>0){
-			 	if(type.equals("1")){
+			 	if(syLetterDeposit.getType().equals("1")){
 					result.setSuccess(true);
 					result.setMessage("提交成功");
 					result.setResult(i);

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

@@ -233,4 +233,8 @@ public class SyLetterDeposit {
 	@TableField(exist = false)
 	private List<SyUsd> syUsdList;
 
+	@ApiModelProperty(value = "提交(1)/取消提交(2)")
+	@TableField(exist = false)
+	private String type;
+
 }

+ 10 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/letterDeposit/entity/SyLetterDepositItem.java

@@ -190,4 +190,14 @@ public class SyLetterDepositItem {
 	/**集装箱号*/
 	@ApiModelProperty(value = "集装箱号")
 	private String containerNumber;
+	/**预装箱单分组ID*/
+	@ApiModelProperty(value = "预装箱单分组ID")
+	private String groupid;
+	/**预托书分组ID*/
+	@ApiModelProperty(value = "预托书分组ID")
+	private String letterGroupid;
+	/**预装箱单子表ID集合*/
+	@ApiModelProperty(value = "预装箱单子表ID集合")
+    private String preIds;
+
 }

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

@@ -78,9 +78,9 @@ on a.id = b.sy_pre_assembled_packing_list_id
 <!--    </select>-->
 
     <select id="querySyLetterDeposit" resultType="org.jeecg.modules.documents.letterDeposit.entity.SyLetterDeposit">
-select a.depositary_receipt_no as depositaryReceiptNo,a.order_number as orderNumber,a.export_invoice_no as exportInvoiceNo,
+select a.id as id,a.depositary_receipt_no as depositaryReceiptNo,a.order_number as orderNumber,a.export_invoice_no as exportInvoiceNo,
 a.client_abbreviation as clientAbbreviation,
-a.the_distribution as theDistribution,a.unit_in_operation as unitInOperation,sum(b.box_number) as boxNumber,sum(b.total_gross_weight) as totalGrossWeight,sum(b.total_volume) as totalVolume,
+a.the_distribution as theDistribution,a.unit_in_operation as unitInOperation,b.box_number as boxNumber,b.total_gross_weight as totalGrossWeight,b.total_volume as totalVolume,
 a.money as money,a.the_actual_shipping_date as theActualShippingDate,a.exchange_earnings_text as exchangeEarningsText,a.consignee as consignee,a.bill_of_lading_or_carriage_receipt as billOfLadingOrCarriageReceipt,
 a.addressee as addressee,a.trade_country as tradeCountry,a.arrive_in_country as arriveInCountry,a.export_port as exportPort,a.notifier as notifier,a.nottfy as nottfy,a.destination_port as destinationPort,
 a.the_documents_state as theDocumentsState from sy_letter_deposit a

+ 105 - 34
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/letterDeposit/service/impl/SyLetterDepositServiceImpl.java

@@ -88,57 +88,123 @@ public class SyLetterDepositServiceImpl extends ServiceImpl<SyLetterDepositMappe
 
         //ID为空是新增,ID不为空是修改
         if(oConvertUtils.isEmpty(syId)){
-            SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-            //String createTime = sf.format(new Date());
             syLetterDeposit.setCreateTime(new Date());
-           // syLetterDeposit.setDepositaryReceiptNo("Y"+createTime);
-            syLetterDeposit.setTheDocumentsState("0");//状态
-            //回写预装箱单预托书号
-            String preId = syLetterDeposit.getSyLetterDepositItemList().get(0).getSyPreAssembledPackingListId();
-            if(oConvertUtils.isNotEmpty(preId)){
-              SyPreAssembledPackingList preEntity = new SyPreAssembledPackingList();
-              preEntity.setId(preId);
-              //预托书号
-              preEntity.setDepositaryReceiptNo(syLetterDeposit.getDepositaryReceiptNo());
-              syPreAssembledPackingListService.updateById(preEntity);
-
-            }
+            //syLetterDeposit.setTheDocumentsState("0");//状态
         }
+        syLetterDeposit.setDelFlag("0");
         //新增子表
         List<SyLetterDepositItem> list = syLetterDeposit.getSyLetterDepositItemList();
         if(list.size()!=0){
+
             for (SyLetterDepositItem li:list){
-               // List<String> stringList = new ArrayList<>();
-                //设置ID
-                li.setId(oConvertUtils.id());
-                //设置预托书主表ID
-                li.setSyLetterDepositId(id);
-                syLetterDepositItemList.add(li);
+                //预装箱单子表ID集合
+                List<String> stringList = new ArrayList<>();
+                //预托书分组ID
+                String letterGroupid = oConvertUtils.id();
 
-                //回写集装箱单号与集装箱代号
-                //预装箱单主表ID
-                String perid = li.getSyPreAssembledPackingListId();
+                //预装箱单子表ID
+                String perid = li.getSyPreAssembledPackingListItemId();
                 String itemIdSplit[] = perid.split(",");
                 for (String item:itemIdSplit) {
+                    stringList.add(item);
+                }
+                //查询预装箱单子表数据
+                QueryWrapper<SyPreAssembledPackingListItem> syPreAssembledPackingListItemQueryWrapper = new QueryWrapper<>();
+                syPreAssembledPackingListItemQueryWrapper.in("id",stringList);
+                List<SyPreAssembledPackingListItem> syPerList = syPreAssembledPackingListItemService.list(syPreAssembledPackingListItemQueryWrapper);
+                for(SyPreAssembledPackingListItem syper :syPerList){
+                    //创建预托书子表对象
+                    SyLetterDepositItem itenPojo = new SyLetterDepositItem();
+                    //给对象赋值
+                    //设置ID
+                    itenPojo.setId(oConvertUtils.id());
+                    //设置预托书主表ID
+                    itenPojo.setSyLetterDepositId(id);
+                    //设置groupid
+                    itenPojo.setLetterGroupid(letterGroupid);
+                    //设置预装箱单子表ID
+                    itenPojo.setSyPreAssembledPackingListItemId(syper.getId());
+                    //设置预装箱单主表ID
+                    itenPojo.setSyPreAssembledPackingListId(syper.getSyPreAssembledPackingListId());
+                    itenPojo.setAcSetNo(syper.getAcSetNo());
+                    itenPojo.setGarmentFactory(syper.getGarmentFactory());
+                    itenPojo.setHod(syper.getHod());
+                    itenPojo.setStyleNo(syper.getStyleNo());
+                    itenPojo.setPoNo(syper.getPoNo());
+                    itenPojo.setItemCode(syper.getItemCode());
+                    itenPojo.setDistributionPoint(syper.getDistributionPoint());
+                    itenPojo.setPrepackSku(syper.getPrepackSku());
+                    itenPojo.setSize(syper.getSize());
+                    itenPojo.setStartingBoxNumber(syper.getStartingBoxNumber());
+                    itenPojo.setEndCaseNumber(syper.getEndCaseNumber());
+                    itenPojo.setColour(syper.getColour());
+                    itenPojo.setPiecesBox(syper.getPiecesBox().toString());
+                    itenPojo.setBoxNumber(syper.getBoxNumber());
+                    itenPojo.setTotal(syper.getTotal());
+                    itenPojo.setNetWeight(syper.getNetWeight());
+                    itenPojo.setTotalNetWeight(syper.getTotalNetWeight());
+                    itenPojo.setGrossWeight(syper.getGrossWeight());
+                    itenPojo.setTotalNetWeight(syper.getTotalNetWeight());
+                    itenPojo.setOuterBoxHeight(syper.getOuterBoxHeight());
+                    itenPojo.setOuterBoxLength(syper.getOuterBoxLength());
+                    itenPojo.setTotalNetWeight(syper.getTotalNetWeight());
+                    itenPojo.setTotalVolume(syper.getTotalVolume());
+                    itenPojo.setNetWeightToo(syper.getNetWeightToo());
+                    itenPojo.setUnitPrice(syper.getUnitPrice());
+                    itenPojo.setPkOrg(syper.getPkOrg());
+                    itenPojo.setGroupid(syper.getGroupId());
+                    itenPojo.setContainerCode(li.getContainerCode());
+                    itenPojo.setContainerNumber(li.getContainerNumber());
+                    itenPojo.setDelFlag("0");
+                    itenPojo.setPreIds(perid);
+
+                    syLetterDepositItemList.add(itenPojo);
+
+                    //回写发运明细是否被参照
+                    String shippingIds = syper.getSyDeclarationElementsItemId();
+                    SyShippingDetailsItem syshippingItem = new SyShippingDetailsItem();
+                    syshippingItem.setId(shippingIds);
+                    syshippingItem.setIsReference(1);
+
+                }
+                //回写预装箱单主表预托书号
+                String preId = li.getSyPreAssembledPackingListId();
+                if(oConvertUtils.isNotEmpty(preId)){
                     SyPreAssembledPackingList preEntity = new SyPreAssembledPackingList();
-                    preEntity.setId(item);
+                    preEntity.setId(preId);
+                    //预托书号
+                    preEntity.setDepositaryReceiptNo(syLetterDeposit.getDepositaryReceiptNo());
                     //集装箱代号
                     preEntity.setContainerCode(li.getContainerCode());
                     //集装箱号
                     preEntity.setContainerNumber(li.getContainerNumber());
                     syPreAssembledPackingListService.updateById(preEntity);
+                }
 
-                    //回写发运明细是否被参照
-                    SyPreAssembledPackingListItem preItem = syPreAssembledPackingListItemService.getById(li.getSyPreAssembledPackingListItemId());
-                    if(oConvertUtils.isNotEmpty(preItem)){
-                        //发运明细子表ID
-                        String shippingIds = preItem.getSyDeclarationElementsItemId();
-                        SyShippingDetailsItem syshippingItem = new SyShippingDetailsItem();
-                        syshippingItem.setId(shippingIds);
-                        syshippingItem.setIsReference(1);
-                    }
+                //回写集装箱单号与集装箱代号
+                //预装箱单主表ID
+//                String perid = li.getSyPreAssembledPackingListId();
+//                String itemIdSplit[] = perid.split(",");
+//                for (String item:itemIdSplit) {
+//                    SyPreAssembledPackingList preEntity = new SyPreAssembledPackingList();
+//                    preEntity.setId(item);
+//                    //集装箱代号
+//                    preEntity.setContainerCode(li.getContainerCode());
+//                    //集装箱号
+//                    preEntity.setContainerNumber(li.getContainerNumber());
+//                    syPreAssembledPackingListService.updateById(preEntity);
+//
+//                    //回写发运明细是否被参照
+//                    SyPreAssembledPackingListItem preItem = syPreAssembledPackingListItemService.getById(li.getSyPreAssembledPackingListItemId());
+//                    if(oConvertUtils.isNotEmpty(preItem)){
+//                        //发运明细子表ID
+//                        String shippingIds = preItem.getSyDeclarationElementsItemId();
+//                        SyShippingDetailsItem syshippingItem = new SyShippingDetailsItem();
+//                        syshippingItem.setId(shippingIds);
+//                        syshippingItem.setIsReference(1);
+//                    }
+//                }
 
-                }
             }
             if(syLetterDepositItemList.size()!=0){
                 syLetterDepositItemService.saveBatch(syLetterDepositItemList);
@@ -191,6 +257,11 @@ public class SyLetterDepositServiceImpl extends ServiceImpl<SyLetterDepositMappe
 //            syLetterDepositMapper.syRmbDelete(id);
 //            //删除美元
 //            syLetterDepositMapper.syUsdDelete(id);
+
+            List<SyLetterDepositItem> list = syLetterDeposit.getSyLetterDepositItemList();
+            for (SyLetterDepositItem li:list) {
+                li.setSyPreAssembledPackingListItemId(li.getPreIds());
+            }
             //新增
             syLetterDepositAdd(syLetterDeposit);
         }

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

@@ -145,4 +145,6 @@ public class SyShippingDetails {
 	@Excel(name = "整单合计", width = 15)
 	@ApiModelProperty(value = "整单合计")
 	private java.math.BigDecimal wholeOrderTotal;
+
+
 }