Commit 2ed8aa0f authored by 罗林杰's avatar 罗林杰

库存管理门店

parent 06d11d4a
package org.rcisoft.bus.storegoods.controller;
/*固定导入*/
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.rcisoft.bus.storegoods.entity.StoreGoods;
import org.rcisoft.bus.storegoods.service.StoreGoodsService;
import org.rcisoft.core.anno.CyOpeLogAnno;
import org.rcisoft.core.constant.CyMessCons;
import org.rcisoft.core.controller.CyPaginationController;
import org.rcisoft.core.model.CyGridModel;
import org.rcisoft.core.model.CyPersistModel;
import org.rcisoft.core.operlog.enums.CyLogTypeEnum;
import org.rcisoft.core.result.CyResult;
import org.rcisoft.core.util.CyEpExcelUtil;
import org.rcisoft.core.util.CyResultGenUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.util.List;
/**
* Created by cy on 2024年5月29日 下午1:21:49.
*/
@RestController
@RequestMapping("/storegoods")
public class StoreGoodsController extends CyPaginationController<StoreGoods> {
@Autowired
private StoreGoodsService storeGoodsServiceImpl;
//@PreAuthorize("@cyPerm.hasPerm('sys:goods:add')")
@CyOpeLogAnno(title = "system-商品信息表管理-新增商品信息表", businessType = CyLogTypeEnum.INSERT)
@ApiOperation(value="添加商品信息表", notes="添加商品信息表")
@PostMapping(value = "/add")
public CyResult add(@Valid StoreGoods storeGoods, BindingResult bindingResult) {
CyPersistModel data = storeGoodsServiceImpl.persist(storeGoods);
return CyResultGenUtil.builder(data,
CyMessCons.MESSAGE_ALERT_SUCCESS,
CyMessCons.MESSAGE_ALERT_ERROR,
storeGoods);
}
//@PreAuthorize("@cyPerm.hasPerm('sys:goods:delete')")
@CyOpeLogAnno(title = "system-商品信息表管理-删除商品信息表", businessType = CyLogTypeEnum.DELETE)
@ApiOperation(value="逻辑删除商品信息表", notes="逻辑删除商品信息表")
@ApiImplicitParams({@ApiImplicitParam(name = "businessId", value = "businessId", required = true, dataType = "varchar")})
@DeleteMapping("/deleteLogical/{businessId:\\w+}")
public CyResult deleteLogical(@PathVariable int businessId, StoreGoods storeGoods) {
storeGoods.setBusinessId(businessId);
CyPersistModel data = storeGoodsServiceImpl.removeLogical(storeGoods);
return CyResultGenUtil.builder(data,
CyMessCons.MESSAGE_ALERT_SUCCESS,
CyMessCons.MESSAGE_ALERT_ERROR,
businessId);
}
//@PreAuthorize("@cyPerm.hasPerm('sys:goods:delete')")
@CyOpeLogAnno(title = "system-商品信息表管理-删除商品信息表", businessType = CyLogTypeEnum.DELETE)
@ApiOperation(value="删除商品信息表", notes="删除商品信息表")
@ApiImplicitParams({@ApiImplicitParam(name = "businessId", value = "businessId", required = true, dataType = "varchar")})
@DeleteMapping("/delete/{businessId:\\w+}")
public CyResult delete(@PathVariable int businessId, StoreGoods storeGoods) {
storeGoods.setBusinessId(businessId);
CyPersistModel data = storeGoodsServiceImpl.remove(storeGoods);
return CyResultGenUtil.builder(data,
CyMessCons.MESSAGE_ALERT_SUCCESS,
CyMessCons.MESSAGE_ALERT_ERROR,
businessId);
}
//@PreAuthorize("@cyPerm.hasPerm('sys:goods:update')")
@CyOpeLogAnno(title = "system-商品信息表管理-修改商品信息表", businessType = CyLogTypeEnum.UPDATE)
@ApiOperation(value="修改商品信息表", notes="修改商品信息表")
@ApiImplicitParams({@ApiImplicitParam(name = "businessId", value = "businessId", required = false, dataType = "varchar")})
@PutMapping("/update/{businessId:\\w+}")
public CyResult update(@PathVariable int businessId, @Valid StoreGoods storeGoods, BindingResult bindingResult) {
storeGoods.setBusinessId(businessId);
CyPersistModel data = storeGoodsServiceImpl.merge(storeGoods);
return CyResultGenUtil.builder(data,
CyMessCons.MESSAGE_ALERT_SUCCESS,
CyMessCons.MESSAGE_ALERT_ERROR,
storeGoods);
}
//@PreAuthorize("@cyPerm.hasPerm('sys:goods:query')")
@CyOpeLogAnno(title = "system-商品信息表管理-查询商品信息表", businessType = CyLogTypeEnum.QUERY)
@ApiOperation(value="查询单一商品信息表", notes="查询单一商品信息表")
@ApiImplicitParams({@ApiImplicitParam(name = "businessId", value = "businessId", required = true, dataType = "varchar")})
@GetMapping("/detail/{businessId:\\w+}")
public CyResult detail(@PathVariable int businessId) {
return CyResultGenUtil.builder(new CyPersistModel(1),
CyMessCons.MESSAGE_ALERT_SUCCESS,
CyMessCons.MESSAGE_ALERT_ERROR,
storeGoodsServiceImpl.findById(businessId));
}
@CyOpeLogAnno(title = "system-商品信息表管理-查询商品信息表", businessType = CyLogTypeEnum.QUERY)
@ApiOperation(value="查询单一商品信息表", notes="查询单一商品信息表")
@ApiImplicitParams({@ApiImplicitParam(name = "businessId", value = "businessId", required = true, dataType = "varchar")})
@GetMapping("/detailGoods/{businessId:\\w+}")
public CyResult detailGoods(@PathVariable int businessId) {
return CyResultGenUtil.builder(new CyPersistModel(1),
CyMessCons.MESSAGE_ALERT_SUCCESS,
CyMessCons.MESSAGE_ALERT_ERROR,
storeGoodsServiceImpl.findByOss(businessId));
}
//@PreAuthorize("@cyPerm.hasPerm('sys:goods:list')")
@CyOpeLogAnno(title = "system-商品信息表管理-查询商品信息表", businessType = CyLogTypeEnum.QUERY)
@ApiOperation(value="查询商品信息表集合", notes="查询商品信息表集合")
@GetMapping(value = "/listAll")
public CyResult listAll(StoreGoods storeGoods) {
return CyResultGenUtil.builder(new CyPersistModel(1),
CyMessCons.MESSAGE_ALERT_SUCCESS,
CyMessCons.MESSAGE_ALERT_ERROR,
storeGoodsServiceImpl.findAll(storeGoods));
}
//@PreAuthorize("@cyPerm.hasPerm('sys:goods:list')")
@CyOpeLogAnno(title = "system-商品信息表管理-查询商品信息表", businessType = CyLogTypeEnum.QUERY)
@ApiOperation(value="分页查询商品信息表集合", notes="分页查询商品信息表集合")
@GetMapping(value = "/list")
public CyGridModel listByPagination(StoreGoods storeGoods) {
storeGoodsServiceImpl.findAllByPagination(getPaginationUtility(), storeGoods);
return getGridModelResponse();
}
@CyOpeLogAnno(title = "system-商品信息表管理-查询商品信息表", businessType = CyLogTypeEnum.EXPORT)
@ApiOperation(value = "导出商品信息表信息", notes = "导出商品信息表信息")
@GetMapping(value = "/export")
public void outWmsGoods(HttpServletResponse response, StoreGoods storeGoods, @PathVariable @RequestParam(defaultValue = "0") String excelId) {
String excelName="";
switch(excelId){
case "0": excelName="商品信息表信息.xls";break;
case "1": excelName="商品信息表信息.xlsx";break;
case "2": excelName="商品信息表信息.csv";break;
}
List<StoreGoods> storeGoodsList = storeGoodsServiceImpl.export(storeGoods);
CyEpExcelUtil.exportExcel(storeGoodsList, "商品信息表信息", "商品信息表信息", StoreGoods.class, excelName, response);
}
@CyOpeLogAnno(title = "system-商品信息表管理-查询商品", businessType = CyLogTypeEnum.QUERY)
@ApiOperation(value="查询商品", notes="查询商品")
@GetMapping(value = "/detailByCode")
public CyResult detailByCode(StoreGoods storeGoods) {
return CyResultGenUtil.builder(new CyPersistModel(1),
CyMessCons.MESSAGE_ALERT_SUCCESS,
CyMessCons.MESSAGE_ALERT_ERROR,
storeGoodsServiceImpl.queryWmsGoods(storeGoods));
}
}
package org.rcisoft.bus.storegoods.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.rcisoft.bus.storegoods.entity.StoreGoods;
import org.rcisoft.bus.storegoodsapply.entity.StoreGoodsApply;
import org.rcisoft.bus.wmsgoodsapply.entity.WmsGoodsApply;
import org.rcisoft.core.mapper.CyBaseMapper;
import org.rcisoft.core.model.CyPageInfo;
import org.rcisoft.sys.ossInfo.entity.OssInfo;
import java.util.List;
import java.util.Map;
/**
* Created with cy on 2024年5月29日 下午1:21:49.
*/
public interface StoreGoodsRepository extends CyBaseMapper<StoreGoods> {
List<StoreGoods> queryWmsGoods(@Param("entity") StoreGoods storeGoods);
/**
* 分页查询 wmsGoods
*/
IPage<StoreGoods> queryWmsGoodssPaged(CyPageInfo cyPageInfo, @Param("entity") StoreGoods storeGoods);
List<StoreGoods> queryWmsGoodsByAppId(@Param("entity") StoreGoodsApply wmsGoodsLog);
List<StoreGoods> queryWmsGoodsByAppIdOut(@Param("entity") StoreGoodsApply wmsGoodsLog);
List<StoreGoods> findByIdGoods(@Param("entity") StoreGoods storeGoods);
int insertOss(@Param("entity") List<Map<String, String>> wmsGoods);
List<OssInfo> findOss(@Param("entity") StoreGoods storeGoods);
int delOssById(@Param("entity") StoreGoods storeGoods);
}
package org.rcisoft.bus.storegoods.entity;
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import org.rcisoft.core.entity.CyIdIncreEntity;
import org.rcisoft.sys.ossInfo.entity.OssInfo;
import java.util.List;
/**
* Created with cy on 2024年5月29日 下午1:21:49.
*/
@Data
@TableName("store_goods")
public class StoreGoods extends CyIdIncreEntity<StoreGoods> {
/**
* @desc 商品编码
* @column goods_code
* @default
*/
@Excel(name = "商品编码", orderNum = "0", width = 40)
private String goodsCode;
@TableField(exist = false)
@Excel(name="商场条码", orderNum = "1", width = 55)
private String goodsH5;
/**
* @desc 品名
* @column goods_name
* @default
*/
@Excel(name = "商品名称", orderNum = "2", width = 20)
private String goodsName;
/**
* @desc 品牌
* @column goods_size
* @default
*/
@Excel(name = "品牌", orderNum = "3", width = 20)
private String goodsBrand;
/**
* @desc 季节
* @column goods_season
* @default
*/
@Excel(name = "季节", orderNum = "4", width = 20)
private String goodsSeason;
@Excel(name = "品名", orderNum = "5", width = 20)
private String goodsDictName;
/**
* @desc 货号
* @column goods_art_number
* @default
*/
@Excel(name = "货号", orderNum = "6", width = 20)
private String goodsArtNumber;
/**
* @desc 款式
* @column goods_type
* @default
*/
@Excel(name = "款式", orderNum = "7", width = 20)
private String goodsStyle;
/**
* @desc 颜色
* @column goods_colour
* @default
*/
@Excel(name = "颜色", orderNum = "8", width = 20)
private String goodsColour;
/**
* @desc 规格
* @column goods_norms
* @default
*/
@Excel(name = "规格", orderNum = "9", width = 20)
private String goodsNorms;
/**
* @desc 尺码
* @column goods_size
* @default
*/
@Excel(name = "尺码", orderNum = "10", width = 20)
private String goodsSize;
@TableField(exist = false)
private Integer inCounts;
@TableField(exist = false)
private Integer outCounts;
/**
* 回显 出入库 列表 count
*/
@TableField(exist = false)
private Integer goodsCounts;
@TableField(exist = false)
private List<OssInfo> ossInfoList;
@TableField(exist = false)
private Integer goodsId;
@TableField(exist = false)
private Integer ossId;
/**
* 新增,修改 图片 ids , 分割
*/
@TableField(exist = false)
private String urlIdList;
// 库位号
@TableField(exist = false)
private String goodsNumber;
// = 查询
@TableField(exist = false)
private String actualGoodsCode;
}
package org.rcisoft.bus.storegoods.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.rcisoft.bus.storegoods.entity.StoreGoods;
import org.rcisoft.bus.storegoodsapply.entity.StoreGoodsApply;
import org.rcisoft.bus.wmsgoodsapply.entity.WmsGoodsApply;
import org.rcisoft.core.model.CyPageInfo;
import org.rcisoft.core.model.CyPersistModel;
import org.rcisoft.sys.ossInfo.entity.OssInfo;
import java.util.List;
/**
* Created by cy on 2024年5月29日 下午1:21:49.
*/
public interface StoreGoodsService {
/**
* 保存 商品信息表
*
* @param storeGoods
* @return
*/
CyPersistModel persist(StoreGoods storeGoods);
/**
* 删除 商品信息表
*
* @param storeGoods
* @return
*/
CyPersistModel remove(StoreGoods storeGoods);
CyPersistModel delOss(StoreGoods storeGoods);
/**
* 逻辑删除 商品信息表
*
* @param storeGoods
* @return
*/
CyPersistModel removeLogical(StoreGoods storeGoods);
/**
* 修改 商品信息表
*
* @param storeGoods
* @return
*/
CyPersistModel merge(StoreGoods storeGoods);
/**
* 根据id查询 商品信息表
*
* @param id
* @return
*/
StoreGoods findById(int id);
/**
* 分页查询 商品信息表
*
* @param storeGoods
* @return
*/
IPage<StoreGoods> findAllByPagination(CyPageInfo<StoreGoods> paginationUtility,
StoreGoods storeGoods);
/**
* 查询list 商品信息表
*
* @param storeGoods
* @return
*/
List<StoreGoods> findAll(StoreGoods storeGoods);
/**
* 导出商品信息表
*
* @return
*/
List<StoreGoods> export(StoreGoods storeGoods);
/**
* 根据申请id 查询
*
* @param wmsGoodsLog
* @return
*/
List<StoreGoods> findByApplyId(StoreGoodsApply wmsGoodsLog);
List<StoreGoods> findByIdGoods(int id);
StoreGoods findByOss(int id);
List<OssInfo> findOss(StoreGoods storeGoods);
StoreGoods queryWmsGoods(StoreGoods storeGoods);
}
package org.rcisoft.bus.storegoods.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.rcisoft.bus.storegoods.dao.StoreGoodsRepository;
import org.rcisoft.bus.storegoods.entity.StoreGoods;
import org.rcisoft.bus.storegoods.service.StoreGoodsService;
import org.rcisoft.bus.storegoodsapply.entity.StoreGoodsApply;
import org.rcisoft.bus.storegoodsstock.dao.StoreGoodsStockRepository;
import org.rcisoft.bus.storegoodsstock.entity.StoreGoodsStock;
import org.rcisoft.bus.wmsgoodsstock.entity.WmsGoodsStock;
import org.rcisoft.core.exception.CyServiceException;
import org.rcisoft.core.model.CyPageInfo;
import org.rcisoft.core.model.CyPersistModel;
import org.rcisoft.core.util.CyUserUtil;
import org.rcisoft.sys.ossInfo.entity.OssInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Created by cy on 2024年5月29日 下午1:21:49.
*/
@Service
@Transactional(readOnly = true, propagation = Propagation.NOT_SUPPORTED)
@Slf4j
public class StoreGoodsServiceImpl extends ServiceImpl<StoreGoodsRepository, StoreGoods> implements StoreGoodsService {
@Value("${system.goods_h5}")
private String goodsH5;
@Autowired
private StoreGoodsStockRepository storeGoodsStockRepository;
/**
* 保存 商品信息表
*
* @param storeGoods
* @return
*/
@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.DEFAULT)
@Override
public CyPersistModel persist(StoreGoods storeGoods) {
// 批量插入
String goodsCode = storeGoods.getGoodsCode();
String[] goodStr = goodsCode.split(":");
if(goodStr.length < 2) {
throw new CyServiceException(1001, "数据不合法");
}
String[] itemCode = goodStr[1].split(",");
// 循环
for (int i = 0; i < itemCode.length; i++) {
StoreGoods existingGoods = baseMapper.selectOne(new QueryWrapper<StoreGoods>().eq("goods_code",
goodStr[0] + itemCode[i]));
if (existingGoods != null) {
throw new CyServiceException(1001, "商品已存在");
}
StoreGoods entity = new StoreGoods();
BeanUtil.copyProperties(storeGoods, entity);
entity.setGoodsSize(itemCode[i]);
entity.setGoodsCode(goodStr[0] + itemCode[i]);
//增加操作
int line = baseMapper.insert(entity);
//插入图片
if(StringUtils.isNotBlank(storeGoods.getUrlIdList())){
List<Map<String, String>> params = new ArrayList<>();
String[] oss_ids = storeGoods.getUrlIdList().split(",");
Map<String, String> param = null;
for (String id : oss_ids) {
param = new HashMap<>();
param.put("gid", entity.getBusinessId() + "");
param.put("oid" , id);
params.add(param);
}
baseMapper.insertOss(params);
}
log.debug(CyUserUtil.getAuthenUsername() + "新增了ID为" +
storeGoods.getBusinessId() + "的商品信息表信息");
}
return new CyPersistModel(1);
}
/**
* 删除 商品信息表
*
* @param storeGoods
* @return
*/
@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.DEFAULT)
@Override
public CyPersistModel remove(StoreGoods storeGoods) {
int line = baseMapper.realDelete(storeGoods);
log.debug(CyUserUtil.getAuthenUsername() + "删除了ID为" +
storeGoods.getBusinessId() + "的商品信息表信息");
return new CyPersistModel(line);
}
/**
* 逻辑删除 商品信息表
*
* @param storeGoods
* @return
*/
@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.DEFAULT)
@Override
public CyPersistModel removeLogical(StoreGoods storeGoods) {
storeGoods.setDeleted();
int line = baseMapper.deleteById(storeGoods);
log.debug(CyUserUtil.getAuthenUsername() + "逻辑删除了ID为" +
storeGoods.getBusinessId() + "的商品信息表信息");
return new CyPersistModel(line);
}
@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.DEFAULT)
@Override
public CyPersistModel delOss(StoreGoods storeGoods) {
storeGoods.setDeleted();
int line = baseMapper.delOssById(storeGoods);
log.debug(CyUserUtil.getAuthenUsername() + "删除了ID为" +
storeGoods.getBusinessId() + "的商品信息表信息");
return new CyPersistModel(line);
}
/**
* 修改 商品信息表
*
* @param storeGoods
* @return
*/
@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.DEFAULT)
@Override
public CyPersistModel merge(StoreGoods storeGoods) {
QueryWrapper<StoreGoods> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("goods_code", storeGoods.getGoodsCode());
queryWrapper.ne("del_flag", "1");
queryWrapper.ne("business_id", storeGoods.getBusinessId());
List<StoreGoods> existingGoods = baseMapper.selectList(queryWrapper);
if (existingGoods.size() > 0) {
throw new CyServiceException(1001, "商品已存在");
}
int line = baseMapper.updateById(storeGoods);
// 删除一下 goods_oss by goods
baseMapper.delOssById(storeGoods);
//插入图片
if(StringUtils.isNotBlank(storeGoods.getUrlIdList())){
List<Map<String, String>> params = new ArrayList<>();
String[] oss_ids = storeGoods.getUrlIdList().split(",");
Map<String, String> param = null;
for (String id : oss_ids) {
param = new HashMap<>();
param.put("gid", storeGoods.getBusinessId() + "");
param.put("oid" , id);
params.add(param);
}
baseMapper.insertOss(params);
}
log.debug(CyUserUtil.getAuthenUsername() + "修改了ID为" + storeGoods.getBusinessId() + "的商品信息表信息");
return new CyPersistModel(line);
}
/**
* 根据id查询 商品信息表
*
* @param id
* @return
*/
// @Override
// public WmsGoods findById(int id) {
// WmsGoods wmsGoods = baseMapper.selectById(id);
// ossInfoMapper.selectBatchIds()
// return wmsGoods;
// }
@Override
public StoreGoods findById(int id) {
return baseMapper.selectById(id);
}
/**
* 分页查询 商品信息表
*
* @param storeGoods
* @return
*/
@Override
public IPage<StoreGoods> findAllByPagination(CyPageInfo<StoreGoods> paginationUtility,
StoreGoods storeGoods) {
IPage<StoreGoods> wmsGoodsIPage = baseMapper.queryWmsGoodssPaged(paginationUtility, storeGoods);
wmsGoodsIPage.getRecords().forEach(record->{
record.setOssInfoList(baseMapper.findOss(record));
});
return wmsGoodsIPage;
}
/**
* 查询list 商品信息表
*
* @param storeGoods
* @return
*/
@Override
public List<StoreGoods> findAll(StoreGoods storeGoods) {
return baseMapper.queryWmsGoods(storeGoods);
}
/**
* 导出商品信息表
*
* @return
*/
@Override
public List<StoreGoods> export(StoreGoods storeGoods) {
List<StoreGoods> storeGoodsList = baseMapper.queryWmsGoods(storeGoods);
if(CollectionUtils.isNotEmpty(storeGoodsList)){
storeGoodsList.forEach(x->{
x.setGoodsH5(goodsH5 + x.getBusinessId());
});
}
return storeGoodsList;
}
@Override
public List<StoreGoods> findByApplyId(StoreGoodsApply wmsGoodsLog) {
return baseMapper.queryWmsGoodsByAppId(wmsGoodsLog);
}
@Override
public List<StoreGoods> findByIdGoods(int id) {
StoreGoods storeGoods = new StoreGoods();
storeGoods.setGoodsId(id);
return baseMapper.findByIdGoods(storeGoods);
}
@Override
public StoreGoods findByOss(int id) {
StoreGoods goods = baseMapper.selectById(id);
if(goods != null) {
goods.setOssInfoList(baseMapper.findOss(goods));
}
return goods;
}
@Override
public List<OssInfo> findOss(StoreGoods storeGoods) {
return baseMapper.findOss(storeGoods);
}
@Override
public StoreGoods queryWmsGoods(StoreGoods storeGoods) {
StoreGoods param = new StoreGoods();
param.setActualGoodsCode(storeGoods.getGoodsCode());
// 1. 查询 goodsNumber
List<StoreGoods> result = baseMapper.queryWmsGoods(param);
if(CollectionUtils.isEmpty(result) || result.size() > 1) {
throw new CyServiceException(500, "商品不存在!");
}
StoreGoods goods = result.get(0);
// 2. 查询 kwh
StoreGoodsStock storeGoodsStock = storeGoodsStockRepository.selectByIdOut(goods.getBusinessId());
return goods;
}
}
......@@ -4,7 +4,6 @@ import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import org.rcisoft.bus.storegoods.entity.StoreGoods;
import org.rcisoft.bus.wmsgoods.entity.WmsGoods;
import org.rcisoft.core.entity.CyIdIncreEntity;
......@@ -107,7 +106,7 @@ public class StoreGoodsApply extends CyIdIncreEntity<StoreGoodsApply> {
@TableField(exist = false)
List<StoreGoods> storeGoods;
List<WmsGoods> storeGoods;
}
......@@ -5,8 +5,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.rcisoft.bus.storegoods.entity.StoreGoods;
import org.rcisoft.bus.storegoods.service.StoreGoodsService;
import org.rcisoft.bus.storegoodsapply.dao.StoreGoodsApplyRepository;
import org.rcisoft.bus.storegoodsapply.dto.AddStoreGoodsApplyDTO;
import org.rcisoft.bus.storegoodsapply.entity.StoreGoodsApply;
......@@ -17,6 +15,7 @@ import org.rcisoft.bus.storegoodsstock.dao.StoreGoodsStockRepository;
import org.rcisoft.bus.storegoodsstock.entity.StoreGoodsStock;
import org.rcisoft.bus.storegoodsstock.service.StoreGoodsStockService;
import org.rcisoft.bus.wmsgoods.entity.WmsGoods;
import org.rcisoft.bus.wmsgoods.service.WmsGoodsService;
import org.rcisoft.core.exception.CyServiceException;
import org.rcisoft.core.model.CyPageInfo;
import org.rcisoft.core.model.CyPersistModel;
......@@ -48,7 +47,7 @@ public class StoreGoodsApplyServiceImpl extends ServiceImpl<StoreGoodsApplyRepos
private StoreGoodsLogService storeGoodsLogServiceImpl;
@Autowired
private StoreGoodsService storeGoodsServiceImpl;
private WmsGoodsService storeGoodsServiceImpl;
@Autowired
private StoreGoodsStockRepository storeGoodsStockRepository;
......@@ -176,7 +175,7 @@ public class StoreGoodsApplyServiceImpl extends ServiceImpl<StoreGoodsApplyRepos
if (apply == null) {
throw new CyServiceException(1001, "申请单不存在!");
}
List<StoreGoods> goods = storeGoodsServiceImpl.findByApplyId(apply);
List<WmsGoods> goods = storeGoodsServiceImpl.findByStoreApplyId(apply);
if(CollectionUtil.isNotEmpty(goods)){
goods.forEach( x -> {
x.setOutCounts(x.getInCounts());
......@@ -262,7 +261,7 @@ public class StoreGoodsApplyServiceImpl extends ServiceImpl<StoreGoodsApplyRepos
if (apply == null) {
throw new CyServiceException(1001, "入库申请不存在");
}
apply.setStoreGoods(storeGoodsServiceImpl.findByApplyId(apply));
apply.setStoreGoods(storeGoodsServiceImpl.findByStoreApplyId(apply));
return apply;
}
......
......@@ -2,6 +2,7 @@ package org.rcisoft.bus.wmsgoods.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.rcisoft.bus.storegoodsapply.entity.StoreGoodsApply;
import org.rcisoft.bus.wmsgoods.entity.WmsGoods;
import org.rcisoft.bus.wmsgoodsapply.entity.WmsGoodsApply;
import org.rcisoft.core.mapper.CyBaseMapper;
......@@ -27,6 +28,8 @@ public interface WmsGoodsRepository extends CyBaseMapper<WmsGoods> {
List<WmsGoods> queryWmsGoodsByAppId(@Param("entity") WmsGoodsApply wmsGoodsLog);
List<WmsGoods> queryWmsGoodsByStoreAppId(@Param("entity") StoreGoodsApply wmsGoodsLog);
List<WmsGoods> queryWmsGoodsByAppIdOut(@Param("entity") WmsGoodsApply wmsGoodsLog);
List<WmsGoods> findByIdGoods(@Param("entity") WmsGoods wmsGoods);
......
package org.rcisoft.bus.wmsgoods.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.rcisoft.bus.storegoodsapply.entity.StoreGoodsApply;
import org.rcisoft.bus.wmsgoods.entity.WmsGoods;
import org.rcisoft.bus.wmsgoodsapply.entity.WmsGoodsApply;
import org.rcisoft.core.model.CyPageInfo;
......@@ -90,6 +91,14 @@ public interface WmsGoodsService {
*/
List<WmsGoods> findByApplyId(WmsGoodsApply wmsGoodsLog);
/**
* 根据申请id 查询
*
* @param wmsGoodsLog
* @return
*/
List<WmsGoods> findByStoreApplyId(StoreGoodsApply wmsGoodsLog);
List<WmsGoods> findByIdGoods(int id);
WmsGoods findByOss(int id);
......
......@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.rcisoft.bus.storegoodsapply.entity.StoreGoodsApply;
import org.rcisoft.bus.wmsgoods.dao.WmsGoodsRepository;
import org.rcisoft.bus.wmsgoods.entity.WmsGoods;
import org.rcisoft.bus.wmsgoods.service.WmsGoodsService;
......@@ -236,6 +237,12 @@ public class WmsGoodsServiceImpl extends ServiceImpl<WmsGoodsRepository, WmsGood
return baseMapper.queryWmsGoodsByAppId(wmsGoodsLog);
}
@Override
public List<WmsGoods> findByStoreApplyId(StoreGoodsApply wmsGoodsLog) {
return baseMapper.queryWmsGoodsByStoreAppId(wmsGoodsLog);
}
@Override
public List<WmsGoods> findByIdGoods(int id) {
WmsGoods wmsGoods = new WmsGoods();
......
......@@ -18,6 +18,8 @@ cy:
init:
admin:
- "1"
adminRole:
- "1
permission:
- "44"
- "51"
......
......@@ -207,6 +207,49 @@
where log.apply_id = #{entity.businessId}
</select>
<select id="queryWmsGoodsByStoreAppId" resultMap="BaseResultMap">
SELECT log.goods_counts as inCounts,
wg.business_id,
wg.goods_name,
wg.goods_code,
sdd_goods_dict_name.dict_label AS goods_dict_name,
sdd_goods_art_number.dict_label AS goods_art_number,
sdd_goods_brand.dict_label AS goods_brand,
sdd_goods_season.dict_label AS goods_season,
sdd_goods_style.dict_label AS goods_style,
sdd_goods_colour.dict_label AS goods_colour,
sdd_goods_norms.dict_label AS goods_norms,
sdd_goods_size.dict_label AS goods_size
FROM store_goods_log log
LEFT JOIN wms_goods wg ON log.goods_id = wg.business_id
LEFT JOIN
sys_dict_data sdd_goods_dict_name ON sdd_goods_dict_name.dict_type = 'GOODS_DICT_NAME' AND
sdd_goods_dict_name.dict_value = wg.goods_dict_name AND sdd_goods_dict_name.del_flag = '0'
LEFT JOIN
sys_dict_data sdd_goods_art_number ON sdd_goods_art_number.dict_type = 'GOODS_ART_NUMBER' AND
sdd_goods_art_number.dict_value = wg.goods_art_number AND sdd_goods_art_number.del_flag = '0'
LEFT JOIN
sys_dict_data sdd_goods_brand ON sdd_goods_brand.dict_type = 'GOODS_BRAND' AND sdd_goods_brand.dict_value =
wg.goods_brand AND sdd_goods_brand.del_flag = '0'
LEFT JOIN
sys_dict_data sdd_goods_season ON sdd_goods_season.dict_type = 'GOODS_SEASON' AND sdd_goods_season.dict_value =
wg.goods_season AND sdd_goods_season.del_flag = '0'
LEFT JOIN
sys_dict_data sdd_goods_style ON sdd_goods_style.dict_type = 'GOODS_STYLE' AND sdd_goods_style.dict_value =
wg.goods_style AND sdd_goods_style.del_flag = '0'
LEFT JOIN
sys_dict_data sdd_goods_colour ON sdd_goods_colour.dict_type = 'GOODS_COLOUR' AND sdd_goods_colour.dict_value =
wg.goods_colour AND sdd_goods_colour.del_flag = '0'
LEFT JOIN
sys_dict_data sdd_goods_norms ON sdd_goods_norms.dict_type = 'GOODS_NORMS' AND sdd_goods_norms.dict_value =
wg.goods_norms AND sdd_goods_norms.del_flag = '0'
LEFT JOIN
sys_dict_data sdd_goods_size ON sdd_goods_size.dict_type = 'GOODS_SIZE' AND sdd_goods_size.dict_value =
wg.goods_size AND sdd_goods_size.del_flag = '0'
where log.apply_id = #{entity.businessId}
</select>
<select id="findByIdGoods" resultMap="BaseResultMap">
select wg.*,oi.url from wms_goods_oss wgo join wms_goods wg on wg.business_id = wgo.goods_id
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment