Browse Source

完善上架单、完善商品管理

zhanglei
fanzongzhe 1 year ago
parent
commit
df833ed266
  1. 2
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basebrandinfo/BaseBrandInfoMapper.java
  2. 10
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basebrandinfo/BaseBrandInfoMapper.xml
  3. 65
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basebrandinfo/BaseBrandInfoService.java
  4. 37
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuService.java
  5. 2
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodstype/BaseGoodsTypeMapper.java
  6. 9
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodstype/BaseGoodsTypeMapper.xml
  7. 121
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodstype/BaseGoodsTypeService.java
  8. 2
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basemanufacturer/BaseManufacturerMapper.java
  9. 9
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basemanufacturer/BaseManufacturerMapper.xml
  10. 67
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basemanufacturer/BaseManufacturerService.java
  11. 6
      yxt-base-biz/src/main/java/com/yxt/base/utils/OrgPathQuery.java
  12. 14
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/ShelfDetailsVo.java
  13. 11
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/ShelfInitVo.java
  14. 6
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBill.java
  15. 11
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillDto.java
  16. 2
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillMapper.java
  17. 40
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillMapper.xml
  18. 10
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillQuery.java
  19. 149
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillService.java
  20. 39
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/ShelfInitListVo.java
  21. 29
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetail.java
  22. 34
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetailDto.java
  23. 2
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetailMapper.java
  24. 7
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetailMapper.xml
  25. 4
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetailService.java

2
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basebrandinfo/BaseBrandInfoMapper.java

@ -22,4 +22,6 @@ public interface BaseBrandInfoMapper extends BaseMapper<BaseBrandInfo> {
BaseBrandInfo checkForInsert(@Param("brandCode") String brandCode, @Param("deptSid") String deptSid); BaseBrandInfo checkForInsert(@Param("brandCode") String brandCode, @Param("deptSid") String deptSid);
BaseBrandInfo checkForUpdate(@Param("brandCode") String brandCode, @Param("useOrgSid")String useOrgSid, @Param("sid") String sid); BaseBrandInfo checkForUpdate(@Param("brandCode") String brandCode, @Param("useOrgSid")String useOrgSid, @Param("sid") String sid);
List<BaseBrandInfo> selListAll(@Param(Constants.WRAPPER)QueryWrapper<BaseBrandInfo> qw);
} }

10
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basebrandinfo/BaseBrandInfoMapper.xml

@ -29,6 +29,16 @@
and isDelete = 0 and isDelete = 0
and sid !=#{sid} and sid !=#{sid}
</select> </select>
<select id="selListAll" resultType="com.yxt.base.biz.base.basebrandinfo.BaseBrandInfo">
SELECT
b.*
FROM
base_brand_info as b
LEFT JOIN anrui_portal.sys_organization as s ON b.useOrgSid = s.sid
<where>
${ew.sqlSegment}
</where>
</select>
<update id="updateBySidIsDelete"> <update id="updateBySidIsDelete">
UPDATE base_brand_info UPDATE base_brand_info
SET isDelete=1 SET isDelete=1

65
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basebrandinfo/BaseBrandInfoService.java

