修改采购单添加采购信息及修改采购信息接口验证逻辑
This commit is contained in:
parent
6268d7f4cc
commit
0c3f91f06d
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;//累计库存数量
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;//累计库存数量
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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">
|
||||
|
|
|
|||
Loading…
Reference in New Issue