|
@@ -224,45 +224,29 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
|
|
|
}
|
|
|
|
|
|
Page<SyShippingDetailsVo> page = new Page<SyShippingDetailsVo>(1, -1);
|
|
|
- if(flourOrGarment.equals("0")){//面辅料
|
|
|
- queryWrapper.eq("1",1);
|
|
|
- IPage<SyShippingDetailsVo> pageList = syShippingDetailsService.queryShippingDetailsGarment(page, queryWrapper);
|
|
|
+ IPage<SyShippingDetailsVo> pageList;
|
|
|
+ if (flourOrGarment.equals("0")) { // 面辅料
|
|
|
+ queryWrapper.eq("1", 1);
|
|
|
+ pageList = syShippingDetailsService.queryShippingDetailsGarment(page, queryWrapper);
|
|
|
+ } else { // 成衣
|
|
|
+ queryWrapper.eq("1", 1);
|
|
|
+ pageList = syShippingDetailsService.queryShippingDetails(page, queryWrapper);
|
|
|
+ }
|
|
|
|
|
|
- for(SyShippingDetailsVo str:pageList.getRecords()){
|
|
|
- amountTo = amountTo+str.getShipmentQuantity();
|
|
|
- }
|
|
|
- //amountTo = pageList.getRecords().stream().mapToDouble(i -> i.getShipmentQuantity()).sum();
|
|
|
- pageList.setRecords(pageList.getRecords().stream().sorted(Comparator.comparing(SyShippingDetailsVo::getCreateTime).reversed()).collect(Collectors.toList()));
|
|
|
+ // 计算总合计数量
|
|
|
+ amountTo = pageList.getRecords().stream().mapToDouble(SyShippingDetailsVo::getShipmentQuantity).sum();
|
|
|
|
|
|
- result.setSuccess(true);
|
|
|
- result.setResult(pageList);
|
|
|
- result.setMessage(amountTo.toString());
|
|
|
- }else{//成衣
|
|
|
- queryWrapper.eq("1",1);
|
|
|
- IPage<SyShippingDetailsVo> pageList = syShippingDetailsService.queryShippingDetails(page, queryWrapper);
|
|
|
-
|
|
|
- amountTo = pageList.getRecords().stream().mapToDouble(i -> i.getShipmentQuantity()).sum();
|
|
|
-// for(SyShippingDetailsVo str:pageList.getRecords()){
|
|
|
-// //赋值报关信息
|
|
|
-// SyDeclarationElements entity = syDeclarationElementsService.getById(str.getElementsId());
|
|
|
-// if(oConvertUtils.isNotEmpty(entity)){
|
|
|
-// str.setDeclarationName(entity.getDeclarationName());
|
|
|
-// str.setHsCode(entity.getHsCode());
|
|
|
-// str.setEnglishProductName(entity.getEnglishProductName());
|
|
|
-// }
|
|
|
-// amountTo = amountTo+str.getShipmentQuantity();
|
|
|
-// }
|
|
|
+ // 对查询结果按 createTime 逆序排序
|
|
|
+ pageList.setRecords(pageList.getRecords().stream().sorted(Comparator.comparing(SyShippingDetailsVo::getCreateTime).reversed()).collect(Collectors.toList()));
|
|
|
|
|
|
- pageList.setRecords(pageList.getRecords().stream().sorted(Comparator.comparing(SyShippingDetailsVo::getCreateTime).reversed()).collect(Collectors.toList()));
|
|
|
- result.setSuccess(true);
|
|
|
- result.setResult(pageList);
|
|
|
- result.setMessage(amountTo.toString());
|
|
|
+ result.setSuccess(true);
|
|
|
+ result.setResult(pageList);
|
|
|
+ result.setMessage(amountTo.toString());
|
|
|
+
|
|
|
+ return result;
|
|
|
}
|
|
|
|
|
|
|
|
|
- return result;
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* 添加
|
|
|
*
|
|
@@ -993,59 +977,100 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
|
|
|
|
|
|
}
|
|
|
//判断重复自由项数据
|
|
|
- for(String str:syShippingDetails.getGrouyIdList()) {
|
|
|
+ for (String str : syShippingDetails.getGrouyIdList()) {
|
|
|
+ Set<String> seenData = new HashSet<>();
|
|
|
QueryWrapper<SyShippingDetailsItem> queryWrapper = new QueryWrapper<>();
|
|
|
queryWrapper.in("group_id", str).eq("del_flag", 0);
|
|
|
List<SyShippingDetailsItem> groupList = syShippingDetailsItemService.list(queryWrapper);
|
|
|
- for (int i = 0; i < groupList.size(); i++) {
|
|
|
- SyShippingDetailsItem tableRow = groupList.get(i);
|
|
|
- for (int j = i+1; j < groupList.size(); j++) {
|
|
|
- SyShippingDetailsItem nextData = groupList.get(j);
|
|
|
- if (tableRow.getSmallPo().equals(nextData.getSmallPo()) && tableRow.getOrderNumber().equals(nextData.getOrderNumber()) &&
|
|
|
- tableRow.getPreDeliveryDate().equals(nextData.getPreDeliveryDate()) && tableRow.getPreCompletionDate().equals(nextData.getPreCompletionDate()) &&
|
|
|
- tableRow.getItemNumber().equals(nextData.getItemNumber()) && tableRow.getInventoryCode().equals(nextData.getInventoryCode()) &&
|
|
|
- tableRow.getColour().equals(nextData.getColour()) && tableRow.getSize().equals(nextData.getSize())&&
|
|
|
- tableRow.getGuangpeiGateWidth().equals(nextData.getGuangpeiGateWidth()) && tableRow.getWeight().equals(nextData.getWeight())&&
|
|
|
- tableRow.getCodingRules().equals(nextData.getCodingRules())) {
|
|
|
- result.setSuccess(false);
|
|
|
- result.setMessage("第"+count+"条里面的第"+(i+1)+"行和第"+(j+1)+"行数据相同,无法提交");
|
|
|
- return result;
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
+ for (SyShippingDetailsItem item : groupList) {
|
|
|
+ String key = generateKey(item);
|
|
|
+ if (seenData.contains(key)) {
|
|
|
+ result.setSuccess(false);
|
|
|
+ result.setMessage("第" + count + "条里面有重复数据,无法提交");
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+ seenData.add(key);
|
|
|
}
|
|
|
+
|
|
|
count++;
|
|
|
}
|
|
|
+// for(String str:syShippingDetails.getGrouyIdList()) {
|
|
|
+// QueryWrapper<SyShippingDetailsItem> queryWrapper = new QueryWrapper<>();
|
|
|
+// queryWrapper.in("group_id", str).eq("del_flag", 0);
|
|
|
+// List<SyShippingDetailsItem> groupList = syShippingDetailsItemService.list(queryWrapper);
|
|
|
+// for (int i = 0; i < groupList.size(); i++) {
|
|
|
+// SyShippingDetailsItem tableRow = groupList.get(i);
|
|
|
+// for (int j = i+1; j < groupList.size(); j++) {
|
|
|
+// SyShippingDetailsItem nextData = groupList.get(j);
|
|
|
+// if (tableRow.getSmallPo().equals(nextData.getSmallPo()) && tableRow.getOrderNumber().equals(nextData.getOrderNumber()) &&
|
|
|
+// tableRow.getPreDeliveryDate().equals(nextData.getPreDeliveryDate()) && tableRow.getPreCompletionDate().equals(nextData.getPreCompletionDate()) &&
|
|
|
+// tableRow.getItemNumber().equals(nextData.getItemNumber()) && tableRow.getInventoryCode().equals(nextData.getInventoryCode()) &&
|
|
|
+// tableRow.getColour().equals(nextData.getColour()) && tableRow.getSize().equals(nextData.getSize())&&
|
|
|
+// tableRow.getGuangpeiGateWidth().equals(nextData.getGuangpeiGateWidth()) && tableRow.getWeight().equals(nextData.getWeight())&&
|
|
|
+// tableRow.getCodingRules().equals(nextData.getCodingRules())) {
|
|
|
+// result.setSuccess(false);
|
|
|
+// result.setMessage("第"+count+"条里面的第"+(i+1)+"行和第"+(j+1)+"行数据相同,无法提交");
|
|
|
+// return result;
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// }
|
|
|
+// count++;
|
|
|
+// }
|
|
|
}else{
|
|
|
- //查询是否已提交
|
|
|
+ // 查询是否已提交
|
|
|
QueryWrapper<SyShippingDetailsItem> itemQueryWrapper1 = new QueryWrapper<>();
|
|
|
- itemQueryWrapper1.in("id",idsList).eq("submit_status","1");
|
|
|
+ itemQueryWrapper1.in("id", idsList).eq("submit_status", "1");
|
|
|
List<SyShippingDetailsItem> list1 = syShippingDetailsItemService.list(itemQueryWrapper1);
|
|
|
+
|
|
|
for (SyShippingDetailsItem li : list1) {
|
|
|
-// if (li.getSubmitStatus() == 0) {
|
|
|
-// result.setSuccess(false);
|
|
|
-// result.setMessage("部分单据已取消提交,请勿重复取消提交!");
|
|
|
-// return result;
|
|
|
-// }
|
|
|
- //判断下游是否有预装箱单-成衣单据
|
|
|
- QueryWrapper<SyPreAssembledPackingListItem> queryWrapper = new QueryWrapper<SyPreAssembledPackingListItem>();
|
|
|
- queryWrapper.eq("sy_declaration_elements_item_id",li.getId()).eq("del_flag",0);
|
|
|
- List<SyPreAssembledPackingListItem> packingListItems = syPreAssembledPackingListItemService.list(queryWrapper);
|
|
|
- if(packingListItems.size()!=0){
|
|
|
- result.setSuccess(false);
|
|
|
- result.setMessage("该单据被下游参照,不允许取消提交!");
|
|
|
- return result;
|
|
|
- }
|
|
|
- //判断下游是否有装箱单-面辅料单据
|
|
|
- QueryWrapper<SyPackingListFabricItem> queryWrapper1 = new QueryWrapper<SyPackingListFabricItem>();
|
|
|
- queryWrapper1.eq("sy_shipping_details_item_id",li.getId()).eq("del_flag",0);
|
|
|
- List<SyPackingListFabricItem> packingListFabricItem = syPackingListFabricItemService.list(queryWrapper1);
|
|
|
- if(packingListFabricItem.size()!=0){
|
|
|
+ // 判断下游是否有预装箱单-成衣单据和装箱单-面辅料单据
|
|
|
+ QueryWrapper<SyPreAssembledPackingListItem> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("sy_declaration_elements_item_id", li.getId()).eq("del_flag", 0);
|
|
|
+
|
|
|
+ // 使用LEFT JOIN连接装箱单表,并筛选出符合条件的行数
|
|
|
+ queryWrapper.apply("NOT EXISTS (SELECT 1 FROM sy_packing_list_fabric_item WHERE sy_shipping_details_item_id = {0} AND del_flag = 0)", li.getId());
|
|
|
+
|
|
|
+ // 使用LEFT JOIN连接预装箱单表,并筛选出符合条件的行数
|
|
|
+ queryWrapper.apply("NOT EXISTS (SELECT 1 FROM sy_pre_assembled_packing_list_item WHERE sy_declaration_elements_item_id = {0} AND del_flag = 0)", li.getId());
|
|
|
+
|
|
|
+ int count1 = syPreAssembledPackingListItemService.count(queryWrapper);
|
|
|
+ if (count1 > 0) {
|
|
|
result.setSuccess(false);
|
|
|
result.setMessage("该单据被下游参照,不允许取消提交!");
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
+// //查询是否已提交
|
|
|
+// QueryWrapper<SyShippingDetailsItem> itemQueryWrapper1 = new QueryWrapper<>();
|
|
|
+// itemQueryWrapper1.in("id",idsList).eq("submit_status","1");
|
|
|
+// List<SyShippingDetailsItem> list1 = syShippingDetailsItemService.list(itemQueryWrapper1);
|
|
|
+// for (SyShippingDetailsItem li : list1) {
|
|
|
+//// if (li.getSubmitStatus() == 0) {
|
|
|
+//// result.setSuccess(false);
|
|
|
+//// result.setMessage("部分单据已取消提交,请勿重复取消提交!");
|
|
|
+//// return result;
|
|
|
+//// }
|
|
|
+// //判断下游是否有预装箱单-成衣单据
|
|
|
+// QueryWrapper<SyPreAssembledPackingListItem> queryWrapper = new QueryWrapper<SyPreAssembledPackingListItem>();
|
|
|
+// queryWrapper.eq("sy_declaration_elements_item_id",li.getId()).eq("del_flag",0);
|
|
|
+// List<SyPreAssembledPackingListItem> packingListItems = syPreAssembledPackingListItemService.list(queryWrapper);
|
|
|
+// if(packingListItems.size()!=0){
|
|
|
+// result.setSuccess(false);
|
|
|
+// result.setMessage("该单据被下游参照,不允许取消提交!");
|
|
|
+// return result;
|
|
|
+// }
|
|
|
+// //判断下游是否有装箱单-面辅料单据
|
|
|
+// QueryWrapper<SyPackingListFabricItem> queryWrapper1 = new QueryWrapper<SyPackingListFabricItem>();
|
|
|
+// queryWrapper1.eq("sy_shipping_details_item_id",li.getId()).eq("del_flag",0);
|
|
|
+// List<SyPackingListFabricItem> packingListFabricItem = syPackingListFabricItemService.list(queryWrapper1);
|
|
|
+// if(packingListFabricItem.size()!=0){
|
|
|
+// result.setSuccess(false);
|
|
|
+// result.setMessage("该单据被下游参照,不允许取消提交!");
|
|
|
+// return result;
|
|
|
+// }
|
|
|
+// }
|
|
|
}
|
|
|
|
|
|
|
|
@@ -1072,6 +1097,16 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
|
|
|
}
|
|
|
|
|
|
|
|
|
+ //处理拼接
|
|
|
+ private String generateKey(SyShippingDetailsItem item) {
|
|
|
+ // 根据需要拼接一个唯一标识字符串,用于比较
|
|
|
+ return item.getSmallPo() + item.getOrderNumber() + item.getPreDeliveryDate() + item.getPreCompletionDate()
|
|
|
+ + item.getItemNumber() + item.getInventoryCode() + item.getColour() + item.getSize()
|
|
|
+ + item.getGuangpeiGateWidth() + item.getWeight() + item.getCodingRules();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 发运明细查询订单接口
|
|
|
* @param
|