|
@@ -229,6 +229,13 @@ public class WebsitPartsSalesOrderLogic {
|
|
|
}
|
|
|
//获取登录人昵称
|
|
|
DateTime curDate = DateUtil.date();
|
|
|
+ final Storage storage = storageService.lambdaQuery()
|
|
|
+ .eq(Storage::getCompanyWechatId, wechat.getCompanyWechatId())
|
|
|
+ .eq(Storage::getWebsitId, partsSalesOrderBean.getWebsitId())
|
|
|
+ .eq(Storage::getIsDefault, true)
|
|
|
+ .one();
|
|
|
+ partsSalesOrderBean.setStorageId(storage.getStorageId())
|
|
|
+ .setStorageName(storage.getStorageName());
|
|
|
|
|
|
if (Objects.isNull(partsSalesOrderBean.getPayType())) {
|
|
|
// 默认通联
|
|
@@ -268,7 +275,7 @@ public class WebsitPartsSalesOrderLogic {
|
|
|
websitPartsSalesItemService.saveBatch(partsSalesOrderItems);
|
|
|
}
|
|
|
|
|
|
- private Map<String, Object> validate(com.gree.mall.miniapp.bean.material.parts.PartsSalesOrderBean partsSalesOrderBean) {
|
|
|
+ private Map<String, Object> validate(PartsSalesOrderBean partsSalesOrderBean) {
|
|
|
Map<String, Object> result = new HashMap<>();
|
|
|
result.put("isSuccess" , Boolean.TRUE);
|
|
|
|
|
@@ -387,8 +394,8 @@ public class WebsitPartsSalesOrderLogic {
|
|
|
result.put("msg", "新增配件销售单失败,以下配件配件编码不存在: "+String.join(",", notExsistisPartsNumbers));
|
|
|
return result;
|
|
|
}
|
|
|
- List<com.gree.mall.miniapp.bean.material.parts.PartsSalesOrderItemBean> values = new ArrayList<>(partsSalesOrderBean.getItemList().stream()
|
|
|
- .collect(Collectors.toMap(com.gree.mall.miniapp.bean.material.parts.PartsSalesOrderItemBean::getPartsNumber, Function.identity(), (key1, key2) -> {
|
|
|
+ List<PartsSalesOrderItemBean> values = new ArrayList<>(partsSalesOrderBean.getItemList().stream()
|
|
|
+ .collect(Collectors.toMap(PartsSalesOrderItemBean::getPartsNumber, Function.identity(), (key1, key2) -> {
|
|
|
key1.setQty(key1.getQty().add(key2.getQty()));
|
|
|
return key1;
|
|
|
})).values());
|
|
@@ -494,9 +501,26 @@ public class WebsitPartsSalesOrderLogic {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private List<WebsitPartsSalesItem> createSalesOrderItem(com.gree.mall.miniapp.bean.material.parts.PartsSalesOrderBean partsSalesOrderBean, List<com.gree.mall.miniapp.bean.material.parts.PartsSalesOrderItemBean> itemList) {
|
|
|
+ private List<WebsitPartsSalesItem> createSalesOrderItem(PartsSalesOrderBean partsSalesOrderBean, List<PartsSalesOrderItemBean> itemList) {
|
|
|
List<WebsitPartsSalesItem> partsSalesOrderItems = new ArrayList<>();
|
|
|
- for(com.gree.mall.miniapp.bean.material.parts.PartsSalesOrderItemBean partsSalesOrderItemBean : itemList) {
|
|
|
+ final List<WebsitStock> websitStocks = websitStockService.lambdaQuery()
|
|
|
+ .eq(WebsitStock::getCompanyWechatId, partsSalesOrderBean.getCompanyWechatId())
|
|
|
+ .eq(WebsitStock::getWebsitId, partsSalesOrderBean.getWebsitId())
|
|
|
+ .eq(WebsitStock::getStorageId, partsSalesOrderBean.getStorageId())
|
|
|
+ .eq(WebsitStock::getGoodsType, WebsitGoodsTypeEnum.P.toString())
|
|
|
+ .in(WebsitStock::getGoodsId, itemList.stream().map(PartsSalesOrderItemBean::getPartsNumber).collect(Collectors.toList()))
|
|
|
+ .list();
|
|
|
+ if (CollectionUtil.isNotEmpty(websitStocks)) {
|
|
|
+ final Map<String, WebsitStock> stockMap = websitStocks.stream()
|
|
|
+ .collect(Collectors.toMap(WebsitStock::getGoodsId, Function.identity()));
|
|
|
+ for (PartsSalesOrderItemBean salesItem : itemList) {
|
|
|
+ final WebsitStock stock = stockMap.get(salesItem.getPartsNumber());
|
|
|
+ if (Objects.nonNull(stock) && salesItem.getQty().compareTo(stock.getQty()) > 0) {
|
|
|
+ throw new RemoteServiceException(salesItem.getPartsName() + " 销售数量不能大于库存数量");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for(PartsSalesOrderItemBean partsSalesOrderItemBean : itemList) {
|
|
|
WebsitPartsSalesItem partsSalesOrderItem = new WebsitPartsSalesItem();
|
|
|
BeanUtils.copyProperties(partsSalesOrderItemBean, partsSalesOrderItem);
|
|
|
partsSalesOrderItem.setSalesId(partsSalesOrderBean.getId())
|
|
@@ -507,16 +531,16 @@ public class WebsitPartsSalesOrderLogic {
|
|
|
return partsSalesOrderItems;
|
|
|
}
|
|
|
|
|
|
- public com.gree.mall.miniapp.bean.material.parts.PartsSalesOrderBean loadSalesOrderById(String id) {
|
|
|
+ public PartsSalesOrderBean loadSalesOrderById(String id) {
|
|
|
WebsitPartsSales partsSalesOrder = websitPartsSalesService.getById(id);
|
|
|
|
|
|
if(Objects.isNull(partsSalesOrder)) {
|
|
|
throw new RemoteServiceException("获取配件销售单失败") ;
|
|
|
}
|
|
|
|
|
|
- com.gree.mall.miniapp.bean.material.parts.PartsSalesOrderBean partsSalesOrderBean = new com.gree.mall.miniapp.bean.material.parts.PartsSalesOrderBean();
|
|
|
+ PartsSalesOrderBean partsSalesOrderBean = new PartsSalesOrderBean();
|
|
|
BeanUtils.copyProperties(partsSalesOrder, partsSalesOrderBean, PartsSalesOrderBean.class);
|
|
|
- List<com.gree.mall.miniapp.bean.material.parts.PartsSalesOrderItemBean> itemList = materialMapper.selectItemBySalesOrderId(partsSalesOrderBean.getId());
|
|
|
+ List<PartsSalesOrderItemBean> itemList = materialMapper.selectItemBySalesOrderId(partsSalesOrderBean.getId());
|
|
|
partsSalesOrderBean.setItemList(Collections.isEmpty(itemList) ? null : itemList);
|
|
|
List<WebsitSalesPayOrder> payList = websitSalesPayOrderService.lambdaQuery()
|
|
|
.eq(WebsitSalesPayOrder::getCompanyWechatId, partsSalesOrder.getCompanyWechatId())
|
|
@@ -541,7 +565,7 @@ public class WebsitPartsSalesOrderLogic {
|
|
|
|
|
|
public Object submit(String id) {
|
|
|
CurrentCompanyWechat wechat = commonLogic.getCurrentCompanyWechat();
|
|
|
- com.gree.mall.miniapp.bean.material.parts.PartsSalesOrderBean partsSalesOrderBean = loadSalesOrderById(id);
|
|
|
+ PartsSalesOrderBean partsSalesOrderBean = loadSalesOrderById(id);
|
|
|
if(Objects.isNull(partsSalesOrderBean)) {
|
|
|
throw new RemoteServiceException("配件单提交失败,销售单信息不能为空") ;
|
|
|
}
|