Browse Source

增加出库单的修改功能。

完善从“入库"到"库存"到"出库"到"拣货"  四个功能模块 关于库位、仓库的同步和验证  保证出库时仓位的准确。
增加仓位的对外查询接口 根据仓库查询。
前端后端联调测试,沟通需求整理测试问题。
master
djz236@163.com 2 years ago
parent
commit
2457fd9bd1
  1. 19
      warehousing-system/project/wh-common/src/main/java/com/wh/pojo/LocationVo.java
  2. 9
      warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/InStorehouseListing.java
  3. 3
      warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/OutStorehouseDetailVo.java
  4. 1
      warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/OutStorehouseListing.java
  5. 1
      warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/OutStorehouseMain.java
  6. 2
      warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/OutStorehouseMainDto.java
  7. 1
      warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/OutStorehouseMainQuery.java
  8. 2
      warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/OutStorehouseVo.java
  9. 9
      warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/ProdStock.java
  10. 1
      warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/ProdStockDto.java
  11. 8
      warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/ProdStockQuery.java
  12. 2
      warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/ProdStockVo.java
  13. 4
      warehousing-system/project/wh-manage/src/main/java/com/wh/controller/api/prodstock/ProdStockController.java
  14. 10
      warehousing-system/project/wh-manage/src/main/java/com/wh/controller/initial/LocationController.java
  15. 2
      warehousing-system/project/wh-manage/src/main/java/com/wh/mapper/api/prodstock/ProdStockMapper.java
  16. 8
      warehousing-system/project/wh-manage/src/main/java/com/wh/mapper/initial/LocationMapper.java
  17. 3
      warehousing-system/project/wh-manage/src/main/java/com/wh/service/api/instorehouse/InStorehouseMainService.java
  18. 38
      warehousing-system/project/wh-manage/src/main/java/com/wh/service/api/outstorehouse/OutStorehouseMainService.java
  19. 8
      warehousing-system/project/wh-manage/src/main/java/com/wh/service/api/prodstock/ProdStockService.java
  20. 5
      warehousing-system/project/wh-manage/src/main/java/com/wh/service/initial/LocationService.java
  21. 11
      warehousing-system/project/wh-manage/src/main/java/com/wh/service/initial/LocationServiceImpl.java

19
warehousing-system/project/wh-common/src/main/java/com/wh/pojo/LocationVo.java

@ -0,0 +1,19 @@
package com.wh.pojo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;
@Data
@Accessors(chain = true)
public class LocationVo {
private String name; //货位名称
private String locationId; //货位编号
private String type; //货位类型
private String status; //货位状态
private String storehouse; //所属仓库
private String storehouseid;
}

9
warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/InStorehouseListing.java