@ -23,10 +23,7 @@ import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Arrays; import java.util.*;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -103,20 +100,58 @@ public class BaseBrandInfoService extends MybatisBaseService<BaseBrandInfoMapper
} }
public ResultBean<List<BaseBrandInfo>> listAll(@RequestBody OrgPathQuery query) { public ResultBean<List<BaseBrandInfo>> listAll(@RequestBody OrgPathQuery query) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
String useOrgSid = ""; QueryWrapper<BaseBrandInfo> qw = new QueryWrapper<>();
String orgPath = query.getOrgPath(); PrivilegeQuery privilegeQuery = new PrivilegeQuery();
if (StringUtils.isNotBlank(orgPath)) { privilegeQuery.setOrgPath(query.getOrgPath());
List<String> split = Arrays.asList(orgPath.split("/")); privilegeQuery.setMenuUrl(query.getMenuUrl());
if (split.size() > 1) { privilegeQuery.setUserSid(query.getUserSid());
//获取本级sid获取本级部门信息 ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData(); if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
useOrgSid = sysOrganization1.getSid(); //数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = query.getOrgPath();
orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/");
int i2 = orgSidPath.indexOf("/", i1 + 1);
int i3 = orgSidPath.indexOf("/", i2 + 1);
int i4 = orgSidPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1);
qw.like("s.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("s.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("s.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("s.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("b.createBySid", query.getUserSid());
} else { } else {
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData(); return rb.success().setData(new ArrayList<>());
useOrgSid = sysOrganization.getSid();
} }
} else {
return rb.success().setData(new ArrayList<>());
} }
List<BaseBrandInfo> pagging = baseMapper.selectList(new QueryWrapper<BaseBrandInfo>().eq("isEnable",1).ne("isDelete","1").eq("useOrgSid",useOrgSid)); qw.eq("b.isEnable",1);
qw.ne("b.isDelete",1);
List<BaseBrandInfo> pagging = baseMapper.selListAll(qw);
// String useOrgSid = "";
// String orgPath = query.getOrgPath();
// if (StringUtils.isNotBlank(orgPath)) {
// List<String> split = Arrays.asList(orgPath.split("/"));
// if (split.size() > 1) {
// //获取本级sid获取本级部门信息
// SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData();
// useOrgSid = sysOrganization1.getSid();
// } else {
// SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData();
// useOrgSid = sysOrganization.getSid();
// }
// }
// List<BaseBrandInfo> pagging = baseMapper.selectList(new QueryWrapper<BaseBrandInfo>().eq("isEnable",1).ne("isDelete","1").eq("useOrgSid",useOrgSid));
return rb.success().setData(pagging); return rb.success().setData(pagging);
} }
public ResultBean<String> saveOrUpdate(BaseBrandInfoDto dto) { public ResultBean<String> saveOrUpdate(BaseBrandInfoDto dto) {

37
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuService.java

@ -69,6 +69,7 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
private BaseManufacturerService baseManufacturerService; private BaseManufacturerService baseManufacturerService;
@Autowired @Autowired
private SysUserFeign sysUserFeign; private SysUserFeign sysUserFeign;
public ResultBean<PagerVo<BaseGoodsSpuVo>> listPage(PagerQuery<BaseGoodsSpuQuery> pq) { public ResultBean<PagerVo<BaseGoodsSpuVo>> listPage(PagerQuery<BaseGoodsSpuQuery> pq) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
BaseGoodsSpuQuery query = pq.getParams(); BaseGoodsSpuQuery query = pq.getParams();
@ -292,7 +293,7 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
BeanUtil.copyProperties(dto, wmsGoods, "id", "sid"); BeanUtil.copyProperties(dto, wmsGoods, "id", "sid");
wmsGoods.setModifyTime(new Date()); wmsGoods.setModifyTime(new Date());
wmsGoods.setGoodsPY(PinYinUtils.sx(wmsGoods.getGoodsName())); wmsGoods.setGoodsPY(PinYinUtils.sx(wmsGoods.getGoodsName()));
BaseGoodsSpu spu = baseMapper.checkForUpdate(dto.getGoodsCode(),wmsGoods.getUseOrgSid(),sid); BaseGoodsSpu spu = baseMapper.checkForUpdate(dto.getGoodsCode(), wmsGoods.getUseOrgSid(), sid);
if (spu != null) { if (spu != null) {
return rb.setMsg("商品编码重复"); return rb.setMsg("商品编码重复");
} }
@ -317,6 +318,22 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
if (StringUtils.isNotBlank(dto.getSkuRemarks())) { if (StringUtils.isNotBlank(dto.getSkuRemarks())) {
skuExtendUpdate.setRemarks(dto.getSkuRemarks()); skuExtendUpdate.setRemarks(dto.getSkuRemarks());
} }
if (StringUtils.isNotBlank(dto.getIsLockingSalesPrice())) {
if (dto.getIsLockingSalesPrice().equals("1")) {
skuExtendUpdate.setIsLockingSalesPriceValue("是");
}
if (dto.getIsLockingSalesPrice().equals("2")) {
skuExtendUpdate.setIsLockingSalesPriceValue("否");
}
}
if (StringUtils.isNotBlank(dto.getIsOriginalFactory())) {
if (dto.getIsOriginalFactory().equals("1")) {
skuExtendUpdate.setIsOriginalFactoryValue("是");
}
if (dto.getIsOriginalFactory().equals("2")) {
skuExtendUpdate.setIsOriginalFactoryValue("否");
}
}
List<UrlQuery> picPath = dto.getPicPath(); List<UrlQuery> picPath = dto.getPicPath();
if (!picPath.isEmpty()) { if (!picPath.isEmpty()) {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
@ -425,7 +442,7 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
} }
} }
wmsGoods.setGoodsPY(PinYinUtils.sx(wmsGoods.getGoodsName())); wmsGoods.setGoodsPY(PinYinUtils.sx(wmsGoods.getGoodsName()));
BaseGoodsSpu spu = baseMapper.checkForInsert(dto.getGoodsCode(),deptSid); BaseGoodsSpu spu = baseMapper.checkForInsert(dto.getGoodsCode(), deptSid);
if (spu != null) { if (spu != null) {
return rb.setMsg("商品编码重复"); return rb.setMsg("商品编码重复");
} }
@ -450,6 +467,22 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
if (StringUtils.isNotBlank(dto.getSkuRemarks())) { if (StringUtils.isNotBlank(dto.getSkuRemarks())) {
skuExtend.setRemarks(dto.getSkuRemarks()); skuExtend.setRemarks(dto.getSkuRemarks());
} }
if (StringUtils.isNotBlank(dto.getIsLockingSalesPrice())) {
if (dto.getIsLockingSalesPrice().equals("1")) {
skuExtend.setIsLockingSalesPriceValue("是");
}
if (dto.getIsLockingSalesPrice().equals("2")) {
skuExtend.setIsLockingSalesPriceValue("否");
}
}
if (StringUtils.isNotBlank(dto.getIsOriginalFactory())) {
if (dto.getIsOriginalFactory().equals("1")) {
skuExtend.setIsOriginalFactoryValue("是");
}
if (dto.getIsOriginalFactory().equals("2")) {
skuExtend.setIsOriginalFactoryValue("否");
}
}
List<UrlQuery> picPath = dto.getPicPath(); List<UrlQuery> picPath = dto.getPicPath();
if (!picPath.isEmpty()) { if (!picPath.isEmpty()) {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();

2
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodstype/BaseGoodsTypeMapper.java

@ -21,4 +21,6 @@ public interface BaseGoodsTypeMapper extends BaseMapper<BaseGoodsType> {
BaseGoodsType checkForInsert(@Param("goodsTypeCode") String goodsTypeCode, @Param("deptSid") String deptSid); BaseGoodsType checkForInsert(@Param("goodsTypeCode") String goodsTypeCode, @Param("deptSid") String deptSid);
BaseGoodsType checkForUpdate(@Param("goodsTypeCode")String goodsTypeCode,@Param("deptSid") String useOrgSid, @Param("sid")String sid); BaseGoodsType checkForUpdate(@Param("goodsTypeCode")String goodsTypeCode,@Param("deptSid") String useOrgSid, @Param("sid")String sid);
List<BaseGoodsType> selListAll(@Param(Constants.WRAPPER) QueryWrapper<BaseGoodsType> qw);
} }

9
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodstype/BaseGoodsTypeMapper.xml

@ -28,6 +28,15 @@
and isDelete = 0 and isDelete = 0
and sid != #{sid} and sid != #{sid}
</select> </select>
<select id="selListAll" resultType="com.yxt.base.biz.base.basegoodstype.BaseGoodsType">
select
p.*
from base_goods_type as p
LEFT JOIN anrui_portal.sys_organization as u ON p.useOrgSid = u.sid
<where>
${ew.sqlSegment}
</where>
</select>
<update id="updateBySidIsDelete"> <update id="updateBySidIsDelete">
UPDATE base_goods_type UPDATE base_goods_type
SET isDelete=1 SET isDelete=1

121
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodstype/BaseGoodsTypeService.java

@ -23,6 +23,7 @@ import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -41,6 +42,7 @@ public class BaseGoodsTypeService extends MybatisBaseService<BaseGoodsTypeMapper
private SysOrganizationFeign sysOrganizationFeign; private SysOrganizationFeign sysOrganizationFeign;
@Autowired @Autowired
private SysStaffOrgFeign sysStaffOrgFeign; private SysStaffOrgFeign sysStaffOrgFeign;
public ResultBean<PagerVo<BaseGoodsTypeVo>> listPage(PagerQuery<BaseGoodsTypeQuery> pq) { public ResultBean<PagerVo<BaseGoodsTypeVo>> listPage(PagerQuery<BaseGoodsTypeQuery> pq) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
BaseGoodsTypeQuery query = pq.getParams(); BaseGoodsTypeQuery query = pq.getParams();
@ -83,28 +85,28 @@ public class BaseGoodsTypeService extends MybatisBaseService<BaseGoodsTypeMapper
return rb.success().setData(p); return rb.success().setData(p);
} }
} }
if(StringUtils.isNotBlank(query.getName())){ if (StringUtils.isNotBlank(query.getName())) {
qw.like("p.goodsTypeName",query.getName()); qw.like("p.goodsTypeName", query.getName());
} }
if(StringUtils.isNotBlank(query.getCode())){ if (StringUtils.isNotBlank(query.getCode())) {
qw.like("p.goodsTypeCode",query.getCode()); qw.like("p.goodsTypeCode", query.getCode());
} }
if(StringUtils.isNotBlank(query.getGoodID())){ if (StringUtils.isNotBlank(query.getGoodID())) {
qw.eq("p.isGoodsID",query.getGoodID()); qw.eq("p.isGoodsID", query.getGoodID());
} }
if(StringUtils.isNotBlank(query.getOutStockRule())){ if (StringUtils.isNotBlank(query.getOutStockRule())) {
qw.eq("p.outStockRule",query.getOutStockRule()); qw.eq("p.outStockRule", query.getOutStockRule());
} }
qw.ne("p.isDelete","1"); qw.ne("p.isDelete", "1");
qw.orderByAsc("sortNo"); qw.orderByAsc("sortNo");
IPage<BaseGoodsType> page = PagerUtil.queryToPage(pq); IPage<BaseGoodsType> page = PagerUtil.queryToPage(pq);
IPage<BaseGoodsTypeVo> pagging = baseMapper.listPage(page, qw); IPage<BaseGoodsTypeVo> pagging = baseMapper.listPage(page, qw);
PagerVo<BaseGoodsTypeVo> p = PagerUtil.pageToVo(pagging, null); PagerVo<BaseGoodsTypeVo> p = PagerUtil.pageToVo(pagging, null);
List<BaseGoodsTypeVo> records = pagging.getRecords(); List<BaseGoodsTypeVo> records = pagging.getRecords();
for (BaseGoodsTypeVo record : records) { for (BaseGoodsTypeVo record : records) {
if(StringUtils.isNotBlank(record.getPSid())){ if (StringUtils.isNotBlank(record.getPSid())) {
BaseGoodsType wmsGoodsType1 = fetchBySid(record.getPSid()); BaseGoodsType wmsGoodsType1 = fetchBySid(record.getPSid());
if(wmsGoodsType1!=null){ if (wmsGoodsType1 != null) {
record.setPName(wmsGoodsType1.getGoodsTypeName()); record.setPName(wmsGoodsType1.getGoodsTypeName());
} }
record.setSids(record.getPSid()); record.setSids(record.getPSid());
@ -112,25 +114,66 @@ public class BaseGoodsTypeService extends MybatisBaseService<BaseGoodsTypeMapper
} }
return rb.success().setData(p); return rb.success().setData(p);
} }
public ResultBean<List<BaseGoodsType>> listAll(OrgPathQuery query) { public ResultBean<List<BaseGoodsType>> listAll(OrgPathQuery query) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
String useOrgSid = ""; QueryWrapper<BaseGoodsType> qw = new QueryWrapper<>();
String orgPath = query.getOrgPath(); if (StringUtils.isNotBlank(query.getMenuUrl())) {
if (StringUtils.isNotBlank(orgPath)) { PrivilegeQuery privilegeQuery = new PrivilegeQuery();
List<String> split = Arrays.asList(orgPath.split("/")); privilegeQuery.setOrgPath(query.getOrgPath());
if (split.size() > 1) { privilegeQuery.setMenuUrl(query.getMenuUrl());
//获取本级sid获取本级部门信息 privilegeQuery.setUserSid(query.getUserSid());
SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData(); ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
useOrgSid = sysOrganization1.getSid(); if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = query.getOrgPath();
orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/");
int i2 = orgSidPath.indexOf("/", i1 + 1);
int i3 = orgSidPath.indexOf("/", i2 + 1);
int i4 = orgSidPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1);
qw.like("u.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("u.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("u.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("u.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("p.createBySid", query.getUserSid());
} else {
return rb.success().setData(new ArrayList<>());
}
} else { } else {
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData(); return rb.success().setData(new ArrayList<>());
useOrgSid = sysOrganization.getSid();
} }
} }
List<BaseGoodsType> pagging = baseMapper.selectList(new QueryWrapper<BaseGoodsType>().eq("isEnable",1) qw.eq("p.isEnable", 1);
.ne("isDelete","1") qw.ne("p.isDelete", 1);
.eq("useOrgSid",useOrgSid) List<BaseGoodsType> pagging = baseMapper.selListAll(qw);
); // String useOrgSid = "";
// String orgPath = query.getOrgPath();
// if (StringUtils.isNotBlank(orgPath)) {
// List<String> split = Arrays.asList(orgPath.split("/"));
// if (split.size() > 1) {
// //获取本级sid获取本级部门信息
// SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData();
// useOrgSid = sysOrganization1.getSid();
// } else {
// SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData();
// useOrgSid = sysOrganization.getSid();
// }
// }
// List<BaseGoodsType> pagging = baseMapper.selectList(new QueryWrapper<BaseGoodsType>().eq("isEnable",1)
// .ne("isDelete","1")
// .eq("useOrgSid",useOrgSid)
// );
return rb.success().setData(pagging); return rb.success().setData(pagging);
} }
@ -145,11 +188,11 @@ public class BaseGoodsTypeService extends MybatisBaseService<BaseGoodsTypeMapper
BeanUtil.copyProperties(dto, wmsGoodsType, "id", "sid"); BeanUtil.copyProperties(dto, wmsGoodsType, "id", "sid");
wmsGoodsType.setModifyTime(new Date()); wmsGoodsType.setModifyTime(new Date());
wmsGoodsType.setIsParent("0"); wmsGoodsType.setIsParent("0");
if(StringUtils.isBlank(wmsGoodsType.getPSid())){ if (StringUtils.isBlank(wmsGoodsType.getPSid())) {
wmsGoodsType.setIsParent("1"); wmsGoodsType.setIsParent("1");
} }
BaseGoodsType goods=baseMapper.checkForUpdate(dto.getGoodsTypeCode(),wmsGoodsType.getUseOrgSid(),sid); BaseGoodsType goods = baseMapper.checkForUpdate(dto.getGoodsTypeCode(), wmsGoodsType.getUseOrgSid(), sid);
if(null!=goods){ if (null != goods) {
return rb.setMsg("类别编码不能重复"); return rb.setMsg("类别编码不能重复");
} }
baseMapper.updateById(wmsGoodsType); baseMapper.updateById(wmsGoodsType);
@ -160,7 +203,7 @@ public class BaseGoodsTypeService extends MybatisBaseService<BaseGoodsTypeMapper
wmsGoods.setCreateTime(new DateTime()); wmsGoods.setCreateTime(new DateTime());
wmsGoods.setIsParent("0"); wmsGoods.setIsParent("0");
wmsGoods.setCreateBySid(dto.getUserSid()); wmsGoods.setCreateBySid(dto.getUserSid());
if(StringUtils.isBlank(wmsGoods.getPSid())){ if (StringUtils.isBlank(wmsGoods.getPSid())) {
wmsGoods.setIsParent("1"); wmsGoods.setIsParent("1");
} }
String deptName = ""; String deptName = "";
@ -189,8 +232,8 @@ public class BaseGoodsTypeService extends MybatisBaseService<BaseGoodsTypeMapper
wmsGoods.setCreateOrgSid(createOrgSid); wmsGoods.setCreateOrgSid(createOrgSid);
} }
} }
BaseGoodsType goods=baseMapper.checkForInsert(dto.getGoodsTypeCode(),deptSid); BaseGoodsType goods = baseMapper.checkForInsert(dto.getGoodsTypeCode(), deptSid);
if(null!=goods){ if (null != goods) {
return rb.setMsg("类别编码不能重复"); return rb.setMsg("类别编码不能重复");
} }
baseMapper.insert(wmsGoods); baseMapper.insert(wmsGoods);
@ -209,18 +252,18 @@ public class BaseGoodsTypeService extends MybatisBaseService<BaseGoodsTypeMapper
// vo.setPicUrl(fileUploadComponent.getUrlPrefix() + wmsGoods.getPicUrl()); // vo.setPicUrl(fileUploadComponent.getUrlPrefix() + wmsGoods.getPicUrl());
// } // }
// vo.setCreateTime(sdf.format(lpkGoods.getCreateTime())); // vo.setCreateTime(sdf.format(lpkGoods.getCreateTime()));
if(StringUtils.isNotBlank(wmsGoodsType.getPSid())){ if (StringUtils.isNotBlank(wmsGoodsType.getPSid())) {
BaseGoodsType wmsGoodsType1 = fetchBySid(wmsGoodsType.getPSid()); BaseGoodsType wmsGoodsType1 = fetchBySid(wmsGoodsType.getPSid());
vo.setPName(wmsGoodsType1.getGoodsTypeName()); vo.setPName(wmsGoodsType1.getGoodsTypeName());
} }
vo.setSids(wmsGoodsType.getPSid()); vo.setSids(wmsGoodsType.getPSid());
vo.setUserSid(wmsGoodsType.getCreateBySid()); vo.setUserSid(wmsGoodsType.getCreateBySid());
if(StringUtils.isNotBlank(wmsGoodsType.getOutStockRule())){ if (StringUtils.isNotBlank(wmsGoodsType.getOutStockRule())) {
if(wmsGoodsType.getOutStockRule().equals("0")){ if (wmsGoodsType.getOutStockRule().equals("0")) {
vo.setOutStockRuleValue("先进先出"); vo.setOutStockRuleValue("先进先出");
} else if (wmsGoodsType.getOutStockRule().equals("1")) { } else if (wmsGoodsType.getOutStockRule().equals("1")) {
vo.setOutStockRuleValue("先进后出"); vo.setOutStockRuleValue("先进后出");
}else if(wmsGoodsType.getOutStockRule().equals("2")){ } else if (wmsGoodsType.getOutStockRule().equals("2")) {
vo.setOutStockRuleValue("保质期优先"); vo.setOutStockRuleValue("保质期优先");
} }
} }
@ -229,7 +272,6 @@ public class BaseGoodsTypeService extends MybatisBaseService<BaseGoodsTypeMapper
} }
public ResultBean delete(String sid) { public ResultBean delete(String sid) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
BaseGoodsType wmsGoodsType = fetchBySid(sid); BaseGoodsType wmsGoodsType = fetchBySid(sid);
@ -238,10 +280,12 @@ public class BaseGoodsTypeService extends MybatisBaseService<BaseGoodsTypeMapper
} }
return rb.success(); return rb.success();
} }
public void delAll(String[] sids) { public void delAll(String[] sids) {
int count = baseMapper.updateBySidIsDelete(Arrays.stream(sids).collect(Collectors.toList())); int count = baseMapper.updateBySidIsDelete(Arrays.stream(sids).collect(Collectors.toList()));
} }
public ResultBean updateIsEnable(String sid,String isEnable) {
public ResultBean updateIsEnable(String sid, String isEnable) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
BaseGoodsType wmsGoodsType = fetchBySid(sid); BaseGoodsType wmsGoodsType = fetchBySid(sid);
if (null != wmsGoodsType) { if (null != wmsGoodsType) {
@ -250,7 +294,8 @@ public class BaseGoodsTypeService extends MybatisBaseService<BaseGoodsTypeMapper
} }
return rb.success().setMsg("成功"); return rb.success().setMsg("成功");
} }
public ResultBean updateProductCode(String sid,String state) {
public ResultBean updateProductCode(String sid, String state) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
BaseGoodsType wmsGoodsType = fetchBySid(sid); BaseGoodsType wmsGoodsType = fetchBySid(sid);
if (null != wmsGoodsType) { if (null != wmsGoodsType) {

2
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basemanufacturer/BaseManufacturerMapper.java

@ -23,4 +23,6 @@ public interface BaseManufacturerMapper extends BaseMapper<BaseManufacturer> {
BaseManufacturer checkForInsert(@Param("manufacturerCode")String manufacturerCode,@Param("deptSid") String deptSid); BaseManufacturer checkForInsert(@Param("manufacturerCode")String manufacturerCode,@Param("deptSid") String deptSid);
BaseManufacturer checkForUpdate(@Param("manufacturerCode")String manufacturerCode,@Param("useOrgSid") String useOrgSid, @Param("sid")String sid); BaseManufacturer checkForUpdate(@Param("manufacturerCode")String manufacturerCode,@Param("useOrgSid") String useOrgSid, @Param("sid")String sid);
List<BaseManufacturer> selListAll(@Param(Constants.WRAPPER)QueryWrapper<BaseManufacturer> qw);
} }

9
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basemanufacturer/BaseManufacturerMapper.xml

@ -33,6 +33,15 @@
and isDelete = 0 and isDelete = 0
and sid != #{sid} and sid != #{sid}
</select> </select>
<select id="selListAll" resultType="com.yxt.base.biz.base.basemanufacturer.BaseManufacturer">
select
p.*
from base_manufacturer as p
LEFT JOIN anrui_portal.sys_organization as u ON p.useOrgSid = u.sid
<where>
${ew.sqlSegment}
</where>
</select>
<update id="updateBySidIsDelete"> <update id="updateBySidIsDelete">
UPDATE base_manufacturer UPDATE base_manufacturer
SET isDelete=1 SET isDelete=1

67
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basemanufacturer/BaseManufacturerService.java

@ -23,6 +23,7 @@ import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -95,23 +96,61 @@ public class BaseManufacturerService extends MybatisBaseService<BaseManufacturer
} }
public ResultBean<List<BaseManufacturer>> listAll(OrgPathQuery query) { public ResultBean<List<BaseManufacturer>> listAll(OrgPathQuery query) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
String useOrgSid = ""; QueryWrapper<BaseManufacturer> qw = new QueryWrapper<>();
String orgPath = query.getOrgPath(); PrivilegeQuery privilegeQuery = new PrivilegeQuery();
if (StringUtils.isNotBlank(orgPath)) { privilegeQuery.setOrgPath(query.getOrgPath());
List<String> split = Arrays.asList(orgPath.split("/")); privilegeQuery.setMenuUrl(query.getMenuUrl());
if (split.size() > 1) { privilegeQuery.setUserSid(query.getUserSid());
//获取本级sid获取本级部门信息 ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData(); if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
useOrgSid = sysOrganization1.getSid(); //数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = query.getOrgPath();
orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/");
int i2 = orgSidPath.indexOf("/", i1 + 1);
int i3 = orgSidPath.indexOf("/", i2 + 1);
int i4 = orgSidPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1);
qw.like("u.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("u.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("u.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("u.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("p.createBySid", query.getUserSid());
} else { } else {
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData(); return rb.success().setData(new ArrayList<>());
useOrgSid = sysOrganization.getSid();
} }
} else {
return rb.success().setData(new ArrayList<>());
} }
List<BaseManufacturer> pagging = baseMapper.selectList(new QueryWrapper<BaseManufacturer>().eq("isEnable",1) qw.eq("p.isEnable",1);
.ne("isDelete","1") qw.ne("p.isDelete",1);
.eq("useOrgSid",useOrgSid) List<BaseManufacturer> pagging = baseMapper.selListAll(qw);
); // String useOrgSid = "";
// String orgPath = query.getOrgPath();
// if (StringUtils.isNotBlank(orgPath)) {
// List<String> split = Arrays.asList(orgPath.split("/"));
// if (split.size() > 1) {
// //获取本级sid获取本级部门信息
// SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData();
// useOrgSid = sysOrganization1.getSid();
// } else {
// SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData();
// useOrgSid = sysOrganization.getSid();
// }
// }
// List<BaseManufacturer> pagging = baseMapper.selectList(new QueryWrapper<BaseManufacturer>().eq("isEnable",1)
// .ne("isDelete","1")
// .eq("useOrgSid",useOrgSid)
// );
return rb.success().setData(pagging); return rb.success().setData(pagging);
} }

