修改请购业务流程
This commit is contained in:
parent
2f3e41dd38
commit
03e13bb23f
|
|
@ -94,7 +94,7 @@ public class InvoicingApi {
|
|||
@ApiOperation(value="修改库房启用停用", notes="修改库房启用停用")
|
||||
@AutoLog(value = "修改库房启用停用")
|
||||
@PostMapping(value = "/updateKfstatus")
|
||||
public Result<String> updateKfstatus(NuBaseInfoEntity nuBaseInfoEntity) {
|
||||
public Result<String> updateKfstatus(@RequestBody NuBaseInfoEntity nuBaseInfoEntity) {
|
||||
invoicingApi.updateKfstatus(nuBaseInfoEntity);
|
||||
return Result.OK("修改成功!");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -106,5 +106,6 @@ public class MaterialInfoEntity implements Serializable {
|
|||
private String nuId;//库房id
|
||||
|
||||
private java.lang.String wlParamInfo;
|
||||
private java.lang.String isWaring;//是否预警 1:是 0:否
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,10 +4,8 @@ import java.io.Serializable;
|
|||
import java.io.UnsupportedEncodingException;
|
||||
import java.util.Date;
|
||||
import java.math.BigDecimal;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import org.jeecg.common.constant.ProvinceCityArea;
|
||||
import org.jeecg.common.util.SpringContextUtils;
|
||||
import lombok.Data;
|
||||
|
|
@ -129,4 +127,13 @@ public class NuInvoicingCgdInfo implements Serializable {
|
|||
@Excel(name = "到货单间", width = 15)
|
||||
@ApiModelProperty(value = "到货单间")
|
||||
private String arrivalPrice;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String kcsl;
|
||||
@TableField(exist = false)
|
||||
private String tagName;
|
||||
@TableField(exist = false)
|
||||
private String materialImg;
|
||||
@TableField(exist = false)
|
||||
private BigDecimal totalPrice;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -129,7 +129,13 @@ public class NuInvoicingCgdMain implements Serializable {
|
|||
@Excel(name = "审核备注", width = 15)
|
||||
@ApiModelProperty(value = "审核备注")
|
||||
private String content;
|
||||
/**供应商名称*/
|
||||
private String gysName;
|
||||
|
||||
@TableField(exist = false)
|
||||
private BigDecimal totalPrice;
|
||||
|
||||
/**采购的物料信息*/
|
||||
@TableField(exist = false)
|
||||
private List<NuInvoicingCgdInfo> cgdInfoList;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -172,6 +172,9 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
|
|||
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());
|
||||
if(StringUtils.isNotBlank(materialInfoEntityDto.getIsWaring()) && "1".equals(materialInfoEntityDto.getIsWaring())){
|
||||
queryWrapper.apply("kcsl <= lower_limit");
|
||||
}
|
||||
Page<BlWarehouseMaterialInfo> page = new Page<>(pageNo, pageSize);
|
||||
List<BlWarehouseMaterialInfo> list = warehouseMaterialInfoMapper.selectList(page,queryWrapper);
|
||||
IPage<MaterialInfoEntity> entityPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal());
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import java.util.List;
|
|||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.nu.modules.cgd.entity.NuInvoicingCgdMain;
|
||||
import com.nu.modules.cgd.service.INuInvoicingCgdInfoService;
|
||||
import com.nu.modules.cgd.service.INuInvoicingCgdMainService;
|
||||
import com.nu.modules.qgd.entity.QgdMain;
|
||||
|
|
@ -171,8 +172,16 @@ public class QgdInfoController extends JeecgController<QgdInfo, IQgdInfoService>
|
|||
|
||||
@ApiOperation(value="生成采购单信息", notes="生成采购单信息")
|
||||
@PostMapping(value = "/addCgdByUser")
|
||||
public Result<String> addCgd(QgdInfo nuInvoicingQgdInfo, HttpServletRequest req) {
|
||||
nuInvoicingQgdMainService.addCgdByUser(nuInvoicingQgdInfo);
|
||||
return Result.OK("已提交采购信息");
|
||||
public Result<List<NuInvoicingCgdMain>> addCgd(@RequestBody List<QgdInfo> qgdInfoList, HttpServletRequest req) {
|
||||
List<NuInvoicingCgdMain> list = nuInvoicingQgdMainService.addCgdByUser(qgdInfoList);
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value="生成采购单信息", notes="生成采购单信息")
|
||||
@PostMapping(value = "/saveCgd")
|
||||
public Result<List<NuInvoicingCgdMain>> saveCgd(@RequestBody List<NuInvoicingCgdMain> cgdMainList, HttpServletRequest req) {
|
||||
List<NuInvoicingCgdMain> list = nuInvoicingQgdMainService.saveCgd(cgdMainList);
|
||||
return Result.OK(list);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,12 @@
|
|||
package com.nu.modules.qgd.service;
|
||||
|
||||
import com.nu.modules.cgd.entity.NuInvoicingCgdMain;
|
||||
import com.nu.modules.qgd.entity.QgdInfo;
|
||||
import com.nu.modules.qgd.entity.QgdMain;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 请购单
|
||||
* @Author: jeecg-boot
|
||||
|
|
@ -12,5 +15,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||
*/
|
||||
public interface IQgdMainService extends IService<QgdMain> {
|
||||
|
||||
String addCgdByUser(QgdInfo nuInvoicingQgdInfo);
|
||||
List<NuInvoicingCgdMain> addCgdByUser(List<QgdInfo> qgdInfoList);
|
||||
|
||||
List<NuInvoicingCgdMain> saveCgd(List<NuInvoicingCgdMain> cgdMainList);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,8 +33,6 @@ import java.util.List;
|
|||
@Service
|
||||
public class QgdInfoServiceImpl extends ServiceImpl<QgdInfoMapper, QgdInfo> implements IQgdInfoService {
|
||||
|
||||
@Autowired
|
||||
private IQgdMainService nuInvoicingQgdMainService;
|
||||
@Autowired
|
||||
private IConfigMaterialInfoService configMaterialInfoService;
|
||||
@Autowired
|
||||
|
|
@ -43,38 +41,10 @@ public class QgdInfoServiceImpl extends ServiceImpl<QgdInfoMapper, QgdInfo> impl
|
|||
@Override
|
||||
public void addList(List<QgdInfo> infoList) {
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
|
||||
QueryWrapper<QgdMain> queryWrapper = new QueryWrapper<>();
|
||||
// queryWrapper.eq("create_by",sysUser.getUsername());
|
||||
queryWrapper.eq("status",0);
|
||||
QgdMain qgdMain = nuInvoicingQgdMainService.getOne(queryWrapper);
|
||||
if(qgdMain == null){
|
||||
// 生成请购单号
|
||||
Date date = new Date();
|
||||
// String nowDate = DateUtils.formatDate(date,"yyyy-MM-dd");
|
||||
QueryWrapper<QgdMain> queryWrapper2 = new QueryWrapper<>();
|
||||
// queryWrapper2.eq("create_by",sysUser.getUsername());
|
||||
// queryWrapper2.like("create_time",nowDate);
|
||||
//查询当天是否有请购单
|
||||
List<QgdMain> listSize = nuInvoicingQgdMainService.list(queryWrapper2);
|
||||
int size = listSize.size()+1;
|
||||
String ddwh = String.format("%03d", size);
|
||||
String qgdNo = sysUser.getOrgCode() + DateUtils.formatDate(date,"yyyyMMdd")+ddwh;
|
||||
qgdMain = new QgdMain();
|
||||
qgdMain.setCreateBy(sysUser.getUsername());
|
||||
qgdMain.setCreateTime(new Date());
|
||||
qgdMain.setStatus(0);
|
||||
qgdMain.setQgdNo(qgdNo);
|
||||
nuInvoicingQgdMainService.save(qgdMain);
|
||||
}
|
||||
for (QgdInfo info : infoList) {
|
||||
if(info.getPurchaseQuantity()!=null && info.getPurchaseQuantity()>0){
|
||||
//获取物料基础信息
|
||||
ConfigMaterialInfo ConfigMaterialInfo = configMaterialInfoService.getById(info.getWlId());
|
||||
//获取物料上限下限
|
||||
BlWarehouseMaterialInfo warehouseMaterialInfo = blWarehouseMaterialInfoService.getOne(new QueryWrapper<BlWarehouseMaterialInfo>().eq("wl_id",info.getWlId()).eq("nu_id",info.getNuId()));
|
||||
info.setMainId(qgdMain.getId());
|
||||
info.setMainNo(qgdMain.getQgdNo());
|
||||
info.setWlName(ConfigMaterialInfo.getMaterialName());
|
||||
info.setWlMaterialNo(ConfigMaterialInfo.getMaterialNo());
|
||||
info.setWlSpecificationModel(ConfigMaterialInfo.getSpecificationModel());
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
package com.nu.modules.qgd.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.nu.modules.ConfigMaterial.entity.ConfigMaterialInfo;
|
||||
import com.nu.modules.ConfigMaterial.mapper.ConfigMaterialInfoMapper;
|
||||
import com.nu.modules.cgd.entity.NuInvoicingCgdInfo;
|
||||
import com.nu.modules.cgd.entity.NuInvoicingCgdMain;
|
||||
import com.nu.modules.cgd.mapper.NuInvoicingCgdInfoMapper;
|
||||
|
|
@ -14,16 +16,20 @@ import com.nu.modules.qgd.entity.QgdMain;
|
|||
import com.nu.modules.qgd.mapper.QgdInfoMapper;
|
||||
import com.nu.modules.qgd.mapper.QgdMainMapper;
|
||||
import com.nu.modules.qgd.service.IQgdMainService;
|
||||
import com.nu.modules.warehouseMaterialInfo.entity.BlWarehouseMaterialInfo;
|
||||
import com.nu.modules.warehouseMaterialInfo.mapper.BlWarehouseMaterialInfoMapper;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.common.system.query.QueryGenerator;
|
||||
import org.jeecg.common.system.vo.LoginUser;
|
||||
import org.jeecg.common.util.RedisUtil;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
|
|
@ -46,8 +52,14 @@ public class QgdMainServiceImpl extends ServiceImpl<QgdMainMapper, QgdMain> impl
|
|||
@Autowired
|
||||
private ConfigSuppliersInfoMapper gysMapper;
|
||||
|
||||
@Autowired
|
||||
private BlWarehouseMaterialInfoMapper mterialInfoMapper;
|
||||
|
||||
@Autowired
|
||||
private RedisUtil redisUtil;
|
||||
|
||||
@Override
|
||||
public String addCgdByUser(QgdInfo nuInvoicingQgdInfo) {
|
||||
public List<NuInvoicingCgdMain> addCgdByUser(List<QgdInfo> qgdInfoList) {
|
||||
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
//查询当前人是否有请购数据
|
||||
|
|
@ -56,14 +68,14 @@ public class QgdMainServiceImpl extends ServiceImpl<QgdMainMapper, QgdMain> impl
|
|||
mainQueryWrapper.eq("status",0);
|
||||
QgdMain qgdMain = baseMapper.selectOne(mainQueryWrapper);
|
||||
if(qgdMain == null){
|
||||
return "0";
|
||||
return null;
|
||||
}
|
||||
//查询请购详细信息
|
||||
QueryWrapper<QgdInfo> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("main_id",qgdMain.getId());
|
||||
List<QgdInfo> qgdInfoList = qgdInfoMapper.selectList(queryWrapper);
|
||||
// QueryWrapper<QgdInfo> queryWrapper = new QueryWrapper<>();
|
||||
// queryWrapper.eq("main_id",qgdMain.getId());
|
||||
// List<QgdInfo> qgdInfoList = qgdInfoMapper.selectList(queryWrapper);
|
||||
|
||||
List<Map<String,Object>> mapList = new ArrayList<>();
|
||||
List<NuInvoicingCgdMain> mapList = new ArrayList<>();
|
||||
// 创建一个临时Map来按suppliersId分组
|
||||
Map<String, List<QgdInfo>> tempMap = new HashMap<>();
|
||||
|
||||
|
|
@ -75,14 +87,24 @@ public class QgdMainServiceImpl extends ServiceImpl<QgdMainMapper, QgdMain> impl
|
|||
tempMap.get(suppliersId).add(qgdInfo);
|
||||
}
|
||||
|
||||
String qgdDate = new SimpleDateFormat("yyyyMMdd").format(new Date());
|
||||
String qgdXlh = "";
|
||||
if(redisUtil.get("qgd"+qgdDate) != null){
|
||||
qgdXlh = redisUtil.get("qgd"+qgdDate).toString();
|
||||
}
|
||||
int qgdXlhInt = 0;
|
||||
if(StringUtils.isNotBlank(qgdXlh)){
|
||||
qgdXlhInt = Integer.parseInt(qgdXlh);
|
||||
}
|
||||
|
||||
// 将临时Map转换为需要的mapList结构
|
||||
for (Map.Entry<String, List<QgdInfo>> entry : tempMap.entrySet()) {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
qgdXlhInt++;
|
||||
String suppliersId = entry.getKey();//供应商id
|
||||
List<QgdInfo> infoList = entry.getValue();//请购的物料列表
|
||||
|
||||
ConfigSuppliersInfo ConfigSuppliersInfo = gysMapper.selectById(suppliersId);
|
||||
String cgdNo = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + String.format("%06d", new Random().nextInt(1000000));
|
||||
String cgdNo = sysUser.getOrgCode() + new SimpleDateFormat("yyyyMMdd").format(new Date()) + String.format("%03d", qgdXlhInt);
|
||||
|
||||
//生产采购单主表
|
||||
NuInvoicingCgdMain cgdMain = new NuInvoicingCgdMain();
|
||||
|
|
@ -96,10 +118,20 @@ public class QgdMainServiceImpl extends ServiceImpl<QgdMainMapper, QgdMain> impl
|
|||
cgdMain.setGysOpenId(ConfigSuppliersInfo.getWechartId());
|
||||
cgdMain.setStatus("0");
|
||||
cgdMain.setCgdType("0");
|
||||
cgdMainMapper.insert(cgdMain);
|
||||
cgdMain.setGysName(ConfigSuppliersInfo.getSuppliersName());
|
||||
// cgdMainMapper.insert(cgdMain);
|
||||
List<NuInvoicingCgdInfo> cgdInfoList = new ArrayList<>();
|
||||
BigDecimal totalPrice = new BigDecimal(0);
|
||||
//生产采购单详细
|
||||
for(QgdInfo params:infoList){
|
||||
NuInvoicingCgdInfo cgdInfo = new NuInvoicingCgdInfo();
|
||||
QueryWrapper<BlWarehouseMaterialInfo> queryWrapper = new QueryWrapper<>();
|
||||
List<BlWarehouseMaterialInfo> wlList = mterialInfoMapper.selectList(queryWrapper);
|
||||
BlWarehouseMaterialInfo wlInfo = new BlWarehouseMaterialInfo();
|
||||
if(wlList.size()>0){
|
||||
wlInfo = wlList.get(0);
|
||||
}
|
||||
// ConfigMaterialInfo configMaterialInfo = mterialInfoMapper.selectById(params.getWlId());
|
||||
cgdInfo.setMainId(qgdMain.getId());
|
||||
cgdInfo.setCgdId(cgdMain.getId());
|
||||
cgdInfo.setWlId(params.getWlId());
|
||||
|
|
@ -115,22 +147,38 @@ public class QgdMainServiceImpl extends ServiceImpl<QgdMainMapper, QgdMain> impl
|
|||
cgdInfo.setBrand(params.getBrand());
|
||||
cgdInfo.setNuId(params.getNuId());
|
||||
cgdInfo.setProcurementPrice(params.getReferenceUnitPrice());
|
||||
cgdInfoMapper.insert(cgdInfo);
|
||||
cgdInfo.setKcsl(wlInfo.getKcsl());
|
||||
cgdInfo.setTagName(wlInfo.getTagName());
|
||||
cgdInfo.setMaterialImg(wlInfo.getMaterialImg());
|
||||
BigDecimal sl = new BigDecimal(params.getPurchaseQuantity());
|
||||
BigDecimal dj = new BigDecimal(params.getReferenceUnitPrice());
|
||||
BigDecimal wlzj = sl.multiply(dj);
|
||||
cgdInfo.setTotalPrice(wlzj);
|
||||
totalPrice = totalPrice.add(wlzj);
|
||||
// cgdInfoMapper.insert(cgdInfo);
|
||||
cgdInfoList.add(cgdInfo);
|
||||
}
|
||||
|
||||
|
||||
map.put("suppliersId", entry.getKey());
|
||||
map.put("qgdInfoList", entry.getValue());
|
||||
mapList.add(map);
|
||||
cgdMain.setCgdInfoList(cgdInfoList);
|
||||
cgdMain.setTotalPrice(totalPrice);
|
||||
mapList.add(cgdMain);
|
||||
}
|
||||
System.out.println(mapList);
|
||||
|
||||
//修改请购单状态-变成已经下单
|
||||
QgdMain qgdMain1 = new QgdMain();
|
||||
qgdMain1.setId(qgdMain.getId());
|
||||
qgdMain1.setStatus(1);
|
||||
baseMapper.updateById(qgdMain1);
|
||||
return mapList;
|
||||
}
|
||||
|
||||
return "1";
|
||||
@Override
|
||||
public List<NuInvoicingCgdMain> saveCgd(List<NuInvoicingCgdMain> cgdMainList) {
|
||||
|
||||
for (NuInvoicingCgdMain cgdMain : cgdMainList){
|
||||
cgdMainMapper.insert(cgdMain);
|
||||
List<NuInvoicingCgdInfo> cgdInfoList = cgdMain.getCgdInfoList();
|
||||
for (NuInvoicingCgdInfo cgdInfo : cgdInfoList){
|
||||
cgdInfo.setCgdId(cgdMain.getId());
|
||||
cgdInfoMapper.insert(cgdInfo);
|
||||
}
|
||||
}
|
||||
|
||||
return cgdMainList;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue