瀏覽代碼

发运明细,预托书,托书调整

zengtx 2 年之前
父節點
當前提交
8c8b3f1142

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

@@ -81,7 +81,7 @@ on a.id = b.sy_pre_assembled_packing_list_id
     <select id="querySyLetterDeposit" resultType="org.jeecg.modules.documents.letterDeposit.entity.SyLetterDeposit">
 select a.id as id,a.depositary_receipt_no as depositaryReceiptNo,b.order_number as orderNumber,a.export_invoice_no as exportInvoiceNo,
 b.client_abbreviation as clientAbbreviation,a.exchange_earnings_value as exchangeEarningsValue,b.sy_pre_assembled_packing_list_id as syPreAssembledPackingListId,
-b.distribution_point as distributionPoint,a.unit_in_operation as unitInOperation,b.box_number as boxNumber,sum(b.total_gross_weight) as totalGrossWeight,sum(b.total_volume) as totalVolume,
+b.distribution_point as distributionPoint,a.unit_in_operation as unitInOperation,a.box_number as boxNumber,sum(b.total_gross_weight) as totalGrossWeight,sum(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
@@ -93,7 +93,7 @@ on a.id = b.sy_letter_deposit_id
 
     <select id="queryItem" resultType="org.jeecg.modules.documents.letterDeposit.entity.SyLetterDepositItem">
 
-        select item_number as itemNumber,small_po as smallPo,total,box_number as boxNumber,pre_ids as preIds,sy_pre_assembled_packing_list_id as syPreAssembledPackingListId,
+        select item_number as itemNumber,small_po as smallPo,total,box_number as boxNumber,pre_ids as syPreAssembledPackingListItemId,sy_pre_assembled_packing_list_id as syPreAssembledPackingListId,
 sum(total_gross_weight) as totalGrossWeight,sum(total_net_weight) as totalNetWeight,sum(total_volume) as totalVolume,distribution_point as distributionPoint,
 container_code as containerCode,container_number as containerNumber,unit_price as unitPrice,sum(total_price) as totalPrice,
 hod,salesman,sales_Department as salesDepartment,spur_or_sub_order as spurOrSubOrder,supplier,client_abbreviation as clientAbbreviation

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

@@ -91,6 +91,9 @@ public class SyLetterDepositServiceImpl extends ServiceImpl<SyLetterDepositMappe
         String id = oConvertUtils.id();
         syLetterDeposit.setId(id);
 
+        //总箱数
+        int boxnumber = 0;
+
         //ID为空是新增,ID不为空是修改
         if(oConvertUtils.isEmpty(syId)){
             syLetterDeposit.setCreateTime(new Date());
@@ -109,6 +112,8 @@ public class SyLetterDepositServiceImpl extends ServiceImpl<SyLetterDepositMappe
                 //预托书分组ID
                 String letterGroupid = oConvertUtils.id();
 
+                boxnumber = boxnumber+li.getBoxNumber().intValue();
+
                 //预装箱单子表ID
                 String perid = li.getSyPreAssembledPackingListItemId();
                 String itemIdSplit[] = perid.split(",");
@@ -209,6 +214,10 @@ public class SyLetterDepositServiceImpl extends ServiceImpl<SyLetterDepositMappe
             }
         }
 
+        //主表总箱数赋值
+        syLetterDeposit.setBoxNumber(new BigDecimal(boxnumber));
+
+
 //        //新增人民币
 //        List<SyRmb> rmbList = syLetterDeposit.getSyRmbList();
 //        for(SyRmb rmb:rmbList){
@@ -258,8 +267,7 @@ public class SyLetterDepositServiceImpl extends ServiceImpl<SyLetterDepositMappe
 
             List<SyLetterDepositItem> list = syLetterDeposit.getSyLetterDepositItemList();
             for (SyLetterDepositItem li:list) {
-                li.setSyPreAssembledPackingListItemId(li.getPreIds());
-
+                //li.setSyPreAssembledPackingListItemId(li.getPreIds());
                  //修改预装箱单主表参照状态
                 SyPreAssembledPackingList entit = new SyPreAssembledPackingList();
                 entit.setId(li.getSyPreAssembledPackingListId());

+ 3 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/seclarationElements/service/impl/SyDeclarationElementsServiceImpl.java

@@ -105,14 +105,14 @@ public class SyDeclarationElementsServiceImpl extends ServiceImpl<SyDeclarationE
                     syDeclarationElementsItemService.saveBatch(syDeclarationElementsItemList);
                 }
 
