Browse Source

托预书打印,托书增加英文名称

zengtx 2 years ago
parent
commit
49dda36f4a

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

@@ -1,19 +1,23 @@
 package org.jeecg.modules.documents.letterDeposit.controller;
 
 
+import java.lang.reflect.Field;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
+import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.vo.DictModel;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.documents.letterDeposit.entity.SyLetterDeposit;
@@ -29,13 +33,18 @@ import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.modules.documents.shippingDetails.entity.SyShippingDetails;
 import org.jeecg.modules.documents.shippingDetails.entity.VO.OrderDataVo;
+import org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrderItem;
+import org.jeecg.modules.documents.syShippingOrder.tool.TopinYin;
 import org.jeecg.modules.spapl.entity.SyPreAssembledPackingList;
 import org.jeecg.modules.splt.entity.SyPackingListTailoringItem;
 import org.jeecg.modules.splt.service.impl.SyPackingListTailoringItemServiceImpl;
+import org.jeecg.modules.system.service.impl.SysDictServiceImpl;
+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;
@@ -66,6 +75,9 @@ public class SyLetterDepositController extends JeecgController<SyLetterDeposit,
 	private SyLetterDepositMapper syLetterDepositMapper;
 	 @Autowired
 	 private SyPackingListTailoringItemServiceImpl syPackingListTailoringItemService;
+
+	 @Autowired
+	 private SysDictServiceImpl sysDictService;
 	
 	/**
 	 * 分页列表查询
@@ -505,30 +517,71 @@ public class SyLetterDepositController extends JeecgController<SyLetterDeposit,
 	 }
 
 
-//	 @ApiOperation(value="预装箱单数据合并", notes="预装箱单数据合并")
-//	 @GetMapping(value = "/mergeSyPreAssembledPackingList")
-//	 public Result<List<SyPreAssembledPackingListVo>> mergeSyPreAssembledPackingList(String itemId){
-//
-//		 Result<List<SyPreAssembledPackingListVo>> result = new Result<>();
-//		 List<String> stringList = new ArrayList<>();
-//		 QueryWrapper<SyPreAssembledPackingListVo> queryWrapper = new QueryWrapper<>();
-//
-//		 Page<SyPreAssembledPackingListVo> page = new Page<SyPreAssembledPackingListVo>(1, -1);
-//
-//		 String itemIdSplit[] = itemId.split(",");
-//		 for (String li:itemIdSplit){
-//			 stringList.add(li);
-//		 }
-//		 queryWrapper.in("b.id",stringList).eq("a.del_flag",0);
-//		 queryWrapper.groupBy("a.item_number,a.memo,a.pre_delivery_date,a.order_type,a.depositary_receipt_no,b.inventory_name,b.po_no,b.distribution_point," +
-//				 "b.colour");
-//
-//		 IPage<SyPreAssembledPackingListVo> pageList = syLetterDepositService.mergeSyPreAssembledPackingList(page, queryWrapper);
-//
-//		 result.setSuccess(true);
-//		 result.setMessage("查询成功!");
-//		 result.setResult(pageList.getRecords());
-//
-//		 return result;
-//	 }
+	 /**
+	  * 预托书打印
+	  * @param id
+	  * @param response
+	  * @return
+	  */
+	 @RequestMapping(value = "/printSyletterDeposit")
+	 public Result<SyLetterDeposit> printSyletterDeposit(String id,HttpServletResponse response){
+
+		 Result<SyLetterDeposit> result = new Result<SyLetterDeposit>();
+
+		 Map<String,Object> map = new HashMap<String,Object>();
+
+		 List<Map<String, Object>> listMap = new ArrayList<Map<String, Object>>();
+
+		 SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd"); // 月日年
+		 SimpleDateFormat sdf1 = new SimpleDateFormat("MMM'.'dd'th,' yyyy", Locale.UK); // 月日年
+
+		 TopinYin py = new TopinYin();
+		 try {
+			 //查询主表信息
+			 SyLetterDeposit entity = syLetterDepositService.getById(id);
+			 entity.setTransDate(sdf1.format(entity.getShippingOrderDate()));
+			 entity.setLastDate(sf.format(entity.getLatestDateOfShipment()));
+			 entity.setTheDate(sf.format(entity.getTheFinalShippingDate()));
+
+			 //转map
+			 Field[] fields = entity.getClass().getDeclaredFields();
+			 for (Field field : fields) {
+				 field.setAccessible(true);
+				 map.put(field.getName(), field.get(entity));
+			 }
+
+			 //查询子表
+			 List<SyLetterDepositItem> list = syLetterDepositMapper.printItem(id);
+			 //集合转map
+			 for(SyLetterDepositItem li:list){
+				 Field[] fieldsList = li.getClass().getDeclaredFields();
+				 Map<String, Object> mapList = new HashMap<String, Object>();
+				 for (Field field : fieldsList) {
+					 field.setAccessible(true);
+					 mapList.put(field.getName(), field.get(li));
+				 }
+				 listMap.add(mapList);
+			 }
+			 map.put("item", listMap);
+
+			 TemplateExportParams params = new TemplateExportParams("D:\\单证模板\\预托书数据.xlsx");
+
+			 Workbook workbook = ExcelExportUtil.exportExcel(params, map);
+			 ServletOutputStream outputStream = response.getOutputStream();
+
+			 workbook.write(outputStream);
+
+
+		 }catch (Exception ex){
+
+		 	 ex.printStackTrace();
+		 	 log.error("代码错误!"+ex.getMessage());
+		 }
+
+		 result.setSuccess(true);
+		 result.setMessage("打印成功!");
+		 return result;
+	 }
+
+
   }

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

