修改采购单添加采购信息及修改采购信息接口验证逻辑

This commit is contained in:
yangjun 2025-12-04 16:01:06 +08:00
parent 6268d7f4cc
commit 0c3f91f06d
7 changed files with 264 additions and 104 deletions

View File

@ -48,35 +48,35 @@ public class InvoicingApi {
}
@ApiOperation(value="采购单-请购信息-添加", notes="采购单-请购信息-添加")
@AutoLog(value = "采购单-购信息-添加",clientType="app", operateType = 2)
@ApiOperation(value="采购单-采购信息-添加", notes="采购单-采购信息-添加")
@AutoLog(value = "采购单-购信息-添加",clientType="app", operateType = 2)
@PostMapping(value = "/addShoppingCartList")
public Result<String> addShoppingCartList(@RequestBody List<QgdInfoEntity> infoList) {
Integer maxCount = 100;//购物车最大数量
String result = invoicingApi.addShoppingCartList(infoList,maxCount);
if("1".equals( result)){
return Result.error("请购信息已存在,不可重复请购!");
return Result.error("采购信息已存在,不可重复采购!");
}else if(result.indexOf("2@")>-1){
return Result.error("您已有其他物料请购数据,请购总数量超出库存上限,请修改请购数量,剩余请购数量为:" + result.split("@")[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.error("购物车最大数量为"+maxCount+"购数量超出限制");
}else if(result.indexOf("5@")>-1){
return Result.error("请购总数量超出库存上限,请修改请购数量,已超出数量为:" + result.split("@")[1]);
return Result.error("采购总数量超出库存上限,请修改采购数量,已超出数量为:" + result.split("@")[1]);
}
return Result.OK("添加成功!");
}
@ApiOperation(value="采购单-修改购物车购信息", notes="采购单-修改购物车购信息")
@AutoLog(value = "采购单-修改购物车购信息",clientType="app", operateType = 3)
@ApiOperation(value="采购单-修改购物车购信息", notes="采购单-修改购物车购信息")
@AutoLog(value = "采购单-修改购物车购信息",clientType="app", operateType = 3)
@PostMapping(value = "/eddShoppingCartList")
public Result<String> eddShoppingCartList(@RequestBody QgdInfoEntity qgdInfoEntity) {
String result = invoicingApi.eddShoppingCartList(qgdInfoEntity);
if("1".equals( result)){
return Result.error("请购信息已存在,不可重复请购!");
return Result.error("采购信息已存在,不可重复采购!");
}else if(result.indexOf("2@")>-1){
return Result.error("您已有其他物料请购数据,请购总数量超出库存上限,请修改请购数量,剩余请购数量为:" + result.split("@")[1]);
return Result.error("您已有其他物料采购数据,采购总数量超出库存上限,请修改采购数量,剩余采购数量为:" + result.split("@")[1]);
}
return Result.OK("修改成功!");
}
@ -137,7 +137,7 @@ public class InvoicingApi {
}
@ApiOperation(value="采购单-获取物料分类树(购列表使用)", notes="采购单-获取物料分类树(购列表使用)")
@ApiOperation(value="采购单-获取物料分类树(购列表使用)", notes="采购单-获取物料分类树(购列表使用)")
@GetMapping(value = "/getMaterialTreeData")
public Result<List<Map<String,Object>>> getMaterialTreeData(MaterialCategoryEntity configMaterialCategory) {
configMaterialCategory.setIzEnabled("Y");
@ -197,16 +197,16 @@ public class InvoicingApi {
return Result.OK(info);
}
@AutoLog(value = "采购单-通过id删除购信息",clientType="app")
@ApiOperation(value="采购单-通过id删除购信息", notes="采购单-通过id删除购信息")
@AutoLog(value = "采购单-通过id删除购信息",clientType="app")
@ApiOperation(value="采购单-通过id删除购信息", notes="采购单-通过id删除购信息")
@DeleteMapping(value = "/deleteQgInfoById")
public Result<String> deleteQgInfoById(@RequestParam(name="id",required=true) String id) {
invoicingApi.deleteQgInfoById(id);
return Result.OK("删除成功!");
}
@AutoLog(value = "采购单-清空全部购信息",clientType="app")
@ApiOperation(value="采购单-清空全部购信息", notes="采购单-清空全部购信息")
@AutoLog(value = "采购单-清空全部购信息",clientType="app")
@ApiOperation(value="采购单-清空全部购信息", notes="采购单-清空全部购信息")
@DeleteMapping(value = "/emptiedQgInfo")
public Result<String> emptiedQgInfo() {
invoicingApi.emptiedQgInfo();
@ -341,7 +341,10 @@ public class InvoicingApi {
Integer maxCount = 100;//最大可添加数量
String result = invoicingApi.addWaringAll(cgdInfoEntityDto,maxCount);
if("4".equals( result)){
return Result.error("购物车最大可添加"+maxCount+"条请购信息,已超出限制,不可再进行请购");
return Result.error("购物车最大可添加"+maxCount+"条采购信息,已超出限制,不可再进行采购");
}
if("5".equals( result)){
return Result.error("没有符合的物料数据,或物料重用中");
}
return Result.OK("添加成功!");
}
@ -352,9 +355,9 @@ public class InvoicingApi {
public Result<Map<String,Object>> pickingInfo(@RequestBody CgdInfoEntity cgdInfoEntityDto) {
Map<String,Object> result = invoicingApi.pickingInfo(cgdInfoEntityDto);
if(StringUtils.equals("2",result.get("status").toString())){
return Result.error("入库数量错误,超过购数量");
return Result.error("入库数量错误,超过购数量");
}else if(StringUtils.equals("3",result.get("status").toString())){
return Result.error("销账数量错误,超过购数量");
return Result.error("销账数量错误,超过购数量");
}
return Result.OK(result);
}
@ -366,9 +369,9 @@ public class InvoicingApi {
public Result<Map<String,String>> editPrice(@RequestBody CgdInfoEntity cgdInfoEntityDto) {
Map<String,String> result = invoicingApi.editPrice(cgdInfoEntityDto);
// if(StringUtils.equals("2",result)){
// return Result.error("入库数量错误,超过购数量");
// return Result.error("入库数量错误,超过购数量");
// }else if(StringUtils.equals("3",result)){
// return Result.error("销账数量错误,超过购数量");
// return Result.error("销账数量错误,超过购数量");
// }
return Result.OK(result);
}
@ -402,4 +405,14 @@ public class InvoicingApi {
Map<String, Object> pageList = invoicingApi.getShareInfoByCgdId(cgdMainEntityDto);
return Result.OK(pageList);
}
@ApiOperation(value = "采购单-查询预警物料信息-分页列表查询", notes = "采购单-查询预警物料信息-分页列表查询")
@GetMapping(value = "/queryCgdWaringList")
public Result<IPage<MaterialInfoEntity>> queryCgdWaringList(MaterialInfoEntity materialInfoEntityDto,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
IPage<MaterialInfoEntity> pageList = invoicingApi.queryCgdWaringList(pageNo, pageSize, materialInfoEntityDto,req);
return Result.OK(pageList);
}
}

View File

@ -135,4 +135,7 @@ public class MaterialInfoEntity implements Serializable {
private java.lang.String zhiDingId;//置顶Id
private Date zhiDingTime;//置顶时间
private String gwcId;//购物车ID
private Integer cgzwlnum;//采购中的物料数量
private Integer gwcNum;//购物车的采购数量
private Integer ljkcsl;//累计库存数量
}

View File

@ -83,4 +83,6 @@ public interface IInvoicingApi {
String editShareInfo(CgdMainEntity cgdMainEntityDto);
Map<String, Object> getShareInfoByCgdId(CgdMainEntity cgdMainEntityDto);
IPage<MaterialInfoEntity> queryCgdWaringList(Integer pageNo, Integer pageSize, MaterialInfoEntity materialInfoEntityDto, HttpServletRequest req);
}

View File

@ -179,84 +179,6 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
return entityPage;
}
@Override
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){
//查询是否有请购信息
QgdInfo qgdInfo = qgdInfoMapper.selectOne(new QueryWrapper<QgdInfo>().eq("wl_id",info.getWlId()).eq("nu_id",info.getNuId()).eq("suppliers_id",info.getSuppliersId()));
//获取物料基础信息
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();
}
int dqsl = info.getPurchaseQuantity();
String upperLimit = ConfigMaterialInfo.getUpperLimit();
if(Integer.parseInt(upperLimit)<(totalQgsl + dqsl )){
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 = 采购数量*兑换比例
cgdNum += cgdInfo.getPurchaseQuantity() * Integer.parseInt(cgdInfo.getDhbl());
}
if(Integer.parseInt(upperLimit)<(totalQgsl + dqsl*Integer.parseInt(info.getDhbl()) + cgdNum)){
result = "5@"+ (totalQgsl + dqsl*Integer.parseInt(info.getDhbl()) + cgdNum - Integer.parseInt(upperLimit));
break;
}
}
info.setWlName(ConfigMaterialInfo.getMaterialName());
info.setWlMaterialNo(ConfigMaterialInfo.getMaterialNo());
info.setWlSpecificationModel(ConfigMaterialInfo.getSpecificationModel());
info.setWlUpperLimit(ConfigMaterialInfo.getUpperLimit());
info.setWlLowerLimit(ConfigMaterialInfo.getLowerLimit());
// if(StringUtils.equals("1",ConfigMaterialInfo.getMultiUnitType())){
// info.setReferenceUnitPrice(ConfigMaterialInfo.getOneUnitPrice()+"");
// }else if(StringUtils.equals("2",ConfigMaterialInfo.getMultiUnitType())){
// info.setReferenceUnitPrice(ConfigMaterialInfo.getTwoUnitPrice()+"");
// } else if(StringUtils.equals("3",ConfigMaterialInfo.getMultiUnitType())){
// info.setReferenceUnitPrice(ConfigMaterialInfo.getReferenceUnitPrice()+"");
// }
QgdInfo qgdInfoIns = new QgdInfo();
BeanUtils.copyProperties(info,qgdInfoIns);
qgdInfoMapper.insert(qgdInfoIns);
}
}
return result;
}
@Override
public Map<String,Object> generatedPurchaseViewOrder(List<QgdInfoEntity> infoEntityList) {
@ -754,12 +676,91 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
return map;
}
@Override
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){
//查询是否有请购信息
QgdInfo qgdInfo = qgdInfoMapper.selectOne(new QueryWrapper<QgdInfo>().eq("wl_id",info.getWlId()).eq("nu_id",info.getNuId()).eq("suppliers_id",info.getSuppliersId()));
//获取物料基础信息
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();
}
int dqsl = info.getPurchaseQuantity();
String upperLimit = ConfigMaterialInfo.getUpperLimit();
if(Integer.parseInt(upperLimit)<(totalQgsl + dqsl )){
// result = "2@"+ (Integer.parseInt(upperLimit) - totalQgsl);
result = "2@"+ ( Integer.parseInt(upperLimit)/Integer.parseInt(info.getDhbl()) - Integer.parseInt(totalQgsl / Integer.parseInt(info.getDhbl()) +""));
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 = 采购数量*兑换比例
cgdNum += cgdInfo.getPurchaseQuantity() * Integer.parseInt(cgdInfo.getDhbl());
}
if(Integer.parseInt(upperLimit)<(totalQgsl + dqsl*Integer.parseInt(info.getDhbl()) + cgdNum)){
result = "5@"+ (totalQgsl + dqsl*Integer.parseInt(info.getDhbl()) + cgdNum - Integer.parseInt(upperLimit));
break;
}
}
info.setWlName(ConfigMaterialInfo.getMaterialName());
info.setWlMaterialNo(ConfigMaterialInfo.getMaterialNo());
info.setWlSpecificationModel(ConfigMaterialInfo.getSpecificationModel());
info.setWlUpperLimit(ConfigMaterialInfo.getUpperLimit());
info.setWlLowerLimit(ConfigMaterialInfo.getLowerLimit());
// if(StringUtils.equals("1",ConfigMaterialInfo.getMultiUnitType())){
// info.setReferenceUnitPrice(ConfigMaterialInfo.getOneUnitPrice()+"");
// }else if(StringUtils.equals("2",ConfigMaterialInfo.getMultiUnitType())){
// info.setReferenceUnitPrice(ConfigMaterialInfo.getTwoUnitPrice()+"");
// } else if(StringUtils.equals("3",ConfigMaterialInfo.getMultiUnitType())){
// info.setReferenceUnitPrice(ConfigMaterialInfo.getReferenceUnitPrice()+"");
// }
QgdInfo qgdInfoIns = new QgdInfo();
BeanUtils.copyProperties(info,qgdInfoIns);
qgdInfoMapper.insert(qgdInfoIns);
}
}
return result;
}
@Override
public String eddShoppingCartList(QgdInfoEntity info) {
QgdInfo qgdInfo = new QgdInfo();
BeanUtils.copyProperties(info,qgdInfo);
QgdInfo qgdInfoRes = qgdInfoMapper.selectOne(new QueryWrapper<QgdInfo>().eq("wl_id",info.getWlId()).eq("nu_id",info.getNuId()).eq("suppliers_id",info.getSuppliersId()));
// QgdInfo qgdInfoRes = qgdInfoMapper.selectOne(new QueryWrapper<QgdInfo>().eq("wl_id",info.getWlId()).eq("nu_id",info.getNuId()).eq("suppliers_id",info.getSuppliersId()));
//获取物料基础信息
ConfigMaterialInfo ConfigMaterialInfo = configMaterialInfoMapper.selectById(info.getWlId());
@ -772,12 +773,22 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
totalQgsl = Integer.parseInt(info.getKcsl());
}
for(QgdInfo qgdInfoParam : listqg){
totalQgsl += qgdInfoParam.getPurchaseQuantity();
totalQgsl += qgdInfoParam.getPurchaseQuantity() * Integer.parseInt(qgdInfoParam.getDhbl());
}
int dqsl = info.getPurchaseQuantity();
//查询采购单未完结的单据是否有此请购数量
NuInvoicingCgdInfo cgdInfoParam = new NuInvoicingCgdInfo();
cgdInfoParam.setNuId(info.getNuId());
cgdInfoParam.setWlId(info.getWlId());
List<NuInvoicingCgdInfo> listcg = cgdInfoMapper.selectWlNumList(cgdInfoParam);
for (NuInvoicingCgdInfo cgdInfo : listcg){
totalQgsl += cgdInfo.getPurchaseQuantity() * Integer.parseInt(cgdInfo.getDhbl());
}
int dqsl = info.getPurchaseQuantity() * Integer.parseInt(info.getDhbl());
String upperLimit = ConfigMaterialInfo.getUpperLimit();
if(Integer.parseInt(upperLimit)<(totalQgsl + dqsl)){
return "2@"+ (Integer.parseInt(upperLimit) - totalQgsl);
return "2@"+ ( Integer.parseInt(upperLimit)/Integer.parseInt(info.getDhbl()) - Integer.parseInt(totalQgsl / Integer.parseInt(info.getDhbl()) +""));
}
qgdInfoMapper.updateById(qgdInfo);
@ -911,7 +922,7 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
queryWrapper.eq("isAdd","0");//查询未在购物车里的数据
// queryWrapper.last("limit " + (3-listqg.size()));
//库存预警数据
List<BlWarehouseMaterialInfo> list = mterialInfoMapper.selectList(queryWrapper);
List<BlWarehouseMaterialInfo> list = mterialInfoMapper.selectWaringList(queryWrapper);
//供应商集合
List<ConfigSuppliersInfo> gysList = gysMapper.selectList(new QueryWrapper<ConfigSuppliersInfo>().eq("del_flag","0"));
int count = listqg.size();
@ -928,6 +939,8 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
qgdInfoIns.setWlLowerLimit(info.getLowerLimit());
String gysId = info.getSuppliers();
String gysName = "";
int cgzwlnum = info.getCgzwlnum() != null ? info.getCgzwlnum() : 0 ;//采购中物料数量-未完结的
int gwcNum = info.getGwcNum() != null ? info.getCgzwlnum() : 0;//购物车中占用的数量
//如果供应商为空则跳出循环不添加物料了
if(StringUtils.isEmpty(gysId)){
break;
@ -970,8 +983,9 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
qgdInfoIns.setDhbl("1");
qgsl = qgzs ;
}
qgsl = qgsl - cgzwlnum - gwcNum;
//如果请购数量不足1个则跳出循环不添加物料了
if(qgsl == 0){
if(qgsl <= 0){
continue;
}
//查询采购单未完结的单据是否有此请购数量
@ -996,6 +1010,9 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
break;
}
}
if (count == 0){
return "5";
}
return "1";
}
@ -1283,4 +1300,27 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
return resultMap;
}
@Override
public IPage<MaterialInfoEntity> queryCgdWaringList(Integer pageNo, Integer pageSize, MaterialInfoEntity materialInfoEntityDto, HttpServletRequest req) {
BlWarehouseMaterialInfo warehouseMaterialInfo = new BlWarehouseMaterialInfo();
BeanUtils.copyProperties(materialInfoEntityDto,warehouseMaterialInfo);
Map<String, QueryRuleEnum> customeRuleMap = new HashMap<>();
QueryWrapper<BlWarehouseMaterialInfo> queryWrapper = QueryGenerator.initQueryWrapper(warehouseMaterialInfo, req.getParameterMap(), customeRuleMap);
queryWrapper.apply(StringUtils.isNotBlank(warehouseMaterialInfo.getWlParamInfo()),"( material_name like '%"+warehouseMaterialInfo.getWlParamInfo()+"%' or material_no like '%"+warehouseMaterialInfo.getWlParamInfo()+"%' or pinyin like '%"+warehouseMaterialInfo.getWlParamInfo()+"%' or specification_model like '%"+warehouseMaterialInfo.getWlParamInfo()+"%' ) ");
queryWrapper.eq(StringUtils.isNotBlank(warehouseMaterialInfo.getCategoryId()),"category_id",warehouseMaterialInfo.getCategoryId());
queryWrapper.eq(StringUtils.isNotBlank(warehouseMaterialInfo.getTypeId()),"type_id",warehouseMaterialInfo.getTypeId());
queryWrapper.eq(StringUtils.isNotBlank(warehouseMaterialInfo.getMedicationId()),"medication_id",warehouseMaterialInfo.getMedicationId());
queryWrapper.in(StringUtils.isNotBlank(warehouseMaterialInfo.getSuppliers()),"suppliers",warehouseMaterialInfo.getSuppliers());
if(StringUtils.isNotBlank(materialInfoEntityDto.getIsWaring()) && "1".equals(materialInfoEntityDto.getIsWaring())){
queryWrapper.apply("ljkcsl <= lower_limit");
}
queryWrapper.eq("del_flag","0");
queryWrapper.eq("iz_enabled","Y");
Page<BlWarehouseMaterialInfo> page = new Page<>(pageNo, pageSize);
List<BlWarehouseMaterialInfo> list = mterialInfoMapper.queryCgdWaringList(page,queryWrapper);
IPage<MaterialInfoEntity> entityPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal());
entityPage.setRecords(BeanUtil.copyToList(list, MaterialInfoEntity.class));
return entityPage;
}
}

