修改bug

This commit is contained in:
yangjun 2025-11-20 10:47:43 +08:00
parent a551de28b1
commit 10c7641298
5 changed files with 42 additions and 6 deletions

View File

@ -59,6 +59,8 @@ public class InvoicingApi {
return Result.error("添加的物料配置错误,请检查物料是否在对应仓库里!");
}else if("4".equals( result)){
return Result.error("购物车最大数量为"+maxCount+",请购数量超出限制");
}else if(result.indexOf("5@")>-1){
return Result.error("请购总数量超出库存上限,请修改请购数量,已超出数量为:" + result.split("@")[1]);
}
return Result.OK("添加成功!");
}

View File

@ -254,9 +254,11 @@ public class ConfigMaterialCategoryServiceImpl extends ServiceImpl<ConfigMateria
String twoId = "";
String threeId = "";
for(ConfigMaterialCategory par:groupList){
oneId = oneId + par.getCategoryId()+",";
twoId = twoId + par.getTypeId()+",";
threeId = threeId + par.getMedicationId()+",";
if(par != null){
oneId = oneId + par.getCategoryId()+",";
twoId = twoId + par.getTypeId()+",";
threeId = threeId + par.getMedicationId()+",";
}
}
String[] oneParts = oneId.split(",");
Set<String> oneSet = new LinkedHashSet<>(Arrays.asList(oneParts));

View File

@ -18,4 +18,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
public interface NuInvoicingCgdInfoMapper extends BaseMapper<NuInvoicingCgdInfo> {
List<NuInvoicingCgdInfo> queryCgdInfoList(Page<NuInvoicingCgdInfo> page, @Param(Constants.WRAPPER) QueryWrapper<NuInvoicingCgdInfo> queryWrapper);
List<NuInvoicingCgdInfo> selectWlNumList(@Param("params") NuInvoicingCgdInfo nuInvoicingCgdInfo);
}

View File

@ -9,4 +9,13 @@
LEFT JOIN nu_warehouse_material_info d on a.wl_id = d.wl_id
${ew.customSqlSegment}
</select>
<select id="selectWlNumList" resultType="com.nu.modules.cgd.entity.NuInvoicingCgdInfo">
select b.nu_id,b.wl_id,sum(purchase_quantity) as purchase_quantity from nu_invoicing_cgd_main a
inner join nu_invoicing_cgd_info b on a.id = b.cgd_id
where a.status in (0,1)
and b.nu_id = #{params.nuId} and b.wl_id = #{params.wlId}
GROUP BY b.nu_id,b.wl_id
</select>
</mapper>

View File

