|
@@ -70,7 +70,7 @@ public class WebsitSalesRetLogic {
|
|
|
List<String> companyWechatIds = adminUser.getCompanyWechatIds();
|
|
|
|
|
|
//1.组装查询条件
|
|
|
- ZfireParamBean zfireParam = FieldUtils.supplyParam(zfireParamBean, WebsitSalesRetVO.class,adminUser);
|
|
|
+ ZfireParamBean zfireParam = FieldUtils.supplyParam(zfireParamBean, WebsitSalesRetVO.class, adminUser);
|
|
|
|
|
|
|
|
|
IPage<WebsitSalesRetVO> websitSalesRetVOIPage = websitSalesRetCMapper.pageV2(new Page(zfireParamBean.getPageNum(),
|
|
@@ -89,6 +89,11 @@ public class WebsitSalesRetLogic {
|
|
|
throw new RemoteServiceException("请选择退货仓库");
|
|
|
}
|
|
|
|
|
|
+// final Integer count = websitSalesRetService.lambdaQuery()
|
|
|
+// .eq(WebsitSalesRet::getSalesId, websitSalesRetAddUP.getSalesId())
|
|
|
+// .eq(WebsitSalesRet::get)
|
|
|
+// .count();
|
|
|
+
|
|
|
WebsitSales websitSales = websitSalesService.getById(websitSalesRetAddUP.getSalesId());
|
|
|
if (!websitSales.getFlag().equals("PAY_TAKE"))
|
|
|
throw new RemoteServiceException("未提货不能退货");
|
|
@@ -98,7 +103,7 @@ public class WebsitSalesRetLogic {
|
|
|
websitSalesRetAddUP.setPayNo(websitSales.getPayNo());
|
|
|
websitSalesRetAddUP.setTotalAmount(websitSales.getTotalAmount());
|
|
|
websitSalesRetAddUP.setPayTime(websitSales.getPayTime());
|
|
|
- websitSalesRetAddUP.setSalesRetId("TF"+ IdWorker.getIdStr());
|
|
|
+ websitSalesRetAddUP.setSalesRetId("TF" + IdWorker.getIdStr());
|
|
|
websitSalesRetAddUP.setCompanyWechatId(adminUser.getCompanyWechatId());
|
|
|
websitSalesRetAddUP.setCompanyName(adminUser.getCompanyName());
|
|
|
websitSalesRetAddUP.setBuyPeople(websitSales.getBuyPeople());
|
|
@@ -127,9 +132,11 @@ public class WebsitSalesRetLogic {
|
|
|
one.setRetQty(one.getRetQty().add(websitSalesRetItem.getRetQty()));
|
|
|
|
|
|
if (one.getRetQty().doubleValue() > one.getSalesQty().doubleValue()) {
|
|
|
- throw new RemoteServiceException(websitSalesRetItem.getGoodsName()+"超过销售数量");
|
|
|
-
|
|
|
+ throw new RemoteServiceException(websitSalesRetItem.getGoodsName() + "超过销售数量");
|
|
|
}
|
|
|
+
|
|
|
+ this.checkConvertRetQty(one, websitSalesRetItem);
|
|
|
+
|
|
|
one.updateById();
|
|
|
|
|
|
websitSales.setRetAmount(websitSales.getRetAmount()
|
|
@@ -137,7 +144,7 @@ public class WebsitSalesRetLogic {
|
|
|
|
|
|
websitSales.updateById();
|
|
|
websitSalesRetItem.setSalesRetId(websitSalesRetAddUP.getSalesRetId());
|
|
|
- websitSalesRetItem.setConvertQty(websitSalesRetItem.getRetQty());
|
|
|
+ websitSalesRetItem.setConvertQty(one.getConvertQty());
|
|
|
websitSalesRetItem.setExamineQty(websitSalesRetItem.getRetQty());
|
|
|
if (websitSalesRetItem.getSaleAmount() != null)
|
|
|
allAmount = allAmount.add(websitSalesRetItem.getRetQty().multiply(websitSalesRetItem.getPrice()));
|
|
@@ -147,6 +154,25 @@ public class WebsitSalesRetLogic {
|
|
|
websitSalesRetItemService.saveBatch(websitSalesRetAddUP.getWebsitSalesRetItems());
|
|
|
}
|
|
|
|
|
|
+ private void checkConvertRetQty(WebsitSalesItem salesItem, WebsitSalesRetItem websitSalesRetItem) {
|
|
|
+ // 退货单明细退货转换数量
|
|
|
+ BigDecimal retConvertQty = websitSalesRetItem.getRetQty().divide(salesItem.getGoodsSalesConvertQty(), 1, BigDecimal.ROUND_UP);
|
|
|
+ websitSalesRetItem.setRetConvertQty(retConvertQty);
|
|
|
+ websitSalesRetItem.setWorkerGoodsId(salesItem.getWorkerGoodsId());
|
|
|
+ websitSalesRetItem.setWorkerGoodsName(salesItem.getWorkerGoodsName());
|
|
|
+
|
|
|
+ if (salesItem.getRetQty().compareTo(salesItem.getSalesQty()) >= 0) {
|
|
|
+ // 退货数量大于等于销售数量,全退转换数量
|
|
|
+ retConvertQty = websitSalesRetItem.getConvertQty().subtract(websitSalesRetItem.getRetConvertQty());
|
|
|
+ websitSalesRetItem.setRetConvertQty(retConvertQty);
|
|
|
+ salesItem.setConvertRetQty(retConvertQty);
|
|
|
+ } else {
|
|
|
+ // 历史退货转换数量加上本次退货转换数量
|
|
|
+ salesItem.setConvertRetQty(salesItem.getConvertRetQty().add(retConvertQty));
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void update(WebsitSalesRetAddUP websitSalesRetAddUP) throws Exception {
|
|
|
AdminUserCom adminUser = commonLogic.getAdminUser();
|
|
@@ -186,8 +212,8 @@ public class WebsitSalesRetLogic {
|
|
|
|
|
|
if (websitSales.getSalesType().equals(WebsitSalesTypeEnum.ENGIN.getName())) {
|
|
|
websitGoodsMangerLogic.givePrice((websitSales.getRetAmount().multiply(new BigDecimal("-1"))),
|
|
|
- websitSales.getOrderEnginBaseId(),null,"退货金额记录,退货单号:"+websitSales.getSalesRetId(),websitSales.getSalesRetId(),websitSales.getGoodsType());
|
|
|
- websitGoodsMangerLogic.upManage(websitSales.getOrderEnginBaseId(),websitSales.getGoodsType());
|
|
|
+ websitSales.getOrderEnginBaseId(), null, "退货金额记录,退货单号:" + websitSales.getSalesRetId(), websitSales.getSalesRetId(), websitSales.getGoodsType());
|
|
|
+ websitGoodsMangerLogic.upManage(websitSales.getOrderEnginBaseId(), websitSales.getGoodsType());
|
|
|
}
|
|
|
return;
|
|
|
}
|
|
@@ -196,12 +222,15 @@ public class WebsitSalesRetLogic {
|
|
|
throw new RemoteServiceException("没有产品不能提交");
|
|
|
|
|
|
BigDecimal allAmount = new BigDecimal("0");
|
|
|
- websitSalesRetItemService.lambdaUpdate().eq(WebsitSalesRetItem::getSalesRetId, websitSalesRetAddUP.getSalesRetId()).remove();
|
|
|
- for (WebsitSalesRetItem websitSalesRetItem : websitSalesRetAddUP.getWebsitSalesRetItems()) {
|
|
|
- websitSalesRetItem.setId(null);
|
|
|
- websitSalesRetItem.setSalesRetId(websitSalesRetAddUP.getSalesRetId());
|
|
|
- websitSalesRetItem.setConvertQty(websitSalesRetItem.getRetQty());
|
|
|
- websitSalesRetItem.setExamineQty(websitSalesRetItem.getRetQty());
|
|
|
+// websitSalesRetItemService.lambdaUpdate().eq(WebsitSalesRetItem::getSalesRetId, websitSalesRetAddUP.getSalesRetId()).remove();
|
|
|
+ final List<WebsitSalesRetItem> retItems = websitSalesRetItemService.lambdaQuery()
|
|
|
+ .eq(WebsitSalesRetItem::getSalesRetId, websitSalesRetAddUP.getSalesRetId())
|
|
|
+ .list();
|
|
|
+ for (WebsitSalesRetItem websitSalesRetItem : retItems) {
|
|
|
+// websitSalesRetItem.setId(null);
|
|
|
+// websitSalesRetItem.setSalesRetId(websitSalesRetAddUP.getSalesRetId());
|
|
|
+// websitSalesRetItem.setConvertQty(websitSalesRetItem.getRetQty());
|
|
|
+// websitSalesRetItem.setExamineQty(websitSalesRetItem.getRetQty());
|
|
|
allAmount = allAmount.add(websitSalesRetItem.getRetQty().multiply(websitSalesRetItem.getSaleAmount()));
|
|
|
}
|
|
|
websitSalesRetAddUP.setRetAmount(allAmount);
|
|
@@ -313,8 +342,8 @@ public class WebsitSalesRetLogic {
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void del(List<String> salesRetId) {
|
|
|
|
|
|
- websitSalesRetService.lambdaUpdate().in(WebsitSalesRet::getSalesRetId,salesRetId).remove();
|
|
|
- websitSalesRetItemService.lambdaUpdate().in(WebsitSalesRetItem::getSalesRetId,salesRetId).remove();
|
|
|
+ websitSalesRetService.lambdaUpdate().in(WebsitSalesRet::getSalesRetId, salesRetId).remove();
|
|
|
+ websitSalesRetItemService.lambdaUpdate().in(WebsitSalesRetItem::getSalesRetId, salesRetId).remove();
|
|
|
}
|
|
|
|
|
|
public WebsitSalesRetDetail detail(String id) {
|
|
@@ -342,7 +371,7 @@ public class WebsitSalesRetLogic {
|
|
|
websitSalesRetDetail.setAddress(websitSales.getAddress());
|
|
|
}
|
|
|
|
|
|
- websitSalesRetDetail.setWebsitSalesRetItems(websitSalesRetItemService.lambdaQuery().eq(WebsitSalesRetItem::getSalesRetId,id).list());
|
|
|
+ websitSalesRetDetail.setWebsitSalesRetItems(websitSalesRetItemService.lambdaQuery().eq(WebsitSalesRetItem::getSalesRetId, id).list());
|
|
|
return websitSalesRetDetail;
|
|
|
}
|
|
|
}
|