+                //修改发运明细报关要素ID
+                syShippingDetailsService.writeBackElenmentId(id,shippingList);
+
                 boolean ok = save(syDeclarationElements);
                 if(ok){
                     return syDeclarationElements;
                }
 
-               //回写发运明细报关要素ID
-               syShippingDetailsService.writeBackElenmentId(id,shippingList);
-
         }else{ //修改
 
              //删除子表

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

@@ -70,7 +70,7 @@ where a.del_flag = 0
   AND b.inventory_ccode like '19%'
 
 GROUP BY b.group_id
- order by a.document_no desc) as t
+ order by a.create_time desc) as t
 ${ew.customSqlSegment}
 
 </select>
@@ -94,7 +94,7 @@ on a.id = b.shipping_details_id and b.del_flag = 0
 where a.del_flag = 0
   AND b.inventory_ccode not like '19%'
 GROUP BY b.group_id
- order by a.document_no desc) as t
+ order by a.create_time desc) as t
 ${ew.customSqlSegment}
 
 </select>

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

@@ -1,14 +1,22 @@
 package org.jeecg.modules.documents.syShippingOrder.controller;
 
+import java.io.*;
+import java.lang.reflect.Field;
+import java.math.BigDecimal;
+import java.text.DateFormat;
 import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.*;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
+import java.util.function.Function;
+import java.util.stream.Collectors;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+
+import org.apache.poi.ss.usermodel.Workbook;
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.util.oConvertUtils;
@@ -28,10 +36,13 @@ import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.modules.documents.syShippingOrder.service.impl.SyShippingOrderItemServiceImpl;
 import org.jeecg.modules.spapl.entity.SizeTable;
 import org.jeecg.modules.splt.mapper.SyPackingListTailoringItemMapper;
+import org.jeecg.modules.system.util.JsonChangeUtils;
+import org.jeecgframework.poi.excel.ExcelExportUtil;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.entity.TemplateExportParams;
 import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
 
 import org.springframework.beans.factory.annotation.Autowired;
@@ -496,4 +507,85 @@ public class SyShippingOrderController extends JeecgController<SyShippingOrder,
 		 return  result;
 	 }
 
+
+	 /**
+	  * 发票打印
+	  * @param id
+	  * @return
+	  */
+	 @AutoLog(value = "发票打印")
+	 @ApiOperation(value = "发票打印")
+	 @RequestMapping(value = "/syShippingOrderPrint")
+	 public SyShippingOrder syShippingOrderPrint(String id,String testName)  throws ParseException {
+
+	 	 //总毛重
+		 BigDecimal totalGrossWeight = BigDecimal.ZERO;
+		 //总净重
+		 BigDecimal totalNetweight = BigDecimal.ZERO;
+
+
+		 //查询主表数据
+		 SyShippingOrder entity = syShippingOrderService.getById(id);
+
+		 SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
+		 Date date = sf.parse(entity.getLatestDateOfShipment());
+		 String lasttime = sf.format(date);
+		 entity.setLatestDateOfShipment(lasttime);
+		 //查询子表数据
+		 QueryWrapper<SyShippingOrderItem> queryWrapper = new QueryWrapper();
+		 queryWrapper.eq("sy_shipping_order_item_id",id);
+		 List<SyShippingOrderItem> list = syShippingOrderItemService.list(queryWrapper);
+
+		 for(SyShippingOrderItem li:list){
+		 	//设置总毛重
+			 totalGrossWeight.add(li.getGrossWeight());
+			 //总净重
+			 totalNetweight.add(li.getNetWeight());
+		 }
+
+
+
+
+
+		 try {
+			 //String[] nameList = new String[]{"报关信息-报关单","报关信息-申报要素-成衣","报关信息-发票","报关信息-合同","报关信息-申报要素-面料","报关信息-装箱单"};
+
+			 if(testName.equals("报关信息-报关单")){
+
+				 TemplateExportParams params = new TemplateExportParams("D:\\"+testName+".xlsx");
+
+				 Map<String, Object> map = new HashMap<String, Object>();
+
+				 Field[] fields = entity.getClass().getDeclaredFields();
+				 for (Field field : fields) {
+					 field.setAccessible(true);
+					 map.put(field.getName(), field.get(entity));
+				 }
+				Map<String, SyShippingOrderItem> maps = list.stream().collect(Collectors.toMap(SyShippingOrderItem::getId, Function.identity()));
+				 map.put("item", maps);
+
+				 log.info("输出的数据:" + map);
+
+				 Workbook workbook = ExcelExportUtil.exportExcel(params, map);
+				 File savefile = new File("C:\\Users\\Mr_zeng\\Desktop\\"+testName+".xlsx");
+				 if (!savefile.exists()) {
+					 savefile.mkdirs();
+				 }
+				 FileOutputStream fos = new FileOutputStream("C:\\Users\\Mr_zeng\\Desktop\\"+testName+".xlsx");
+				 workbook.write(fos);
+				 fos.close();
+			 }
+
+		 }catch (Exception ex){
+
+		 	ex.printStackTrace();
+		 	log.error("生成失败:" + ex.getMessage());
+
+		 }
+
+
+	 	return entity;
+	 }
+
+
 }