View File

@ -202,4 +202,10 @@ public class BlWarehouseMaterialInfo implements Serializable {
private String gwcId;//购物车ID
@TableField(exist = false)
private Integer qlNum;//物料请领数量
@TableField(exist = false)
private Integer cgzwlnum;//采购中的物料数量
@TableField(exist = false)
private Integer gwcNum;//购物车的采购数量
@TableField(exist = false)
private Integer ljkcsl;//累计库存数量
}

View File

@ -33,4 +33,8 @@ public interface BlWarehouseMaterialInfoMapper extends BaseMapper<BlWarehouseMat
List<BlWarehouseMaterialInfo> wlInfo(@Param(Constants.WRAPPER) QueryWrapper<BlWarehouseMaterialInfo> queryWrapper);
List<BlWarehouseMaterialInfo> selectListByZd(Page<BlWarehouseMaterialInfo> page, @Param(Constants.WRAPPER) QueryWrapper<BlWarehouseMaterialInfo> queryWrapper, @Param("dto") MaterialInfoEntity dto);
List<BlWarehouseMaterialInfo> selectWaringList(@Param(Constants.WRAPPER) QueryWrapper<BlWarehouseMaterialInfo> queryWrapper);
List<BlWarehouseMaterialInfo> queryCgdWaringList(Page<BlWarehouseMaterialInfo> page, @Param(Constants.WRAPPER) QueryWrapper<BlWarehouseMaterialInfo> queryWrapper);
}