@@ -245,4 +245,14 @@ public class SyLetterDeposit {
 	@ApiModelProperty(value = "小po")
 	@TableField(exist = false)
 	private java.lang.String smallPo;
+
+	//打印使用的日期
+	@TableField(exist = false)
+	private String transDate;
+	//打印使用的装运期限
+	@TableField(exist = false)
+	private String lastDate;
+	//打印使用的最终船期
+	@TableField(exist = false)
+	private String theDate;
 }

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

@@ -238,4 +238,17 @@ public class SyLetterDepositItem {
 	private String supplier;
 	@ApiModelProperty(value = "采购/委外工厂(供应商编码)")
 	private String supplierCode;
+	@Excel(name = "英文名称", width = 20)
+	private String englishName;
+	@TableField(exist = false)
+	private String pcs;
+	@TableField(exist = false)
+	private String ctns;
+	@TableField(exist = false)
+	private String kgs;
+    @TableField(exist = false)
+	private String cbm;
+
+
+
 }

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

@@ -44,4 +44,7 @@ public interface SyLetterDepositMapper extends BaseMapper<SyLetterDeposit> {
 
     //查询子表信息
     List<SyLetterDepositItem> queryItem(@Param("syId") String syId);
+
+    //打印查询子表
+    List<SyLetterDepositItem> printItem(@Param("id") String id);
 }

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

@@ -102,4 +102,20 @@ hod,salesman,sales_Department as salesDepartment,spur_or_sub_order as spurOrSubO
 
 
     </select>
+
+    <select id="printItem" resultType="org.jeecg.modules.documents.letterDeposit.entity.SyLetterDepositItem">
+
+         select a.item_number as itemNumber,a.small_po as smallPo,sum(a.total) as total,a.box_number as boxNumber,
+sum(a.total_gross_weight) as totalGrossWeight,sum(a.total_net_weight) as totalNetWeight,sum(a.total_volume) as totalVolume,
+a.container_code as containerCode,a.container_number as containerNumber,a.unit_price as unitPrice,sum(a.total_price) as totalPrice,
+a.hod,a.salesman,a.sales_Department as salesDepartment,a.spur_or_sub_order as spurOrSubOrder,a.supplier,
+c.english_product_name as englishName,'PCS' as pcs, 'CTNS' as ctns,'KGS' as kgs,'CBM' as cbm
+         from sy_letter_deposit_item a
+         left join sy_pre_assembled_packing_list b
+         on a.sy_pre_assembled_packing_list_id = b.id
+         left join sy_declaration_elements c
+         on b.elements_id = c.id
+         where a.del_flag = 0 and a.sy_letter_deposit_id = #{id} group by letter_groupid
+
+    </select>
 </mapper>

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

@@ -262,21 +262,21 @@ public class SyShippingOrderController extends JeecgController<SyShippingOrder,
 			return result;
 		}
 		SyShippingOrder syShippingOrder = syShippingOrderService.getById(id);
-		//查询数据字典获取text
-		List<DictModel> sysDicts1 = sysDictService.queryDictItemsByCode("port_of_destination");
-		for(DictModel di:sysDicts1){
-			if(di.getValue().equals(syShippingOrder.getDestinationPort())){
-				//设置目的港
-				syShippingOrder.setDestinationPort(di.getText());
-			}
-		}
-		List<DictModel> sysDicts2 = sysDictService.queryDictItemsByCode("country_of_arrival");
-		for(DictModel di:sysDicts2){
-			if(di.getValue().equals(syShippingOrder.getArriveInCountry())){
-				//设置运抵国别
-				syShippingOrder.setArriveInCountry(di.getText());
-			}
-		}
+//		//查询数据字典获取text
+//		List<DictModel> sysDicts1 = sysDictService.queryDictItemsByCode("port_of_destination");
+//		for(DictModel di:sysDicts1){
+//			if(di.getValue().equals(syShippingOrder.getDestinationPort())){
+//				//设置目的港
+//				syShippingOrder.setDestinationPort(di.getText());
+//			}
+//		}
+//		List<DictModel> sysDicts2 = sysDictService.queryDictItemsByCode("country_of_arrival");
+//		for(DictModel di:sysDicts2){
+//			if(di.getValue().equals(syShippingOrder.getArriveInCountry())){
+//				//设置运抵国别
+//				syShippingOrder.setArriveInCountry(di.getText());
+//			}
+//		}
 
 		//查询子表数据
 		List<SyShippingOrderItem> list = syShippingOrderMapper.queryItem(id);

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

@@ -205,6 +205,7 @@ public class SyShippingOrderServiceImpl extends ServiceImpl<SyShippingOrderMappe
                         syShippingOrderItem.setRSupplierCode(itemli.getSupplierCodeDyeingPlant());//染厂供应商编码
                         syShippingOrderItem.setMasterMetering(itemli.getMasterMetering());//单位
                         syShippingOrderItem.setGarmentFactory(li.getGarmentFactory());
+                        syShippingOrderItem.setEnglishName(li.getEnglishProductName());//英文名称
 
                          itemList.add(syShippingOrderItem);
                     }
@@ -270,6 +271,7 @@ public class SyShippingOrderServiceImpl extends ServiceImpl<SyShippingOrderMappe
                         syShippingOrderItem.setRSupplier(null);//染厂供应商
                         syShippingOrderItem.setRSupplierCode(null);//染厂供应商编码
                         syShippingOrderItem.setGarmentFactory(li.getGarmentFactory());//成衣工厂
+                        syShippingOrderItem.setEnglishName(li.getEnglishProductName());//英文名称
 
                         itemList.add(syShippingOrderItem);