|
@@ -115,17 +115,20 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
|
|
|
@AutoLog(value = "发运明细主表-分页列表查询")
|
|
|
@ApiOperation(value="发运明细主表-分页列表查询", notes="发运明细主表-分页列表查询")
|
|
|
@GetMapping(value = "/list")
|
|
|
- public Result<IPage<SyShippingDetailsVo>> queryPageList(SyShippingDetailsVo syShippingDetails, String startTime, String endTime, String flourOrGarment,
|
|
|
+ public Result<IPage<QueryShippingVo>> queryPageList(SyShippingDetailsVo syShippingDetails, String startTime, String endTime, String flourOrGarment,
|
|
|
String refer, String preDeliveryDateB, String preDeliveryDateE, String supplier, String isElement,
|
|
|
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
|
|
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
|
|
HttpServletRequest req) {
|
|
|
|
|
|
- Result<IPage<SyShippingDetailsVo>> result = new Result<IPage<SyShippingDetailsVo>>();
|
|
|
+ Result<IPage<QueryShippingVo>> result = new Result<IPage<QueryShippingVo>>();
|
|
|
+
|
|
|
+ Page<QueryShippingVo> page = new Page<QueryShippingVo>(1, -1);
|
|
|
+ IPage<QueryShippingVo> pageList = null;
|
|
|
//列表合计
|
|
|
- Double amountTo = 0.0000;
|
|
|
+ BigDecimal amountTo = BigDecimal.ZERO;
|
|
|
|
|
|
- QueryWrapper<SyShippingDetailsVo> queryWrapper = new QueryWrapper<>();
|
|
|
+ QueryWrapper<QueryShippingVo> queryWrapper = new QueryWrapper<>();
|
|
|
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
if(oConvertUtils.isNotEmpty(syShippingDetails.getDocumentNo())){
|
|
|
queryWrapper.like("a.document_no",syShippingDetails.getDocumentNo());
|
|
@@ -200,31 +203,17 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
|
|
|
queryWrapper.in("b.small_po",asList);
|
|
|
}
|
|
|
|
|
|
- Page<SyShippingDetailsVo> page = new Page<SyShippingDetailsVo>(1, -1);
|
|
|
- IPage<SyShippingDetailsVo> pageList;
|
|
|
+
|
|
|
if (flourOrGarment.equals("0")) { // 面辅料
|
|
|
queryWrapper.eq("1", 1);
|
|
|
- pageList = syShippingDetailsService.queryShippingDetailsGarment(page, queryWrapper);
|
|
|
+ pageList = syShippingDetailsMapper.queryShippingDetailsGarmentCeshi(page, queryWrapper);
|
|
|
} else { // 成衣
|
|
|
queryWrapper.eq("1", 1);
|
|
|
- pageList = syShippingDetailsService.queryShippingDetails(page, queryWrapper);
|
|
|
+ pageList = syShippingDetailsMapper.queryShippingDetailsCeshi(page, queryWrapper);
|
|
|
}
|
|
|
// 计算总合计数量
|
|
|
- amountTo = pageList.getRecords().stream().mapToDouble(SyShippingDetailsVo::getShipmentQuantity).sum();
|
|
|
-
|
|
|
- // 对查询结果按 createTime 逆序排序
|
|
|
- pageList.setRecords(pageList.getRecords().stream().sorted(Comparator.comparing(SyShippingDetailsVo::getCreateTime).reversed()).collect(Collectors.toList()));
|
|
|
+ amountTo = pageList.getRecords().stream().map(QueryShippingVo::getShipmentQuantity).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
|
|
-// List<QueryShippingVo> voList = new ArrayList<>();
|
|
|
-// for(SyShippingDetailsVo vo:pageList.getRecords()){
|
|
|
-// QueryShippingVo entity = new QueryShippingVo();
|
|
|
-// BeanUtils.copyProperties(vo,entity);
|
|
|
-// voList.add(entity);
|
|
|
-// }
|
|
|
- Page<QueryShippingVo> page1 = new Page<QueryShippingVo>(1, -1);
|
|
|
- //IPage<QueryShippingVo> voList1 = new I;
|
|
|
- //voList1.setRecords(voList);
|
|
|
- //page1.setRecords(voList);
|
|
|
result.setResult(pageList);
|
|
|
result.setSuccess(true);
|
|
|
|
|
@@ -351,11 +340,15 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
|
|
|
// result.setSuccess(false);
|
|
|
// return result;
|
|
|
// }
|
|
|
+
|
|
|
+ List<String> idList = new ArrayList<>();
|
|
|
+ idList.add(id);
|
|
|
+
|
|
|
String idsSplit[] = itemIds.split(",");
|
|
|
for(String str:idsSplit){
|
|
|
strList.add(str);
|
|
|
}
|
|
|
- int size = syShippingDetailsService.syShippingDetailsDelete(id,strList);
|
|
|
+ int size = syShippingDetailsService.syShippingDetailsDelete(idList,strList);
|
|
|
if(size>0){
|
|
|
result.setSuccess(true);
|
|
|
result.setMessage("删除成功");
|
|
@@ -381,9 +374,14 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
|
|
|
throw new JeecgBootException("为获取到勾选数据ID!");
|
|
|
}
|
|
|
|
|
|
+ // 使用HashSet对List进行去重
|
|
|
+ Set<String> uniqueSet = new HashSet<>(syShippingDetails.getIds());
|
|
|
+
|
|
|
+ // 创建一个新的List,将去重后的元素重新添加进去
|
|
|
+ List<String> deduplicatedList = new ArrayList<>(uniqueSet);
|
|
|
+
|
|
|
//获取子表ID
|
|
|
List<String> itemIds = new ArrayList<>();
|
|
|
-
|
|
|
for(String li:syShippingDetails.getItemId()){
|
|
|
String idsSplit[] = li.split(",");
|
|
|
for(String id :idsSplit){
|
|
@@ -398,20 +396,21 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
|
|
|
throw new JeecgBootException("部分单据已提交,不允许删除!");
|
|
|
}
|
|
|
|
|
|
- int ii = 0;
|
|
|
- for(String str :syShippingDetails.getIds()){
|
|
|
-
|
|
|
- List<String> itenIdList = new ArrayList<>();
|
|
|
-
|
|
|
- List<String> strList = syShippingDetails.getItemId();
|
|
|
- String idIndex = strList.get(ii);
|
|
|
- String split[] = idIndex.split(",");
|
|
|
- for(String sr : split){
|
|
|
- itenIdList.add(sr);
|
|
|
- }
|
|
|
- syShippingDetailsService.syShippingDetailsDelete(str,itenIdList);
|
|
|
- ii++;
|
|
|
- }
|
|
|
+ syShippingDetailsService.syShippingDetailsDelete(deduplicatedList,itemIds);
|
|
|
+// int ii = 0;
|
|
|
+// for(String str :syShippingDetails.getIds()){
|
|
|
+//
|
|
|
+// List<String> itenIdList = new ArrayList<>();
|
|
|
+//
|
|
|
+// List<String> strList = syShippingDetails.getItemId();
|
|
|
+// String idIndex = strList.get(ii);
|
|
|
+// String split[] = idIndex.split(",");
|
|
|
+// for(String sr : split){
|
|
|
+// itenIdList.add(sr);
|
|
|
+// }
|
|
|
+//
|
|
|
+// ii++;
|
|
|
+// }
|
|
|
result.setSuccess(true);
|
|
|
result.setMessage("删除成功");
|
|
|
result.setResult(1);
|
|
@@ -599,6 +598,11 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
|
|
|
result.setMessage("报关要素未维护,不允许导出!");
|
|
|
return result;
|
|
|
}
|
|
|
+ if(li.getSubmitStatus().equals("0")){
|
|
|
+ result.setSuccess(false);
|
|
|
+ result.setMessage("有未提交数据,不允许导出");
|
|
|
+ return result;
|
|
|
+ }
|
|
|
if(oConvertUtils.isEmpty(li.getGarmentFactory())){
|
|
|
li.setGarmentFactory(" ");
|
|
|
}
|
|
@@ -672,7 +676,11 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
|
|
|
result.setSuccess(false);
|
|
|
result.setMessage("报关要素未维护,不允许导出!");
|
|
|
return result;
|
|
|
-
|
|
|
+ }
|
|
|
+ if(li.getSubmitStatus().equals("0")){
|
|
|
+ result.setSuccess(false);
|
|
|
+ result.setMessage("有未提交数据,不允许导出");
|
|
|
+ return result;
|
|
|
}
|
|
|
String pre = sf.format(li.getPreDeliveryDate());
|
|
|
//用到货日期代替一下预发货日期
|
|
@@ -949,25 +957,18 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
|
|
|
List<String> submitListId = syShippingDetails.getGrouyIdList();
|
|
|
for(String str:submitListId ){
|
|
|
idsList.add(str);
|
|
|
-// String idsArray[] = str.split(",");
|
|
|
-//
|
|
|
-// for(String arr:idsArray){
|
|
|
-// idsList.add(arr);
|
|
|
-// }
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- //查询是否已提交
|
|
|
- QueryWrapper<SyShippingDetailsItem> itemQueryWrapper = new QueryWrapper<>();
|
|
|
- itemQueryWrapper.in("id",idsList).eq("submit_status","0");
|
|
|
- List<SyShippingDetailsItem> list = syShippingDetailsItemService.list(itemQueryWrapper);
|
|
|
if(syShippingDetails.getType().equals("1")) {
|
|
|
+
|
|
|
+ Set<String> seenData = new HashSet<>();
|
|
|
+
|
|
|
+ //查询未提交数据
|
|
|
+ QueryWrapper<SyShippingDetailsItem> itemQueryWrapper = new QueryWrapper<>();
|
|
|
+ itemQueryWrapper.in("id",idsList).eq("submit_status","0");
|
|
|
+ List<SyShippingDetailsItem> list = syShippingDetailsItemService.list(itemQueryWrapper);
|
|
|
+
|
|
|
for (SyShippingDetailsItem li : list) {
|
|
|
-// if (li.getSubmitStatus() == 1) {
|
|
|
-// result.setSuccess(false);
|
|
|
-// result.setMessage("部分单据已提交,请勿重复提交!");
|
|
|
-// return result;
|
|
|
-// }
|
|
|
|
|
|
//判断是不是辅料数据,如果是不必维护一下内容
|
|
|
String code = li.getInventoryCcode().substring(0,2);
|
|
@@ -975,7 +976,6 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
|
|
|
if(li.getInventoryCcode().length() >= 4){
|
|
|
code1 = li.getInventoryCcode().substring(0,4);
|
|
|
}
|
|
|
-
|
|
|
if(!code.equals("04") && !code.equals("05")&& !code.equals("06")&& !code.equals("07")&& !code1.equals("0299")&& !code1.equals("0399")&& !code1.equals("0499")){
|
|
|
//判断物料成份。isTc、款号是否为空,为空不允许提交
|
|
|
if(oConvertUtils.isEmpty(li.getItemNumber()) || oConvertUtils.isEmpty(li.getMaterialComposition()) || oConvertUtils.isEmpty(li.getIsTc())){
|
|
@@ -984,29 +984,18 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
- //判断重复自由项数据
|
|
|
- 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 (SyShippingDetailsItem item : groupList) {
|
|
|
- String key = generateKey(item);
|
|
|
- if (seenData.contains(key)) {
|
|
|
- result.setSuccess(false);
|
|
|
- result.setMessage("第" + count + "条里面有重复数据,无法提交");
|
|
|
- return result;
|
|
|
- }
|
|
|
- seenData.add(key);
|
|
|
+ //判断重复自由项数据
|
|
|
+ String key = generateKey(li);
|
|
|
+ if (seenData.contains(key)) {
|
|
|
+ result.setSuccess(false);
|
|
|
+ result.setMessage("第" + count + "条里面有重复数据,无法提交");
|
|
|
+ return result;
|
|
|
}
|
|
|
-
|
|
|
+ seenData.add(key);
|
|
|
count++;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
}else{
|
|
|
|
|
|
List<String> taId = new ArrayList<>();
|
|
@@ -1067,7 +1056,7 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
|
|
|
//处理拼接
|
|
|
private String generateKey(SyShippingDetailsItem item) {
|
|
|
// 根据需要拼接一个唯一标识字符串,用于比较
|
|
|
- return item.getSmallPo() + item.getOrderNumber() + item.getPreDeliveryDate() + item.getPreCompletionDate()
|
|
|
+ return item.getGroupId()+item.getSmallPo() + item.getOrderNumber() + item.getPreDeliveryDate() + item.getPreCompletionDate()
|
|
|
+ item.getItemNumber() + item.getInventoryCode() + item.getColour() + item.getSize()
|
|
|
+ item.getGuangpeiGateWidth() + item.getWeight() + item.getCodingRules();
|
|
|
}
|