View File

@ -38,6 +38,98 @@
) a
${ew.customSqlSegment}
</select>
<select id="selectWaringList" resultType="com.nu.modules.warehouseMaterialInfo.entity.BlWarehouseMaterialInfo">
select * from (
select
a.*,
b.category_id,
b.type_id,
b.medication_id,
b.material_name,
b.pinyin,
b.material_no,
b.specification_model,
b.suppliers,
b.material_units,
b.multi_unit_switch,
b.one_unit,
b.one_unit_proportion,
b.one_unit_price,
b.two_unit,
b.two_unit_proportion,
b.two_unit_price,
b.multi_unit_type,
b.upper_limit,
b.lower_limit,
b.tag_type,
b.sales_unit_price,
b.reference_unit_price,
b.material_img,
c.item_text as tagName,
if(d.wl_id is null, '0', '1') as isAdd,
cgd.cgzwlnum,
e.purchase_quantity as gwcNum
from nu_warehouse_material_info a
left join nu_config_material_info b on a.wl_id = b.id
left join (select nu_id,wl_id from nu_invoicing_qgd_info GROUP BY nu_id,wl_id) d on a.wl_id = d.wl_id
left join sys_dict_item c on b.tag_type = c.item_value and c.dict_id = '1978662656563613698'
left join (select wl_id,sum(purchase_quantity) as purchase_quantity from nu_invoicing_qgd_info GROUP BY wl_id) e on a.wl_id = e.wl_id
left join (
select b.wl_id,sum(b.purchase_quantity) as cgzwlnum from nu_invoicing_cgd_main a,nu_invoicing_cgd_info b
where a.id = b.cgd_id and a.cgd_type = '0' and a.status in (0,1)
GROUP BY b.wl_id
) cgd on a.wl_id = cgd.wl_id
) a
${ew.customSqlSegment}
</select>
<select id="queryCgdWaringList" resultType="com.nu.modules.warehouseMaterialInfo.entity.BlWarehouseMaterialInfo">
select * from (
select
a.*,
b.category_id,
b.type_id,
b.medication_id,
b.material_name,
b.pinyin,
b.material_no,
b.specification_model,
b.suppliers,
b.material_units,
b.multi_unit_switch,
b.one_unit,
b.one_unit_proportion,
b.one_unit_price,
b.two_unit,
b.two_unit_proportion,
b.two_unit_price,
b.multi_unit_type,
b.upper_limit,
b.lower_limit,
b.tag_type,
b.sales_unit_price,
b.reference_unit_price,
b.material_img,
c.item_text as tagName,
if(d.wl_id is null, '0', '1') as isAdd,
cgd.cgzwlnum,
e.purchase_quantity as gwcNum,
cast(a.kcsl AS UNSIGNED) +cast(ifnull(cgd.cgzwlnum,0) AS UNSIGNED) + cast(ifnull(e.purchase_quantity,0) AS UNSIGNED) as ljkcsl
from nu_warehouse_material_info a
left join nu_config_material_info b on a.wl_id = b.id
left join (select nu_id,wl_id from nu_invoicing_qgd_info GROUP BY nu_id,wl_id) d on a.wl_id = d.wl_id
left join sys_dict_item c on b.tag_type = c.item_value and c.dict_id = '1978662656563613698'
left join (select wl_id,sum(cast(purchase_quantity AS UNSIGNED) * cast(dhbl AS UNSIGNED)) as purchase_quantity from nu_invoicing_qgd_info GROUP BY wl_id) e on a.wl_id = e.wl_id
left join (
select b.wl_id,sum(cast(b.purchase_quantity AS UNSIGNED) * cast(b.dhbl AS UNSIGNED)) as cgzwlnum from nu_invoicing_cgd_main a,nu_invoicing_cgd_info b
where a.id = b.cgd_id and a.cgd_type = '0' and a.status in (0,1)
GROUP BY b.wl_id
) cgd on a.wl_id = cgd.wl_id
) a
${ew.customSqlSegment}
</select>
<select id="wlInfo" resultType="com.nu.modules.warehouseMaterialInfo.entity.BlWarehouseMaterialInfo">