6
yxt-base-biz/src/main/java/com/yxt/base/utils/OrgPathQuery.java

@ -1,5 +1,6 @@
package com.yxt.base.utils; package com.yxt.base.utils;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/** /**
@ -9,5 +10,10 @@ import lombok.Data;
*/ */
@Data @Data
public class OrgPathQuery { public class OrgPathQuery {
@ApiModelProperty("菜单路由")
private String menuUrl;
@ApiModelProperty("组织全路径sid")
private String orgPath; private String orgPath;
@ApiModelProperty("用户sid")
private String userSid;
} }

14
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/ShelfDetailsVo.java

@ -1,6 +1,7 @@
package com.yxt.wms.biz.inventory.wmsshelfbill; package com.yxt.wms.biz.inventory.wmsshelfbill;
import com.yxt.wms.biz.inventory.wmsshelfbilldetail.ShelfDetailsListVo; import com.yxt.wms.biz.inventory.wmsshelfbilldetail.ShelfDetailsListVo;
import com.yxt.wms.biz.inventory.wmsshelfbilldetail.ShelfInitListVo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@ -29,9 +30,14 @@ public class ShelfDetailsVo {
@ApiModelProperty("来源单sid") @ApiModelProperty("来源单sid")
private String sourceBillSid; private String sourceBillSid;
@ApiModelProperty("单据状态:0新建,1已完成") @ApiModelProperty("单据状态:0新建,1已完成")
private Integer billState; private String billState;
private String userSid;
private String remarks; private String remarks;
private String createOrgSid;
private List<ShelfDetailsListVo> list = new ArrayList<>(); private String useOrgSid;
private String deptSid;
private String deptName;
private String upShelfSid;
private String upShelfName;
private List<ShelfInitListVo> list = new ArrayList<>();
} }