@ -36,6 +36,7 @@ public class InStorehouseListing extends BaseEntity {
@NotBlank(message = "核算的价值不能为空")
private String calculatedValue ;//decime 50 2 核算的价值
private String locationNumber ;//varchar 10 货位号
private String locationId ;//varchar 10 货位号id
private String mainSid ;//varchar 50 申请单的sid
private String purchaseSid;//采购申请单的sid
private String brandInfoName;//品牌名称
@ -43,6 +44,14 @@ public class InStorehouseListing extends BaseEntity {
private String productTypeName;//分类名称
private String productTypeKey;//分类key
public String getLocationId() {
return locationId;
}
public void setLocationId(String locationId) {
this.locationId = locationId;
}
public String getCusterSid() {
return custerSid;
}

3
warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/OutStorehouseDetailVo.java

@ -10,11 +10,14 @@ import java.util.List;
@Data
@Accessors(chain = true)
public class OutStorehouseDetailVo implements Vo {
private String sid;
private String no; //varchar 50 编号
private String applicationDate; //date 50 制单日期
private String outDate; //date 50 制单日期
private String creatorName; /// varchar 50 制单人姓名
private String custerName; // varchar 100 客户名称(企业)
private String storeHouseName; // varchar 100 仓库名称
private String storeHouseSid; // varchar 100 仓库名称
private String auditorName; // varchar 50 审核人姓名
private String approvedDate; // varchar 50 审核日期
private List<OutStorehouseListing> list;

1
warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/OutStorehouseListing.java

@ -43,5 +43,6 @@ public class OutStorehouseListing extends BaseEntity {
@NotBlank(message = "实际核算的价值不能空")
private String realityCalculatedValue ;//decime 50 2 实际核算的价值
private String locationNumber ;//varchar 10 货位号
private String locationId ;//varchar 10 货位号id
private String mainSid ;//varchar 50 申请单的sid
}

1
warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/OutStorehouseMain.java

@ -26,4 +26,5 @@ public class OutStorehouseMain extends BaseEntity {
private String auditorName; // varchar 50 审核人姓名
private String approvedDate; // varchar 50 审核日期
private String approvedRemark; // varchar 50 审核备注
private String outDate; //出库日期
}

2
warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/OutStorehouseMainDto.java

@ -10,6 +10,7 @@ import java.util.List;
@Data
@Accessors(chain = true)
public class OutStorehouseMainDto {
private String sid;
private String no; //varchar 50 编号
private String applicationDate; //date 50 制单日期
private String creatorSid; //varchar 64 制单人Sid
@ -23,4 +24,5 @@ public class OutStorehouseMainDto {
private String approvedDate; // varchar 50 审核日期
private String approvedRemark; // varchar 50 审核备注
private List<OutStorehouseListing> list;
private String outDate; //出库日期
}

1
warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/OutStorehouseMainQuery.java

@ -10,6 +10,7 @@ import lombok.experimental.Accessors;
@Data
@Accessors(chain = true)
public class OutStorehouseMainQuery implements Query {
private String sid;
private String no; //varchar 50 编号
private String applicationDateEnd; //date 50 制单日期
private String applicationDateStart; //date 50 制单日期

2
warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/OutStorehouseVo.java

@ -16,9 +16,11 @@ public class OutStorehouseVo implements Vo {
private String creatorName; /// varchar 50 制单人姓名
private String custerName; // varchar 100 客户名称(企业)
private String storeHouseName; // varchar 100 仓库名称
private String storeHouseSid; // varchar 100 仓库名称
private String auditorName; // varchar 50 审核人姓名
private String approvedDate; // varchar 50 审核日期
private String prodNum; // varchar 50 商品数量
private String modifyTime; //修改日期
private String state;
private String outDate; //出库日期
}

9
warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/ProdStock.java

@ -31,6 +31,15 @@ public class ProdStock extends BaseEntity {
private String brandInfoKey;//品牌名称
private String productTypeName;//分类名称
private String productTypeKey;//分类key
private String locationId;//货位号id
public String getLocationId() {
return locationId;
}
public void setLocationId(String locationId) {
this.locationId = locationId;
}
public String getProName() {
return proName;

1
warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/ProdStockDto.java

@ -26,4 +26,5 @@ public class ProdStockDto extends BaseEntity {
private String brandInfoKey;//品牌名称
private String productTypeName;//分类名称
private String productTypeKey;//分类key
private String locationId;//货位号id
}

8
warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/ProdStockQuery.java

@ -22,7 +22,15 @@ public class ProdStockQuery implements Query {
private String brandInfoKey;//品牌名称
private String productTypeName;//分类名称
private String productTypeKey;//分类key
private String locationId;//货位号id
public String getLocationId() {
return locationId;
}
public void setLocationId(String locationId) {
this.locationId = locationId;
}
public String getProName() {
return proName;
}

2
warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/ProdStockVo.java

@ -19,4 +19,6 @@ public class ProdStockVo implements Vo {
private String custerSid;// varchar 64 客户Sid(企业)
private String storeHouseSid;// varchar 64 仓库Sid
private String storeHouseName;// varchar 100 仓库名称
private String locationId;//货位号id
}

4
warehousing-system/project/wh-manage/src/main/java/com/wh/controller/api/prodstock/ProdStockController.java

@ -34,7 +34,9 @@ public class ProdStockController {
if(list.size()>0){
List<ProdStock> prodStocks = prodStockService.importStock(list);
if(prodStocks.size()>0){
return rb.fail().setData(prodStocks).setMsg("部分数据导入失败,商品、仓库信息不能为空");
return rb.fail().setData(prodStocks).setMsg("部分数据导入失败,商品、仓库、货位信息不能为空," +
"storeHouseSid(仓库),proSid(商品id),proName(商品名称))," +
"locationId(货位编码),locationNumber(货位名称)");
}
}else{
return rb.setMsg("导入失败");

10
warehousing-system/project/wh-manage/src/main/java/com/wh/controller/initial/LocationController.java

@ -2,6 +2,7 @@ package com.wh.controller.initial;
import com.wh.pojo.Location;
import com.wh.pojo.LocationType;
import com.wh.pojo.LocationVo;
import com.wh.pojo.Storehouse;
import com.wh.pojo.shstorehouse.ShStorehouse;
import com.wh.service.initial.LocationService;
@ -31,8 +32,8 @@ public class LocationController {
}
@GetMapping("listAll")
public SysResult listAll(PageResult pageResult){
List<Storehouse> storehouse = locationService.getStorehouse();
return SysResult.success(storehouse);
List<Location> locations = locationService.getLocations();
return SysResult.success(locations);
}
@PostMapping("addLocation")
@ -66,6 +67,11 @@ public class LocationController {
List<Storehouse> storehouseList = locationService.getStorehouse();
return SysResult.success(storehouseList);
}
@GetMapping("getLocationsByStoreId/{id}")
public SysResult getLocationsByStoreId(String id){
List<LocationVo> locations = locationService.getLocationsByStoreId(id);
return SysResult.success(locations);
}
@GetMapping("getType")
public SysResult getType(){

2
warehousing-system/project/wh-manage/src/main/java/com/wh/mapper/api/prodstock/ProdStockMapper.java

@ -17,6 +17,6 @@ public interface ProdStockMapper extends BaseMapper<ProdStock> {
void addNumByProdSidAndCustSid(@Param("proSid")String proSid, @Param("custerSid")String custerSid,
@Param("num")String num, @Param("storehousesid")String storehousesid,
@Param("locationnum")String locationnum);
@Update("update prod_stock set num=num-#{num} , calculated_value=#{value} where id=#{id} ")
@Update("update prod_stock set num=#{num} , calculated_value=#{value} where id=#{id} ")
void updateByProdStockId(@Param("num")String num, @Param("value")String value, @Param("id")int id);
}

8
warehousing-system/project/wh-manage/src/main/java/com/wh/mapper/initial/LocationMapper.java

@ -2,6 +2,14 @@ package com.wh.mapper.initial;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.wh.pojo.Location;
import com.wh.pojo.LocationVo;
import org.apache.ibatis.annotations.Select;
import java.util.List;
public interface LocationMapper extends BaseMapper<Location> {
@Select("select * from location ")
List<Location> listAll();
@Select("select * from location where storehouseid=#{id};")
List<LocationVo> getLocationsByStoreId(String id);
}

3
warehousing-system/project/wh-manage/src/main/java/com/wh/service/api/instorehouse/InStorehouseMainService.java

@ -240,6 +240,7 @@ public class InStorehouseMainService extends MybatisBaseService<InStorehouseMai
prodStock.setConfirmedPrice(l.getConfirmedPrice());// decime 50 2 质权人确认的单价
prodStock.setCalculatedValue(l.getCalculatedValue());// decime 50 2 核算的价值
prodStock.setLocationNumber(l.getLocationNumber());// varchar 10 货位号
prodStock.setLocationId(l.getLocationId());// varchar 10 货位号
prodStock.setCusterName(l.getCusterName());// varchar 50 客户名称(企业)
prodStock.setProUnit(l.getProUnit());// varchar 50 规格单位
prodStock.setCusterSid(l.getCusterSid());// varchar 64 客户Sid(企业)
@ -279,6 +280,7 @@ public class InStorehouseMainService extends MybatisBaseService<InStorehouseMai
stockQuery.setProSid(l.getProSid());
stockQuery.setStoreHouseSid(l.getStoreHouseSid());
stockQuery.setLocationNumber(l.getLocationNumber());
stockQuery.setLocationId(l.getLocationId());
pq.setParams(stockQuery);
PagerVo<ProdStock> proStocks = prodStockService.getProStocks(pq);
return proStocks;
@ -344,6 +346,7 @@ public class InStorehouseMainService extends MybatisBaseService<InStorehouseMai
ppd.setConfirmedPrice(p.getEstimateConfirmedPrice());// decime 50 2 质权人确认的单价
ppd.setCalculatedValue(p.getEstimateCalculatedValue()) ;//decime 50 2 核算的价值
ppd.setLocationNumber(p.getLocationNumber()) ;//varchar 10 货位号
ppd.setLocationId(p.getLocationId()) ;//varchar 10 货位号id
ppd.setPurchaseSid(purchaseSid);//采购申请单的sid
ppd.setBrandInfoName(p.getBrandInfoName());//品牌名称
ppd.setBrandInfoKey(p.getBrandInfoKey());//品牌名称

38
warehousing-system/project/wh-manage/src/main/java/com/wh/service/api/outstorehouse/OutStorehouseMainService.java

@ -53,6 +53,7 @@ public class OutStorehouseMainService extends MybatisBaseService<OutStorehouseMa
private PickingService pickingService;
@Transactional
public ResultBean addOutStorehouse(OutStorehouseMainDto outStorehouseMainDto) {
ResultBean<Object> r = ResultBean.fireFail();
if(outStorehouseMainDto==null){
return r.setMsg("数据不能为空");
@ -65,14 +66,38 @@ public class OutStorehouseMainService extends MybatisBaseService<OutStorehouseMa
if(list==null||list.size()==0){
return r.setMsg("商品信息不能为空");
}
if(com.yxt.common.base.utils.StringUtils.isNotBlank(outStorehouseMainDto.getSid())){
String sid = outStorehouseMainDto.getSid();
OutStorehouseMain outStorehouseMain = fetchBySid(sid);
outStorehouseMain.setApplicationDate(outStorehouseMainDto.getApplicationDate());
outStorehouseMain.setCreatorName(outStorehouseMainDto.getCreatorName());
outStorehouseMain.setNo(outStorehouseMainDto.getNo()); //varchar 50 编号
outStorehouseMain.setCusterSid(outStorehouseMainDto.getCusterSid()); //varchar 64 客户Sid(企业)
outStorehouseMain.setCusterName(outStorehouseMainDto.getCusterName()); // varchar 100 客户名称(企业)
outStorehouseMain.setStoreHouseSid(outStorehouseMainDto.getStoreHouseSid()); // varchar 64 仓库Sid
outStorehouseMain.setStoreHouseName(outStorehouseMainDto.getStoreHouseName()); // varchar 100 仓库名称
outStorehouseMain.setOutDate(outStorehouseMainDto.getOutDate()); //出库日期
baseMapper.updateById(outStorehouseMain);
outStorehouseListingService.deleteByMainSid(sid);
try{
boolean b = validaProStock(list,outStorehouseMain);
if(!b){
return r.setMsg("出库数量大于库存数量");
}
}catch (Exception e){
return r.setMsg(e.getMessage());
}
addListing(outStorehouseMain, list);
return r.success();
}
QueryWrapper<OutStorehouseMain> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("no",outStorehouseMainDto.getNo());
if(baseMapper.selectCount(queryWrapper) != 0){
return r.setMsg("申请单编号已经存在");
}
OutStorehouseMain out=new OutStorehouseMain();
BeanUtils.copyProperties(outStorehouseMainDto,out);
out.setSid(UUID.randomUUID().toString());
try{
boolean b = validaProStock(list,out);
if(!b){
@ -184,6 +209,9 @@ public class OutStorehouseMainService extends MybatisBaseService<OutStorehouseMa
stockQuery.setProModel(l.getProModel());
stockQuery.setProName(l.getProName());
stockQuery.setProSid(l.getProSid());
stockQuery.setStoreHouseSid(l.getStoreHouseSid());
stockQuery.setLocationId(l.getLocationId());
stockQuery.setLocationNumber(l.getLocationNumber());
pq.setParams(stockQuery);
PagerVo<ProdStock> proStocks = prodStockService.getProStocks(pq);
return proStocks;
@ -241,10 +269,10 @@ public class OutStorehouseMainService extends MybatisBaseService<OutStorehouseMa
int i = deleteBySid(sid);
List<OutStorehouseListing> list=outStorehouseListingService.selectInStorehouseListingsByMainSid(sid);
int ii=outStorehouseListingService.deleteByMainSid(sid);
list.forEach(l->{
prodStockService.addNumByProdSidAndCustSid(l.getProSid(), l.getCusterSid(),l.getRealityNum(),
l.getStoreHouseSid(), l.getLocationNumber());
});
// list.forEach(l->{
// prodStockService.addNumByProdSidAndCustSid(l.getProSid(), l.getCusterSid(),l.getRealityNum(),
// l.getStoreHouseSid(), l.getLocationNumber());
// });
return i;
}
@Transactional

8
warehousing-system/project/wh-manage/src/main/java/com/wh/service/api/prodstock/ProdStockService.java

@ -89,8 +89,12 @@ public class ProdStockService extends MybatisBaseService<ProdStockMapper, ProdSt
String custerSid = l.getCusterSid();
String proSid = l.getProSid();
if(StringUtils.isBlank(storeHouseSid)||
/* StringUtils.isBlank(custerSid)||*/
StringUtils.isBlank(proSid)||StringUtils.isBlank(l.getProName())){
/* StringUtils.isBlank(custerSid)||*/
StringUtils.isBlank(proSid)||
StringUtils.isBlank(l.getProName())||
/* StringUtils.isBlank(l.getProModel())||*/
StringUtils.isBlank(l.getLocationId())||
StringUtils.isBlank(l.getLocationNumber())){
r.add(l);
continue;
}

5
warehousing-system/project/wh-manage/src/main/java/com/wh/service/initial/LocationService.java

@ -2,6 +2,7 @@ package com.wh.service.initial;
import com.wh.pojo.Location;
import com.wh.pojo.LocationType;
import com.wh.pojo.LocationVo;
import com.wh.pojo.Storehouse;
import com.wh.vo.PageResult;
@ -19,4 +20,8 @@ public interface LocationService {
List<Storehouse> getStorehouse();
List<LocationType> getType();
List<Location> getLocations();
List<LocationVo> getLocationsByStoreId(String id);
}

11
warehousing-system/project/wh-manage/src/main/java/com/wh/service/initial/LocationServiceImpl.java

@ -7,6 +7,7 @@ import com.wh.mapper.initial.LocationTypeMapper;
import com.wh.mapper.initial.StorehouseMapper;
import com.wh.pojo.Location;
import com.wh.pojo.LocationType;
import com.wh.pojo.LocationVo;
import com.wh.pojo.Storehouse;
import com.wh.vo.PageResult;
import org.springframework.beans.factory.annotation.Autowired;
@ -69,4 +70,14 @@ public class LocationServiceImpl implements LocationService{
return locationTypeMapper.selectList(null);
}
@Override
public List<Location> getLocations() {
return locationMapper.listAll();
}
@Override
public List<LocationVo> getLocationsByStoreId(String id) {
return locationMapper.getLocationsByStoreId(id);
}
}

Loading…
Cancel
Save