Browse Source

托书以及发运明细查询报关要素

zengtx 2 years ago
parent
commit
5305f86128

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

@@ -718,12 +718,16 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
 						  return result;
 					  }
 
-					  //判断物料成份。isTc、款号是否为空,为空不允许提交
-					  if(oConvertUtils.isEmpty(li.getItemNumber()) || oConvertUtils.isEmpty(li.getMaterialComposition()) || oConvertUtils.isEmpty(li.getIsTc())){
-						  result.setSuccess(false);
-						  result.setMessage("物料成份/款号/是否TC 未维护,不允许提交!");
-						  return result;
+					  //判断是不是辅料数据,如果是不必维护一下内容
+					  if(!li.getInventoryCcode().equals("04") && !li.getInventoryCcode().equals("05")&& !li.getInventoryCcode().equals("06")&& !li.getInventoryCcode().equals("07")&& !li.getInventoryCcode().equals("0299")&& !li.getInventoryCcode().equals("0399")){
+						  //判断物料成份。isTc、款号是否为空,为空不允许提交
+						  if(oConvertUtils.isEmpty(li.getItemNumber()) || oConvertUtils.isEmpty(li.getMaterialComposition()) || oConvertUtils.isEmpty(li.getIsTc())){
+							  result.setSuccess(false);
+							  result.setMessage("物料成份/款号/是否TC 未维护,不允许提交!");
+							  return result;
+						  }
 					  }
+
 					  
 				  }
 				  //判断重复自由项数据
@@ -1340,4 +1344,50 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
 	 	return result;
 	 }
 
+
+	 /**
+	  * 通过hscode查询最近一次报关要素
+	  * @param hscode
+	  * @param request
+	  * @param response
+	  * @return
+	  */
+	 @GetMapping(value = "/queryLatelyDeclarationElements")
+	 public Result<SyDeclarationElements> queryLatelyDeclarationElements(String hscode,
+																   HttpServletRequest request, HttpServletResponse response) {
+
+		 Result<SyDeclarationElements> result = new Result<SyDeclarationElements>();
+
+		 if(oConvertUtils.isEmpty(hscode)){
+			 result.setMessage("HSCODE未填写,请输入!");
+			 result.setSuccess(false);
+			 return result;
+		 }
+	 	QueryWrapper<SyDeclarationElements> queryWrapper = new QueryWrapper<>();
+		 queryWrapper.eq("hs_code",hscode).eq("del_flag",0).orderByDesc("create_time");
+		 List<SyDeclarationElements> list = syDeclarationElementsService.list(queryWrapper);
+		 if(list.size()!=0){
+			 SyDeclarationElements entity = list.get(0);
+			 //查询子表信息
+			 QueryWrapper<SyDeclarationElementsItem> queryWrapperItem = new QueryWrapper<SyDeclarationElementsItem>();
+			 queryWrapperItem.eq("sy_declaration_elements_id", entity.getId()).eq("del_flag", 0).orderByAsc("sort");
+			 List<SyDeclarationElementsItem> syDeclarationElementsItemsList = syDeclarationElementsItemService.list(queryWrapperItem);
+			 for(SyDeclarationElementsItem li:syDeclarationElementsItemsList){
+			 	li.setId(null);
+			 }
+			 entity.setSyDeclarationElementsItemList(syDeclarationElementsItemsList);
+			 entity.setId(null);
+
+			 result.setMessage("查询成功!");
+			 result.setSuccess(true);
+			 result.setResult(entity);
+		 }else{
+			 result.setMessage("未找到最近记录!");
+			 result.setSuccess(false);
+			 result.setResult(null);
+
+		 }
+
+        return result;
+	 }
 }

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

@@ -7,6 +7,7 @@ import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.function.Function;
+import java.util.stream.Collector;
 import java.util.stream.Collectors;
 import javax.annotation.Resource;
 import javax.servlet.ServletOutputStream;
@@ -420,8 +421,8 @@ public class SyShippingOrderController extends JeecgController<SyShippingOrder,
 		  }
 		  queryWrapper.eq("a.del_flag",0).eq("b.del_flag",0).eq("a.status",1);
 		  queryWrapper.eq("a.is_Reference",0).eq("c.del_flag",0);