11
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/ShelfInitVo.java

@ -30,9 +30,14 @@ public class ShelfInitVo {
@ApiModelProperty("来源单sid") @ApiModelProperty("来源单sid")
private String sourceBillSid; private String sourceBillSid;
@ApiModelProperty("单据状态:0新建,1已完成") @ApiModelProperty("单据状态:0新建,1已完成")
private Integer billState; private String billState;
private String userSid;
private String remarks; private String remarks;
private String createOrgSid;
private String useOrgSid;
private String deptSid;
private String deptName;
private String upShelfSid;
private String upShelfName;
private List<ShelfInitListVo> list = new ArrayList<>(); private List<ShelfInitListVo> list = new ArrayList<>();
} }

6
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBill.java

@ -23,6 +23,10 @@ public class WmsShelfBill extends BaseEntity {
private Integer billState; private Integer billState;
private String createOrgSid; private String createOrgSid;
private String useOrgSid; private String useOrgSid;
private String deptSid;
private String deptName;
private String upShelfSid;
private String upShelfName;
} }

11
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillDto.java

@ -28,9 +28,14 @@ public class WmsShelfBillDto {
@ApiModelProperty("来源单sid") @ApiModelProperty("来源单sid")
private String sourceBillSid; private String sourceBillSid;
@ApiModelProperty("单据状态:0新建,1已完成") @ApiModelProperty("单据状态:0新建,1已完成")
private Integer billState; private String billState;
private String userSid;
private String remarks; private String remarks;
private String createOrgSid;
private String useOrgSid;
private String deptSid;
private String deptName;
private String upShelfSid;
private String upShelfName;
private List<WmsShelfBillDetailDto> list = new ArrayList<>(); private List<WmsShelfBillDetailDto> list = new ArrayList<>();
} }

