|
@@ -8,6 +8,7 @@ import cn.hutool.core.date.DateUtil;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
+import com.gree.mall.miniapp.bean.material.parts.PartsWorkerStockBean;
|
|
import com.gree.mall.miniapp.bean.material.parts.SalesCustomerPartsBean;
|
|
import com.gree.mall.miniapp.bean.material.parts.SalesCustomerPartsBean;
|
|
import com.gree.mall.miniapp.bean.material.parts.SalesCustomerPartsItemBean;
|
|
import com.gree.mall.miniapp.bean.material.parts.SalesCustomerPartsItemBean;
|
|
import com.gree.mall.miniapp.bean.material.stock.WorkerNormStockBean;
|
|
import com.gree.mall.miniapp.bean.material.stock.WorkerNormStockBean;
|
|
@@ -25,6 +26,7 @@ import com.gree.mall.miniapp.exception.RemoteServiceException;
|
|
import com.gree.mall.miniapp.logic.common.CommonLogic;
|
|
import com.gree.mall.miniapp.logic.common.CommonLogic;
|
|
import com.gree.mall.miniapp.logic.common.outside.WechatLogic;
|
|
import com.gree.mall.miniapp.logic.common.outside.WechatLogic;
|
|
import com.gree.mall.miniapp.logic.material.parts.OldRefundManageLogic;
|
|
import com.gree.mall.miniapp.logic.material.parts.OldRefundManageLogic;
|
|
|
|
+import com.gree.mall.miniapp.logic.material.parts.WorkerPartsStockLogic;
|
|
import com.gree.mall.miniapp.logic.material.stock.MaterialGoodsStockLogic;
|
|
import com.gree.mall.miniapp.logic.material.stock.MaterialGoodsStockLogic;
|
|
import com.gree.mall.miniapp.plus.entity.*;
|
|
import com.gree.mall.miniapp.plus.entity.*;
|
|
import com.gree.mall.miniapp.plus.service.*;
|
|
import com.gree.mall.miniapp.plus.service.*;
|
|
@@ -122,6 +124,9 @@ public class PayOrderLogic {
|
|
@Autowired
|
|
@Autowired
|
|
OldRefundManageLogic oldRefundManageLogic;
|
|
OldRefundManageLogic oldRefundManageLogic;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ WorkerPartsStockLogic workerPartsStockLogic;
|
|
|
|
+
|
|
public Page<WebsitNormCharge> pageCharge(String name, String categoryId, String orderId,Integer pageNum, Integer pageSize) {
|
|
public Page<WebsitNormCharge> pageCharge(String name, String categoryId, String orderId,Integer pageNum, Integer pageSize) {
|
|
CurrentCompanyWechat currentCompanyWechat = commonLogic.getCurrentCompanyWechat();
|
|
CurrentCompanyWechat currentCompanyWechat = commonLogic.getCurrentCompanyWechat();
|
|
Page<WebsitNormCharge> list = websitNormChargeService.lambdaQuery()
|
|
Page<WebsitNormCharge> list = websitNormChargeService.lambdaQuery()
|
|
@@ -204,7 +209,7 @@ public class PayOrderLogic {
|
|
if (StringUtil.isEmpty(workerOrderBuy.getCategoryId()))
|
|
if (StringUtil.isEmpty(workerOrderBuy.getCategoryId()))
|
|
this.addFuCai(workerStockMap, workerOrderItem, workerOrderBuy);
|
|
this.addFuCai(workerStockMap, workerOrderItem, workerOrderBuy);
|
|
else
|
|
else
|
|
- this.addPeiJian(workerOrderItem);
|
|
|
|
|
|
+ this.addPeiJian(workerOrderItem,workerOrderBuy);
|
|
|
|
|
|
|
|
|
|
totalAmount = totalAmount.add(workerOrderItem.getTotalAmount());
|
|
totalAmount = totalAmount.add(workerOrderItem.getTotalAmount());
|
|
@@ -215,6 +220,38 @@ public class PayOrderLogic {
|
|
num = num.add(workerOrderItem.getNum());
|
|
num = num.add(workerOrderItem.getNum());
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if (workerOrderBuy.getServicePrice() != null){
|
|
|
|
+
|
|
|
|
+ totalAmount.add(workerOrderBuy.getServicePrice());
|
|
|
|
+
|
|
|
|
+ BigDecimal workerServiceProceAmount = workerOrderBuy.getServicePrice().multiply(Convert.toBigDecimal("0.006"));
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ if (workerServiceProceAmount.doubleValue() > 0.01) {
|
|
|
|
+ workerProceAmount.add(workerServiceProceAmount.setScale(2, BigDecimal.ROUND_HALF_UP));
|
|
|
|
+
|
|
|
|
+ }else {
|
|
|
|
+ workerProceAmount.add(Convert.toBigDecimal("0.01"));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ if (workerOrderBuy.getOtherPrice() != null){
|
|
|
|
+
|
|
|
|
+ totalAmount.add(workerOrderBuy.getOtherPrice());
|
|
|
|
+ BigDecimal workerOtherProceAmount = workerOrderBuy.getOtherPrice().multiply(Convert.toBigDecimal("0.006"));
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ if (workerOtherProceAmount.doubleValue() > 0.01) {
|
|
|
|
+ workerProceAmount.add(workerOtherProceAmount.setScale(2, BigDecimal.ROUND_HALF_UP));
|
|
|
|
+
|
|
|
|
+ }else {
|
|
|
|
+ workerProceAmount.add(Convert.toBigDecimal("0.01"));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
if (CollectionUtil.isNotEmpty(workerStockMap)) {
|
|
if (CollectionUtil.isNotEmpty(workerStockMap)) {
|
|
// 检查辅材物料收费类型的库存是否够扣
|
|
// 检查辅材物料收费类型的库存是否够扣
|
|
for (Map.Entry<String, WorkerNormStockBean> entry : workerStockMap.entrySet()) {
|
|
for (Map.Entry<String, WorkerNormStockBean> entry : workerStockMap.entrySet()) {
|
|
@@ -247,36 +284,38 @@ public class PayOrderLogic {
|
|
return workerOrderBuy.getOrderId();
|
|
return workerOrderBuy.getOrderId();
|
|
}
|
|
}
|
|
|
|
|
|
- private void addPeiJian(WorkerOrderItem workerOrderItem) {
|
|
|
|
- WebsitGoods websitGoods = websitGoodsService.getById(workerOrderItem.getGoodsId());
|
|
|
|
|
|
+ private void addPeiJian(WorkerOrderItem workerOrderItem,WorkerOrderBuy workerOrderBuy) {
|
|
|
|
|
|
|
|
+ AdminWebsit adminWebsit = adminWebsitService.getById(workerOrderBuy.getWebsitId());
|
|
|
|
|
|
- workerOrderItem.setGoodsCode(websitGoods.getGoodsCode());
|
|
|
|
|
|
+ List<PartsWorkerStockBean> partsWorkerStockBeans = workerPartsStockLogic.existWorkerStockList(workerOrderBuy.getIdentity(), workerOrderBuy.getWebsitId(),
|
|
|
|
+ adminWebsit.getPartsWebsitId(), "NEW", workerOrderItem.getGoodsCode(), null, null);
|
|
|
|
+
|
|
|
|
+ if (CollectionUtils.isEmpty(partsWorkerStockBeans))
|
|
|
|
+ throw new RemoteServiceException("传参有误");
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ PartsWorkerStockBean partsWorkerStockBean = partsWorkerStockBeans.get(0);
|
|
|
|
|
|
|
|
|
|
- if (websitGoods.getNormType().equals("S"))
|
|
|
|
- workerOrderItem.setNormAmount(workerOrderItem.getNormAmount());
|
|
|
|
- else
|
|
|
|
- workerOrderItem.setNormAmount(websitGoods.getMarketPrice());
|
|
|
|
|
|
+
|
|
|
|
+ workerOrderItem.setGoodsCode(partsWorkerStockBean.getGoodsId());
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ workerOrderItem.setNormAmount(partsWorkerStockBean.getMarketPrice());
|
|
|
|
|
|
workerOrderItem.setGoodsAmount(workerOrderItem.getNormAmount());
|
|
workerOrderItem.setGoodsAmount(workerOrderItem.getNormAmount());
|
|
|
|
|
|
|
|
|
|
workerOrderItem.setTotalAmount(workerOrderItem.getNormAmount().multiply(Convert.toBigDecimal(workerOrderItem.getNum())));
|
|
workerOrderItem.setTotalAmount(workerOrderItem.getNormAmount().multiply(Convert.toBigDecimal(workerOrderItem.getNum())));
|
|
|
|
|
|
- workerOrderItem.setUnit(websitGoods.getGoodsSalesUnit());
|
|
|
|
|
|
+ workerOrderItem.setUnit(partsWorkerStockBean.getGoodsStockUnit());
|
|
|
|
|
|
- if (websitGoods.getNormType().equals("M")) {
|
|
|
|
- workerOrderItem.setChargeType("ACC");
|
|
|
|
|
|
|
|
- workerOrderItem.setWorkerAmount(workerOrderItem.getNormAmount().multiply(Convert.toBigDecimal(workerOrderItem.getNum())));
|
|
|
|
|
|
+ workerOrderItem.setChargeType("ACC");
|
|
|
|
+ workerOrderItem.setWorkerAmount(workerOrderItem.getNormAmount().multiply(Convert.toBigDecimal(workerOrderItem.getNum())));
|
|
|
|
|
|
- }else {
|
|
|
|
- workerOrderItem.setChargeType("SERV");
|
|
|
|
-
|
|
|
|
- workerOrderItem.setWorkerAmount(workerOrderItem.getNormAmount().multiply(Convert.toBigDecimal(workerOrderItem.getNum())));
|
|
|
|
|
|
|
|
- }
|
|
|
|
|
|
|
|
BigDecimal workerProceAmount = workerOrderItem.getWorkerAmount().multiply(Convert.toBigDecimal("0.006"));
|
|
BigDecimal workerProceAmount = workerOrderItem.getWorkerAmount().multiply(Convert.toBigDecimal("0.006"));
|
|
|
|
|