-		  queryWrapper.orderByDesc("a.create_time");
-		  queryWrapper.groupBy("b.group_id");
+		  queryWrapper.orderByDesc("a.document_No");
+		 // queryWrapper.groupBy("b.group_id");
 		  pageList = syShippingOrderService.queryFabric(page,queryWrapper);
 
 	  }
@@ -710,6 +711,7 @@ public class SyShippingOrderController extends JeecgController<SyShippingOrder,
 					Map<String, Object> map3 = new HashMap<String, Object>();
 					Map<String, Object> map4 = new HashMap<String, Object>();
 					Map<String, Object> map5 = new HashMap<String, Object>();
+					Map<String, Object> map6 = new HashMap<String, Object>();
 
 					//查询主表
 					SyDeclarationElements elementEntity = syDeclarationElementsService.getById(li.getElementsId());
@@ -755,6 +757,9 @@ public class SyShippingOrderController extends JeecgController<SyShippingOrder,
 						}
 						i++;
 
+						map6.put("name", "等......");
+						map6.put("value", "");
+
 						map5.put("name", "");
 						map5.put("value", "");
 						listMap.add(map5);
@@ -1140,5 +1145,36 @@ public class SyShippingOrderController extends JeecgController<SyShippingOrder,
 	 }
 
 
+	 /**
+	  * 合并(新增页面使用)
+	  * @param ids
+	  * @return
+	  */
+	 @PostMapping(value = "/syShippingOrderMerge")
+	 public Result<List<SyPackingList>> syShippingOrderMerge(@RequestBody List<String> ids){
+
+		 Result<List<SyPackingList>> result = new Result<List<SyPackingList>>();
+		 List<String> listid = new ArrayList<>();
+
+		 for(String id:ids){
+		 	String idsp[] = id.split(",");
+		 	for(String sp:idsp){
+				listid.add(sp);
+			}
+		 }
+
+		 //去除重复值
+		 listid = listid.stream().distinct().collect(Collectors.toList());
+
+		 List<SyPackingList> list = syShippingOrderMapper.syShippingOrderMerge(listid);
+
+		 result.setSuccess(true);
+		 result.setMessage("查询成功!");
+		 result.setResult(list);
+
+		 return result;
+
+	 }
+
 
 }

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

@@ -255,4 +255,7 @@ public class SyShippingOrderItem {
 	//英文名称
 	@TableField(exist = false)
 	private String englishProductName;
+	//保存接收单价
+	@TableField(exist = false)
+	private String price;
 }

+ 17 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/entity/VO/SyPackingList.java

@@ -121,4 +121,21 @@ public class SyPackingList {
     private String exchangeEarningsValue;
     //成交方式
     private String termsOfDeliveryvalue;
+
+
+    /**
+     * 托书新增页面合并按钮使用字段
+     */
+    //箱数
+    private String boxNumber;
+    //体积
+    private String volume;
+    //子表ID
+    private String tailoringFabricItemId;
+    //主表ID
+    private String tailoringFabricId;
+    //款号
+    private String styleNumber;
+    //客户简称
+    private String clientAbbreviation;
 }

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

@@ -45,4 +45,7 @@ public interface SyShippingOrderMapper extends BaseMapper<SyShippingOrder> {
     //查询报关要素明细信息(传主表ID)
     public List<SyShippingOrderItem> queryEelement(@Param("id") String id);
 
+    //合并按钮(新增界面使用)
+    public List<SyPackingList> syShippingOrderMerge(@Param("ids") List<String> ids);
+
 }

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

@@ -46,14 +46,14 @@ d.terms_of_deliveryvalue as termsOfDeliveryvalue
     <!--    查询装箱单-面料-->
     <select id="queryFabric" resultType="org.jeecg.modules.documents.syShippingOrder.entity.VO.SyPackingList">
 
-  select a.id as id ,GROUP_CONCAT(b.id) as itemId,a.document_No as documentNo,a.create_by as createBy,
+  select a.id as id ,b.id as itemId,a.document_No as documentNo,a.create_by as createBy,
   a.export_invoice_no as exportInvoiceNo,a.container_number as containerNumber,a.garment_Factory as garmentFactory,
   b.supplier as supplier,a.plumbum_No as plumbumNo,a.customer_abbreviation as customerAbbreviation,