+ 9 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/entity/SyShippingOrder.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.documents.syShippingOrder.entity;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 
@@ -92,10 +93,8 @@ public class SyShippingOrder {
 	private java.lang.String unitInOperationAddress;
 	/**装运期限*/
 	@Excel(name = "装运期限", width = 20, format = "yyyy-MM-dd")
-	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
-    @DateTimeFormat(pattern="yyyy-MM-dd")
     @ApiModelProperty(value = "装运期限")
-	private java.util.Date latestDateOfShipment;
+	private String latestDateOfShipment;
 	/**最终船期*/
 	@Excel(name = "最终船期", width = 20, format = "yyyy-MM-dd")
 	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@@ -240,4 +239,11 @@ public class SyShippingOrder {
 	private String customsCode;
 	//税号
 	private String dutyParagraph;
+
+	//总净重
+	@TableField(exist = false)
+	private BigDecimal totalNetweight;
+
+	//区分成衣或者面料
+	private String readyFabric;
 }

+ 3 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/entity/SyShippingOrderItem.java

@@ -200,5 +200,8 @@ public class SyShippingOrderItem {
 	@ApiModelProperty(value = "成衣工厂")
 	private String garmentFactory;
 
+	//分组ID
+	private String groupId;
+
 
 }

+ 3 - 4
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/mapper/xml/SyShippingOrderMapper.xml

@@ -4,7 +4,7 @@
 
     <select id="syShippingOrderPageList" resultType="org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrder">
   select a.id,a.shipping_order_number as shippingOrderNumber,b.order_number as orderNumber,a.export_invoice_no as exportInvoiceNo,
-  b.distribution_point as distributionPoint,a.unit_in_operation as unitInOperation,b.box_number as boxNumber,
+  b.distribution_point as distributionPoint,a.unit_in_operation as unitInOperation,a.box_number as boxNumber,
   sum(b.gross_weight) as totalGrossWeight,sum(b.volume) as totalVolume,b.box_number as planQuantity,b.client_abbreviation as clientAbbreviation,
   a.money,a.the_actual_shipping_date as theActualShippingDate,a.exchange_earnings_text as exchangeEarningsText,
   a.consignee,a.bill_of_lading_or_carriage_receipt as billOfLadingOrCarriageReceipt,a.the_final_shipping_date as theFinalShippingDate,
@@ -76,12 +76,11 @@ c.english_product_name as englishProductName,'成衣' as readyFabric,b.supplier
 
     <select id="queryItem" resultType="org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrderItem">
 SELECT GROUP_CONCAT(id) as id, sy_shipping_order_item_id as syShippingOrderItemId, english_name as englishName, style_number as styleNumber, smail_po as smailPo,create_by as createBy,
-sum(number) as number, box_number as planQuantity, sum(gross_weight) as grossWeight, sum(net_weight) as netWeight, sum(volume) as volume,sum(total_price) as totalPrice,
+sum(number) as number, box_number as boxNumber, sum(gross_weight) as grossWeight, sum(net_weight) as netWeight, sum(volume) as volume,sum(total_price) as totalPrice,
 distribution_point as distributionPoint, container_code as containerCode, container_number as containerNumber, unit_price as unitPrice, pre_shipment_date as preShipmentDate,
 salesman, operating_department as operatingDepartment, purchase_outsourcing_order_no as purOrSubOrder, outsourcing_factory_for_procurement as outsourcingFactoryForProcurement,
  memo, sort, ready_fabric as readyFabric, tailoring_fabric_id as tailoringFabricId, tailoring_fabric_item_id as tailoringFabricItemId
  FROM sy_shipping_order_item where del_flag = 0 and sy_shipping_order_item_id = #{id}
-group by sy_shipping_order_item_id
-
+group by group_id
     </select>
 </mapper>

+ 7 - 6
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/service/impl/SyShippingOrderServiceImpl.java

@@ -114,7 +114,7 @@ public class SyShippingOrderServiceImpl extends ServiceImpl<SyShippingOrderMappe
         //总体积
         BigDecimal totalVolume = BigDecimal.ZERO;
         //总箱数
-        BigDecimal boxNumber = BigDecimal.ZERO;
+        Integer totalBox = 0;
 
         String id = oConvertUtils.id();
         syShippingOrder.setId(id);
@@ -128,12 +128,15 @@ public class SyShippingOrderServiceImpl extends ServiceImpl<SyShippingOrderMappe
         }else {
             syShippingOrder.setCreateBy(sysUser.getRealname());
         }
