修改进销存接口逻辑
This commit is contained in:
parent
03e13bb23f
commit
68cc381b0a
|
|
@ -53,12 +53,19 @@ public class InvoicingApi {
|
|||
return Result.OK("添加成功!");
|
||||
}
|
||||
|
||||
@ApiOperation(value="生成采购单预览信息", notes="生成采购单预览信息")
|
||||
@AutoLog(value = "生成采购单预览信息")
|
||||
@PostMapping(value = "/generatedPurchaseViewOrder")
|
||||
public Result<List<CgdMainEntity>> generatedPurchaseViewOrder(@RequestBody List<QgdInfoEntity> infoList, HttpServletRequest req) {
|
||||
List<CgdMainEntity> list = invoicingApi.generatedPurchaseViewOrder(infoList);
|
||||
return Result.OK(list);
|
||||
}
|
||||
@ApiOperation(value="生成采购单信息", notes="生成采购单信息")
|
||||
@AutoLog(value = "生成采购单信息")
|
||||
@PostMapping(value = "/generatedPurchaseOrder")
|
||||
public Result<String> generatedPurchaseOrder(QgdInfoEntity qgdInfoEntity, HttpServletRequest req) {
|
||||
invoicingApi.generatedPurchaseOrder(qgdInfoEntity);
|
||||
return Result.OK("已提交采购信息");
|
||||
public Result<List<CgdMainEntity>> generatedPurchaserder(@RequestBody List<CgdMainEntity> cgdMainList, HttpServletRequest req) {
|
||||
List<CgdMainEntity> list = invoicingApi.generatedPurchaserder(cgdMainList);
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "查询采购单详细信息", notes = "查询采购单详细信息")
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ public interface IInvoicingApi {
|
|||
|
||||
void addShoppingCartList(List<QgdInfoEntity> infoList);
|
||||
|
||||
String generatedPurchaseOrder(QgdInfoEntity qgdInfoEntity);
|
||||
List<CgdMainEntity> generatedPurchaseViewOrder(List<QgdInfoEntity> infoList);
|
||||
|
||||
IPage<CgdInfoEntity> queryCgdInfoList(Integer pageNo, Integer pageSize, CgdInfoEntity cgdInfoEntityDto, HttpServletRequest req);
|
||||
|
||||
|
|
@ -26,4 +26,6 @@ public interface IInvoicingApi {
|
|||
void updateKfstatus(NuBaseInfoEntity nuBaseInfoEntity);
|
||||
|
||||
NuBaseInfoEntity queryNuInfoByNuId(NuBaseInfoEntity nuBaseInfoEntityDto);
|
||||
|
||||
List<CgdMainEntity> generatedPurchaserder(List<CgdMainEntity> cgdMainList);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -55,10 +55,6 @@ public class NuInvoicingCgdInfo implements Serializable {
|
|||
/**sysOrgCode*/
|
||||
@ApiModelProperty(value = "sysOrgCode")
|
||||
private String sysOrgCode;
|
||||
/**请购单id*/
|
||||
@Excel(name = "请购单id", width = 15)
|
||||
@ApiModelProperty(value = "请购单id")
|
||||
private String mainId;
|
||||
/**采购单id*/
|
||||
@Excel(name = "采购单id", width = 15)
|
||||
@ApiModelProperty(value = "采购单id")
|
||||
|
|
|
|||
|
|
@ -53,10 +53,6 @@ public class NuInvoicingCgdMain implements Serializable {
|
|||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "updateTime")
|
||||
private Date updateTime;
|
||||
/**请购单id*/
|
||||
@Excel(name = "请购单id", width = 15)
|
||||
@ApiModelProperty(value = "请购单id")
|
||||
private String qgdId;
|
||||
/**采购单单号*/
|
||||
@Excel(name = "采购单单号", width = 15)
|
||||
@ApiModelProperty(value = "采购单单号")
|
||||
|
|
@ -131,9 +127,11 @@ public class NuInvoicingCgdMain implements Serializable {
|
|||
private String content;
|
||||
/**供应商名称*/
|
||||
private String gysName;
|
||||
|
||||
// 总价
|
||||
@TableField(exist = false)
|
||||
private BigDecimal totalPrice;
|
||||
@TableField(exist = false)
|
||||
private String qgdId;//临时变量,用于清空购物车id
|
||||
|
||||
/**采购的物料信息*/
|
||||
@TableField(exist = false)
|
||||
|
|
|
|||
|
|
@ -22,18 +22,16 @@ import com.nu.modules.invoicing.api.IInvoicingApi;
|
|||
import com.nu.modules.nubaseinfo.entity.NuBaseInfo;
|
||||
import com.nu.modules.nubaseinfo.mapper.NuBaseInfoMapper;
|
||||
import com.nu.modules.qgd.entity.QgdInfo;
|
||||
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.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.query.QueryRuleEnum;
|
||||
import org.jeecg.common.system.vo.LoginUser;
|
||||
import org.jeecg.common.util.DateUtils;
|
||||
import org.jeecg.common.util.RedisUtil;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
|
@ -41,6 +39,7 @@ import org.springframework.stereotype.Service;
|
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.math.BigDecimal;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
|
|
@ -65,8 +64,6 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
|
|||
@Autowired
|
||||
private ConfigMaterialInfoMapper configMaterialInfoMapper;
|
||||
|
||||
@Autowired
|
||||
private QgdMainMapper qgdMainMapper;
|
||||
|
||||
@Autowired
|
||||
private QgdInfoMapper qgdInfoMapper;
|
||||
|
|
@ -83,13 +80,17 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
|
|||
@Autowired
|
||||
private NuBaseInfoMapper nuBaseInfoMapper;
|
||||
|
||||
@Autowired
|
||||
private BlWarehouseMaterialInfoMapper mterialInfoMapper;
|
||||
@Autowired
|
||||
private RedisUtil redisUtil;
|
||||
|
||||
@Override
|
||||
public void rukuInfo(NuInvoicingCgdMain nuInvoicingCgdMain) {
|
||||
|
||||
List<NuInvoicingCgdInfo> cgdInfoList = nuInvoicingCgdMain.getCgdInfoList();
|
||||
List<NuInvoicingCgdInfo> cgdGzdInfoList = new ArrayList<>();
|
||||
for (NuInvoicingCgdInfo nuInvoicingCgdInfo : cgdInfoList) {
|
||||
nuInvoicingCgdInfo.setMainId(nuInvoicingCgdMain.getId());
|
||||
cgdInfoMapper.updateById(nuInvoicingCgdInfo);
|
||||
//入库数量不为空,并且大于0
|
||||
if(StringUtils.isNotBlank(nuInvoicingCgdInfo.getRksl()) && Integer.parseInt(nuInvoicingCgdInfo.getRksl()) > 0){
|
||||
|
|
@ -185,21 +186,10 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
|
|||
@Override
|
||||
public IPage<QgdInfoEntity> queryShoppingCartList(Integer pageNo, Integer pageSize, QgdInfoEntity qgdInfoEntityDto, HttpServletRequest req) {
|
||||
// LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
//查询当前人是否有请购数据
|
||||
QueryWrapper<QgdMain> mainQueryWrapper = new QueryWrapper<>();
|
||||
// mainQueryWrapper.eq("create_by",sysUser.getUsername());
|
||||
mainQueryWrapper.eq("status",0);
|
||||
QgdMain qgdMain = qgdMainMapper.selectOne(mainQueryWrapper);
|
||||
//如果请购单为空,给一个默认的值,使最后的结果为空
|
||||
if(qgdMain == null){
|
||||
qgdMain = new QgdMain();
|
||||
qgdMain.setId("-1");//默认没有请购单
|
||||
}
|
||||
//查询请购详细信息
|
||||
QgdInfo nuInvoicingQgdInfo = new QgdInfo();
|
||||
BeanUtils.copyProperties(qgdInfoEntityDto,nuInvoicingQgdInfo);
|
||||
QueryWrapper<QgdInfo> queryWrapper = QueryGenerator.initQueryWrapper(nuInvoicingQgdInfo, req.getParameterMap());
|
||||
queryWrapper.eq("main_id",qgdMain.getId());
|
||||
Page<QgdInfo> page = new Page<QgdInfo>(pageNo, pageSize);
|
||||
List<QgdInfo> list = qgdInfoMapper.selectList(page, queryWrapper);
|
||||
//封装返回结果
|
||||
|
|
@ -211,38 +201,12 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
|
|||
@Override
|
||||
public void addShoppingCartList(List<QgdInfoEntity> infoList) {
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
|
||||
QueryWrapper<QgdMain> queryWrapper = new QueryWrapper<>();
|
||||
// queryWrapper.eq("create_by",sysUser.getUsername());
|
||||
queryWrapper.eq("status",0);
|
||||
QgdMain qgdMain = qgdMainMapper.selectOne(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 = qgdMainMapper.selectList(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);
|
||||
qgdMainMapper.insert(qgdMain);
|
||||
}
|
||||
for (QgdInfoEntity info : infoList) {
|
||||
if(info.getPurchaseQuantity()!=null && info.getPurchaseQuantity()>0){
|
||||
//获取物料基础信息
|
||||
ConfigMaterialInfo ConfigMaterialInfo = configMaterialInfoMapper.selectById(info.getWlId());
|
||||
//获取物料上限下限
|
||||
BlWarehouseMaterialInfo warehouseMaterialInfo = warehouseMaterialInfoMapper.selectOne(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());
|
||||
|
|
@ -264,47 +228,45 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
|
|||
}
|
||||
|
||||
@Override
|
||||
public String generatedPurchaseOrder(QgdInfoEntity qgdInfoEntity) {
|
||||
public List<CgdMainEntity> generatedPurchaseViewOrder(List<QgdInfoEntity> infoEntityList) {
|
||||
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
//查询当前人是否有请购数据
|
||||
QueryWrapper<QgdMain> mainQueryWrapper = new QueryWrapper<>();
|
||||
// mainQueryWrapper.eq("create_by",sysUser.getUsername());
|
||||
mainQueryWrapper.eq("status",0);
|
||||
QgdMain qgdMain = qgdMainMapper.selectOne(mainQueryWrapper);
|
||||
if(qgdMain == null){
|
||||
qgdMain = new QgdMain();
|
||||
qgdMain.setId("-1");
|
||||
}
|
||||
//查询请购详细信息
|
||||
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<>();
|
||||
|
||||
for (QgdInfo qgdInfo : qgdInfoList) {
|
||||
String suppliersId = qgdInfo.getSuppliersId();
|
||||
for (QgdInfoEntity qgdInfoEntity : infoEntityList) {
|
||||
String suppliersId = qgdInfoEntity.getSuppliersId();
|
||||
if (!tempMap.containsKey(suppliersId)) {
|
||||
tempMap.put(suppliersId, new ArrayList<>());
|
||||
}
|
||||
QgdInfo qgdInfo = new QgdInfo();
|
||||
BeanUtils.copyProperties(qgdInfoEntity,qgdInfo);
|
||||
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();
|
||||
cgdMain.setQgdId(qgdMain.getId());
|
||||
cgdMain.setCgdNo(cgdNo);
|
||||
cgdMain.setGysId(suppliersId);
|
||||
cgdMain.setQgDate(new Date());
|
||||
|
|
@ -314,11 +276,21 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
|
|||
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);
|
||||
String qgdId = "";
|
||||
//生产采购单详细
|
||||
for(QgdInfo params:infoList){
|
||||
qgdId = qgdId + params.getId() + ",";
|
||||
NuInvoicingCgdInfo cgdInfo = new NuInvoicingCgdInfo();
|
||||
cgdInfo.setMainId(qgdMain.getId());
|
||||
QueryWrapper<BlWarehouseMaterialInfo> queryWrapper = new QueryWrapper<>();
|
||||
List<BlWarehouseMaterialInfo> wlList = mterialInfoMapper.selectList(queryWrapper);
|
||||
BlWarehouseMaterialInfo wlInfo = new BlWarehouseMaterialInfo();
|
||||
if(wlList.size()>0){
|
||||
wlInfo = wlList.get(0);
|
||||
}
|
||||
cgdInfo.setCgdId(cgdMain.getId());
|
||||
cgdInfo.setWlId(params.getWlId());
|
||||
cgdInfo.setWlMaterialNo(params.getWlMaterialNo());
|
||||
|
|
@ -333,23 +305,62 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
|
|||
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.setQgdId(qgdId);
|
||||
cgdMain.setCgdInfoList(cgdInfoList);
|
||||
cgdMain.setTotalPrice(totalPrice);
|
||||
mapList.add(cgdMain);
|
||||
}
|
||||
System.out.println(mapList);
|
||||
|
||||
//修改请购单状态-变成已经下单
|
||||
QgdMain qgdMain1 = new QgdMain();
|
||||
qgdMain1.setId(qgdMain.getId());
|
||||
qgdMain1.setStatus(1);
|
||||
qgdMainMapper.updateById(qgdMain1);
|
||||
List<CgdMainEntity> mapList2 = BeanUtil.copyToList(mapList,CgdMainEntity.class);
|
||||
return mapList2;
|
||||
|
||||
return "1";
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CgdMainEntity> generatedPurchaserder(List<CgdMainEntity> cgdMainList) {
|
||||
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
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);
|
||||
}
|
||||
|
||||
List<NuInvoicingCgdMain> mapList2 = BeanUtil.copyToList(cgdMainList,NuInvoicingCgdMain.class);
|
||||
for (NuInvoicingCgdMain cgdMain : mapList2){
|
||||
qgdXlhInt++;
|
||||
String cgdNo = sysUser.getOrgCode() + new SimpleDateFormat("yyyyMMdd").format(new Date()) + String.format("%03d", qgdXlhInt);
|
||||
cgdMain.setCgdNo(cgdNo);
|
||||
cgdMainMapper.insert(cgdMain);
|
||||
List<NuInvoicingCgdInfo> cgdInfoList = cgdMain.getCgdInfoList();
|
||||
for (NuInvoicingCgdInfo cgdInfo : cgdInfoList){
|
||||
cgdInfo.setCgdId(cgdMain.getId());
|
||||
cgdInfoMapper.insert(cgdInfo);
|
||||
}
|
||||
String qgdId = cgdMain.getQgdId();
|
||||
for(String id : qgdId.split(",")){
|
||||
baseMapper.deleteById(id);
|
||||
}
|
||||
redisUtil.set("qgd"+qgdDate,qgdXlhInt);
|
||||
}
|
||||
cgdMainList = BeanUtil.copyToList(mapList2,CgdMainEntity.class);
|
||||
return cgdMainList;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -1,38 +1,29 @@
|
|||
package com.nu.modules.qgd.controller;
|
||||
|
||||
import java.util.Arrays;
|
||||
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;
|
||||
import com.nu.modules.qgd.service.IQgdMainService;
|
||||
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 com.nu.modules.qgd.entity.QgdInfo;
|
||||
import com.nu.modules.qgd.service.IQgdInfoService;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import org.jeecg.common.system.base.controller.JeecgController;
|
||||
import org.jeecg.common.system.vo.LoginUser;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
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.QgdInfo;
|
||||
import com.nu.modules.qgd.service.IQgdInfoService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.common.aspect.annotation.AutoLog;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.jeecg.common.system.base.controller.JeecgController;
|
||||
import org.jeecg.common.system.query.QueryGenerator;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 请购单-请购信息
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2025-06-26
|
||||
|
|
@ -47,8 +38,6 @@ public class QgdInfoController extends JeecgController<QgdInfo, IQgdInfoService>
|
|||
@Autowired
|
||||
private IQgdInfoService nuInvoicingQgdInfoService;
|
||||
|
||||
@Autowired
|
||||
private IQgdMainService nuInvoicingQgdMainService;
|
||||
@Autowired
|
||||
private INuInvoicingCgdMainService nuInvoicingCgdMainService;
|
||||
@Autowired
|
||||
|
|
@ -152,17 +141,8 @@ public class QgdInfoController extends JeecgController<QgdInfo, IQgdInfoService>
|
|||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
// LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
//查询当前人是否有请购数据
|
||||
QueryWrapper<QgdMain> mainQueryWrapper = new QueryWrapper<>();
|
||||
// mainQueryWrapper.eq("create_by",sysUser.getUsername());//目前请购是一次性全部将请购车的请购信息全部提交给采购,如果只查询本人的请购信息则解除注释
|
||||
mainQueryWrapper.eq("status",0);
|
||||
QgdMain qgdMain = nuInvoicingQgdMainService.getOne(mainQueryWrapper);
|
||||
if(qgdMain == null){
|
||||
return Result.OK(null);
|
||||
}
|
||||
//查询请购详细信息
|
||||
QueryWrapper<QgdInfo> queryWrapper = QueryGenerator.initQueryWrapper(nuInvoicingQgdInfo, req.getParameterMap());
|
||||
queryWrapper.eq("main_id",qgdMain.getId());
|
||||
queryWrapper.apply(StringUtils.isNotBlank(nuInvoicingQgdInfo.getWlParamInfo()),"( wl_name like '%"+nuInvoicingQgdInfo.getWlParamInfo()+"%' or wl_material_no like '%"+nuInvoicingQgdInfo.getWlParamInfo()+"%' or wl_units like '%"+nuInvoicingQgdInfo.getWlParamInfo()+"%' or wl_specification_model like '%"+nuInvoicingQgdInfo.getWlParamInfo()+"%' ) ");
|
||||
Page<QgdInfo> page = new Page<QgdInfo>(pageNo, pageSize);
|
||||
IPage<QgdInfo> pageList = nuInvoicingQgdInfoService.queryListByUser(page, queryWrapper);
|
||||
|
|
@ -173,7 +153,7 @@ public class QgdInfoController extends JeecgController<QgdInfo, IQgdInfoService>
|
|||
@ApiOperation(value="生成采购单信息", notes="生成采购单信息")
|
||||
@PostMapping(value = "/addCgdByUser")
|
||||
public Result<List<NuInvoicingCgdMain>> addCgd(@RequestBody List<QgdInfo> qgdInfoList, HttpServletRequest req) {
|
||||
List<NuInvoicingCgdMain> list = nuInvoicingQgdMainService.addCgdByUser(qgdInfoList);
|
||||
List<NuInvoicingCgdMain> list = nuInvoicingQgdInfoService.addCgdByUser(qgdInfoList);
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
|
|
@ -181,7 +161,7 @@ public class QgdInfoController extends JeecgController<QgdInfo, IQgdInfoService>
|
|||
@ApiOperation(value="生成采购单信息", notes="生成采购单信息")
|
||||
@PostMapping(value = "/saveCgd")
|
||||
public Result<List<NuInvoicingCgdMain>> saveCgd(@RequestBody List<NuInvoicingCgdMain> cgdMainList, HttpServletRequest req) {
|
||||
List<NuInvoicingCgdMain> list = nuInvoicingQgdMainService.saveCgd(cgdMainList);
|
||||
List<NuInvoicingCgdMain> list = nuInvoicingQgdInfoService.saveCgd(cgdMainList);
|
||||
return Result.OK(list);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,164 +0,0 @@
|
|||
package com.nu.modules.qgd.controller;
|
||||
|
||||
import java.util.Arrays;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.common.system.query.QueryGenerator;
|
||||
import com.nu.modules.qgd.entity.QgdMain;
|
||||
import com.nu.modules.qgd.service.IQgdMainService;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import org.jeecg.common.system.base.controller.JeecgController;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.jeecg.common.aspect.annotation.AutoLog;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
|
||||
/**
|
||||
* @Description: 请购单
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2025-06-26
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Api(tags="请购单")
|
||||
@RestController
|
||||
//@RequestMapping("/nuInvoicingQgdMain/nuInvoicingQgdMain")
|
||||
@RequestMapping("/invoicing/qgdMain")
|
||||
@Slf4j
|
||||
public class QgdMainController extends JeecgController<QgdMain, IQgdMainService> {
|
||||
@Autowired
|
||||
private IQgdMainService nuInvoicingQgdMainService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
* @param nuInvoicingQgdMain
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
//@AutoLog(value = "请购单-分页列表查询")
|
||||
@ApiOperation(value="请购单-分页列表查询", notes="请购单-分页列表查询")
|
||||
@GetMapping(value = "/list")
|
||||
public Result<IPage<QgdMain>> queryPageList(QgdMain nuInvoicingQgdMain,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<QgdMain> queryWrapper = QueryGenerator.initQueryWrapper(nuInvoicingQgdMain, req.getParameterMap());
|
||||
Page<QgdMain> page = new Page<QgdMain>(pageNo, pageSize);
|
||||
IPage<QgdMain> pageList = nuInvoicingQgdMainService.page(page, queryWrapper);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加
|
||||
*
|
||||
* @param nuInvoicingQgdMain
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "请购单-添加")
|
||||
@ApiOperation(value="请购单-添加", notes="请购单-添加")
|
||||
@RequiresPermissions("nuInvoicingQgdMain:nu_invoicing_qgd_main:add")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<String> add(@RequestBody QgdMain nuInvoicingQgdMain) {
|
||||
nuInvoicingQgdMainService.save(nuInvoicingQgdMain);
|
||||
return Result.OK("添加成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*
|
||||
* @param nuInvoicingQgdMain
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "请购单-编辑")
|
||||
@ApiOperation(value="请购单-编辑", notes="请购单-编辑")
|
||||
@RequiresPermissions("nuInvoicingQgdMain:nu_invoicing_qgd_main:edit")
|
||||
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
|
||||
public Result<String> edit(@RequestBody QgdMain nuInvoicingQgdMain) {
|
||||
nuInvoicingQgdMainService.updateById(nuInvoicingQgdMain);
|
||||
return Result.OK("编辑成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "请购单-通过id删除")
|
||||
@ApiOperation(value="请购单-通过id删除", notes="请购单-通过id删除")
|
||||
@RequiresPermissions("nuInvoicingQgdMain:nu_invoicing_qgd_main:delete")
|
||||
@DeleteMapping(value = "/delete")
|
||||
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
|
||||
nuInvoicingQgdMainService.removeById(id);
|
||||
return Result.OK("删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "请购单-批量删除")
|
||||
@ApiOperation(value="请购单-批量删除", notes="请购单-批量删除")
|
||||
@RequiresPermissions("nuInvoicingQgdMain:nu_invoicing_qgd_main:deleteBatch")
|
||||
@DeleteMapping(value = "/deleteBatch")
|
||||
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
|
||||
this.nuInvoicingQgdMainService.removeByIds(Arrays.asList(ids.split(",")));
|
||||
return Result.OK("批量删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
//@AutoLog(value = "请购单-通过id查询")
|
||||
@ApiOperation(value="请购单-通过id查询", notes="请购单-通过id查询")
|
||||
@GetMapping(value = "/queryById")
|
||||
public Result<QgdMain> queryById(@RequestParam(name="id",required=true) String id) {
|
||||
QgdMain nuInvoicingQgdMain = nuInvoicingQgdMainService.getById(id);
|
||||
if(nuInvoicingQgdMain==null) {
|
||||
return Result.error("未找到对应数据");
|
||||
}
|
||||
return Result.OK(nuInvoicingQgdMain);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
*
|
||||
* @param request
|
||||
* @param nuInvoicingQgdMain
|
||||
*/
|
||||
@RequiresPermissions("nuInvoicingQgdMain:nu_invoicing_qgd_main:exportXls")
|
||||
@RequestMapping(value = "/exportXls")
|
||||
public ModelAndView exportXls(HttpServletRequest request, QgdMain nuInvoicingQgdMain) {
|
||||
return super.exportXls(request, nuInvoicingQgdMain, QgdMain.class, "请购单");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过excel导入数据
|
||||
*
|
||||
* @param request
|
||||
* @param response
|
||||
* @return
|
||||
*/
|
||||
@RequiresPermissions("nuInvoicingQgdMain:nu_invoicing_qgd_main:importExcel")
|
||||
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
|
||||
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
|
||||
return super.importExcel(request, response, QgdMain.class);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -53,14 +53,6 @@ public class QgdInfo implements Serializable {
|
|||
/**sysOrgCode*/
|
||||
@ApiModelProperty(value = "sysOrgCode")
|
||||
private java.lang.String sysOrgCode;
|
||||
/**请购单id*/
|
||||
@Excel(name = "请购单id", width = 15)
|
||||
@ApiModelProperty(value = "请购单id")
|
||||
private java.lang.String mainId;
|
||||
/**请购单编号*/
|
||||
@Excel(name = "请购单编号", width = 15)
|
||||
@ApiModelProperty(value = "请购单编号")
|
||||
private java.lang.String mainNo;
|
||||
/**物料id*/
|
||||
@Excel(name = "物料id", width = 15)
|
||||
@ApiModelProperty(value = "物料id")
|
||||
|
|
|
|||
|
|
@ -1,62 +0,0 @@
|
|||
package com.nu.modules.qgd.entity;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* @Description: 请购单
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2025-06-26
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("nu_invoicing_qgd_main")
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value="nu_invoicing_qgd_main对象", description="请购单")
|
||||
public class QgdMain implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**id*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "id")
|
||||
private java.lang.String id;
|
||||
/**createBy*/
|
||||
@ApiModelProperty(value = "createBy")
|
||||
private java.lang.String createBy;
|
||||
/**createTime*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "createTime")
|
||||
private java.util.Date createTime;
|
||||
/**updateBy*/
|
||||
@ApiModelProperty(value = "updateBy")
|
||||
private java.lang.String updateBy;
|
||||
/**updateTime*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "updateTime")
|
||||
private java.util.Date updateTime;
|
||||
/**sysOrgCode*/
|
||||
@ApiModelProperty(value = "sysOrgCode")
|
||||
private java.lang.String sysOrgCode;
|
||||
/**请购单号*/
|
||||
@Excel(name = "请购单号", width = 15)
|
||||
@ApiModelProperty(value = "请购单号")
|
||||
private java.lang.String qgdNo;
|
||||
/**请购状态 0未下单 1已下单*/
|
||||
@Excel(name = "请购状态 0未下单 1已下单", width = 15)
|
||||
@ApiModelProperty(value = "请购状态 0未下单 1已下单")
|
||||
private java.lang.Integer status;
|
||||
}
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
package com.nu.modules.qgd.mapper;
|
||||
|
||||
import com.nu.modules.qgd.entity.QgdMain;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @Description: 请购单
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2025-06-26
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface QgdMainMapper extends BaseMapper<QgdMain> {
|
||||
|
||||
}
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.nu.modules.qgd.mapper.QgdMainMapper">
|
||||
|
||||
</mapper>
|
||||
|
|
@ -3,6 +3,7 @@ package com.nu.modules.qgd.service;
|
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.nu.modules.cgd.entity.NuInvoicingCgdMain;
|
||||
import com.nu.modules.qgd.entity.QgdInfo;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
|
|
@ -19,4 +20,8 @@ public interface IQgdInfoService extends IService<QgdInfo> {
|
|||
void addList(List<QgdInfo> infoList);
|
||||
|
||||
IPage<QgdInfo> queryListByUser(Page<QgdInfo> page, QueryWrapper<QgdInfo> queryWrapper);
|
||||
|
||||
List<NuInvoicingCgdMain> saveCgd(List<NuInvoicingCgdMain> cgdMainList);
|
||||
|
||||
List<NuInvoicingCgdMain> addCgdByUser(List<QgdInfo> qgdInfoList);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,21 +0,0 @@
|
|||
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
|
||||
* @Date: 2025-06-26
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface IQgdMainService extends IService<QgdMain> {
|
||||
|
||||
List<NuInvoicingCgdMain> addCgdByUser(List<QgdInfo> qgdInfoList);
|
||||
|
||||
List<NuInvoicingCgdMain> saveCgd(List<NuInvoicingCgdMain> cgdMainList);
|
||||
}
|
||||
|
|
@ -4,25 +4,31 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.nu.modules.ConfigMaterial.entity.ConfigMaterialInfo;
|
||||
import com.nu.modules.cgd.entity.NuInvoicingCgdInfo;
|
||||
import com.nu.modules.cgd.entity.NuInvoicingCgdMain;
|
||||
import com.nu.modules.cgd.mapper.NuInvoicingCgdInfoMapper;
|
||||
import com.nu.modules.cgd.mapper.NuInvoicingCgdMainMapper;
|
||||
import com.nu.modules.configSuppliersInfo.entity.ConfigSuppliersInfo;
|
||||
import com.nu.modules.configSuppliersInfo.mapper.ConfigSuppliersInfoMapper;
|
||||
import com.nu.modules.qgd.entity.QgdInfo;
|
||||
import com.nu.modules.qgd.entity.QgdMain;
|
||||
import com.nu.modules.qgd.mapper.QgdInfoMapper;
|
||||
import com.nu.modules.qgd.service.IQgdInfoService;
|
||||
import com.nu.modules.qgd.service.IQgdMainService;
|
||||
import com.nu.modules.ConfigMaterial.service.IConfigMaterialInfoService;
|
||||
import com.nu.modules.warehouseMaterialInfo.entity.BlWarehouseMaterialInfo;
|
||||
import com.nu.modules.warehouseMaterialInfo.mapper.BlWarehouseMaterialInfoMapper;
|
||||
import com.nu.modules.warehouseMaterialInfo.service.IBlWarehouseMaterialInfoService;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.jeecg.common.system.vo.LoginUser;
|
||||
import org.jeecg.common.util.DateUtils;
|
||||
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.util.Date;
|
||||
import java.util.List;
|
||||
import java.math.BigDecimal;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @Description: 请购单-请购信息
|
||||
|
|
@ -38,6 +44,17 @@ public class QgdInfoServiceImpl extends ServiceImpl<QgdInfoMapper, QgdInfo> impl
|
|||
@Autowired
|
||||
private IBlWarehouseMaterialInfoService blWarehouseMaterialInfoService;
|
||||
|
||||
@Autowired
|
||||
private NuInvoicingCgdMainMapper cgdMainMapper;
|
||||
@Autowired
|
||||
private NuInvoicingCgdInfoMapper cgdInfoMapper;
|
||||
@Autowired
|
||||
private ConfigSuppliersInfoMapper gysMapper;
|
||||
@Autowired
|
||||
private BlWarehouseMaterialInfoMapper mterialInfoMapper;
|
||||
@Autowired
|
||||
private RedisUtil redisUtil;
|
||||
|
||||
@Override
|
||||
public void addList(List<QgdInfo> infoList) {
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
|
|
@ -68,4 +85,134 @@ public class QgdInfoServiceImpl extends ServiceImpl<QgdInfoMapper, QgdInfo> impl
|
|||
public IPage<QgdInfo> queryListByUser(Page<QgdInfo> page, QueryWrapper<QgdInfo> queryWrapper) {
|
||||
return baseMapper.queryListByUser(page, queryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<NuInvoicingCgdMain> addCgdByUser(List<QgdInfo> qgdInfoList) {
|
||||
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
|
||||
List<NuInvoicingCgdMain> mapList = new ArrayList<>();
|
||||
// 创建一个临时Map来按suppliersId分组
|
||||
Map<String, List<QgdInfo>> tempMap = new HashMap<>();
|
||||
|
||||
for (QgdInfo qgdInfo : qgdInfoList) {
|
||||
String suppliersId = qgdInfo.getSuppliersId();
|
||||
if (!tempMap.containsKey(suppliersId)) {
|
||||
tempMap.put(suppliersId, new ArrayList<>());
|
||||
}
|
||||
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()) {
|
||||
qgdXlhInt++;
|
||||
String suppliersId = entry.getKey();//供应商id
|
||||
List<QgdInfo> infoList = entry.getValue();//请购的物料列表
|
||||
|
||||
ConfigSuppliersInfo ConfigSuppliersInfo = gysMapper.selectById(suppliersId);
|
||||
String cgdNo = sysUser.getOrgCode() + new SimpleDateFormat("yyyyMMdd").format(new Date()) + String.format("%03d", qgdXlhInt);
|
||||
|
||||
//生产采购单主表
|
||||
NuInvoicingCgdMain cgdMain = new NuInvoicingCgdMain();
|
||||
cgdMain.setCgdNo(cgdNo);
|
||||
cgdMain.setGysId(suppliersId);
|
||||
cgdMain.setQgDate(new Date());
|
||||
cgdMain.setQgBy(sysUser.getUsername());
|
||||
cgdMain.setGysLxr(ConfigSuppliersInfo.getPersonInCharge());
|
||||
cgdMain.setGysLxrdh(ConfigSuppliersInfo.getContactNumber());
|
||||
cgdMain.setGysOpenId(ConfigSuppliersInfo.getWechartId());
|
||||
cgdMain.setStatus("0");
|
||||
cgdMain.setCgdType("0");
|
||||
cgdMain.setGysName(ConfigSuppliersInfo.getSuppliersName());
|
||||
// cgdMainMapper.insert(cgdMain);
|
||||
List<NuInvoicingCgdInfo> cgdInfoList = new ArrayList<>();
|
||||
BigDecimal totalPrice = new BigDecimal(0);
|
||||
String qgdId = "";
|
||||
//生产采购单详细
|
||||
for(QgdInfo params:infoList){
|
||||
qgdId = qgdId + params.getId() + ",";
|
||||
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);
|
||||
}
|
||||
cgdInfo.setCgdId(cgdMain.getId());
|
||||
cgdInfo.setWlId(params.getWlId());
|
||||
cgdInfo.setWlMaterialNo(params.getWlMaterialNo());
|
||||
cgdInfo.setWlName(params.getWlName());
|
||||
cgdInfo.setWlUnits(params.getWlUnits());
|
||||
cgdInfo.setWlSpecificationModel(params.getWlSpecificationModel());
|
||||
cgdInfo.setWlUpperLimit(params.getWlUpperLimit());
|
||||
cgdInfo.setWlLowerLimit(params.getWlLowerLimit());
|
||||
cgdInfo.setSuppliersId(params.getSuppliersId());
|
||||
cgdInfo.setSuppliersName(params.getSuppliersName());
|
||||
cgdInfo.setPurchaseQuantity(params.getPurchaseQuantity());
|
||||
cgdInfo.setBrand(params.getBrand());
|
||||
cgdInfo.setNuId(params.getNuId());
|
||||
cgdInfo.setProcurementPrice(params.getReferenceUnitPrice());
|
||||
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);
|
||||
}
|
||||
cgdMain.setQgdId(qgdId);
|
||||
cgdMain.setCgdInfoList(cgdInfoList);
|
||||
cgdMain.setTotalPrice(totalPrice);
|
||||
mapList.add(cgdMain);
|
||||
}
|
||||
System.out.println(mapList);
|
||||
|
||||
return mapList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<NuInvoicingCgdMain> saveCgd(List<NuInvoicingCgdMain> cgdMainList) {
|
||||
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
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);
|
||||
}
|
||||
for (NuInvoicingCgdMain cgdMain : cgdMainList){
|
||||
qgdXlhInt++;
|
||||
String cgdNo = sysUser.getOrgCode() + new SimpleDateFormat("yyyyMMdd").format(new Date()) + String.format("%03d", qgdXlhInt);
|
||||
cgdMain.setCgdNo(cgdNo);
|
||||
cgdMainMapper.insert(cgdMain);
|
||||
List<NuInvoicingCgdInfo> cgdInfoList = cgdMain.getCgdInfoList();
|
||||
for (NuInvoicingCgdInfo cgdInfo : cgdInfoList){
|
||||
cgdInfo.setCgdId(cgdMain.getId());
|
||||
cgdInfoMapper.insert(cgdInfo);
|
||||
}
|
||||
String qgdId = cgdMain.getQgdId();
|
||||
for(String id : qgdId.split(",")){
|
||||
baseMapper.deleteById(id);
|
||||
}
|
||||
redisUtil.set("qgd"+qgdDate,qgdXlhInt);
|
||||
}
|
||||
|
||||
return cgdMainList;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,184 +0,0 @@
|
|||
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;
|
||||
import com.nu.modules.cgd.mapper.NuInvoicingCgdMainMapper;
|
||||
import com.nu.modules.cgd.service.INuInvoicingCgdMainService;
|
||||
import com.nu.modules.configSuppliersInfo.entity.ConfigSuppliersInfo;
|
||||
import com.nu.modules.configSuppliersInfo.mapper.ConfigSuppliersInfoMapper;
|
||||
import com.nu.modules.configSuppliersInfo.service.IConfigSuppliersInfoService;
|
||||
import com.nu.modules.qgd.entity.QgdInfo;
|
||||
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.*;
|
||||
|
||||
/**
|
||||
* @Description: 请购单
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2025-06-26
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Service
|
||||
public class QgdMainServiceImpl extends ServiceImpl<QgdMainMapper, QgdMain> implements IQgdMainService {
|
||||
|
||||
@Autowired
|
||||
private QgdInfoMapper qgdInfoMapper;
|
||||
|
||||
@Autowired
|
||||
private NuInvoicingCgdMainMapper cgdMainMapper;
|
||||
@Autowired
|
||||
private NuInvoicingCgdInfoMapper cgdInfoMapper;
|
||||
@Autowired
|
||||
private ConfigSuppliersInfoMapper gysMapper;
|
||||
|
||||
@Autowired
|
||||
private BlWarehouseMaterialInfoMapper mterialInfoMapper;
|
||||
|
||||
@Autowired
|
||||
private RedisUtil redisUtil;
|
||||
|
||||
@Override
|
||||
public List<NuInvoicingCgdMain> addCgdByUser(List<QgdInfo> qgdInfoList) {
|
||||
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
//查询当前人是否有请购数据
|
||||
QueryWrapper<QgdMain> mainQueryWrapper = new QueryWrapper<>();
|
||||
// mainQueryWrapper.eq("create_by",sysUser.getUsername());
|
||||
mainQueryWrapper.eq("status",0);
|
||||
QgdMain qgdMain = baseMapper.selectOne(mainQueryWrapper);
|
||||
if(qgdMain == null){
|
||||
return null;
|
||||
}
|
||||
//查询请购详细信息
|
||||
// QueryWrapper<QgdInfo> queryWrapper = new QueryWrapper<>();
|
||||
// queryWrapper.eq("main_id",qgdMain.getId());
|
||||
// List<QgdInfo> qgdInfoList = qgdInfoMapper.selectList(queryWrapper);
|
||||
|
||||
List<NuInvoicingCgdMain> mapList = new ArrayList<>();
|
||||
// 创建一个临时Map来按suppliersId分组
|
||||
Map<String, List<QgdInfo>> tempMap = new HashMap<>();
|
||||
|
||||
for (QgdInfo qgdInfo : qgdInfoList) {
|
||||
String suppliersId = qgdInfo.getSuppliersId();
|
||||
if (!tempMap.containsKey(suppliersId)) {
|
||||
tempMap.put(suppliersId, new ArrayList<>());
|
||||
}
|
||||
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()) {
|
||||
qgdXlhInt++;
|
||||
String suppliersId = entry.getKey();//供应商id
|
||||
List<QgdInfo> infoList = entry.getValue();//请购的物料列表
|
||||
|
||||
ConfigSuppliersInfo ConfigSuppliersInfo = gysMapper.selectById(suppliersId);
|
||||
String cgdNo = sysUser.getOrgCode() + new SimpleDateFormat("yyyyMMdd").format(new Date()) + String.format("%03d", qgdXlhInt);
|
||||
|
||||
//生产采购单主表
|
||||
NuInvoicingCgdMain cgdMain = new NuInvoicingCgdMain();
|
||||
cgdMain.setQgdId(qgdMain.getId());
|
||||
cgdMain.setCgdNo(cgdNo);
|
||||
cgdMain.setGysId(suppliersId);
|
||||
cgdMain.setQgDate(new Date());
|
||||
cgdMain.setQgBy(sysUser.getUsername());
|
||||
cgdMain.setGysLxr(ConfigSuppliersInfo.getPersonInCharge());
|
||||
cgdMain.setGysLxrdh(ConfigSuppliersInfo.getContactNumber());
|
||||
cgdMain.setGysOpenId(ConfigSuppliersInfo.getWechartId());
|
||||
cgdMain.setStatus("0");
|
||||
cgdMain.setCgdType("0");
|
||||
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());
|
||||
cgdInfo.setWlMaterialNo(params.getWlMaterialNo());
|
||||
cgdInfo.setWlName(params.getWlName());
|
||||
cgdInfo.setWlUnits(params.getWlUnits());
|
||||
cgdInfo.setWlSpecificationModel(params.getWlSpecificationModel());
|
||||
cgdInfo.setWlUpperLimit(params.getWlUpperLimit());
|
||||
cgdInfo.setWlLowerLimit(params.getWlLowerLimit());
|
||||
cgdInfo.setSuppliersId(params.getSuppliersId());
|
||||
cgdInfo.setSuppliersName(params.getSuppliersName());
|
||||
cgdInfo.setPurchaseQuantity(params.getPurchaseQuantity());
|
||||
cgdInfo.setBrand(params.getBrand());
|
||||
cgdInfo.setNuId(params.getNuId());
|
||||
cgdInfo.setProcurementPrice(params.getReferenceUnitPrice());
|
||||
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);
|
||||
}
|
||||
cgdMain.setCgdInfoList(cgdInfoList);
|
||||
cgdMain.setTotalPrice(totalPrice);
|
||||
mapList.add(cgdMain);
|
||||
}
|
||||
System.out.println(mapList);
|
||||
|
||||
return mapList;
|
||||
}
|
||||
|
||||
@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