-  case when b.u8_Pid is null then sum(b.actual_declared_quantity) else sum(b.gross_weight) end as Total,b.actual_declared_quantity as number,
-   sum(b.rolls) as planQuantity,
-  b.item_Number as itemNumber,b.small_Po as smallPo,sum(b.gross_weight) as grossWeight,
-  sum(b.net_weight) as netWeight,'0' as totalVolume,b.distribution_Point as distributionPoint,
-  a.container_Code as containerCode,b.price,sum(b.total_Price) as totalPrice,b.pre_Delivery_Date as preDeliveryDate,
+  case when b.u8_Pid is null then b.actual_declared_quantity else b.gross_weight end as Total,b.actual_declared_quantity as number,
+   b.rolls as planQuantity,
+  b.item_Number as itemNumber,b.small_Po as smallPo,round(b.gross_weight,2) as grossWeight,
+  round(b.net_weight,2) as netWeight,'0' as totalVolume,b.distribution_Point as distributionPoint,
+  a.container_Code as containerCode,b.price,b.total_Price as totalPrice,b.pre_Delivery_Date as preDeliveryDate,
   b.salesman as salesman,b.sales_Department as salesDepartment,b.pur_Or_Sub_Order as purOrSubOrder,
   c.english_product_name as englishProductName,b.order_Number as orderNumber,'面料' as readyFabric from sy_packing_list_fabric a
     left join sy_packing_list_fabric_item b
@@ -128,4 +128,30 @@ group by a.group_id) t group by styleNumber
 
     </select>
 
+
+
+    <select id="syShippingOrderMerge" resultType="org.jeecg.modules.documents.syShippingOrder.entity.VO.SyPackingList">
+
+  select a.id as tailoringFabricId ,GROUP_CONCAT(b.id) as tailoringFabricItemId,a.document_No as documentNo,a.create_by as createBy,
+  a.export_invoice_no as exportInvoiceNo,a.container_number as containerNumber,a.garment_Factory as garmentFactory,
+  b.supplier as supplier,a.plumbum_No as plumbumNo,a.customer_abbreviation as clientAbbreviation,
+  case when b.u8_Pid is null then sum(b.actual_declared_quantity) else sum(b.gross_weight) end as Total,b.actual_declared_quantity as number,
+   sum(b.rolls) as boxNumber,'0' as volume,
+  b.item_Number as itemNumber,b.small_Po as smallPo,round(sum(b.gross_weight),2) as grossWeight,
+  round(sum(b.net_weight),2) as netWeight,'0' as totalVolume,b.distribution_Point as distributionPoint,
+  a.container_Code as containerCode,round(sum(b.total_Price)/round(sum(b.net_weight),2),4) as price,round(sum(b.total_Price),2) as totalPrice,b.pre_Delivery_Date as preDeliveryDate,
+  b.salesman as salesman,b.sales_Department as salesDepartment,b.pur_Or_Sub_Order as purOrSubOrder,
+  c.english_product_name as englishProductName,b.order_Number as orderNumber,'面料' as readyFabric from sy_packing_list_fabric a
+    left join sy_packing_list_fabric_item b
+    on a.id = b.sy_packing_list_fabric_id
+		left join sy_declaration_elements c
+		on b.elements_Id = c.id
+		where b.id in
+    <foreach collection="ids" item="item" separator="," open="(" close=")">
+        #{item}
+    </foreach>
+    group by c.hs_code,c.declaration_name
+
+    </select>
+
 </mapper>

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

@@ -201,7 +201,7 @@ public class SyShippingOrderServiceImpl extends ServiceImpl<SyShippingOrderMappe
                         //报关单价 = 总金额/净重
                         BigDecimal price = itemli.getTotalPrice().divide(itemli.getNetWeight(),4,BigDecimal.ROUND_DOWN);
                         syShippingOrderItem.setDeclarationUnitPrice(price);
-                        syShippingOrderItem.setUnitPrice(itemli.getPrice());
+                        syShippingOrderItem.setUnitPrice(new BigDecimal(li.getPrice()));//单价
                         syShippingOrderItem.setPreShipmentDate(itemli.getPreDeliveryDate());
                         syShippingOrderItem.setSalesman(itemli.getSalesman());
                         syShippingOrderItem.setOperatingDepartment(itemli.getSalesDepartment());