修改添加购物车最大可以请购数量

This commit is contained in:
yangjun 2025-11-18 16:03:38 +08:00
parent 7d0fcbfe87
commit 1cb690574f
3 changed files with 41 additions and 8 deletions

View File

@ -49,11 +49,16 @@ public class InvoicingApi {
@AutoLog(value = "请购单-请购信息-添加")
@PostMapping(value = "/addShoppingCartList")
public Result<String> addShoppingCartList(@RequestBody List<QgdInfoEntity> infoList) {
String result = invoicingApi.addShoppingCartList(infoList);
Integer maxCount = 100;//购物车最大数量
String result = invoicingApi.addShoppingCartList(infoList,maxCount);
if("1".equals( result)){
return Result.error("请购信息已存在,不可重复请购!");
}else if(result.indexOf("2@")>-1){
return Result.error("您已有其他物料请购数据,请购总数量超出库存上限,请修改请购数量,剩余请购数量为:" + result.split("@")[1]);
}else if("3".equals( result)){
return Result.error("添加的物料配置错误,请检查物料是否在对应仓库里!");
}else if("4".equals( result)){
return Result.error("购物车最大数量为"+maxCount+",请购数量超出限制");
}
return Result.OK("添加成功!");
}
@ -322,7 +327,11 @@ public class InvoicingApi {
if(StringUtils.isEmpty(cgdInfoEntityDto.getNuId())){
return Result.error("请选择仓库");
}
String result = invoicingApi.addWaringAll(cgdInfoEntityDto);
Integer maxCount = 100;//最大可添加数量
String result = invoicingApi.addWaringAll(cgdInfoEntityDto,maxCount);
if("4".equals( result)){
return Result.error("购物车最大可添加"+maxCount+"条请购信息,已超出限制,不可再进行请购");
}
return Result.OK("添加成功!");
}

View File

@ -2,6 +2,7 @@ package com.nu.modules.invoicing.api;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nu.entity.*;
import io.swagger.models.auth.In;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
@ -13,7 +14,7 @@ public interface IInvoicingApi {
IPage<QgdInfoEntity> queryShoppingCartList(Integer pageNo, Integer pageSize, QgdInfoEntity qgdInfoEntityDto, HttpServletRequest req);
String addShoppingCartList(List<QgdInfoEntity> infoList);
String addShoppingCartList(List<QgdInfoEntity> infoList,Integer maxCount);
List<CgdMainEntity> generatedPurchaseViewOrder(List<QgdInfoEntity> infoList);
@ -69,7 +70,7 @@ public interface IInvoicingApi {
IPage<CgdSxdEntity> querySxdList(Integer pageNo, Integer pageSize, CgdSxdEntity cgdSxdEntityDto, HttpServletRequest req);
String addWaringAll(CgdInfoEntity cgdInfoEntityDto);
String addWaringAll(CgdInfoEntity cgdInfoEntityDto, Integer maxCount);
String pickingInfo(CgdInfoEntity cgdInfoEntityDto);

View File

@ -29,6 +29,7 @@ import com.nu.modules.qgd.mapper.QgdInfoMapper;
import com.nu.modules.sysconfig.ISysConfigApi;
import com.nu.modules.warehouseMaterialInfo.entity.BlWarehouseMaterialInfo;
import com.nu.modules.warehouseMaterialInfo.mapper.BlWarehouseMaterialInfoMapper;
import io.swagger.models.auth.In;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.system.query.QueryGenerator;
@ -154,7 +155,18 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
}
@Override
public String addShoppingCartList(List<QgdInfoEntity> infoList) {
public String addShoppingCartList(List<QgdInfoEntity> infoList,Integer maxCount) {
String nuId = infoList.get(0).getNuId();
if(StringUtils.isEmpty(nuId)){
return "3";//护理单元为空
}else{
List<QgdInfo> listqg = qgdInfoMapper.selectList(new QueryWrapper<QgdInfo>().eq("nu_id",nuId));
if(listqg.size()>maxCount){
return "4";//购物车最大数量为100请购数量超出限制
}
}
String result = "0";
for (QgdInfoEntity info : infoList) {
if(info.getPurchaseQuantity()!=null && info.getPurchaseQuantity()>0){
@ -754,17 +766,24 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
}
@Override
public String addWaringAll(CgdInfoEntity cgdInfoEntityDto) {
public String addWaringAll(CgdInfoEntity cgdInfoEntityDto, Integer maxCount) {
List<QgdInfo> listqg = qgdInfoMapper.selectList(new QueryWrapper<QgdInfo>().eq("nu_id",cgdInfoEntityDto.getNuId()));
if(listqg.size()>=maxCount){
return "4";//购物车最大数量为100请购数量超出限制
}
QueryWrapper<BlWarehouseMaterialInfo> queryWrapper = new QueryWrapper<>() ;
queryWrapper.eq("nu_id",cgdInfoEntityDto.getNuId());
queryWrapper.apply("kcsl <= lower_limit");//库存小于下限的数据
queryWrapper.eq("del_flag","0");//查询未删除的数据
queryWrapper.eq("iz_enabled","Y");//查询启用的数据
queryWrapper.eq("isAdd","0");//查询未在购物车里的数据
// queryWrapper.last("limit " + (3-listqg.size()));
//库存预警数据
List<BlWarehouseMaterialInfo> list = mterialInfoMapper.selectList(queryWrapper);
//供应商集合
List<ConfigSuppliersInfo> gysList = gysMapper.selectList(new QueryWrapper<ConfigSuppliersInfo>().eq("del_flag","0"));
int count = listqg.size();
for(BlWarehouseMaterialInfo info : list){
String wlupperlimit = info.getUpperLimit()+"";
@ -795,7 +814,7 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
}
//如果没有匹配的供应商则跳出循环不添加物料了
if(StringUtils.isEmpty(gysName)){
break;
continue;
}
qgdInfoIns.setSuppliersId(info.getSuppliers().split(",")[0]);
qgdInfoIns.setSuppliersName(gysName);
@ -822,10 +841,14 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
}
//如果请购数量不足1个则跳出循环不添加物料了
if(qgsl == 0){
break;
continue;
}
qgdInfoIns.setPurchaseQuantity(qgsl);
qgdInfoMapper.insert(qgdInfoIns);
count++;
if(count>=maxCount){
break;
}
}
return "1";
}