Browse Source

商机原产品库存未校验

zhouyy 4 months ago
parent
commit
00f8b184ce

+ 10 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/BusinessOpportunityController.java

@@ -15,6 +15,7 @@ import com.management.platform.service.SysFunctionService;
 import com.management.platform.service.WxCorpInfoService;
 import com.management.platform.service.impl.ExcelExportServiceImpl;
 import com.management.platform.util.HttpRespMsg;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -261,6 +262,15 @@ public class BusinessOpportunityController {
             bo.setUserId(user.getId());
             bo.setCreateTime(new Date());
             bo.setIsDelete(0);
+            if(StringUtils.isNotBlank(bo.getBusinessItemProductList())){
+                List<BusinessItemProduct> businessItemProducts = JSONArray.parseArray(bo.getBusinessItemProductList(), BusinessItemProduct.class);
+                for (BusinessItemProduct businessItemProduct : businessItemProducts) {
+                    if(businessItemProduct.getQuantity() > businessItemProduct.getInventory()){
+                        msg.setError("["+businessItemProduct.getProductName()+"]产品数量不能大于库存");
+                        return msg;
+                    }
+                }
+            }
             QueryWrapper<BusinessOpportunity> queryWrapper = new QueryWrapper<>();
             queryWrapper.eq("stage_id", bo.getStageId()).eq("is_delete",0).orderByDesc("seq").last("limit 1");
             List<BusinessOpportunity> list = bOservice.list(queryWrapper);

+ 1 - 1
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/BusinessOpportunityServiceImpl.java

@@ -156,7 +156,7 @@ public class BusinessOpportunityServiceImpl extends ServiceImpl<BusinessOpportun
                 // 折后价格
                 discountedPrice = discountedPrice.add(price.multiply(divide));
             }
-            if(0 >= finalPrice.compareTo(new BigDecimal(0))){
+            if(finalPrice.compareTo(new BigDecimal(0))>0){
             BigDecimal divide = discountedPrice.divide(finalPrice, 2, BigDecimal.ROUND_UP);
             // 整单折扣率
             businessOpportunity.setFinalPrice(divide.multiply(new BigDecimal(100)));