+        //成衣或者面料
+        syShippingOrder.setReadyFabric(syShippingOrder.getSyShippingOrderItemList().get(0).getReadyFabric());
 
         //新增子表
         List<SyShippingOrderItem> list = syShippingOrder.getSyShippingOrderItemList();
         if(list.size()!=0){
             for(SyShippingOrderItem li:list){
-
+                //合计箱数
+                totalBox = totalBox+li.getBoxNumber().intValue();
                 //装箱单子表ID集合
                 List<String> fabricItemIdList = new ArrayList<>();
 
@@ -213,8 +216,6 @@ public class SyShippingOrderServiceImpl extends ServiceImpl<SyShippingOrderMappe
                     syPackingListFabric.setShippingOrderNumber(syShippingOrder.getShippingOrderNumber());
                     syPackingListFabricService.updateById(syPackingListFabric);
 
-
-
                 }else{ //成衣
                     //查询装箱单成衣子表数据
                     QueryWrapper<SyPackingListTailoringItem> queryWrapper = new QueryWrapper<SyPackingListTailoringItem>();
@@ -232,13 +233,13 @@ public class SyShippingOrderServiceImpl extends ServiceImpl<SyShippingOrderMappe
                         String createTime = sf.format(new Date());
                         syShippingOrderItem.setCreateTime(sf.parse(createTime));
 
+                        syShippingOrderItem.setGroupId(lit.getGroupId());//分组ID
                         syShippingOrderItem.setNumber(lit.getPlanQuantity());//数量
                         syShippingOrderItem.setBoxNumber(lit.getBoxNumber());//箱数
                         syShippingOrderItem.setId(oConvertUtils.id());
                         syShippingOrderItem.setSyShippingOrderItemId(id);
                         syShippingOrderItem.setDelFlag("0");
                         syShippingOrderItem.setSmailPo(lit.getSmallPo());
-                        boxNumber.add(lit.getBoxNumber());
                         syShippingOrderItem.setGrossWeight(lit.getTotalGrossWeight());//毛重
                         totalGrossWeight.add(lit.getTotalGrossWeight());
                         syShippingOrderItem.setNetWeight(lit.getTotalNetWeight());//净重
@@ -285,7 +286,7 @@ public class SyShippingOrderServiceImpl extends ServiceImpl<SyShippingOrderMappe
             //总体积
             syShippingOrder.setTotalVolume(totalVolume);
             //总箱数
-            syShippingOrder.setBoxNumber(boxNumber);
+            syShippingOrder.setBoxNumber(new BigDecimal(totalBox));
 
 
             syShippingOrderItemService.saveBatch(itemList);