|
@@ -2,11 +2,13 @@ package com.ruoyi.warehouseBusiness.service.impl;
|
|
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
+import cn.hutool.core.date.DateUtil;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
import com.ruoyi.anpin.ProfitExcel;
|
|
|
import com.ruoyi.anpin.SalesOfOutbound;
|
|
|
+import com.ruoyi.anpin.TMonthEndingClosingExcel;
|
|
|
import com.ruoyi.anpin.WarhousrExcel;
|
|
|
import com.ruoyi.approvalFlow.domain.AuditItems;
|
|
|
import com.ruoyi.approvalFlow.mapper.AuditItemsMapper;
|
|
@@ -58,7 +60,8 @@ import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
-import static java.util.stream.Collectors.toList;
|
|
|
+import static java.util.Comparator.comparingLong;
|
|
|
+import static java.util.stream.Collectors.*;
|
|
|
|
|
|
/**
|
|
|
* 详情主表Service业务层处理
|
|
@@ -1606,6 +1609,9 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
receipt = "D";
|
|
|
}
|
|
|
TWarehouseBills warehouseBills = JSONArray.parseObject(tWarehousebills, TWarehouseBills.class);
|
|
|
+ if (warehouseBills.getfBsdate() == null){
|
|
|
+ return AjaxResult.error("入库日期不能为空");
|
|
|
+ }
|
|
|
JSONArray jsonCrArray = JSONArray.parseArray(tWarehousebillsfees);
|
|
|
List<TWarehousebillsfees> warehousebillsfeesList = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsfees.class);
|
|
|
Integer i = null;
|
|
@@ -1736,8 +1742,21 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
}
|
|
|
Integer i = null;
|
|
|
TWarehouseBills warehouseBills = JSONArray.parseObject(tWarehousebills, TWarehouseBills.class);
|
|
|
+ if (warehouseBills.getfBsdate() == null){
|
|
|
+ return AjaxResult.error("入库日期不能为空");
|
|
|
+ }
|
|
|
JSONArray jsonCrArray = JSONArray.parseArray(tWarehousebillsfees);
|
|
|
List<TWarehousebillsfees> warehousebillsfeesList = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsfees.class);
|
|
|
+ //出入库时判断是否结账
|
|
|
+ if ("RK".equals(billsType) || "CK".equals(billsType)){
|
|
|
+ int year = DateUtil.year(warehouseBills.getfBsdate());
|
|
|
+ int month = DateUtil.month(warehouseBills.getfBsdate());
|
|
|
+ List<TMonthEndingClosingExcel> tMonthEndingClosingExcel = tWarehousebillsfeesMapper.selectTMonthEndingClosingList(year, month+1, "T");
|
|
|
+ if (CollectionUtils.isNotEmpty(tMonthEndingClosingExcel)){
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
+ return AjaxResult.error("当前入库日期所在的年月已结账不能入账");
|
|
|
+ }
|
|
|
+ }
|
|
|
if (warehouseBills.getfId() == null) {
|
|
|
String billNo = billnoSerialServiceImpl.getBillNo(billsType, warehouseBills.getfBsdate());
|
|
|
warehouseBills.setfBillno(billNo);
|
|
@@ -1836,7 +1855,6 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
return AjaxResult.error("出库数量大于库存数,库存不足");
|
|
|
}
|
|
|
this.anPinUpdateTWhgenlegData(warehousebillsfees,tWhgenleg.getfId(),billsType);
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -2011,7 +2029,9 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
public List<ProfitExcel> salectAnpinProfit(TWarehouseBills tWarehouseBills) {
|
|
|
List<ProfitExcel> profitExcels = tWarehousebillsfeesMapper.salectAnpinProfit(tWarehouseBills);
|
|
|
//去重
|
|
|
- List<ProfitExcel> collect = profitExcels.stream().distinct().collect(toList());
|
|
|
+ List<ProfitExcel> collect = profitExcels.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(ProfitExcel -> ProfitExcel.getAbbreviated()
|
|
|
+ + ";"+ ProfitExcel.getAnnual()+ ";"+ ProfitExcel.getfCorpName()+ ";"+ ProfitExcel.getMarket()+ ";"+ ProfitExcel.getProfit()+ ";"+ ProfitExcel.getPurchase()
|
|
|
+ ))), ArrayList::new));
|
|
|
return collect;
|
|
|
}
|
|
|
|