2
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillMapper.java

@ -19,4 +19,6 @@ public interface WmsShelfBillMapper extends BaseMapper<WmsShelfBill> {
ShelfDetailsVo details(String sid); ShelfDetailsVo details(String sid);
String selectNum(String goodsId); String selectNum(String goodsId);
String selectCodeNum(String bill);
} }

40
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillMapper.xml

@ -3,14 +3,15 @@
<mapper namespace="com.yxt.wms.biz.inventory.wmsshelfbill.WmsShelfBillMapper"> <mapper namespace="com.yxt.wms.biz.inventory.wmsshelfbill.WmsShelfBillMapper">
<select id="listPage" resultType="com.yxt.wms.biz.inventory.wmsshelfbill.WmsShelfBillVo"> <select id="listPage" resultType="com.yxt.wms.biz.inventory.wmsshelfbill.WmsShelfBillVo">
select wsb.sid, select wsb.sid,
wsb.billNo, wsb.billNo,
DATE_FORMAT(wsb.createTime, '%Y-%m-%d') as createTime, DATE_FORMAT(wsb.createTime, '%Y-%m-%d') as createTime,
wsb.createByName, wsb.createByName,
wsb.sourceBillNo, wsb.sourceBillNo,
case wsb.billState case wsb.billState
when 0 then '新建' when 0 then '新建'
when 1 then '已完成' end as billState when 1 then '已完成' end as billState
from wms_shelf_bill wsb from wms_shelf_bill wsb
LEFT JOIN anrui_portal.sys_organization as s ON wsb.deptSid = s.sid
<where> <where>
${ew.sqlSegment} ${ew.sqlSegment}
</where> </where>
@ -24,16 +25,33 @@
DATE_FORMAT(wsb.createTime, '%Y-%m-%d') as createTime, DATE_FORMAT(wsb.createTime, '%Y-%m-%d') as createTime,
wsb.sourceBillNo, wsb.sourceBillNo,
wsb.sourceBillSid, wsb.sourceBillSid,
wsb.billState case wsb.billState
when 0 then '新建'
when 1 then '已完成'
end as billState,
wsb.createOrgSid,
wsb.useOrgSid,
wsb.deptSid,
wsb.deptName,
wsb.remarks,
wsb.upShelfSid,
wsb.upShelfName
from wms_shelf_bill wsb from wms_shelf_bill wsb
where sid = #{sid} where sid = #{sid}
</select> </select>
<select id="selectNum" resultType="java.lang.String"> <select id="selectNum" resultType="java.lang.String">
select RIGHT(goodsID, 4) select RIGHT (goodsID, 4)
from wms_inventory from wms_inventory
where goodsID LIKE concat(#{bill}, '%') where goodsID LIKE concat(#{bill}, '%')
order by id desc order by id desc
limit 1 limit 1
</select>
<select id="selectCodeNum" resultType="java.lang.String">
select RIGHT (billNo, 4)
from wms_shelf_bill
where billNo LIKE concat(#{bill}, '%')
order by id desc
limit 1
</select> </select>
</mapper> </mapper>

10
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillQuery.java

@ -14,10 +14,20 @@ public class WmsShelfBillQuery implements Query {
@ApiModelProperty("单据编号") @ApiModelProperty("单据编号")
private String billNo; private String billNo;
@ApiModelProperty("来源单据编号")
private String sourceBillNo;
@ApiModelProperty("单据日期开始时间") @ApiModelProperty("单据日期开始时间")
private String createTimeStart; private String createTimeStart;
@ApiModelProperty("单据日期结束时间") @ApiModelProperty("单据日期结束时间")
private String createTimeEnd; private String createTimeEnd;
@ApiModelProperty("单据状态") @ApiModelProperty("单据状态")
private String billState; private String billState;
@ApiModelProperty("菜单路由")
private String menuUrl;
@ApiModelProperty("组织全路径sid")
private String orgPath;
@ApiModelProperty("用户sid")
private String userSid;
} }

149
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillService.java

@ -10,6 +10,7 @@ import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
import com.yxt.wms.biz.inventory.wmsansbill.WmsAnsBillVo;
import com.yxt.wms.biz.inventory.wmsinventory.WmsInventorySaveDto; import com.yxt.wms.biz.inventory.wmsinventory.WmsInventorySaveDto;
import com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryService; import com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryService;
import com.yxt.wms.biz.inventory.wmsinventoryrecord.WmsInventoryRecordDto; import com.yxt.wms.biz.inventory.wmsinventoryrecord.WmsInventoryRecordDto;
@ -24,6 +25,13 @@ import com.yxt.wms.biz.inventory.wmsreceiptbilldetailbatch.WmsReceiptBillDetailB
import com.yxt.wms.biz.inventory.wmsshelfbilldetail.*; import com.yxt.wms.biz.inventory.wmsshelfbilldetail.*;
import com.yxt.wms.feign.base.basegoodssku.BaseGoodsSkuDetailsVo; import com.yxt.wms.feign.base.basegoodssku.BaseGoodsSkuDetailsVo;
import com.yxt.wms.feign.base.basegoodssku.BaseGoodsSkuFeign; import com.yxt.wms.feign.base.basegoodssku.BaseGoodsSkuFeign;
import com.yxt.wms.feign.portal.privilege.PrivilegeQuery;
import com.yxt.wms.feign.portal.sysorganization.SysOrganizationFeign;
import com.yxt.wms.feign.portal.sysorganization.SysOrganizationVo;
import com.yxt.wms.feign.portal.sysstafforg.SysStaffOrgFeign;
import com.yxt.wms.feign.portal.sysuser.SysUserFeign;
import com.yxt.wms.feign.portal.sysuser.SysUserVo;
import com.yxt.wms.utils.BillNo;
import com.yxt.wms.utils.Rule; import com.yxt.wms.utils.Rule;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
@ -61,14 +69,58 @@ public class WmsShelfBillService extends MybatisBaseService<WmsShelfBillMapper,
private WmsReceiptBillDetailService wmsReceiptBillDetailService; private WmsReceiptBillDetailService wmsReceiptBillDetailService;
@Autowired @Autowired
private WmsReceiptBillDetailBatchService wmsReceiptBillDetailBatchService; private WmsReceiptBillDetailBatchService wmsReceiptBillDetailBatchService;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
public PagerVo<WmsShelfBillVo> listPage(PagerQuery<WmsShelfBillQuery> pq) { public PagerVo<WmsShelfBillVo> listPage(PagerQuery<WmsShelfBillQuery> pq) {
WmsShelfBillQuery query = pq.getParams(); WmsShelfBillQuery query = pq.getParams();
QueryWrapper<WmsShelfBill> qw = new QueryWrapper<>(); QueryWrapper<WmsShelfBill> qw = new QueryWrapper<>();
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(query.getOrgPath());
privilegeQuery.setMenuUrl(query.getMenuUrl());
privilegeQuery.setUserSid(query.getUserSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = query.getOrgPath();
orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/");
int i2 = orgSidPath.indexOf("/", i1 + 1);
int i3 = orgSidPath.indexOf("/", i2 + 1);
int i4 = orgSidPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1);
qw.like("s.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("s.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("s.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("s.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("wsb.createBySid", query.getUserSid());
} else {
PagerVo<WmsShelfBillVo> p = new PagerVo<>();
return p;
}
} else {
PagerVo<WmsShelfBillVo> p = new PagerVo<>();
return p;
}
//ToDo:添加查询条件 //ToDo:添加查询条件
if (StringUtils.isNotBlank(query.getBillNo())) { if (StringUtils.isNotBlank(query.getBillNo())) {
qw.like("wsb.billNo", query.getBillNo()); qw.like("wsb.billNo", query.getBillNo());
} }
if (StringUtils.isNotBlank(query.getSourceBillNo())) {
qw.like("wsb.sourceBillNo", query.getSourceBillNo());
}
//单据日期开始时间-单据日期结束时间 //单据日期开始时间-单据日期结束时间
qw.apply(StringUtils.isNotBlank(query.getCreateTimeStart()), "date_format (wsb.createTime,'%Y-%m-%d') >= date_format('" + query.getCreateTimeStart() + "','%Y-%m-%d')"). qw.apply(StringUtils.isNotBlank(query.getCreateTimeStart()), "date_format (wsb.createTime,'%Y-%m-%d') >= date_format('" + query.getCreateTimeStart() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(query.getCreateTimeEnd()), "date_format (wsb.createTime,'%Y-%m-%d') <= date_format('" + query.getCreateTimeEnd() + "','%Y-%m-%d')" apply(StringUtils.isNotBlank(query.getCreateTimeEnd()), "date_format (wsb.createTime,'%Y-%m-%d') <= date_format('" + query.getCreateTimeEnd() + "','%Y-%m-%d')"
@ -88,19 +140,36 @@ public class WmsShelfBillService extends MybatisBaseService<WmsShelfBillMapper,
String sid = dto.getSid(); String sid = dto.getSid();
if (StringUtils.isBlank(sid)) { if (StringUtils.isBlank(sid)) {
WmsShelfBill wmsShelfBill = new WmsShelfBill(); WmsShelfBill wmsShelfBill = new WmsShelfBill();
if (StringUtils.isNotBlank(dto.getBillState())) {
if (dto.getBillState().equals("新建")){
dto.setBillState("0");
} else if (dto.getBillState().equals("完成")) {
dto.setBillState("1");
}
}
BeanUtil.copyProperties(dto, wmsShelfBill, "sid"); BeanUtil.copyProperties(dto, wmsShelfBill, "sid");
wmsShelfBill.setCreateBySid(dto.getUserSid());
List<WmsShelfBillDetailDto> list = dto.getList(); List<WmsShelfBillDetailDto> list = dto.getList();
list.removeAll(Collections.singleton(null)); list.removeAll(Collections.singleton(null));
sid = wmsShelfBill.getSid(); sid = wmsShelfBill.getSid();
if (!list.isEmpty()) { if (!list.isEmpty()) {
wmsShelfBillDetailService.saveShelfDetails(sid, list); wmsShelfBillDetailService.saveShelfDetails(sid, list);
} }
String applyCode = getApplyCode(dto.getCreateOrgSid());
wmsShelfBill.setBillNo(applyCode);
baseMapper.insert(wmsShelfBill); baseMapper.insert(wmsShelfBill);
} else { } else {
WmsShelfBill wmsShelfBill = fetchBySid(sid); WmsShelfBill wmsShelfBill = fetchBySid(sid);
if (wmsShelfBill == null) { if (wmsShelfBill == null) {
return rb.setMsg("该单据不存在"); return rb.setMsg("该单据不存在");
} }
if (StringUtils.isNotBlank(dto.getBillState())) {
if (dto.getBillState().equals("新建")){
dto.setBillState("0");
} else if (dto.getBillState().equals("完成")) {
dto.setBillState("1");
}
}
BeanUtil.copyProperties(dto, wmsShelfBill, "sid"); BeanUtil.copyProperties(dto, wmsShelfBill, "sid");
List<WmsShelfBillDetailDto> list = dto.getList(); List<WmsShelfBillDetailDto> list = dto.getList();
list.removeAll(Collections.singleton(null)); list.removeAll(Collections.singleton(null));
@ -111,11 +180,29 @@ public class WmsShelfBillService extends MybatisBaseService<WmsShelfBillMapper,
baseMapper.updateById(wmsShelfBill); baseMapper.updateById(wmsShelfBill);
} }
saveWmsInventory(sid); // saveWmsInventory(sid);
return rb.success().setData(sid); return rb.success().setData(sid);
} }
private String getApplyCode(String createOrgSid) {
ResultBean<SysOrganizationVo> resultBean1 = sysOrganizationFeign.fetchBySid(createOrgSid);
String orgCode = resultBean1.getData().getOrgCode();
BillNo b = new BillNo();
b.setOrgCode(orgCode);
b.setBillType("SJD");
String bill = Rule.getBill(b);
String i = baseMapper.selectCodeNum(bill);
String billNo = "";
if (org.apache.commons.lang3.StringUtils.isNotBlank(i)) {
billNo = Rule.getBillNo(bill, Integer.valueOf(i).intValue());
} else {
billNo = Rule.getBillNo(bill, 0);
}
return billNo;
}
public void saveWmsInventory(String sid) { public void saveWmsInventory(String sid) {
WmsShelfBill wmsShelfBill = fetchBySid(sid); WmsShelfBill wmsShelfBill = fetchBySid(sid);
List<WmsShelfBillDetailVos> detailList = wmsShelfBillDetailService.selectByBillSid(sid); List<WmsShelfBillDetailVos> detailList = wmsShelfBillDetailService.selectByBillSid(sid);
@ -145,7 +232,7 @@ public class WmsShelfBillService extends MybatisBaseService<WmsShelfBillMapper,
dto.setSid(s.getInventorySid()); dto.setSid(s.getInventorySid());
String inventorySid = wmsInventoryService.saveWmsInventory(dto).getData(); String inventorySid = wmsInventoryService.saveWmsInventory(dto).getData();
WmsShelfBillDetail wmsShelfBillDetail = wmsShelfBillDetailService.fetchBySid(s.getDetailsSid()); WmsShelfBillDetail wmsShelfBillDetail = wmsShelfBillDetailService.fetchBySid(s.getDetailsSid());
wmsShelfBillDetail.setInventorySid(inventorySid); // wmsShelfBillDetail.setInventorySid(inventorySid);
wmsShelfBillDetailService.updateById(wmsShelfBillDetail); wmsShelfBillDetailService.updateById(wmsShelfBillDetail);
WmsInventoryRecordDto wmsInventoryRecordDto = new WmsInventoryRecordDto(); WmsInventoryRecordDto wmsInventoryRecordDto = new WmsInventoryRecordDto();
wmsInventoryRecordDto.setInventorySid(inventorySid); wmsInventoryRecordDto.setInventorySid(inventorySid);
@ -210,9 +297,21 @@ public class WmsShelfBillService extends MybatisBaseService<WmsShelfBillMapper,
if (shelfDetailsVo == null) { if (shelfDetailsVo == null) {
return rb.setMsg("该单据不存在"); return rb.setMsg("该单据不存在");
} }
List<ShelfDetailsListVo> list = wmsShelfBillDetailService.details(sid); List<ShelfInitListVo> list = wmsShelfBillDetailService.selDetailsByMainSid(sid);
list.removeAll(Collections.singleton(null)); list.removeAll(Collections.singleton(null));
if (!list.isEmpty()) { if (!list.isEmpty()) {
for (ShelfInitListVo listVo : list) {
BigDecimal count = new BigDecimal("0");
BigDecimal acCount = new BigDecimal("0");
if (StringUtils.isNotBlank(listVo.getCount())) {
count = new BigDecimal(listVo.getCount());
}
if (StringUtils.isNotBlank(listVo.getActualCount())) {
acCount = new BigDecimal(listVo.getActualCount());
}
BigDecimal subtract = count.subtract(acCount);
listVo.setNoShelfCount(subtract.toString());
}
shelfDetailsVo.setList(list); shelfDetailsVo.setList(list);
} }
return rb.success().setData(shelfDetailsVo); return rb.success().setData(shelfDetailsVo);
@ -221,6 +320,37 @@ public class WmsShelfBillService extends MybatisBaseService<WmsShelfBillMapper,
public ResultBean<ShelfInitVo> getInit(String sid, String orgPath, String userSid) { public ResultBean<ShelfInitVo> getInit(String sid, String orgPath, String userSid) {
ResultBean<ShelfInitVo> rb = ResultBean.fireFail(); ResultBean<ShelfInitVo> rb = ResultBean.fireFail();
ShelfInitVo shelfInitVo = new ShelfInitVo(); ShelfInitVo shelfInitVo = new ShelfInitVo();
String deptName = "";
String deptSid = "";
String createOrgSid = "";
shelfInitVo.setUserSid(userSid);
SysUserVo userVo = sysUserFeign.fetchBySid(userSid).getData();
shelfInitVo.setCreateByName(userVo.getName());
if (StringUtils.isNotBlank(orgPath)) {
List<String> split = Arrays.asList(orgPath.split("/"));
if (split.size() > 1) {
//获取本级sid获取本级部门信息
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(split.size() - 2)).getData();
SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData();
deptName = sysOrganization.getName() + "/" + sysOrganization1.getName();
deptName = sysOrganization1.getName();
deptSid = sysOrganization1.getSid();
} else {
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData();
deptName = sysOrganization.getName();
deptName = sysOrganization.getName();
deptSid = sysOrganization.getSid();
}
shelfInitVo.setDeptSid(deptSid);
shelfInitVo.setDeptName(deptName);
createOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
//创建组织使用组织
ResultBean<SysOrganizationVo> organizationResultBean = sysOrganizationFeign.fetchBySid(createOrgSid);
if (organizationResultBean.getData() != null) {
shelfInitVo.setCreateOrgSid(createOrgSid);
shelfInitVo.setUseOrgSid(createOrgSid);
}
}
//查询所有已上架的商品 //查询所有已上架的商品
List<String> stringList = wmsShelfBillDetailService.selectReceiptSidList(); List<String> stringList = wmsShelfBillDetailService.selectReceiptSidList();
stringList.removeAll(Collections.singleton(null)); stringList.removeAll(Collections.singleton(null));
@ -229,7 +359,7 @@ public class WmsShelfBillService extends MybatisBaseService<WmsShelfBillMapper,
shelfInitVo.setCreateTime(DateUtil.today());//单据日期 shelfInitVo.setCreateTime(DateUtil.today());//单据日期
shelfInitVo.setSourceBillNo(wmsReceiptBill.getBillNo());//来源单编号 shelfInitVo.setSourceBillNo(wmsReceiptBill.getBillNo());//来源单编号
shelfInitVo.setSourceBillSid(wmsReceiptBill.getSid());//来源单sid shelfInitVo.setSourceBillSid(wmsReceiptBill.getSid());//来源单sid
shelfInitVo.setBillState(0); shelfInitVo.setBillState("新建");
List<ShelfInitListVo> list = new ArrayList<>(); List<ShelfInitListVo> list = new ArrayList<>();
//获取收货单据的明细 //获取收货单据的明细
List<WmsReceiptBillDetail> wmsReceiptBillDetailsList = wmsReceiptBillDetailService.selectByBillSid(sid, stringList); List<WmsReceiptBillDetail> wmsReceiptBillDetailsList = wmsReceiptBillDetailService.selectByBillSid(sid, stringList);
@ -237,13 +367,14 @@ public class WmsShelfBillService extends MybatisBaseService<WmsShelfBillMapper,
if (!wmsReceiptBillDetailsList.isEmpty()) { if (!wmsReceiptBillDetailsList.isEmpty()) {
for (int i = 0; i < wmsReceiptBillDetailsList.size(); i++) { for (int i = 0; i < wmsReceiptBillDetailsList.size(); i++) {
WmsReceiptBillDetail v = wmsReceiptBillDetailsList.get(i); WmsReceiptBillDetail v = wmsReceiptBillDetailsList.get(i);
WmsReceiptBillDetailBatch wmsReceiptBillDetailBatch = wmsReceiptBillDetailBatchService.selectByDetails(v.getSid()); // WmsReceiptBillDetailBatch wmsReceiptBillDetailBatch = wmsReceiptBillDetailBatchService.selectByDetails(v.getSid());
ShelfInitListVo shelfInitListVo = new ShelfInitListVo(); ShelfInitListVo shelfInitListVo = new ShelfInitListVo();
BeanUtil.copyProperties(v, shelfInitListVo, "sid"); BeanUtil.copyProperties(v, shelfInitListVo, "sid");
shelfInitListVo.setBatchNumber(wmsReceiptBillDetailBatch.getBatchNumber()); shelfInitListVo.setReceiptDetailSid(v.getSid());
// shelfInitListVo.setBatchNumber(wmsReceiptBillDetailBatch.getBatchNumber());
// shelfInitListVo.setWarehouseSid(v.getWarehouseSid()); // shelfInitListVo.setWarehouseSid(v.getWarehouseSid());
// shelfInitListVo.setWarehouseRackSid(v.getWarehouseRackSid()); // shelfInitListVo.setWarehouseRackSid(v.getWarehouseRackSid());
shelfInitListVo.setWarehouseRackCode(""); // shelfInitListVo.setWarehouseRackCode("");
list.add(shelfInitListVo); list.add(shelfInitListVo);
} }
} }
@ -254,7 +385,7 @@ public class WmsShelfBillService extends MybatisBaseService<WmsShelfBillMapper,
public ResultBean<String> confirm(WmsShelfBillDto dto) { public ResultBean<String> confirm(WmsShelfBillDto dto) {
ResultBean<String> rb = ResultBean.fireFail(); ResultBean<String> rb = ResultBean.fireFail();
dto.setBillState(1); dto.setBillState("1");
ResultBean<String> resultBean = saveOrUpdateShelf(dto); ResultBean<String> resultBean = saveOrUpdateShelf(dto);
String sid = resultBean.getData(); String sid = resultBean.getData();
return rb.success().setData(sid); return rb.success().setData(sid);

39
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/ShelfInitListVo.java

@ -3,6 +3,8 @@ package com.yxt.wms.biz.inventory.wmsshelfbilldetail;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
/** /**
* @description: * @description:
* @author: dimengzhe * @author: dimengzhe
@ -11,39 +13,30 @@ import lombok.Data;
@Data @Data
public class ShelfInitListVo { public class ShelfInitListVo {
@ApiModelProperty("收货单明细sid")
private String receiptDetailSid;
@ApiModelProperty("批次号") @ApiModelProperty("批次号")
private String batchNumber; private String batchNumber;
@ApiModelProperty("库存sid") @ApiModelProperty("商品基础信息Sid")
private String inventorySid; private String goodSpuSid;
@ApiModelProperty("仓库sid") @ApiModelProperty("商品名称")
private String warehouseSid; private String goodsSpuName;
@ApiModelProperty("库位sid") @ApiModelProperty("商品Skusid")
private String warehouseRackSid; private String goodsSkuSid;
@ApiModelProperty("库位编号")
private String warehouseRackCode;
@ApiModelProperty("上架数量")
private String count;
//商品名称
@ApiModelProperty("商品Sku名称") @ApiModelProperty("商品Sku名称")
private String goodsSkuTitle; private String goodsSkuTitle;
//商品编码
@ApiModelProperty("商品sku编码") @ApiModelProperty("商品sku编码")
private String goodsSkuCode; private String goodsSkuCode;
//规格
@ApiModelProperty("规格型号") @ApiModelProperty("规格型号")
private String goodsSkuOwnSpec; private String goodsSkuOwnSpec;
//单位
@ApiModelProperty("计量单位") @ApiModelProperty("计量单位")
private String unit; private String unit;
//仓库 @ApiModelProperty("需上架数量")
@ApiModelProperty("仓库名称") private String count;
private String warehouseName; @ApiModelProperty("已上架数量(根据上架记录计算)")
//库位
@ApiModelProperty("库位名称")
private String warehouseRackName;
//已上架数量
private String actualCount; private String actualCount;
//载具编号 @ApiModelProperty("未上架数量")
private String noShelfCount;
@ApiModelProperty("载具编号")
private String packageNo; private String packageNo;
} }

29
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetail.java

@ -19,14 +19,25 @@ public class WmsShelfBillDetail extends BaseEntity {
private String receiptDetailSid; private String receiptDetailSid;
@ApiModelProperty("批次号") @ApiModelProperty("批次号")
private String batchNumber; private String batchNumber;
@ApiModelProperty("库存sid") @ApiModelProperty("商品基础信息Sid")
private String inventorySid; private String goodSpuSid;
@ApiModelProperty("仓库sid") @ApiModelProperty("商品名称")
private String warehouseSid; private String goodsSpuName;
@ApiModelProperty("库位sid") @ApiModelProperty("商品Skusid")
private String warehouseRackSid; private String goodsSkuSid;
@ApiModelProperty("库位编号") @ApiModelProperty("商品Sku名称")
private String warehouseRackCode; private String goodsSkuTitle;
@ApiModelProperty("上架数量") @ApiModelProperty("商品sku编码")
private String goodsSkuCode;
@ApiModelProperty("规格型号")
private String goodsSkuOwnSpec;
@ApiModelProperty("计量单位")
private String unit;
@ApiModelProperty("需上架数量")
private BigDecimal count; private BigDecimal count;
@ApiModelProperty("已上架数量(根据上架记录计算)")
private BigDecimal actualCount;
@ApiModelProperty("载具编号")
private String packageNo;
} }

34
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetailDto.java

@ -17,39 +17,25 @@ public class WmsShelfBillDetailDto {
private String receiptDetailSid; private String receiptDetailSid;
@ApiModelProperty("批次号") @ApiModelProperty("批次号")
private String batchNumber; private String batchNumber;
@ApiModelProperty("库存sid") @ApiModelProperty("商品基础信息Sid")
private String inventorySid; private String goodSpuSid;
@ApiModelProperty("仓库sid") @ApiModelProperty("商品名称")
private String warehouseSid; private String goodsSpuName;
@ApiModelProperty("库位sid") @ApiModelProperty("商品Skusid")
private String warehouseRackSid; private String goodsSkuSid;
@ApiModelProperty("库位编号")
private String warehouseRackCode;
@ApiModelProperty("需上架数量")
private String count;
//商品名称
@ApiModelProperty("商品Sku名称") @ApiModelProperty("商品Sku名称")
private String goodsSkuTitle; private String goodsSkuTitle;
//商品编码
@ApiModelProperty("商品sku编码") @ApiModelProperty("商品sku编码")
private String goodsSkuCode; private String goodsSkuCode;
//规格
@ApiModelProperty("规格型号") @ApiModelProperty("规格型号")
private String goodsSkuOwnSpec; private String goodsSkuOwnSpec;
//单位
@ApiModelProperty("计量单位") @ApiModelProperty("计量单位")
private String unit; private String unit;
//仓库 @ApiModelProperty("需上架数量")
@ApiModelProperty("仓库名称") private String count;
private String warehouseName; @ApiModelProperty("已上架数量(根据上架记录计算)")
//库位
@ApiModelProperty("库位名称")
private String warehouseRackName;
//已上架数量
private String actualCount; private String actualCount;
//载具编号 @ApiModelProperty("载具编号")
private String packageNo; private String packageNo;
} }

2
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetailMapper.java

@ -19,4 +19,6 @@ public interface WmsShelfBillDetailMapper extends BaseMapper<WmsShelfBillDetail>
List<WmsShelfBillDetailVos> selectByBillSid(String sid); List<WmsShelfBillDetailVos> selectByBillSid(String sid);
List<String> selectReceiptSidList(); List<String> selectReceiptSidList();
List<ShelfInitListVo> selDetailsByMainSid(String sid);
} }

7
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetailMapper.xml

@ -43,4 +43,9 @@
select receiptDetailSid select receiptDetailSid
from wms_shelf_bill_detail from wms_shelf_bill_detail
</select> </select>
</mapper> <select id="selDetailsByMainSid" resultType="com.yxt.wms.biz.inventory.wmsshelfbilldetail.ShelfInitListVo">
select wsd.*
from wms_shelf_bill_detail wsd
where billSid = #{sid}
</select>
</mapper>

4
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetailService.java

@ -34,4 +34,8 @@ public class WmsShelfBillDetailService extends MybatisBaseService<WmsShelfBillDe
public List<String> selectReceiptSidList() { public List<String> selectReceiptSidList() {
return baseMapper.selectReceiptSidList(); return baseMapper.selectReceiptSidList();
} }
public List<ShelfInitListVo> selDetailsByMainSid(String sid) {
return baseMapper.selDetailsByMainSid(sid);
}
} }

Loading…
Cancel
Save