@ -145,7 +145,7 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
queryWrapper.eq(StringUtils.isNotBlank(qgdInfoEntityDto.getTypeId()),"c.type_id",nuInvoicingQgdInfo.getTypeId());
queryWrapper.eq(StringUtils.isNotBlank(qgdInfoEntityDto.getMedicationId()),"c.medication_id",nuInvoicingQgdInfo.getMedicationId());
queryWrapper.apply(StringUtils.isNotBlank(qgdInfoEntityDto.getWlParamInfo()),"( c.material_name like '%"+qgdInfoEntityDto.getWlParamInfo()+"%' or c.material_no like '%"+qgdInfoEntityDto.getWlParamInfo()+"%' or c.pinyin like '%"+qgdInfoEntityDto.getWlParamInfo()+"%' or c.specification_model like '%"+qgdInfoEntityDto.getWlParamInfo()+"%' ) ");
queryWrapper.in(StringUtils.isNotBlank(qgdInfoEntityDto.getSuppliers()),"c.suppliers",qgdInfoEntityDto.getSuppliers());
queryWrapper.in(StringUtils.isNotBlank(qgdInfoEntityDto.getSuppliers()),"a.suppliers_id",qgdInfoEntityDto.getSuppliers());
Page<QgdInfo> page = new Page<QgdInfo>(pageNo, pageSize);
List<QgdInfo> list = qgdInfoMapper.queryShoppingCartList(page, queryWrapper);
//封装返回结果
@ -175,15 +175,19 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
//获取物料基础信息
ConfigMaterialInfo ConfigMaterialInfo = configMaterialInfoMapper.selectById(info.getWlId());
//判断物料是否有对应供应商的请购数据如果有则直接返回
if(qgdInfo!=null){
result = "1";
break;
}else{
//查询请购单是否有该物料
List<QgdInfo> listqg = qgdInfoMapper.selectList(new QueryWrapper<QgdInfo>().eq("wl_id",info.getWlId()).eq("nu_id",info.getNuId()));
int totalQgsl = 0;
//判断库存数量是否超出上限
if(StringUtils.isNotBlank(info.getKcsl())){
totalQgsl = Integer.parseInt(info.getKcsl());
}
//计算物料的总数量这个是按照 库存数量+请购车数量
for(QgdInfo qgdInfoParam : listqg){
totalQgsl += qgdInfoParam.getPurchaseQuantity();
}
@ -193,6 +197,20 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
result = "2@"+ (Integer.parseInt(upperLimit) - totalQgsl);
break;
}
//查询采购单未完结的单据是否有此请购数量
NuInvoicingCgdInfo cgdInfoParam = new NuInvoicingCgdInfo();
cgdInfoParam.setNuId(info.getNuId());
cgdInfoParam.setWlId(info.getWlId());
List<NuInvoicingCgdInfo> listcg = cgdInfoMapper.selectWlNumList(cgdInfoParam);
int cgdNum = 0;
for(NuInvoicingCgdInfo cgdInfo : listcg){
cgdNum += cgdInfo.getPurchaseQuantity();
}
if(Integer.parseInt(upperLimit)<(totalQgsl + dqsl + cgdNum)){
result = "5@"+ (totalQgsl + dqsl + cgdNum);
break;
}
}
info.setWlName(ConfigMaterialInfo.getMaterialName());
info.setWlMaterialNo(ConfigMaterialInfo.getMaterialNo());
@ -397,7 +415,10 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
// nuInvoicingCgdInfo.setCategoryId(null);
// nuInvoicingCgdInfo.setTypeId(null);
// nuInvoicingCgdInfo.setMedicationId(null);
QueryWrapper<NuInvoicingCgdInfo> queryWrapper = QueryGenerator.initQueryWrapper("a",nuInvoicingCgdInfo, req.getParameterMap());
// QueryWrapper<NuInvoicingCgdInfo> queryWrapper = QueryGenerator.initQueryWrapper("a",nuInvoicingCgdInfo, req.getParameterMap());
QueryWrapper<NuInvoicingCgdInfo> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("a.cgd_id",cgdInfoEntityDto.getCgdId());
// queryWrapper.eq("d.nu_id",cgdInfoEntityDto.getNuId());
Page<NuInvoicingCgdInfo> page = new Page<>(pageNo, pageSize);
queryWrapper.apply(StringUtils.isNotBlank(cgdInfoEntityDto.getWlParamInfo()),"( b.material_name like concat('%', '"+cgdInfoEntityDto.getWlParamInfo()+"' , '%') or\n" +
" b.pinyin like concat('%', '"+cgdInfoEntityDto.getWlParamInfo()+"' , '%') or\n" +
@ -595,7 +616,7 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
queryWrapper.eq(StringUtils.isNotEmpty(configMaterialCategory.getCategoryId()),"b.category_id",configMaterialCategory.getCategoryId());
queryWrapper.eq(StringUtils.isNotEmpty(configMaterialCategory.getTypeId()),"b.type_id",configMaterialCategory.getTypeId());
queryWrapper.eq(StringUtils.isNotEmpty(configMaterialCategory.getMedicationId()),"b.medication_id",configMaterialCategory.getMedicationId());
queryWrapper.in(StringUtils.isNotBlank(configMaterialCategory.getSuppliers()),"b.suppliers",configMaterialCategory.getSuppliers());
queryWrapper.in(StringUtils.isNotBlank(configMaterialCategory.getSuppliers()),"a.suppliers_id",configMaterialCategory.getSuppliers());
queryWrapper.in(StringUtils.isNotBlank(configMaterialCategory.getNuId()),"a.nu_id",configMaterialCategory.getNuId());
List<ConfigMaterialInfo> list = configMaterialInfoMapper.getGwcTreeDataWlnum(queryWrapper);
map.put("success",true);