6/19
This commit is contained in:
@@ -16,7 +16,7 @@ import org.springframework.web.bind.annotation.*;
|
||||
**/
|
||||
@Api(tags = "预期到货通知单")
|
||||
@RestController
|
||||
@RequestMapping("/apiadmin/WmsAnsBill")
|
||||
@RequestMapping("/apiadmin/warehouseansbill")
|
||||
public class WarehouseAnsBillRest {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -27,8 +27,8 @@ public class WarehouseAreaRest {
|
||||
|
||||
@ApiOperation("分页列表")
|
||||
@PostMapping("/listPage")
|
||||
public ResultBean<IPage<WarehouseAreaVo>> listPage(@RequestBody WarehouseAreaQuery query) {
|
||||
return wmsWarehouseAreaService.listPage(query.getPage(),query.getQw());
|
||||
public ResultBean<IPage<WarehouseAreaVo>> listPage(@RequestBody PagerQuery<WarehouseAreaQuery> pq) {
|
||||
return wmsWarehouseAreaService.listPage(pq);
|
||||
}
|
||||
@ApiOperation("查询所有的库区")
|
||||
@GetMapping("/listAll")
|
||||
|
||||
@@ -27,8 +27,8 @@ public class WarehouseAreaTypeRest {
|
||||
|
||||
@ApiOperation("分页列表")
|
||||
@PostMapping("/listPage")
|
||||
public ResultBean<IPage<WarehouseAreaTypeVo>> listPage(@RequestBody WarehouseAreaTypeQuery query) {
|
||||
return wmsWarehouseAreaTypeService.listPage(query.getPage(),query.getQw());
|
||||
public ResultBean<IPage<WarehouseAreaTypeVo>> listPage(@RequestBody PagerQuery<WarehouseAreaTypeQuery> pq) {
|
||||
return wmsWarehouseAreaTypeService.listPage(pq);
|
||||
}
|
||||
@ApiOperation("查询所有的")
|
||||
@GetMapping("/listAll/{useOrgSid}")
|
||||
|
||||
@@ -29,8 +29,8 @@ public class WarehouseInfoRest {
|
||||
|
||||
@ApiOperation("分页列表")
|
||||
@PostMapping("/listPage")
|
||||
public ResultBean<IPage<WarehouseInfoVo>> listPage(@RequestBody WarehouseInfoQuery query) {
|
||||
return wmsWarehouseService.listPage(query.getPage(), query.getQw());
|
||||
public ResultBean<IPage<WarehouseInfoVo>> listPage(@RequestBody PagerQuery<WarehouseInfoQuery> pq) {
|
||||
return wmsWarehouseService.listPage(pq);
|
||||
}
|
||||
@ApiOperation("查询所有的仓库")
|
||||
@GetMapping("/listAll/{useOrgSid}")
|
||||
|
||||
@@ -49,7 +49,7 @@ import org.springframework.web.bind.annotation.*;
|
||||
*/
|
||||
@Api(tags = "库存盘点")
|
||||
@RestController
|
||||
@RequestMapping("v1/wmsinventorycheckbill")
|
||||
@RequestMapping("apiadmin/wmsinventorycheckbill")
|
||||
public class WarehouseInventoryCheckbillRest {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -1,17 +1,19 @@
|
||||
package com.yxt.warehouse.apiadmin;
|
||||
|
||||
import com.yxt.common.base.utils.ExportExcelUtils;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryQuery;
|
||||
import com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryService;
|
||||
import com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryVo;
|
||||
import com.yxt.warehouse.biz.warehouseinventory.*;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.URLEncoder;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author wangpengfei
|
||||
@@ -19,28 +21,168 @@ import javax.servlet.http.HttpServletResponse;
|
||||
*/
|
||||
@Api(tags = "库存信息")
|
||||
@RestController
|
||||
@RequestMapping("/apiadmin/inventory/wmsinventory")
|
||||
@RequestMapping("/apiadmin/inventory/Warehouseinventory")
|
||||
public class WarehouseInventoryRest {
|
||||
|
||||
@Autowired
|
||||
WarehouseInventoryService wmsInventoryService;
|
||||
WarehouseInventoryService WarehouseInventoryService;
|
||||
@Autowired
|
||||
HttpServletResponse response;
|
||||
|
||||
|
||||
|
||||
@ApiOperation("分页列表")
|
||||
@PostMapping("/listPage")
|
||||
public ResultBean<PagerVo<WarehouseInventoryVo>> listPage(@RequestBody PagerQuery<WarehouseInventoryQuery> pq) {
|
||||
ResultBean<PagerVo<WarehouseInventoryVo>> rb = ResultBean.fireFail();
|
||||
PagerVo<WarehouseInventoryVo> pv = wmsInventoryService.listPage(pq);
|
||||
PagerVo<WarehouseInventoryVo> pv = WarehouseInventoryService.listPage(pq);
|
||||
return rb.success().setData(pv);
|
||||
}
|
||||
|
||||
@ApiOperation("删除/批量删除")
|
||||
@DeleteMapping("/delBySids")
|
||||
ResultBean delBySids(@RequestBody String[] sids) {
|
||||
return wmsInventoryService.delAllBySids(sids);
|
||||
return WarehouseInventoryService.delAllBySids(sids);
|
||||
}
|
||||
|
||||
// @ApiOperation("入库")
|
||||
// @GetMapping("/warehousing")
|
||||
public ResultBean warehousing(WarehouseInventoryDto dto) {
|
||||
return WarehouseInventoryService.warehousing(dto);
|
||||
}
|
||||
|
||||
/* @ApiOperation("编辑")
|
||||
@PostMapping("/updateWarehouseInventory")
|
||||
ResultBean updateWarehouseInventory(@RequestBody WarehouseInventoryUpdateDto dto) {
|
||||
return WarehouseInventoryService.updateWarehouseInventory(dto);
|
||||
}
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/saveWarehouseInventory")
|
||||
ResultBean<String> saveWarehouseInventory(@RequestBody WarehouseInventorySaveDto dto) {
|
||||
return WarehouseInventoryService.saveWarehouseInventory(dto);
|
||||
}*/
|
||||
|
||||
|
||||
|
||||
/*@ApiOperation("初始化")
|
||||
@PostMapping("/init")
|
||||
ResultBean<WarehouseInventoryInitVo> init(@RequestParam("sid") String sid) {
|
||||
return WarehouseInventoryService.init(sid);
|
||||
}*/
|
||||
|
||||
/* @ApiOperation("批量修改销售价")
|
||||
@PostMapping("/updatePrice")
|
||||
ResultBean updatePrice(@RequestBody WarehouseInventoryUpdatePrice WarehouseInventoryUpdatePrice) {
|
||||
return WarehouseInventoryService.updatePrice(WarehouseInventoryUpdatePrice);
|
||||
}*/
|
||||
|
||||
/* @ApiOperation("收发存")
|
||||
@PostMapping("/getBillList")
|
||||
ResultBean<PagerVo<WarehouseInventoryBillListVo>> getBillList(@RequestBody PagerQuery<WarehouseInventoryBillListQuery> pagerQuery) {
|
||||
ResultBean<PagerVo<WarehouseInventoryBillListVo>> rb = ResultBean.fireFail();
|
||||
PagerVo<WarehouseInventoryBillListVo> pv = WarehouseInventoryService.getBillList(pagerQuery);
|
||||
return rb.success().setData(pv);
|
||||
}*/
|
||||
|
||||
@PostMapping("/exportExcel")
|
||||
@ApiOperation(value = "导出")
|
||||
public void exportExcel(@RequestBody WarehouseInventoryQuery query) {
|
||||
//得到所有要导出的数据
|
||||
List<WarehouseInventoryVoExcelVo> exportVoList = WarehouseInventoryService.listExcel(query);
|
||||
//定义导出的excel名字
|
||||
String excelName = "库存列表";
|
||||
String fileNameURL = "";
|
||||
try {
|
||||
fileNameURL = URLEncoder.encode(excelName, "UTF-8");
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
ExportExcelUtils.export(fileNameURL, exportVoList, WarehouseInventoryVoExcelVo.class, response);
|
||||
|
||||
}
|
||||
|
||||
@ApiOperation("修改库存数量")
|
||||
@PostMapping("/updateInventoryCount")
|
||||
ResultBean updateInventoryCount(@RequestBody WarehouseUpdateCountQuery query) {
|
||||
return WarehouseInventoryService.updateInventoryCount(query);
|
||||
}
|
||||
|
||||
@ApiOperation("销售开单选择商品分页列表")
|
||||
@PostMapping("/listPageSales")
|
||||
public ResultBean<PagerVo<WarehouseInventorySalesVo>> listPageSales(@RequestBody PagerQuery<WarehouseInventorySalesQuery> pq) {
|
||||
ResultBean<PagerVo<WarehouseInventorySalesVo>> rb = ResultBean.fireFail();
|
||||
PagerVo<WarehouseInventorySalesVo> pv = WarehouseInventoryService.listPageSales(pq);
|
||||
return rb.success().setData(pv);
|
||||
}
|
||||
|
||||
@ApiOperation("查询部门下所有的商品信息")
|
||||
@PostMapping("/getPackageGoodsVo")
|
||||
public ResultBean<PagerVo<WarehouseInventoryPackageVo>> getPackageGoodsVo(@RequestBody PagerQuery<WarehouseInventoryPackageQuery> pq) {
|
||||
return WarehouseInventoryService.getPackageGoodsVo(pq);
|
||||
}
|
||||
|
||||
@ApiOperation("库龄查询")
|
||||
@PostMapping("/inventoryAgeList")
|
||||
public ResultBean<PagerVo<WarehouseInventoryAgeVo>> inventoryAgeList(@RequestBody PagerQuery<WarehouseInventoryAgeQuery> pq) {
|
||||
ResultBean<PagerVo<WarehouseInventoryAgeVo>> rb = ResultBean.fireFail();
|
||||
PagerVo<WarehouseInventoryAgeVo> pv = WarehouseInventoryService.inventoryAgeList(pq);
|
||||
return rb.success().setData(pv);
|
||||
}
|
||||
|
||||
@PostMapping("/ageExportExcel")
|
||||
@ApiOperation(value = "库龄查询导出")
|
||||
public void ageExportExcel(@RequestBody WarehouseInventoryAgeQuery query) {
|
||||
//得到所有要导出的数据
|
||||
List<WarehouseInventoryAgeExportVo> exportVoList = WarehouseInventoryService.ageExportExcel(query);
|
||||
//定义导出的excel名字
|
||||
String excelName = "库领查询列表";
|
||||
String fileNameURL = "";
|
||||
try {
|
||||
fileNameURL = URLEncoder.encode(excelName, "UTF-8");
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
ExportExcelUtils.export(fileNameURL, exportVoList, WarehouseInventoryAgeExportVo.class, response);
|
||||
|
||||
}
|
||||
|
||||
@ApiOperation("根据商品sid查询库存信息")
|
||||
@PostMapping("/selectInvenBySkuSid")
|
||||
public ResultBean<WarehouseGoodsInventoryVo> selectInvenBySkuSid(@RequestParam("skuSid") String skuSid) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
WarehouseGoodsInventoryVo WarehouseGoodsInventoryVo = WarehouseInventoryService.selectInvenBySkuSid(skuSid);
|
||||
return rb.success().setData(WarehouseGoodsInventoryVo);
|
||||
}
|
||||
|
||||
@ApiOperation("盘库商品分页列表")
|
||||
@PostMapping("/invenGoodsListPage")
|
||||
public ResultBean<PagerVo<WarehouseInventoryInvenSelectList>> invenGoodsListPage(@RequestBody PagerQuery<WarehouseInventoryInvenSelectQuery> pq) {
|
||||
return WarehouseInventoryService.invenGoodsListPage(pq);
|
||||
}
|
||||
|
||||
@ApiOperation("调拨商品分页列表")
|
||||
@PostMapping("/alloGoodsListPage")
|
||||
public ResultBean<PagerVo<WarehouseInventoryAlloSelectList>> alloGoodsListPage(@RequestBody PagerQuery<WarehouseInventoryAlloSelectQuery> pq) {
|
||||
return WarehouseInventoryService.alloGoodsListPage(pq);
|
||||
}
|
||||
|
||||
@ApiOperation("旧件返厂商品分页列表")
|
||||
@PostMapping("/returnGoodsListPage")
|
||||
public ResultBean<PagerVo<WarehouseInventoryReturnSelectList>> returnGoodsListPage(@RequestBody PagerQuery<WarehouseInventoryReturnSelectQuery> pq) {
|
||||
return WarehouseInventoryService.returnGoodsListPage(pq);
|
||||
}
|
||||
|
||||
@ApiOperation("旧件处理商品分页列表")
|
||||
@PostMapping("/handleGoodsListPage")
|
||||
public ResultBean<PagerVo<WarehouseInventoryHandleSelectList>> handleGoodsListPage(@RequestBody PagerQuery<WarehouseInventoryHandleSelectQuery> pq) {
|
||||
return WarehouseInventoryService.handleGoodsListPage(pq);
|
||||
}
|
||||
|
||||
@ApiOperation("根据Sid获取库存实体")
|
||||
@PostMapping("/fetchEntityBySid")
|
||||
ResultBean<WarehouseInventory> fetchEntityBySid(@RequestParam("sid") String sid) {
|
||||
return WarehouseInventoryService.fetchEntityBySid(sid);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -41,4 +41,17 @@ public class WarehouseOutBillRest {
|
||||
ResultBean<WarehouseOutBillDetailsVo> details(@RequestParam("sid") String sid) {
|
||||
return wmsOutBillService.details(sid);
|
||||
}
|
||||
@ApiOperation("选择商品分页列表")
|
||||
@PostMapping("/getInventoryList")
|
||||
ResultBean<PagerVo<WarehouseOutBillInventoryVo>> getInventoryList(@RequestBody PagerQuery<WarehouseOutBillInventoryQuery> pagerQuery) {
|
||||
ResultBean<PagerVo<WarehouseOutBillInventoryVo>> rb = ResultBean.fireFail();
|
||||
PagerVo<WarehouseOutBillInventoryVo> pv = wmsOutBillService.getInventoryList(pagerQuery);
|
||||
return rb.success().setData(pv);
|
||||
}
|
||||
|
||||
@ApiOperation("确认")
|
||||
@PostMapping("/confirm")
|
||||
ResultBean confirm(@RequestBody WarehouseOutBillDto dto) {
|
||||
return wmsOutBillService.confirm(dto);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,8 +25,8 @@ public class WarehouseRackRest {
|
||||
|
||||
@ApiOperation("分页列表")
|
||||
@PostMapping("/listPage")
|
||||
public ResultBean<IPage<WarehouseRackVo>> listPage(@RequestBody WarehouseRackQuery query) {
|
||||
return wmsWarehouseRackService.listPage(query);
|
||||
public ResultBean<IPage<WarehouseRackVo>> listPage(@RequestBody PagerQuery<WarehouseRackQuery> pq) {
|
||||
return wmsWarehouseRackService.listPage(pq);
|
||||
}
|
||||
@ApiOperation("查询所有的库区")
|
||||
@GetMapping("/getAllType")
|
||||
|
||||
@@ -16,7 +16,7 @@ import org.springframework.web.bind.annotation.*;
|
||||
**/
|
||||
@Api(tags = "收货单据")
|
||||
@RestController
|
||||
@RequestMapping("/apiadmin/inventory/WmsReceiptBill")
|
||||
@RequestMapping("/apiadmin/inventory/warehousereceiptbill")
|
||||
public class WarehouseReceiptBillRest {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -16,7 +16,7 @@ import org.springframework.web.bind.annotation.*;
|
||||
**/
|
||||
@Api(tags = "上货架")
|
||||
@RestController
|
||||
@RequestMapping("/apiadmin/WmsShelfBill")
|
||||
@RequestMapping("/apiadmin/warehouseshelfbill")
|
||||
public class WarehouseShelfBillRest {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -16,6 +16,7 @@ public class WarehouseAreaQuery implements Query {
|
||||
private String code;//编码
|
||||
private String warehouseSid;//仓库
|
||||
private String areaTypeSid;//库区类型
|
||||
private String orgLevelKey;//
|
||||
|
||||
@ApiModelProperty("菜单路由")
|
||||
private String menuUrl;
|
||||
@@ -23,6 +24,4 @@ public class WarehouseAreaQuery implements Query {
|
||||
private String orgPath;
|
||||
@ApiModelProperty("用户sid")
|
||||
private String userSid;
|
||||
private QueryWrapper<WarehouseArea> qw;
|
||||
private IPage<WarehouseArea> page;
|
||||
}
|
||||
|
||||
@@ -11,7 +11,6 @@ import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
@@ -26,8 +25,56 @@ import java.util.stream.Collectors;
|
||||
public class WarehouseAreaService extends MybatisBaseService<WarehouseAreaMapper, WarehouseArea> {
|
||||
|
||||
|
||||
public ResultBean<IPage<WarehouseAreaVo>> listPage( IPage<WarehouseArea> page , QueryWrapper<WarehouseArea> qw) {
|
||||
public ResultBean<IPage<WarehouseAreaVo>> listPage(PagerQuery<WarehouseAreaQuery> pq) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
WarehouseAreaQuery query = pq.getParams();
|
||||
QueryWrapper<WarehouseArea> qw = new QueryWrapper<>();
|
||||
|
||||
if (StringUtils.isNotBlank(query.getOrgLevelKey())) {
|
||||
//数据权限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 = query.getOrgLevelKey();
|
||||
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("a.createBySid", query.getUserSid());
|
||||
} else {
|
||||
PagerVo<WarehouseAreaVo> p = new PagerVo<>();
|
||||
return rb.success().setData(p);
|
||||
}
|
||||
} else {
|
||||
PagerVo<WarehouseAreaVo> p = new PagerVo<>();
|
||||
return rb.success().setData(p);
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getName())) {
|
||||
qw.like("a.areaName", query.getName());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getCode())) {
|
||||
qw.like("a.areaCode", query.getCode());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getWarehouseSid())) {
|
||||
qw.eq("b.sid", query.getWarehouseSid());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getAreaTypeSid())) {
|
||||
qw.eq("c.sid", query.getAreaTypeSid());
|
||||
}
|
||||
qw.ne("a.isDelete", "1");
|
||||
IPage<WarehouseArea> page = PagerUtil.queryToPage(pq);
|
||||
IPage<WarehouseAreaVo> pagging = baseMapper.listPage(page, qw);
|
||||
return rb.success().setData(pagging);
|
||||
}
|
||||
|
||||
@@ -13,13 +13,11 @@ import lombok.Data;
|
||||
@Data
|
||||
public class WarehouseAreaTypeQuery implements Query {
|
||||
private String name;
|
||||
|
||||
private String orgLevelKey;//
|
||||
@ApiModelProperty("菜单路由")
|
||||
private String menuUrl;
|
||||
@ApiModelProperty("组织全路径sid")
|
||||
private String orgPath;
|
||||
@ApiModelProperty("用户sid")
|
||||
private String userSid;
|
||||
private IPage<WarehouseAreaType> page;
|
||||
private QueryWrapper<WarehouseAreaType> qw;
|
||||
}
|
||||
|
||||
@@ -26,8 +26,46 @@ import java.util.stream.Collectors;
|
||||
public class WarehouseAreaTypeService extends MybatisBaseService<WarehouseAreaTypeMapper, WarehouseAreaType> {
|
||||
|
||||
|
||||
public ResultBean<IPage<WarehouseAreaTypeVo>> listPage(IPage<WarehouseAreaType> page, QueryWrapper<WarehouseAreaType> qw) {
|
||||
public ResultBean<IPage<WarehouseAreaTypeVo>> listPage(PagerQuery<WarehouseAreaTypeQuery> pq) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
WarehouseAreaTypeQuery query = pq.getParams();
|
||||
QueryWrapper<WarehouseAreaType> qw = new QueryWrapper<>();
|
||||
if (StringUtils.isNotBlank(query.getOrgLevelKey())) {
|
||||
//数据权限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 = query.getOrgLevelKey();
|
||||
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("a.createBySid", query.getUserSid());
|
||||
} else {
|
||||
PagerVo<WarehouseAreaTypeVo> p = new PagerVo<>();
|
||||
return rb.success().setData(p);
|
||||
}
|
||||
} else {
|
||||
PagerVo<WarehouseAreaTypeVo> p = new PagerVo<>();
|
||||
return rb.success().setData(p);
|
||||
}
|
||||
if(StringUtils.isNotBlank(query.getName())){
|
||||
qw.like("a.warehouseAreaTypeName",query.getName());
|
||||
}
|
||||
qw.ne("a.isDelete","1");
|
||||
IPage<WarehouseAreaType> page = PagerUtil.queryToPage(pq);
|
||||
IPage<WarehouseAreaTypeVo> pagging = baseMapper.listPage(page, qw);
|
||||
return rb.success().setData(pagging);
|
||||
}
|
||||
|
||||
@@ -21,8 +21,5 @@ public class WarehouseInfoQuery implements Query {
|
||||
private String orgPath;
|
||||
@ApiModelProperty("用户sid")
|
||||
private String userSid;
|
||||
|
||||
private IPage<WarehouseInfo> page;
|
||||
|
||||
private QueryWrapper<WarehouseInfo> qw;
|
||||
private String orgLevelKey;//
|
||||
}
|
||||
|
||||
@@ -36,8 +36,53 @@ public class WarehouseInfoService extends MybatisBaseService<WarehouseInfoMapper
|
||||
@Autowired
|
||||
WarehouseExtendService wmsWarehouseExtendService;
|
||||
|
||||
public ResultBean<IPage<WarehouseInfoVo>> listPage(IPage<WarehouseInfo> page, QueryWrapper<WarehouseInfo> qw) {
|
||||
public ResultBean<IPage<WarehouseInfoVo>> listPage(PagerQuery<WarehouseInfoQuery> pq) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
WarehouseInfoQuery query = pq.getParams();
|
||||
QueryWrapper<WarehouseInfo> qw = new QueryWrapper<>();
|
||||
if (StringUtils.isNotBlank(query.getOrgLevelKey())) {
|
||||
//数据权限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 = query.getOrgLevelKey();
|
||||
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("w.createBySid", query.getUserSid());
|
||||
} else {
|
||||
PagerVo<WarehouseInfoVo> p = new PagerVo<>();
|
||||
return rb.success().setData(p);
|
||||
}
|
||||
} else {
|
||||
PagerVo<WarehouseInfoVo> p = new PagerVo<>();
|
||||
return rb.success().setData(p);
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getName())) {
|
||||
qw.like("w.warehouseName", query.getName());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getCode())) {
|
||||
qw.like("w.warehouseCode", query.getCode());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getAddress())) {
|
||||
qw.like("w.address", query.getAddress());
|
||||
}
|
||||
qw.ne("isDelete",1);
|
||||
qw.orderByDesc("sortNo");
|
||||
IPage<WarehouseInfo> page = PagerUtil.queryToPage(pq);
|
||||
IPage<WarehouseInfoVo> pagging = baseMapper.listPage(page, qw);
|
||||
return rb.success().setData(pagging);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.yxt.warehouse.biz.warehouseinventory;
|
||||
|
||||
import com.yxt.common.core.vo.Vo;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Fan
|
||||
* @description
|
||||
* @date 2024/3/25 16:54
|
||||
*/
|
||||
@Data
|
||||
public class WarehouseGoodsInventoryVo implements Vo {
|
||||
|
||||
private String goodsSkuOwnSpec;//型号
|
||||
private String warehouseSid;//仓库sid
|
||||
private String warehouseName;//仓库名称
|
||||
private String warehouseRackName; //货位
|
||||
private String count;//库存数量
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.yxt.warehouse.biz.warehouseinventory;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.yxt.common.core.domain.BaseEntity;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@@ -12,8 +13,9 @@ import java.util.Date;
|
||||
* @date 2024/2/28 8:38
|
||||
*/
|
||||
@Data
|
||||
@TableName("wms_inventory")
|
||||
public class WarehouseInventory extends BaseEntity {
|
||||
|
||||
|
||||
@ApiModelProperty("批次号")
|
||||
private String batchNumber;
|
||||
@ApiModelProperty("商品ID(唯一编码,入库时生成,生成规则为商品编码+YYMMdd+4位流水)")
|
||||
@@ -40,6 +42,8 @@ public class WarehouseInventory extends BaseEntity {
|
||||
private BigDecimal pickCount;
|
||||
@ApiModelProperty("冻结量")
|
||||
private BigDecimal freezeCount;
|
||||
@ApiModelProperty("入库单价")
|
||||
private BigDecimal cost;
|
||||
@ApiModelProperty("仓库sid")
|
||||
private String warehouseSid;
|
||||
@ApiModelProperty("仓库名称")
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.yxt.warehouse.biz.warehouseinventory;
|
||||
|
||||
import com.yxt.common.core.utils.ExportEntityMap;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Fan
|
||||
* @description
|
||||
* @date 2024/4/1 14:04
|
||||
*/
|
||||
@Data
|
||||
public class WarehouseInventoryAgeExportVo {
|
||||
|
||||
@ExportEntityMap(CnName = "序号", EnName = "rankNo")
|
||||
private Integer rankNo;
|
||||
@ExportEntityMap(CnName = "商品名称", EnName = "goodsSpuName")
|
||||
private String goodsSpuName;//商品名称
|
||||
@ExportEntityMap(CnName = "商品Sku名称", EnName = "goodsSkuTitle")
|
||||
private String goodsSkuTitle;//商品Sku名称
|
||||
@ExportEntityMap(CnName = "零件号", EnName = "goodsSkuCode")
|
||||
private String goodsSkuCode;//零件号
|
||||
@ExportEntityMap(CnName = "规格型号", EnName = "goodsSkuOwnSpec")
|
||||
private String goodsSkuOwnSpec; //规格型号
|
||||
@ExportEntityMap(CnName = "计量单位", EnName = "unit")
|
||||
private String unit;//计量单位
|
||||
@ExportEntityMap(CnName = "仓库名称", EnName = "warehouseName")
|
||||
private String warehouseName;//仓库名称
|
||||
@ExportEntityMap(CnName = "库位编码", EnName = "warehouseRackCode")
|
||||
private String warehouseRackCode;//库位编码
|
||||
@ExportEntityMap(CnName = "库存数量", EnName = "count")
|
||||
private String count;//库存数量
|
||||
@ExportEntityMap(CnName = "库龄", EnName = "age")
|
||||
private String age;//库龄
|
||||
@ExportEntityMap(CnName = "入库日期", EnName = "firstInDate")
|
||||
private String firstInDate;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.yxt.warehouse.biz.warehouseinventory;
|
||||
|
||||
import com.yxt.common.core.query.Query;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Fan
|
||||
* @description
|
||||
* @date 2024/3/25 16:54
|
||||
*/
|
||||
@Data
|
||||
public class WarehouseInventoryAgeQuery implements Query {
|
||||
private String startDate;
|
||||
private String endDate;
|
||||
private String warehouseName;//仓库名称
|
||||
// @ApiModelProperty("商品类别名称")
|
||||
// private String goodsTypeName;
|
||||
// private String busTypeValue;//业务类型value(采购入库、维修出入库、销售出入库等)
|
||||
private String goodsSpuName;//商品名称
|
||||
private String goodsSkuCode;//零件号
|
||||
private String ageStart;//库龄开始
|
||||
private String ageEnd;//库龄开始
|
||||
// private String queryName; //单号,来源单号,供应商
|
||||
private String orgPath;
|
||||
private String useOrgSid;
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.yxt.warehouse.biz.warehouseinventory;
|
||||
|
||||
import com.yxt.common.core.vo.Vo;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Fan
|
||||
* @description
|
||||
* @date 2024/3/25 16:54
|
||||
*/
|
||||
@Data
|
||||
public class WarehouseInventoryAgeVo implements Vo {
|
||||
|
||||
private String sid;
|
||||
private String goodsSpuName;//商品名称
|
||||
private String goodsSkuTitle;//商品Sku名称
|
||||
private String goodsSkuCode;//零件号
|
||||
private String goodsSkuOwnSpec; //规格型号
|
||||
private String unit;//计量单位
|
||||
private String warehouseName;//仓库名称
|
||||
// private String warehouseArea;//库区名称
|
||||
private String warehouseRackCode;//库位编码
|
||||
private String count;//库存数量
|
||||
private String age;//库龄
|
||||
//来源单号
|
||||
@ApiModelProperty("首次入库日期-计算库龄的依据")
|
||||
private String firstInDate;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.yxt.warehouse.biz.warehouseinventory;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
* @author: dimengzhe
|
||||
* @date: 2024/3/21
|
||||
**/
|
||||
@Data
|
||||
public class WarehouseInventoryAlloSelectList {
|
||||
|
||||
//sid
|
||||
private String sid;
|
||||
//商品名称
|
||||
private String goodsSpuName;
|
||||
//零件号
|
||||
private String goodsSkuCode;
|
||||
//规格
|
||||
private String goodsSkuOwnSpec;
|
||||
//车型
|
||||
private String carModel;
|
||||
//商品单位
|
||||
private String unit;
|
||||
//仓库sid
|
||||
private String warehouseSid;
|
||||
//仓库名称
|
||||
private String warehouseName;
|
||||
//库位sid
|
||||
private String warehouseRackSid;
|
||||
//库位编码
|
||||
private String warehouseRackCode;
|
||||
//库位名称
|
||||
private String areaName;
|
||||
//含税价
|
||||
private String taxPrice;
|
||||
//库存数量
|
||||
private String count;
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.yxt.warehouse.biz.warehouseinventory;
|
||||
|
||||
import com.yxt.common.core.query.Query;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
* @author: dimengzhe
|
||||
* @date: 2024/3/21
|
||||
**/
|
||||
@Data
|
||||
public class WarehouseInventoryAlloSelectQuery implements Query {
|
||||
|
||||
//组织sid
|
||||
private String orgSid;
|
||||
//商品名称
|
||||
private String goodsName;
|
||||
//商品类别sid
|
||||
private String goodsTypeSid;
|
||||
//商品拼音
|
||||
private String goodsPY;
|
||||
//品牌sid
|
||||
private String brandSid;
|
||||
//零件号
|
||||
private String goodsSkuCode;
|
||||
//规格
|
||||
private String title;
|
||||
//其他查询条件
|
||||
private String otherQuery;
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.yxt.warehouse.biz.warehouseinventory;
|
||||
|
||||
import com.yxt.common.core.query.Query;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
* @author: dimengzhe
|
||||
* @date: 2024/3/19
|
||||
**/
|
||||
@Data
|
||||
public class WarehouseInventoryBillListQuery implements Query {
|
||||
//创建时间开始
|
||||
private String createTimeStart;
|
||||
//创建时间结束
|
||||
private String createTimeEnd;
|
||||
//业务类型
|
||||
private String busTypeKey;
|
||||
|
||||
private String sid;
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
package com.yxt.warehouse.biz.warehouseinventory;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
* @author: dimengzhe
|
||||
* @date: 2024/3/19
|
||||
**/
|
||||
@Data
|
||||
public class WarehouseInventoryBillListVo {
|
||||
|
||||
//商品名称
|
||||
private String goodsSpuName;
|
||||
//商品标题
|
||||
private String goodsSkuTitle;
|
||||
//商品编码
|
||||
private String goodsSkuCode;
|
||||
//规格型号
|
||||
private String goodsSkuOwnSpec;
|
||||
//计量单位
|
||||
private String unit;
|
||||
//仓库名称
|
||||
private String warehouseName;
|
||||
|
||||
//库区名称
|
||||
private String warehouseArea;
|
||||
//货架名称
|
||||
private String warehouseRackName;
|
||||
//业务类型
|
||||
private String busTypeValue;
|
||||
//单位成本
|
||||
private String cost;
|
||||
//销售价1
|
||||
private String price1;
|
||||
//销售价2:
|
||||
private String price2;
|
||||
//科目
|
||||
private String subject;
|
||||
//制单人
|
||||
private String createByName;
|
||||
//创建时间
|
||||
private String createTime;
|
||||
|
||||
//单号
|
||||
private String billNo;
|
||||
//来源单号
|
||||
private String sourceBillNo;
|
||||
//供应商
|
||||
private String billObjName;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package com.yxt.warehouse.biz.warehouseinventory;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.yxt.common.core.dto.Dto;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author wangpengfei
|
||||
* @date 2024/2/26 13:38
|
||||
*/
|
||||
@Data
|
||||
public class WarehouseInventoryDto implements Dto {
|
||||
private String id;
|
||||
private String sid;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date createTime;
|
||||
private String remarks;
|
||||
private String isEnable;
|
||||
private String goodsID;//商品ID(唯一编码,入库时生成)
|
||||
private String goodsSid;//商品sid
|
||||
private String billSid;//入库单sid
|
||||
private String billDetailSid;//入库单明细sid
|
||||
private String price1;//销售价格1
|
||||
private String price2;//销售价格2
|
||||
private String price3;//销售价格3
|
||||
private String price4;//销售价格4
|
||||
private String price5;//销售价格5
|
||||
private String unit;//计量单位
|
||||
private String count;//库存数量
|
||||
private String minimumPrice;//销售底价
|
||||
private String freePrice;//三包价格
|
||||
private String firstMaintainPrice;//首保价格
|
||||
private String warehouseSid;//仓库sid
|
||||
private String warehouseName;//仓库名称
|
||||
private String warehouseArea;//货位
|
||||
private String isShowDiscount;//是否显示折扣标志
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date firstInDate;//首次入库日期-计算库龄的依据
|
||||
private String lockCount;//锁定数量,计算字段,出库申请通过,但未实际出库
|
||||
private String sortNo;//排序
|
||||
private String useOrgSid;//使用组织sid
|
||||
private String createOrgSid;//创建组织sid
|
||||
|
||||
private String goodSpuSid;
|
||||
private String goodsSkuSid;
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
package com.yxt.warehouse.biz.warehouseinventory;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
* @author: dimengzhe
|
||||
* @date: 2024/3/21
|
||||
**/
|
||||
@Data
|
||||
public class WarehouseInventoryHandleSelectList {
|
||||
|
||||
//商品ID
|
||||
private String goodsID;
|
||||
//商品名称
|
||||
private String goodsSpuName;
|
||||
//图号
|
||||
private String goodsSkuCode;
|
||||
//供应商
|
||||
private String supplierName;
|
||||
//规格
|
||||
private String goodsSkuOwnSpec;
|
||||
//商品单位
|
||||
private String unit;
|
||||
//仓库sid
|
||||
private String warehouseSid;
|
||||
//仓库名称
|
||||
private String warehouseName;
|
||||
//库位sid
|
||||
private String warehouseRackSid;
|
||||
//库位编码
|
||||
private String warehouseRackCode;
|
||||
//库存数量
|
||||
private String count;
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.yxt.warehouse.biz.warehouseinventory;
|
||||
|
||||
import com.yxt.common.core.query.Query;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
* @author: dimengzhe
|
||||
* @date: 2024/3/21
|
||||
**/
|
||||
@Data
|
||||
public class WarehouseInventoryHandleSelectQuery implements Query {
|
||||
|
||||
//组织sid
|
||||
private String orgSid;
|
||||
//商品名称
|
||||
private String goodsName;
|
||||
//图号
|
||||
private String goodsSkuCode;
|
||||
//仓库
|
||||
private String warehouseName;
|
||||
//库位编码
|
||||
private String warehouseRackCode;
|
||||
//供应商
|
||||
private String supplierName;
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.yxt.warehouse.biz.warehouseinventory;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
* @author: dimengzhe
|
||||
* @date: 2024/3/18
|
||||
**/
|
||||
@Data
|
||||
public class WarehouseInventoryInitVo {
|
||||
|
||||
private String sid;
|
||||
|
||||
//仓库
|
||||
private String warehouseName;
|
||||
//供应商
|
||||
private String billObjName;
|
||||
//最近采购时间
|
||||
//最近销售时间
|
||||
//数量
|
||||
private String count;
|
||||
//进价
|
||||
//税额
|
||||
//含税价
|
||||
//销售价格1
|
||||
private String price1;
|
||||
//销售价格2
|
||||
private String price2;
|
||||
//销售价格3
|
||||
private String price3;
|
||||
//销售价格4
|
||||
private String price4;
|
||||
//销售价格5
|
||||
private String price5;
|
||||
//销售底价
|
||||
private String minimumPrice;
|
||||
//货位
|
||||
private String warehouseArea;
|
||||
//折扣标志
|
||||
private int isShowDiscount;
|
||||
//三包价格
|
||||
private String freePrice;
|
||||
//首保价格
|
||||
private String firstMaintainPrice;
|
||||
//排序
|
||||
private int sortNo;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.yxt.warehouse.biz.warehouseinventory;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
* @author: dimengzhe
|
||||
* @date: 2024/3/21
|
||||
**/
|
||||
@Data
|
||||
public class WarehouseInventoryInvenSelectList {
|
||||
|
||||
//sid
|
||||
private String sid;
|
||||
//商品名称
|
||||
private String goodsSpuName;
|
||||
//商品编码
|
||||
private String goodsSkuCode;
|
||||
//型号
|
||||
private String goodsSkuOwnSpec;
|
||||
//商品单位
|
||||
private String unit;
|
||||
//仓库sid
|
||||
private String warehouseSid;
|
||||
//仓库名称
|
||||
private String warehouseName;
|
||||
//库位sid
|
||||
private String warehouseRackSid;
|
||||
//库位编码
|
||||
private String warehouseRackCode;
|
||||
//库位名称
|
||||
private String areaName;
|
||||
//账面数量
|
||||
private String count;
|
||||
//销售单价
|
||||
private String salesPrice;
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.yxt.warehouse.biz.warehouseinventory;
|
||||
|
||||
import com.yxt.common.core.query.Query;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
* @author: dimengzhe
|
||||
* @date: 2024/3/21
|
||||
**/
|
||||
@Data
|
||||
public class WarehouseInventoryInvenSelectQuery implements Query {
|
||||
|
||||
//组织sid
|
||||
private String orgSid;
|
||||
//商品名称
|
||||
private String goodsName;
|
||||
//商品类别sid
|
||||
private String goodsTypeSid;
|
||||
//商品拼音
|
||||
private String goodsPY;
|
||||
//品牌sid
|
||||
private String brandSid;
|
||||
//零件号
|
||||
private String goodsSkuCode;
|
||||
//规格
|
||||
private String title;
|
||||
//其他查询条件
|
||||
private String otherQuery;
|
||||
}
|
||||
@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author wangpengfei
|
||||
* @date 2024/2/26 13:40
|
||||
@@ -16,4 +18,38 @@ public interface WarehouseInventoryMapper extends BaseMapper<WarehouseInventory>
|
||||
|
||||
IPage<WarehouseInventoryVo> listPage(IPage<WarehouseInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WarehouseInventory> qw);
|
||||
|
||||
WarehouseInventoryVo initialization(@Param("sid") String sid);
|
||||
|
||||
int updatePrice1(@Param("price") String price, @Param("list") List<String> stringList);
|
||||
|
||||
int updatePrice2(@Param("price") String price, @Param("list") List<String> stringList);
|
||||
|
||||
int updatePrice3(@Param("price") String price, @Param("list") List<String> stringList);
|
||||
|
||||
int updatePrice4(@Param("price") String price, @Param("list") List<String> stringList);
|
||||
|
||||
int updatePrice5(@Param("price") String price, @Param("list") List<String> stringList);
|
||||
|
||||
IPage<WarehouseInventoryBillListVo> getBillList(IPage<WarehouseInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WarehouseInventory> qw, @Param("sid") String sid);
|
||||
|
||||
List<WarehouseInventoryVoExcelVo> listExcel(@Param(Constants.WRAPPER) QueryWrapper<WarehouseInventoryVoExcelVo> qw);
|
||||
|
||||
IPage<WarehouseInventorySalesVo> listPageSales(IPage<WarehouseInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WarehouseInventory> qw);
|
||||
|
||||
IPage<WarehouseInventoryPackageVo> getPackageGoodsVo(IPage<WarehouseInventory> page,@Param(Constants.WRAPPER) QueryWrapper<WarehouseInventory> qw);
|
||||
|
||||
IPage<WarehouseInventoryAgeVo> inventoryAgeList(IPage<WarehouseInventory> page,@Param(Constants.WRAPPER) QueryWrapper<WarehouseInventory> qw);
|
||||
|
||||
List<WarehouseInventoryAgeExportVo> ageExportExcel(@Param(Constants.WRAPPER) QueryWrapper<WarehouseInventory> qw);
|
||||
|
||||
WarehouseGoodsInventoryVo selectInvenBySkuSid(String skuSid);
|
||||
|
||||
IPage<WarehouseInventoryInvenSelectList> invenGoodsListPage(IPage<WarehouseInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WarehouseInventory> qw);
|
||||
|
||||
IPage<WarehouseInventoryAlloSelectList> alloGoodsListPage(IPage<WarehouseInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WarehouseInventory> qw);
|
||||
|
||||
IPage<WarehouseInventoryReturnSelectList> returnGoodsListPage(IPage<WarehouseInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WarehouseInventory> qw);
|
||||
|
||||
IPage<WarehouseInventoryHandleSelectList> handleGoodsListPage(IPage<WarehouseInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WarehouseInventory> qw);
|
||||
|
||||
}
|
||||
|
||||
@@ -6,20 +6,286 @@
|
||||
|
||||
<select id="listPage" resultType="com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryVo">
|
||||
select a.goodsID,
|
||||
a.sid,
|
||||
a.goodsSpuName,
|
||||
a.goodsSkuCode,
|
||||
a.goodsSkuOwnSpec,
|
||||
a.unit,
|
||||
a.warehouseName,
|
||||
a.warehouseRackCode,
|
||||
a.count,
|
||||
a.allocateCount,
|
||||
a.batchNumber,
|
||||
DATE_FORMAT(a.firstInDate, '%Y-%m-%d') as firstInDate
|
||||
a.sid,
|
||||
a.goodsSpuName,
|
||||
a.goodsSkuCode,
|
||||
a.goodsSkuOwnSpec,
|
||||
a.unit,
|
||||
a.warehouseName,
|
||||
a.warehouseRackCode,
|
||||
a.count,
|
||||
a.allocateCount,
|
||||
a.batchNumber,
|
||||
DATE_FORMAT(a.firstInDate, '%Y-%m-%d') as firstInDate
|
||||
from warehouse_inventory a
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
</select>
|
||||
<select id="initialization" resultType="com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryVo">
|
||||
select a.*,
|
||||
b.goodsName as goodsName
|
||||
from warehouse_inventory a
|
||||
left join Warehouse_goods b on b.sid = a.goodsSid
|
||||
where a.sid = #{sid}
|
||||
</select>
|
||||
|
||||
<update id="updatePrice1">
|
||||
update warehouse_inventory
|
||||
set price1 = #{price} where sid in
|
||||
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
<update id="updatePrice2">
|
||||
update warehouse_inventory
|
||||
set price2 = #{price} where sid in
|
||||
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
<update id="updatePrice3">
|
||||
update warehouse_inventory
|
||||
set price3 = #{price} where sid in
|
||||
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
<update id="updatePrice4">
|
||||
update warehouse_inventory
|
||||
set price4 = #{price} where sid in
|
||||
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
<update id="updatePrice5">
|
||||
update warehouse_inventory
|
||||
set price5 = #{price} where sid in
|
||||
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
<select id="getBillList" resultType="com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryBillListVo">
|
||||
select *
|
||||
from (select wd.goodsSpuName,
|
||||
wd.goodsSkuTitle,
|
||||
wd.goodsSkuCode,
|
||||
wd.goodsSkuOwnSpec,
|
||||
wd.unit,
|
||||
wd.warehouseName,
|
||||
wd.warehouseArea,
|
||||
wd.warehouseRackName,
|
||||
wb.busTypeValue,
|
||||
wd.cost,
|
||||
wd.price1,
|
||||
wd.price2,
|
||||
wd.subject,
|
||||
wb.createByName,
|
||||
DATE_FORMAT(wb.createTime, '%Y-%m-%d') as createTime,
|
||||
wb.billNo,
|
||||
wb.sourceBillSid sourceBillNo,
|
||||
wb.billObjName,
|
||||
wb.busTypeKey
|
||||
from warehouse_inventory a
|
||||
left join warehouse_inventory_bill wb on wb.sid = a.billSid
|
||||
left join warehouse_inventory_bill_detail wd on wd.sid = a.billDetailSid
|
||||
where a.sid = #{sid}
|
||||
union all
|
||||
select wd.goodsSpuName,
|
||||
wd.goodsSkuTitle,
|
||||
wd.goodsSkuCode,
|
||||
wd.goodsSkuOwnSpec,
|
||||
wd.unit,
|
||||
wd.warehouseName,
|
||||
wd.warehouseArea,
|
||||
wd.warehouseRackName,
|
||||
wb.busTypeValue,
|
||||
wd.cost,
|
||||
wd.price1,
|
||||
wd.price2,
|
||||
wd.subject,
|
||||
wb.createByName,
|
||||
DATE_FORMAT(wb.createTime, '%Y-%m-%d') as createTime,
|
||||
wb.billNo,
|
||||
wb.sourceBillSid sourceBillNo,
|
||||
wb.billObjName,
|
||||
wb.busTypeKey
|
||||
from warehouse_inventory_bill_detail wd
|
||||
left join warehouse_inventory_bill wb on wb.sid = wd.billSid
|
||||
where wd.inventorySid = #{sid}) b
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="listExcel" resultType="com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryVoExcelVo">
|
||||
select a.*,
|
||||
(@rank := @rank + 1) rankNo
|
||||
from (SELECT @rank := 0) t,
|
||||
warehouse_inventory a
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
</select>
|
||||
<select id="listPageSales" resultType="com.yxt.warehouse.biz.warehouseinventory.WarehouseInventorySalesVo">
|
||||
SELECT i.sid AS inventorySid,
|
||||
i.goodsID,
|
||||
i.goodSpuSid,
|
||||
i.goodsSpuName,
|
||||
i.goodsSkuSid,
|
||||
i.goodsSkuTitle,
|
||||
i.goodsSkuCode,
|
||||
i.unit,
|
||||
i.warehouseSid,
|
||||
i.warehouseName AS warehouse,
|
||||
i.count as currentCount,
|
||||
i.minimumPrice as price
|
||||
FROM warehouse_inventory AS i
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
</select>
|
||||
<select id="getPackageGoodsVo" resultType="com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryPackageVo">
|
||||
SELECT v.goodSpuSid goodsSid,
|
||||
v.goodsSpuName goodsName,
|
||||
v.goodsSkuCode goodsCode,
|
||||
v.unit,
|
||||
v.goodsSkuOwnSpec specification,
|
||||
v.count,
|
||||
v.minimumPrice price,
|
||||
v.warehouseName warehouse,
|
||||
v.warehouseSid,
|
||||
v.warehouseArea,
|
||||
v.remarks,
|
||||
v.freePrice
|
||||
FROM warehouse_inventory AS v
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
</select>
|
||||
<select id="inventoryAgeList" resultType="com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryAgeVo">
|
||||
SELECT sid,
|
||||
goodsSpuName,
|
||||
goodsSkuTitle,
|
||||
goodsSkuCode,
|
||||
goodsSkuOwnSpec,
|
||||
unit,
|
||||
warehouseName,
|
||||
warehouseRackCode,
|
||||
count,
|
||||
date_format (w.firstInDate,'%Y-%m-%d') as firstInDate,
|
||||
useOrgSid,
|
||||
DATEDIFF(NOW(), firstInDate) age
|
||||
FROM warehouse_inventory as w
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
</select>
|
||||
<select id="ageExportExcel" resultType="com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryAgeExportVo">
|
||||
SELECT
|
||||
( @rank := @rank + 1 ) rankNo,
|
||||
w.sid,
|
||||
w.goodsSpuName,
|
||||
w.goodsSkuTitle,
|
||||
w.goodsSkuCode,
|
||||
w.goodsSkuOwnSpec,
|
||||
w.unit,
|
||||
w.warehouseName,
|
||||
w.warehouseRackCode,
|
||||
w.count,
|
||||
date_format (w.firstInDate,'%Y-%m-%d') as firstInDate,
|
||||
DATEDIFF(NOW(), w.firstInDate) as age
|
||||
FROM warehouse_inventory as w,
|
||||
( SELECT @rank := 0 ) t
|
||||
<where>${ew.sqlSegment}</where>
|
||||
</select>
|
||||
|
||||
<select id="selectInvenBySkuSid" resultType="com.yxt.warehouse.biz.warehouseinventory.WarehouseGoodsInventoryVo">
|
||||
SELECT goodsSkuOwnSpec,
|
||||
warehouseSid,
|
||||
warehouseName,
|
||||
warehouseRackName,
|
||||
COUNT
|
||||
FROM warehouse_inventory
|
||||
WHERE goodsSkuSid = #{skuSid}
|
||||
</select>
|
||||
|
||||
<select id="invenGoodsListPage" resultType="com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryInvenSelectList">
|
||||
SELECT wi.sid,
|
||||
wi.goodsSpuName,
|
||||
wi.goodsSkuCode,
|
||||
wi.goodsSkuOwnSpec,
|
||||
wi.unit,
|
||||
wi.warehouseSid,
|
||||
wi.warehouseName,
|
||||
wi.warehouseRackSid,
|
||||
wi.warehouseRackCode,
|
||||
wwa.areaName,
|
||||
wi.count
|
||||
FROM warehouse_inventory wi
|
||||
LEFT JOIN warehouse_warehouse_area wwa
|
||||
ON wi.`warehouseRackSid` = wwa.`sid`
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="alloGoodsListPage" resultType="com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryAlloSelectList">
|
||||
SELECT wi.sid,
|
||||
wi.goodsSpuName,
|
||||
wi.goodsSkuCode,
|
||||
wi.goodsSkuOwnSpec,
|
||||
wi.unit,
|
||||
wi.warehouseSid,
|
||||
wi.warehouseName,
|
||||
wi.warehouseRackSid,
|
||||
wi.warehouseRackCode,
|
||||
wwa.areaName,
|
||||
wi.count
|
||||
FROM warehouse_inventory wi
|
||||
LEFT JOIN Warehouse_warehouse_area wwa
|
||||
ON wi.`warehouseRackSid` = wwa.`sid`
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="returnGoodsListPage" resultType="com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryReturnSelectList">
|
||||
SELECT
|
||||
wi.goodsSpuName,
|
||||
wi.goodsSkuCode,
|
||||
wi.goodsSkuOwnSpec,
|
||||
wi.unit
|
||||
FROM
|
||||
warehouse_inventory wi
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="handleGoodsListPage" resultType="com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryHandleSelectList">
|
||||
SELECT
|
||||
wi.goodsID,
|
||||
wi.goodsSpuName,
|
||||
wi.goodsSkuCode,
|
||||
wi.goodsSkuOwnSpec,
|
||||
wi.unit,
|
||||
wi.warehouseSid,
|
||||
wi.warehouseName,
|
||||
wi.warehouseRackSid,
|
||||
wi.warehouseRackCode,
|
||||
wi.count,
|
||||
wb.supplierName
|
||||
FROM warehouse_inventory wi
|
||||
LEFT JOIN warehouse_inventory_batch wb
|
||||
ON wi.sid = wb.inventorySid
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.yxt.warehouse.biz.warehouseinventory;
|
||||
|
||||
import com.yxt.common.core.query.Query;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Fan
|
||||
* @description
|
||||
* @date 2024/3/12 15:33
|
||||
*/
|
||||
@Data
|
||||
public class WarehouseInventoryPackageQuery implements Query {
|
||||
private String orgPath;
|
||||
@ApiModelProperty("商品名称")
|
||||
private String goodsName; // 商品名称
|
||||
@ApiModelProperty("零件号")
|
||||
private String goodsCode; // 商品编码(图号)
|
||||
@ApiModelProperty("库存")
|
||||
private String kuCun;
|
||||
@ApiModelProperty("仓库名称")
|
||||
private String warehouse; // 仓库名称
|
||||
@ApiModelProperty("货位")
|
||||
private String warehouseArea;
|
||||
@ApiModelProperty("商品分类")
|
||||
private String goodsTypeName;
|
||||
private String name;
|
||||
private String useOrgSid;
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package com.yxt.warehouse.biz.warehouseinventory;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Fan
|
||||
* @description
|
||||
* @date 2024/3/12 10:00
|
||||
*/
|
||||
@Data
|
||||
public class WarehouseInventoryPackageVo {
|
||||
|
||||
@ApiModelProperty("商品sid")
|
||||
private String goodsSid; // 商品sid
|
||||
@ApiModelProperty("商品名称")
|
||||
private String goodsName; // 商品名称
|
||||
@ApiModelProperty("商品编码(图号)")
|
||||
private String goodsCode; // 商品编码(图号)
|
||||
@ApiModelProperty("车型sid")
|
||||
private String goodsModelSid; // 车型sid
|
||||
@ApiModelProperty("车型")
|
||||
private String goodsModel; // 车型
|
||||
@ApiModelProperty("单位")
|
||||
private String unit; // 单位
|
||||
@ApiModelProperty("规格")
|
||||
private String specification; // 规格
|
||||
@ApiModelProperty("数量")
|
||||
private String count; // 数量
|
||||
@ApiModelProperty("销售价")
|
||||
private String price; // 销售价
|
||||
@ApiModelProperty("仓库名称")
|
||||
private String warehouse; // 仓库名称
|
||||
@ApiModelProperty("仓库sid")
|
||||
private String warehouseSid; // 仓库sid
|
||||
@ApiModelProperty("货位")
|
||||
private String warehouseArea;
|
||||
@ApiModelProperty("备注")
|
||||
private String remarks; // 备注
|
||||
@ApiModelProperty("三包价")
|
||||
private String freePrice; // 三包价
|
||||
@ApiModelProperty("商品分类")
|
||||
private String goodsTypeName;
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.yxt.warehouse.biz.warehouseinventory;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
* @author: dimengzhe
|
||||
* @date: 2024/3/21
|
||||
**/
|
||||
@Data
|
||||
public class WarehouseInventoryReturnSelectList {
|
||||
|
||||
//商品名称
|
||||
private String goodsName;
|
||||
//零件号
|
||||
private String goodsSkuCode;
|
||||
//规格
|
||||
private String goodsSkuOwnSpec;
|
||||
//单位
|
||||
private String unit;
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.yxt.warehouse.biz.warehouseinventory;
|
||||
|
||||
import com.yxt.common.core.query.Query;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
* @author: dimengzhe
|
||||
* @date: 2024/3/21
|
||||
**/
|
||||
@Data
|
||||
public class WarehouseInventoryReturnSelectQuery implements Query {
|
||||
|
||||
//组织sid
|
||||
private String orgSid;
|
||||
//商品名称
|
||||
private String goodsName;
|
||||
//商品类别sid
|
||||
private String goodsTypeSid;
|
||||
//商品拼音
|
||||
private String goodsPY;
|
||||
//品牌sid
|
||||
private String brandSid;
|
||||
//零件号
|
||||
private String goodsSkuCode;
|
||||
//规格
|
||||
private String title;
|
||||
//其他查询条件
|
||||
private String otherQuery;
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.yxt.warehouse.biz.warehouseinventory;
|
||||
|
||||
import com.yxt.common.core.query.Query;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Fan
|
||||
* @description
|
||||
* @date 2024/3/20 15:14
|
||||
*/
|
||||
@Data
|
||||
public class WarehouseInventorySalesQuery implements Query {
|
||||
|
||||
private String queryName; //名称
|
||||
private String useOrgSid;
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.yxt.warehouse.biz.warehouseinventory;
|
||||
|
||||
import com.yxt.common.core.vo.Vo;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Fan
|
||||
* @description
|
||||
* @date 2024/3/20 15:14
|
||||
*/
|
||||
@Data
|
||||
public class WarehouseInventorySalesVo implements Vo {
|
||||
|
||||
private String inventorySid;
|
||||
private String goodsID;
|
||||
private String goodSpuSid;//商品基础信息sid
|
||||
private String goodsSpuName;//商品名称
|
||||
private String goodsSkuSid;//商品Skusid
|
||||
private String goodsSkuTitle;//商品Sku名称
|
||||
private String goodsSkuCode;//商品编码(图号)
|
||||
private String unit;//计量单位
|
||||
private String currentCount;//库存数量
|
||||
private String warehouseSid;//仓库sid
|
||||
private String warehouse;//仓库名称
|
||||
private String price;//销售价
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.yxt.warehouse.biz.warehouseinventory;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
@@ -11,7 +12,10 @@ import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -45,23 +49,104 @@ public class WarehouseInventoryService extends MybatisBaseService<WarehouseInven
|
||||
return p;
|
||||
}
|
||||
|
||||
public ResultBean<String> saveWmsInventory(WarehouseInventorySaveDto dto) {
|
||||
/**
|
||||
* 入库
|
||||
*
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
public ResultBean<WarehouseInventory> warehousing(WarehouseInventoryDto dto) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
WarehouseInventory WarehouseInventory = baseMapper.selectOne(new QueryWrapper<WarehouseInventory>().eq("goodsSid", dto.getGoodsSid()).eq("warehouseSid", dto.getWarehouseSid()));
|
||||
if (null == WarehouseInventory) {
|
||||
WarehouseInventory Warehouse = new WarehouseInventory();
|
||||
BeanUtil.copyProperties(dto, Warehouse, "sid", "id");
|
||||
Warehouse.setFirstInDate(new Date());
|
||||
baseMapper.insert(Warehouse);
|
||||
return rb.success().setData(Warehouse);
|
||||
} else {
|
||||
WarehouseInventory.setCount(new BigDecimal(Double.valueOf(dto.getCount()) + Double.valueOf(WarehouseInventory.getCount().toString())));
|
||||
baseMapper.updateById(WarehouseInventory);
|
||||
}
|
||||
return rb.success().setData(WarehouseInventory);
|
||||
}
|
||||
|
||||
/**
|
||||
* 出库
|
||||
*
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
public ResultBean<WarehouseInventory> outWarehousing(WarehouseInventoryDto dto) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
WarehouseInventory WarehouseInventory = baseMapper.selectOne(new QueryWrapper<WarehouseInventory>().eq("goodsSid", dto.getGoodsSid()).eq("warehouseSid", dto.getWarehouseSid()));
|
||||
double exisInventory = Double.valueOf(WarehouseInventory.getCount().toString());
|
||||
double out = Double.valueOf(dto.getCount());
|
||||
if (null == WarehouseInventory) {
|
||||
return rb.setMsg("此仓库没有相应的商品库存");
|
||||
}
|
||||
if (exisInventory < -out) {
|
||||
return rb.setMsg("库存不足");
|
||||
}
|
||||
WarehouseInventory.setCount(new BigDecimal(exisInventory + out));
|
||||
baseMapper.updateById(WarehouseInventory);
|
||||
return rb.success().setData(WarehouseInventory);
|
||||
}
|
||||
|
||||
public ResultBean<String> saveOrUpdate(WarehouseInventoryDto dto) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
String sid = "";
|
||||
if (StringUtils.isNotBlank(dto.getSid())) {
|
||||
sid = dto.getSid();
|
||||
WarehouseInventory WarehouseWarehouseRack = fetchBySid(dto.getSid());
|
||||
BeanUtil.copyProperties(dto, WarehouseWarehouseRack, "id", "sid");
|
||||
baseMapper.updateById(WarehouseWarehouseRack);
|
||||
} else {
|
||||
WarehouseInventory WarehouseWarehouseRack = new WarehouseInventory();
|
||||
sid = WarehouseWarehouseRack.getSid();
|
||||
BeanUtil.copyProperties(dto, WarehouseWarehouseRack, "id", "sid");
|
||||
WarehouseWarehouseRack.setCreateTime(new DateTime());
|
||||
baseMapper.insert(WarehouseWarehouseRack);
|
||||
}
|
||||
return rb.success().setMsg("成功");
|
||||
}
|
||||
|
||||
public ResultBean<WarehouseInventoryVo> initialization(String sid) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
WarehouseInventoryVo vo = baseMapper.initialization(sid);
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean delete(String sid) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
WarehouseInventory WarehouseWarehouseRack = fetchBySid(sid);
|
||||
if (null != WarehouseWarehouseRack) {
|
||||
baseMapper.deleteById(WarehouseWarehouseRack.getId());
|
||||
}
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
public ResultBean updateIsEnable(String sid, String isEnable) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
WarehouseInventory WarehouseWarehouseRack = fetchBySid(sid);
|
||||
if (null != WarehouseWarehouseRack) {
|
||||
WarehouseWarehouseRack.setIsEnable(Integer.parseInt(isEnable));
|
||||
baseMapper.updateById(WarehouseWarehouseRack);
|
||||
}
|
||||
return rb.success().setMsg("成功");
|
||||
}
|
||||
|
||||
public ResultBean updateWarehouseInventory(WarehouseInventoryUpdateDto dto) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
String sid = dto.getSid();
|
||||
if (StringUtils.isBlank(sid)) {
|
||||
WarehouseInventory wmsInventory = new WarehouseInventory();
|
||||
BeanUtil.copyProperties(dto, wmsInventory, "sid");
|
||||
sid = wmsInventory.getSid();
|
||||
baseMapper.insert(wmsInventory);
|
||||
} else {
|
||||
WarehouseInventory wmsInventory = fetchBySid(sid);
|
||||
if (wmsInventory == null) {
|
||||
return rb.setMsg("该商品库存不存在");
|
||||
}
|
||||
BeanUtil.copyProperties(dto, wmsInventory, "sid");
|
||||
baseMapper.updateById(wmsInventory);
|
||||
WarehouseInventory WarehouseInventory = fetchBySid(sid);
|
||||
if (WarehouseInventory == null) {
|
||||
return rb.setMsg("该库存信息不存在");
|
||||
}
|
||||
return rb.success().setData(sid);
|
||||
BeanUtil.copyProperties(dto, WarehouseInventory, "sid");
|
||||
baseMapper.updateById(WarehouseInventory);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
public ResultBean delAllBySids(String[] sids) {
|
||||
@@ -70,4 +155,300 @@ public class WarehouseInventoryService extends MybatisBaseService<WarehouseInven
|
||||
delBySids(sids);
|
||||
return rb.success().setMsg("删除成功");
|
||||
}
|
||||
|
||||
/* public ResultBean<WarehouseInventoryInitVo> init(String sid) {
|
||||
ResultBean<WarehouseInventoryInitVo> rb = ResultBean.fireFail();
|
||||
WarehouseInventory WarehouseInventory = fetchBySid(sid);
|
||||
if (WarehouseInventory == null) {
|
||||
return rb.setData(new WarehouseInventoryInitVo()).setMsg("该库存信息不存在");
|
||||
}
|
||||
WarehouseInventoryInitVo WarehouseInventoryInitVo = new WarehouseInventoryInitVo();
|
||||
BeanUtil.copyProperties(WarehouseInventory, WarehouseInventoryInitVo);
|
||||
WarehouseInventoryBill WarehouseInventoryBill = WarehouseInventoryBillService.fetchBySid(WarehouseInventory.getBillSid());
|
||||
if (WarehouseInventoryBill != null) {
|
||||
WarehouseInventoryInitVo.setBillObjName(WarehouseInventoryBill.getBillObjName());
|
||||
}
|
||||
return rb.success().setData(WarehouseInventoryInitVo);
|
||||
}*/
|
||||
|
||||
/* public ResultBean updatePrice(WarehouseInventoryUpdatePrice WarehouseInventoryUpdatePrice) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<String> stringList = WarehouseInventoryUpdatePrice.getSidsList();
|
||||
stringList.removeAll(Collections.singleton(null));
|
||||
String price = WarehouseInventoryUpdatePrice.getPrice();
|
||||
if (!stringList.isEmpty()) {
|
||||
int type = WarehouseInventoryUpdatePrice.getType();
|
||||
switch (type) {
|
||||
case 1:
|
||||
baseMapper.updatePrice1(price, stringList);
|
||||
break;
|
||||
case 2:
|
||||
baseMapper.updatePrice2(price, stringList);
|
||||
break;
|
||||
case 3:
|
||||
baseMapper.updatePrice3(price, stringList);
|
||||
break;
|
||||
case 4:
|
||||
baseMapper.updatePrice4(price, stringList);
|
||||
break;
|
||||
case 5:
|
||||
baseMapper.updatePrice5(price, stringList);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return rb.success();
|
||||
}
|
||||
*/
|
||||
/* public PagerVo<WarehouseInventoryBillListVo> getBillList(PagerQuery<WarehouseInventoryBillListQuery> pagerQuery) {
|
||||
WarehouseInventoryBillListQuery query = pagerQuery.getParams();
|
||||
QueryWrapper<WarehouseInventory> qw = new QueryWrapper<>();
|
||||
if (query != null) {
|
||||
qw.apply(StringUtils.isNotBlank(query.getCreateTimeStart()), "date_format (b.createTime,'%Y-%m-%d') >= date_format('" + query.getCreateTimeStart() + "','%Y-%m-%d')").
|
||||
apply(StringUtils.isNotBlank(query.getCreateTimeEnd()), "date_format (b.createTime,'%Y-%m-%d') <= date_format('" + query.getCreateTimeEnd() + "','%Y-%m-%d')"
|
||||
);
|
||||
if (StringUtils.isNotBlank(query.getBusTypeKey())) {
|
||||
qw.eq("b.busTypeKey", query.getBusTypeKey());
|
||||
}
|
||||
}
|
||||
|
||||
IPage<WarehouseInventory> page = PagerUtil.queryToPage(pagerQuery);
|
||||
IPage<WarehouseInventoryBillListVo> pagging = baseMapper.getBillList(page, qw, query.getSid());
|
||||
PagerVo<WarehouseInventoryBillListVo> p = PagerUtil.pageToVo(pagging, null);
|
||||
return p;
|
||||
}
|
||||
*/
|
||||
public List<WarehouseInventoryVoExcelVo> listExcel(WarehouseInventoryQuery query) {
|
||||
QueryWrapper<WarehouseInventoryVoExcelVo> qw = new QueryWrapper<>();
|
||||
if (query != null) {
|
||||
if (StringUtils.isNotBlank(query.getGoodsSpuName())) {
|
||||
qw.like("goodsSpuName", query.getGoodsSpuName());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getWarehouseName())) {
|
||||
qw.like("warehouseName", query.getWarehouseName());
|
||||
}
|
||||
}
|
||||
List<WarehouseInventoryVoExcelVo> list = baseMapper.listExcel(qw);
|
||||
list.removeAll(Collections.singleton(null));
|
||||
return list;
|
||||
}
|
||||
|
||||
public ResultBean updateInventoryCount(WarehouseUpdateCountQuery query) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
String sid = query.getSid();
|
||||
WarehouseInventory inventory = fetchBySid(sid);
|
||||
if (null != inventory) {
|
||||
if (null != inventory.getCount()) {
|
||||
BigDecimal inventoryCount = inventory.getCount();
|
||||
BigDecimal count = query.getCount();
|
||||
if (query.getAddOrReduce() == 0) {
|
||||
//增加库存
|
||||
inventory.setCount(inventoryCount.add(count));
|
||||
} else if (query.getAddOrReduce() == 1) {
|
||||
//减少库存
|
||||
inventory.setCount(inventoryCount.subtract(count));
|
||||
}
|
||||
baseMapper.updateById(inventory);
|
||||
}
|
||||
}
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
public PagerVo<WarehouseInventorySalesVo> listPageSales(PagerQuery<WarehouseInventorySalesQuery> pq) {
|
||||
WarehouseInventorySalesQuery query = pq.getParams();
|
||||
QueryWrapper<WarehouseInventory> qw = new QueryWrapper<>();
|
||||
if (StringUtils.isNotBlank(query.getQueryName())) {
|
||||
qw.like("i.goodsSpuName", query.getQueryName());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getUseOrgSid())) {
|
||||
qw.like("i.useOrgSid", query.getUseOrgSid());
|
||||
}
|
||||
IPage<WarehouseInventory> page = PagerUtil.queryToPage(pq);
|
||||
IPage<WarehouseInventorySalesVo> pagging = baseMapper.listPageSales(page, qw);
|
||||
PagerVo<WarehouseInventorySalesVo> p = PagerUtil.pageToVo(pagging, null);
|
||||
return p;
|
||||
}
|
||||
|
||||
public ResultBean<PagerVo<WarehouseInventoryPackageVo>> getPackageGoodsVo(PagerQuery<WarehouseInventoryPackageQuery> pq) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
WarehouseInventoryPackageQuery query = pq.getParams();
|
||||
QueryWrapper<WarehouseInventory> qw = new QueryWrapper<>();
|
||||
if (StringUtils.isNotBlank(query.getName())) {
|
||||
qw.and(wrapper -> wrapper.like("v.goodsSpuName", query.getName())
|
||||
.or().like("v.goodsSkuCode", query.getName())
|
||||
);
|
||||
}
|
||||
//商品名称
|
||||
if (StringUtils.isNotBlank(query.getGoodsName())) {
|
||||
qw.like("v.goodsSpuName", query.getGoodsName());
|
||||
}
|
||||
//零件号
|
||||
if (StringUtils.isNotBlank(query.getGoodsCode())) {
|
||||
qw.like("v.goodsSkuCode", query.getGoodsCode());
|
||||
}
|
||||
//库存
|
||||
if (StringUtils.isNotBlank(query.getKuCun())) {
|
||||
if (query.getKuCun().equals("有库存")) {
|
||||
qw.apply("v.count > 0");
|
||||
} else if (query.getKuCun().equals("无库存")) {
|
||||
qw.apply("v.count <= 0");
|
||||
}
|
||||
}
|
||||
//仓库名称
|
||||
if (StringUtils.isNotBlank(query.getWarehouse())) {
|
||||
qw.like("v.warehouseName", query.getWarehouse());
|
||||
}
|
||||
//货位
|
||||
if (StringUtils.isNotBlank(query.getWarehouseArea())) {
|
||||
qw.like("v.warehouseArea", query.getWarehouseArea());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getUseOrgSid())) {
|
||||
qw.eq("v.useOrgSid",query.getUseOrgSid());
|
||||
}
|
||||
IPage<WarehouseInventory> page = PagerUtil.queryToPage(pq);
|
||||
IPage<WarehouseInventoryPackageVo> pagging = baseMapper.getPackageGoodsVo(page, qw);
|
||||
List<WarehouseInventoryPackageVo> records = pagging.getRecords();
|
||||
records.removeAll(Collections.singleton(null));
|
||||
PagerVo<WarehouseInventoryPackageVo> p = PagerUtil.pageToVo(pagging, null);
|
||||
return rb.success().setData(p);
|
||||
}
|
||||
|
||||
public PagerVo<WarehouseInventoryAgeVo> inventoryAgeList(PagerQuery<WarehouseInventoryAgeQuery> pq) {
|
||||
WarehouseInventoryAgeQuery query = pq.getParams();
|
||||
QueryWrapper<WarehouseInventory> qw = new QueryWrapper<>();
|
||||
if (StringUtils.isNotBlank(query.getUseOrgSid())) {
|
||||
qw.eq("w.useOrgSid", query.getUseOrgSid());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getGoodsSpuName())) {
|
||||
qw.like("w.goodsSpuName", query.getGoodsSpuName());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getWarehouseName())) {
|
||||
qw.like("w.warehouseName", query.getWarehouseName());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getGoodsSkuCode())) {
|
||||
qw.like("w.goodsSkuCode", query.getGoodsSkuCode());
|
||||
}
|
||||
qw.apply(StringUtils.isNotBlank(query.getStartDate()), "date_format (w.firstInDate,'%Y-%m-%d') >= date_format('" + query.getStartDate() + "','%Y-%m-%d')").
|
||||
apply(StringUtils.isNotBlank(query.getEndDate()), "date_format (w.firstInDate,'%Y-%m-%d') <= date_format('" + query.getEndDate() + "','%Y-%m-%d')"
|
||||
);
|
||||
qw.apply(StringUtils.isNotBlank(query.getAgeStart()), "w.age >=" + query.getAgeStart()).
|
||||
apply(StringUtils.isNotBlank(query.getAgeEnd()), "w.age <=" + query.getAgeStart()
|
||||
);
|
||||
qw.orderByDesc("w.firstInDate");
|
||||
IPage<WarehouseInventory> page = PagerUtil.queryToPage(pq);
|
||||
IPage<WarehouseInventoryAgeVo> pagging = baseMapper.inventoryAgeList(page, qw);
|
||||
PagerVo<WarehouseInventoryAgeVo> p = PagerUtil.pageToVo(pagging, null);
|
||||
return p;
|
||||
}
|
||||
|
||||
public List<WarehouseInventoryAgeExportVo> ageExportExcel(WarehouseInventoryAgeQuery query) {
|
||||
QueryWrapper<WarehouseInventory> qw = new QueryWrapper<>();
|
||||
if (StringUtils.isNotBlank(query.getUseOrgSid())) {
|
||||
qw.eq("w.useOrgSid", query.getUseOrgSid());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getGoodsSpuName())) {
|
||||
qw.like("w.goodsSpuName", query.getGoodsSpuName());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getWarehouseName())) {
|
||||
qw.like("w.warehouseName", query.getWarehouseName());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getGoodsSkuCode())) {
|
||||
qw.like("w.goodsSkuCode", query.getGoodsSkuCode());
|
||||
}
|
||||
qw.apply(StringUtils.isNotBlank(query.getStartDate()), "date_format (w.firstInDate,'%Y-%m-%d') >= date_format('" + query.getStartDate() + "','%Y-%m-%d')").
|
||||
apply(StringUtils.isNotBlank(query.getEndDate()), "date_format (w.firstInDate,'%Y-%m-%d') <= date_format('" + query.getEndDate() + "','%Y-%m-%d')"
|
||||
);
|
||||
qw.apply(StringUtils.isNotBlank(query.getAgeStart()), "w.age >=" + query.getAgeStart()).
|
||||
apply(StringUtils.isNotBlank(query.getAgeEnd()), "w.age <=" + query.getAgeStart()
|
||||
);
|
||||
qw.orderByDesc("w.firstInDate");
|
||||
List<WarehouseInventoryAgeExportVo> list = baseMapper.ageExportExcel(qw);
|
||||
return list;
|
||||
}
|
||||
|
||||
public WarehouseGoodsInventoryVo selectInvenBySkuSid(String skuSid) {
|
||||
return baseMapper.selectInvenBySkuSid(skuSid);
|
||||
}
|
||||
|
||||
public ResultBean<PagerVo<WarehouseInventoryInvenSelectList>> invenGoodsListPage(PagerQuery<WarehouseInventoryInvenSelectQuery> pq) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
WarehouseInventoryInvenSelectQuery query = pq.getParams();
|
||||
QueryWrapper<WarehouseInventory> qw = new QueryWrapper<>();
|
||||
IPage<WarehouseInventory> page = PagerUtil.queryToPage(pq);
|
||||
IPage<WarehouseInventoryInvenSelectList> pagging = baseMapper.invenGoodsListPage(page, qw);
|
||||
PagerVo<WarehouseInventoryInvenSelectList> p = PagerUtil.pageToVo(pagging, null);
|
||||
return rb.success().setData(p);
|
||||
}
|
||||
|
||||
public ResultBean<PagerVo<WarehouseInventoryAlloSelectList>> alloGoodsListPage(PagerQuery<WarehouseInventoryAlloSelectQuery> pq) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
WarehouseInventoryAlloSelectQuery query = pq.getParams();
|
||||
QueryWrapper<WarehouseInventory> qw = new QueryWrapper<>();
|
||||
IPage<WarehouseInventory> page = PagerUtil.queryToPage(pq);
|
||||
IPage<WarehouseInventoryAlloSelectList> pagging = baseMapper.alloGoodsListPage(page, qw);
|
||||
PagerVo<WarehouseInventoryAlloSelectList> p = PagerUtil.pageToVo(pagging, null);
|
||||
return rb.success().setData(p);
|
||||
}
|
||||
|
||||
public ResultBean<WarehouseInventory> fetchEntityBySid(String sid) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
WarehouseInventory inventory = fetchBySid(sid);
|
||||
return rb.success().setData(inventory);
|
||||
}
|
||||
|
||||
public ResultBean<String> saveWarehouseInventory(WarehouseInventorySaveDto dto) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
String sid = dto.getSid();
|
||||
if (StringUtils.isBlank(sid)) {
|
||||
WarehouseInventory WarehouseInventory = new WarehouseInventory();
|
||||
BeanUtil.copyProperties(dto, WarehouseInventory, "sid");
|
||||
sid = WarehouseInventory.getSid();
|
||||
baseMapper.insert(WarehouseInventory);
|
||||
} else {
|
||||
WarehouseInventory WarehouseInventory = fetchBySid(sid);
|
||||
if (WarehouseInventory == null) {
|
||||
return rb.setMsg("该商品库存不存在");
|
||||
}
|
||||
BeanUtil.copyProperties(dto, WarehouseInventory, "sid");
|
||||
baseMapper.updateById(WarehouseInventory);
|
||||
}
|
||||
return rb.success().setData(sid);
|
||||
}
|
||||
|
||||
public ResultBean<PagerVo<WarehouseInventoryReturnSelectList>> returnGoodsListPage(PagerQuery<WarehouseInventoryReturnSelectQuery> pq) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
WarehouseInventoryReturnSelectQuery query = pq.getParams();
|
||||
QueryWrapper<WarehouseInventory> qw = new QueryWrapper<>();
|
||||
IPage<WarehouseInventory> page = PagerUtil.queryToPage(pq);
|
||||
IPage<WarehouseInventoryReturnSelectList> pagging = baseMapper.returnGoodsListPage(page, qw);
|
||||
PagerVo<WarehouseInventoryReturnSelectList> p = PagerUtil.pageToVo(pagging, null);
|
||||
return rb.success().setData(p);
|
||||
}
|
||||
|
||||
public ResultBean<PagerVo<WarehouseInventoryHandleSelectList>> handleGoodsListPage(PagerQuery<WarehouseInventoryHandleSelectQuery> pq) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
WarehouseInventoryHandleSelectQuery query = pq.getParams();
|
||||
QueryWrapper<WarehouseInventory> qw = new QueryWrapper<>();
|
||||
if (StringUtils.isNotBlank(query.getGoodsName())) {
|
||||
qw.like("wi.goodsSpuName", query.getGoodsName());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getGoodsSkuCode())) {
|
||||
qw.like("wi.goodsSkuCode", query.getGoodsSkuCode());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getWarehouseName())) {
|
||||
qw.like("wi.warehouseName", query.getWarehouseName());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getWarehouseRackCode())) {
|
||||
qw.like("wi.warehouseRackCode", query.getWarehouseRackCode());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getSupplierName())) {
|
||||
qw.like("wb.supplierName", query.getSupplierName());
|
||||
}
|
||||
IPage<WarehouseInventory> page = PagerUtil.queryToPage(pq);
|
||||
IPage<WarehouseInventoryHandleSelectList> pagging = baseMapper.handleGoodsListPage(page, qw);
|
||||
PagerVo<WarehouseInventoryHandleSelectList> p = PagerUtil.pageToVo(pagging, null);
|
||||
return rb.success().setData(p);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.yxt.warehouse.biz.warehouseinventory;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
* @author: dimengzhe
|
||||
* @date: 2024/3/18
|
||||
**/
|
||||
@Data
|
||||
public class WarehouseInventoryUpdateDto {
|
||||
private String sid;
|
||||
private String price1;//销售价格1
|
||||
private String price2;//销售价格2
|
||||
private String price3;//销售价格3
|
||||
private String price4;//销售价格4
|
||||
private String price5;//销售价格5
|
||||
|
||||
private String minimumPrice;//销售底价
|
||||
private String warehouseAreaSid;//库区sid
|
||||
private String warehouseArea;//库区名称
|
||||
|
||||
private int isShowDiscount;//是否显示折扣标志,1是。0否
|
||||
|
||||
private String freePrice;//三包价格
|
||||
private String firstMaintainPrice;//首保价格
|
||||
|
||||
private int sortNo;//排序
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.yxt.warehouse.biz.warehouseinventory;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
* @author: dimengzhe
|
||||
* @date: 2024/3/19
|
||||
**/
|
||||
@Data
|
||||
public class WarehouseInventoryUpdatePrice {
|
||||
|
||||
@ApiModelProperty("销售价1/2/3/4/5")
|
||||
private int type;
|
||||
|
||||
private List<String> sidsList = new ArrayList<>();
|
||||
|
||||
private String price;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
package com.yxt.warehouse.biz.warehouseinventory;
|
||||
|
||||
import com.yxt.common.core.utils.ExportEntityMap;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
* @author: dimengzhe
|
||||
* @date: 2024/3/19
|
||||
**/
|
||||
@Data
|
||||
public class WarehouseInventoryVoExcelVo {
|
||||
|
||||
@ExportEntityMap(CnName = "序号", EnName = "rankNo")
|
||||
private Integer rankNo;
|
||||
@ExportEntityMap(CnName = "商品名称", EnName = "goodsSpuName")
|
||||
private String goodsSpuName;
|
||||
@ExportEntityMap(CnName = "商品编码(图号)", EnName = "goodsSkuCode")
|
||||
private String goodsSkuCode;
|
||||
@ExportEntityMap(CnName = "规格型号", EnName = "goodsSkuOwnSpec")
|
||||
private String goodsSkuOwnSpec;//规格型号
|
||||
@ExportEntityMap(CnName = "销售价格1", EnName = "price1")
|
||||
private String price1;//销售价格1
|
||||
@ExportEntityMap(CnName = "销售价格2", EnName = "price2")
|
||||
private String price2;//销售价格2
|
||||
@ExportEntityMap(CnName = "销售价格3", EnName = "price3")
|
||||
private String price3;//销售价格3
|
||||
@ExportEntityMap(CnName = "销售价格4", EnName = "price4")
|
||||
private String price4;//销售价格4
|
||||
@ExportEntityMap(CnName = "销售价格5", EnName = "price5")
|
||||
private String price5;//销售价格5
|
||||
@ExportEntityMap(CnName = "计量单位", EnName = "unit")
|
||||
private String unit;//计量单位
|
||||
@ExportEntityMap(CnName = "库存数量", EnName = "count")
|
||||
private String count;//库存数量
|
||||
@ExportEntityMap(CnName = "销售底价", EnName = "minimumPrice")
|
||||
private String minimumPrice;//销售底价
|
||||
@ExportEntityMap(CnName = "三包价格", EnName = "freePrice")
|
||||
private String freePrice;//三包价格
|
||||
@ExportEntityMap(CnName = "首保价格", EnName = "firstMaintainPrice")
|
||||
private String firstMaintainPrice;//首保价格
|
||||
@ExportEntityMap(CnName = "仓库名称", EnName = "warehouseName")
|
||||
private String warehouseName;//仓库名称
|
||||
@ExportEntityMap(CnName = "库区名称", EnName = "warehouseArea")
|
||||
private String warehouseArea;//库区名称
|
||||
@ExportEntityMap(CnName = "货架名称", EnName = "warehouseRackName")
|
||||
private String warehouseRackName;//warehouseRackName
|
||||
@ExportEntityMap(CnName = "首次入库日期", EnName = "firstInDate")
|
||||
private String firstInDate;//首次入库日期-计算库龄的依据
|
||||
@ExportEntityMap(CnName = "锁定数量", EnName = "lockCount")
|
||||
private String lockCount;//锁定数量,计算字段,出库申请通过,但未实际出库
|
||||
@ExportEntityMap(CnName = "排序", EnName = "sortNo")
|
||||
private String sortNo;
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.yxt.warehouse.biz.warehouseinventory;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* @author Fan
|
||||
* @description
|
||||
* @date 2024/3/20 9:14
|
||||
*/
|
||||
@Data
|
||||
public class WarehouseUpdateCountQuery {
|
||||
private String sid;
|
||||
private BigDecimal count;
|
||||
private Integer addOrReduce; // 0增加 1减少
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
package com.yxt.warehouse.biz.warehouseoutbill;
|
||||
|
||||
import com.yxt.common.core.query.Query;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
* @author: dimengzhe
|
||||
* @date: 2024/4/26
|
||||
**/
|
||||
@Data
|
||||
public class WarehouseOutBillInventoryQuery implements Query {
|
||||
|
||||
//商品名称
|
||||
@ApiModelProperty("商品名称")
|
||||
private String goodsSpuName;
|
||||
|
||||
//商品编码
|
||||
private String goodsSkuCode;
|
||||
|
||||
//仓库
|
||||
private String warehouseName;
|
||||
|
||||
//库位
|
||||
private String warehouseRackCode;
|
||||
|
||||
//供应商
|
||||
private String supplierName;
|
||||
|
||||
private String orgPath;
|
||||
|
||||
private String busrepairBillsid;//维修工单sid
|
||||
private String name;
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package com.yxt.warehouse.biz.warehouseoutbill;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
* @author: dimengzhe
|
||||
* @date: 2024/4/26
|
||||
**/
|
||||
@Data
|
||||
public class WarehouseOutBillInventoryVo {
|
||||
private String sid;
|
||||
private String inventorySid;
|
||||
@ApiModelProperty("商品ID")
|
||||
private String goodsID;
|
||||
@ApiModelProperty("商品基础信息Sid")
|
||||
private String goodSpuSid;
|
||||
@ApiModelProperty("商品名称")
|
||||
private String goodsSpuName;
|
||||
@ApiModelProperty("图号")
|
||||
private String goodsSkuCode;
|
||||
@ApiModelProperty("商品Skusid")
|
||||
private String goodsSkuSid;
|
||||
@ApiModelProperty("商品Sku名称")
|
||||
private String goodsSkuTitle;
|
||||
@ApiModelProperty("规格型号")
|
||||
private String goodsSkuOwnSpec;
|
||||
@ApiModelProperty("计量单位")
|
||||
private String unit;
|
||||
@ApiModelProperty("仓库sid")
|
||||
private String warehouseSid;
|
||||
@ApiModelProperty("仓库名称")
|
||||
private String warehouseName;
|
||||
@ApiModelProperty("库位sid")
|
||||
private String warehouseRackSid;
|
||||
@ApiModelProperty("库位编码")
|
||||
private String warehouseRackCode;
|
||||
|
||||
private String price;//销售单价
|
||||
private String outboundCount;// 已出库数量
|
||||
//入库单价
|
||||
private String money;
|
||||
//库存数量
|
||||
private String count;
|
||||
//供应商
|
||||
private String supplierSid;
|
||||
private String supplierName;
|
||||
|
||||
|
||||
}
|
||||
@@ -1,7 +1,11 @@
|
||||
package com.yxt.warehouse.biz.warehouseoutbill;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
@@ -10,4 +14,10 @@ import org.apache.ibatis.annotations.Mapper;
|
||||
**/
|
||||
@Mapper
|
||||
public interface WarehouseOutBillMapper extends BaseMapper<WarehouseOutBill> {
|
||||
IPage<WarehouseOutBillVo> listPage(IPage<WarehouseOutBill> page, @Param(Constants.WRAPPER) QueryWrapper<WarehouseOutBill> qw);
|
||||
|
||||
WarehouseOutBillDetailsVo details(String sid);
|
||||
|
||||
IPage<WarehouseOutBillInventoryVo> getInventoryList(IPage<WarehouseOutBill> page, @Param(Constants.WRAPPER) QueryWrapper<WarehouseOutBill> qw);
|
||||
}
|
||||
|
||||
|
||||
@@ -12,33 +12,20 @@ import lombok.Data;
|
||||
@Data
|
||||
public class WarehouseOutBillQuery implements Query {
|
||||
|
||||
//单据编号
|
||||
@ApiModelProperty("单据编号")
|
||||
private String billNo;
|
||||
|
||||
//单据日期开始时间
|
||||
@ApiModelProperty("单据日期开始时间")
|
||||
private String createTimeStart;
|
||||
|
||||
//单据日期结束时间
|
||||
@ApiModelProperty("单据日期结束时间")
|
||||
private String createTimeEnd;
|
||||
|
||||
//外部单号
|
||||
@ApiModelProperty("来源单号")
|
||||
private String sourceBillNo;
|
||||
|
||||
//业务类型
|
||||
@ApiModelProperty("业务类型value((销售出库、采购退货出库等))")
|
||||
private String busTypeValue;
|
||||
|
||||
//单据状态
|
||||
@ApiModelProperty("已完成/已发货")
|
||||
@ApiModelProperty("单据状态")
|
||||
private String billState;
|
||||
|
||||
//挂起状态
|
||||
@ApiModelProperty("挂起状态(1挂起,0不挂起,2解锁)")
|
||||
private String isHandUp;
|
||||
|
||||
//优先级
|
||||
@ApiModelProperty("优先级")
|
||||
private String priority;
|
||||
@ApiModelProperty("组织sid全路径")
|
||||
private String orgPath;
|
||||
@ApiModelProperty("用户sid")
|
||||
private String createBySid;
|
||||
}
|
||||
|
||||
@@ -1,11 +1,27 @@
|
||||
package com.yxt.warehouse.biz.warehouseoutbill;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.base.utils.StringUtils;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.warehouse.biz.warehouseinventory.WarehouseInventory;
|
||||
import com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryService;
|
||||
import com.yxt.warehouse.biz.warehouseinventoryrecord.WarehouseInventoryRecordDto;
|
||||
import com.yxt.warehouse.biz.warehouseinventoryrecord.WarehouseInventoryRecordService;
|
||||
import com.yxt.warehouse.biz.warehouseoutbilldetail.WarehouseOutBillDetailDto;
|
||||
import com.yxt.warehouse.biz.warehouseoutbilldetail.WarehouseOutBillDetailService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
* @author: dimengzhe
|
||||
@@ -13,15 +29,164 @@ import org.springframework.stereotype.Service;
|
||||
**/
|
||||
@Service
|
||||
public class WarehouseOutBillService extends MybatisBaseService<WarehouseOutBillMapper, WarehouseOutBill> {
|
||||
@Autowired
|
||||
private WarehouseOutBillDetailService warehouseOutBillDetailService;
|
||||
@Autowired
|
||||
private WarehouseInventoryService warehouseInventoryService;
|
||||
@Autowired
|
||||
private WarehouseInventoryRecordService warehouseInventoryRecordService;
|
||||
|
||||
|
||||
|
||||
public PagerVo<WarehouseOutBillVo> listPage(PagerQuery<WarehouseOutBillQuery> pagerQuery) {
|
||||
return null;
|
||||
WarehouseOutBillQuery query = pagerQuery.getParams();
|
||||
QueryWrapper<WarehouseOutBill> qw = new QueryWrapper<>();
|
||||
//ToDo:添加查询条件
|
||||
if (StringUtils.isNotBlank(query.getBillNo())) {
|
||||
qw.like("wob.billNo", query.getBillNo());
|
||||
}
|
||||
//单据日期开始时间-单据日期结束时间
|
||||
qw.apply(StringUtils.isNotBlank(query.getCreateTimeStart()), "date_format (wob.createTime,'%Y-%m-%d') >= date_format('" + query.getCreateTimeStart() + "','%Y-%m-%d')").
|
||||
apply(StringUtils.isNotBlank(query.getCreateTimeEnd()), "date_format (wob.createTime,'%Y-%m-%d') <= date_format('" + query.getCreateTimeEnd() + "','%Y-%m-%d')"
|
||||
);
|
||||
//来源单号
|
||||
if (StringUtils.isNotBlank(query.getSourceBillNo())) {
|
||||
qw.like("wob.sourceBillNo", query.getSourceBillNo());
|
||||
}
|
||||
//业务类型
|
||||
if (StringUtils.isNotBlank(query.getBusTypeValue())) {
|
||||
qw.like("wob.busTypeValue", query.getBusTypeValue());
|
||||
}
|
||||
//单据类型
|
||||
if (StringUtils.isNotBlank(query.getBillState())) {
|
||||
qw.like("wob.billState", query.getBillState());
|
||||
}
|
||||
IPage<WarehouseOutBill> page = PagerUtil.queryToPage(pagerQuery);
|
||||
IPage<WarehouseOutBillVo> pagging = baseMapper.listPage(page, qw);
|
||||
PagerVo<WarehouseOutBillVo> p = PagerUtil.pageToVo(pagging, null);
|
||||
return p;
|
||||
}
|
||||
|
||||
public ResultBean saveOrUpdateOutBill(WarehouseOutBillDto dto) {
|
||||
return null;
|
||||
public ResultBean<String> saveOrUpdateOutBill(WarehouseOutBillDto dto) {
|
||||
ResultBean<String> rb = ResultBean.fireFail();
|
||||
String sid = dto.getSid();
|
||||
if (StringUtils.isBlank(sid)) {
|
||||
WarehouseOutBill WarehouseOutBill = new WarehouseOutBill();
|
||||
BeanUtil.copyProperties(dto, WarehouseOutBill, "sid");
|
||||
sid = WarehouseOutBill.getSid();
|
||||
List<WarehouseOutBillDetailDto> detailsList = dto.getDetailsList();
|
||||
detailsList.removeAll(Collections.singleton(null));
|
||||
if (detailsList.size() > 0) {
|
||||
warehouseOutBillDetailService.saveOrUpdateBillDetails(sid, detailsList);
|
||||
}
|
||||
baseMapper.insert(WarehouseOutBill);
|
||||
} else {
|
||||
WarehouseOutBill WarehouseOutBill = fetchBySid(sid);
|
||||
if (WarehouseOutBill == null) {
|
||||
return rb.setMsg("该单据不存在");
|
||||
}
|
||||
BeanUtil.copyProperties(dto, WarehouseOutBill, "sid");
|
||||
List<WarehouseOutBillDetailDto> detailsList = dto.getDetailsList();
|
||||
detailsList.removeAll(Collections.singleton(null));
|
||||
if (detailsList.size() > 0) {
|
||||
warehouseOutBillDetailService.saveOrUpdateBillDetails(sid, detailsList);
|
||||
}
|
||||
baseMapper.updateById(WarehouseOutBill);
|
||||
}
|
||||
return rb.success().setData(sid);
|
||||
}
|
||||
|
||||
public ResultBean<WarehouseOutBillDetailsVo> details(String sid) {
|
||||
return null;
|
||||
ResultBean<WarehouseOutBillDetailsVo> rb = ResultBean.fireFail();
|
||||
WarehouseOutBillDetailsVo WarehouseOutBillDetailsVo = baseMapper.details(sid);
|
||||
if (WarehouseOutBillDetailsVo == null) {
|
||||
return rb.setMsg("该单据不存在");
|
||||
}
|
||||
//ToDo:需补充仓库等信息
|
||||
List<WarehouseOutBillDetailDto> detailsList = warehouseOutBillDetailService.selectDetailsList(sid);
|
||||
detailsList.removeAll(Collections.singleton(null));
|
||||
if (!detailsList.isEmpty()) {
|
||||
WarehouseOutBillDetailsVo.setDetailsList(detailsList);
|
||||
}
|
||||
return rb.success().setData(WarehouseOutBillDetailsVo);
|
||||
}
|
||||
|
||||
public PagerVo<WarehouseOutBillInventoryVo> getInventoryList(PagerQuery<WarehouseOutBillInventoryQuery> pagerQuery) {
|
||||
WarehouseOutBillInventoryQuery query = pagerQuery.getParams();
|
||||
QueryWrapper<WarehouseOutBill> qw = new QueryWrapper<>();
|
||||
//ToDo:添加查询条件
|
||||
if (StringUtils.isNotBlank(query.getGoodsSpuName())) {
|
||||
qw.like("wi.goodsSpuName", query.getGoodsSpuName());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getName())) {
|
||||
qw.like("wi.goodsSpuName", query.getName());
|
||||
}
|
||||
//商品编码
|
||||
if (StringUtils.isNotBlank(query.getGoodsSkuCode())) {
|
||||
qw.like("wi.goodsSkuCode", query.getGoodsSkuCode());
|
||||
}
|
||||
//仓库
|
||||
if (StringUtils.isNotBlank(query.getWarehouseName())) {
|
||||
qw.like("wi.warehouseName", query.getWarehouseName());
|
||||
}
|
||||
//库位
|
||||
if (StringUtils.isNotBlank(query.getWarehouseRackCode())) {
|
||||
qw.like("wi.warehouseRackCode", query.getWarehouseRackCode());
|
||||
}
|
||||
//ToDo:供应商
|
||||
/* if (StringUtils.isNotBlank(query.getSupplierName())) {
|
||||
qw.like("supplierName", query.getSupplierName());
|
||||
}*/
|
||||
IPage<WarehouseOutBill> page = PagerUtil.queryToPage(pagerQuery);
|
||||
IPage<WarehouseOutBillInventoryVo> pagging = baseMapper.getInventoryList(page, qw);
|
||||
PagerVo<WarehouseOutBillInventoryVo> p = PagerUtil.pageToVo(pagging, null);
|
||||
return p;
|
||||
}
|
||||
|
||||
public ResultBean confirm(WarehouseOutBillDto dto) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
String sid = saveOrUpdateOutBill(dto).getData();
|
||||
List<WarehouseOutBillDetailDto> detailsList = dto.getDetailsList();
|
||||
detailsList.removeAll(Collections.singleton(null));
|
||||
if (!detailsList.isEmpty()) {
|
||||
for (int i = 0; i < detailsList.size(); i++) {
|
||||
WarehouseOutBillDetailDto WarehouseOutBillDetailDto = detailsList.get(i);
|
||||
WarehouseInventory WarehouseInventory = warehouseInventoryService.fetchBySid(WarehouseOutBillDetailDto.getInventorySid());
|
||||
//减去出库的数量
|
||||
WarehouseInventory.setCount(WarehouseInventory.getCount().subtract(new BigDecimal(WarehouseOutBillDetailDto.getOutCount())));
|
||||
warehouseInventoryService.updateById(WarehouseInventory);
|
||||
}
|
||||
saveWarehouseInventory(dto.getSid());
|
||||
}
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
public void saveWarehouseInventory(String sid) {
|
||||
WarehouseOutBill WarehouseOutBill = fetchBySid(sid);
|
||||
List<WarehouseOutBillDetailDto> detailList = warehouseOutBillDetailService.selectDetailsList(sid);
|
||||
detailList.removeAll(Collections.singleton(null));
|
||||
if (!detailList.isEmpty()) {
|
||||
for (int i = 0; i < detailList.size(); i++) {
|
||||
WarehouseOutBillDetailDto WarehouseOutBillDetailDto = detailList.get(i);
|
||||
WarehouseInventoryRecordDto WarehouseInventoryRecordDto = new WarehouseInventoryRecordDto();
|
||||
WarehouseInventoryRecordDto.setInventorySid(WarehouseOutBillDetailDto.getInventorySid());
|
||||
WarehouseInventoryRecordDto.setGoodsID(WarehouseInventoryRecordDto.getGoodsID());
|
||||
WarehouseInventoryRecordDto.setSourceBillSid(WarehouseOutBill.getSid());
|
||||
WarehouseInventoryRecordDto.setBillNo(WarehouseOutBill.getBillNo());
|
||||
WarehouseInventoryRecordDto.setBillType("0");
|
||||
WarehouseInventoryRecordDto.setBatchNumber(WarehouseInventoryRecordDto.getBatchNumber());
|
||||
WarehouseInventoryRecordDto.setGoodSpuSid(WarehouseInventoryRecordDto.getGoodSpuSid());
|
||||
WarehouseInventoryRecordDto.setGoodsSpuName(WarehouseInventoryRecordDto.getGoodsSpuName());
|
||||
WarehouseInventoryRecordDto.setGoodsSkuSid(WarehouseInventoryRecordDto.getGoodsSkuSid());
|
||||
WarehouseInventoryRecordDto.setGoodsSkuCode(WarehouseInventoryRecordDto.getGoodsSkuCode());
|
||||
WarehouseInventoryRecordDto.setUnit(WarehouseInventoryRecordDto.getUnit());
|
||||
// WarehouseInventoryRecordDto.setCurrentCount(StringUtils.isNotBlank(WarehouseInventoryRecordDto.getCount().toString()) ? new BigDecimal(WarehouseInventoryRecordDto.getCount().toString()) : BigDecimal.ZERO);
|
||||
WarehouseInventoryRecordDto.setWarehouseSid(WarehouseInventoryRecordDto.getWarehouseSid());
|
||||
WarehouseInventoryRecordDto.setWarehouseName(WarehouseInventoryRecordDto.getWarehouseName());
|
||||
WarehouseInventoryRecordDto.setWarehouseRackSid(WarehouseInventoryRecordDto.getWarehouseRackSid());
|
||||
WarehouseInventoryRecordDto.setWarehouseRackCode(WarehouseInventoryRecordDto.getWarehouseRackCode());
|
||||
warehouseInventoryRecordService.saveOrUpdateDto(WarehouseInventoryRecordDto);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,36 +13,18 @@ public class WarehouseOutBillVo {
|
||||
|
||||
private String sid;
|
||||
|
||||
//单据编号
|
||||
@ApiModelProperty("单据编号")
|
||||
private String billNo;
|
||||
|
||||
//单据日期
|
||||
@ApiModelProperty("单据日期")
|
||||
private String createTime;
|
||||
|
||||
//制单人
|
||||
@ApiModelProperty("制单人")
|
||||
private String createByName;
|
||||
|
||||
//外部单号
|
||||
@ApiModelProperty("来源单号")
|
||||
private String sourceBillNo;
|
||||
|
||||
//业务类型
|
||||
@ApiModelProperty("业务类型value((销售出库、采购退货出库等))")
|
||||
private String busTypeValue;
|
||||
|
||||
//单据状态
|
||||
@ApiModelProperty("已完成/已发货")
|
||||
@ApiModelProperty("单据状态:已完成/已发货")
|
||||
private String billState;
|
||||
|
||||
//优先级
|
||||
@ApiModelProperty("优先级")
|
||||
private String priority;
|
||||
|
||||
//挂起状态
|
||||
@ApiModelProperty("挂起状态(1挂起,0不挂起,2解锁)")
|
||||
private String isHandUp;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -11,6 +11,9 @@ import lombok.Data;
|
||||
@Data
|
||||
public class WarehouseOutBillDetailDto {
|
||||
private String sid;
|
||||
@ApiModelProperty("库存商品sid")
|
||||
private String inventorySid;
|
||||
|
||||
@ApiModelProperty("商品基础信息Sid")
|
||||
private String goodSpuSid;
|
||||
@ApiModelProperty("商品名称")
|
||||
@@ -25,8 +28,22 @@ public class WarehouseOutBillDetailDto {
|
||||
private String goodsSkuOwnSpec;
|
||||
@ApiModelProperty("计量单位")
|
||||
private String unit;
|
||||
|
||||
|
||||
@ApiModelProperty("出库数量")
|
||||
private String outCount;
|
||||
@ApiModelProperty("仓库sid")
|
||||
private String warehouseSid;
|
||||
//仓库名称
|
||||
private String warehouseName;
|
||||
//库位sid
|
||||
private String warehouseRackSid;
|
||||
//库位编码
|
||||
private String warehouseRackCode;
|
||||
//销售单价
|
||||
private String money;
|
||||
//金额
|
||||
private String moneyAll;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -8,6 +8,8 @@ import org.apache.ibatis.annotations.Delete;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
* @author: dimengzhe
|
||||
@@ -21,5 +23,6 @@ public interface WarehouseOutBillDetailMapper extends BaseMapper<WarehouseOutBil
|
||||
|
||||
@Delete("delete from warehouse_out_bill_detail where sid = #{sid}")
|
||||
void delByMainSid(String billSid);
|
||||
List<WarehouseOutBillDetailDto> selectDetailsList(String sid);
|
||||
|
||||
}
|
||||
|
||||
@@ -16,4 +16,15 @@
|
||||
from warehouse_out_bill_detail a
|
||||
where a.sid =#{sid}
|
||||
</select>
|
||||
<select id="selectDetailsList" resultType="com.yxt.warehouse.biz.warehouseoutbilldetail.WarehouseOutBillDetailDto">
|
||||
select wbd.goodSpuSid,
|
||||
wbd.goodsSpuName,
|
||||
wbd.goodsSkuSid,
|
||||
wbd.goodsSkuTitle,
|
||||
wbd.goodsSkuCode,
|
||||
wbd.goodsSkuOwnSpec,
|
||||
wbd.unit
|
||||
from warehouse_out_bill_detail wbd
|
||||
where wbd.billSid = #{sid}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -50,19 +50,19 @@ public class WarehouseOutBillDetailService extends MybatisBaseService<WarehouseO
|
||||
|
||||
public ResultBean delete(String sid) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
WarehouseOutBillDetail wmsWarehouseRack = fetchBySid(sid);
|
||||
if (null != wmsWarehouseRack) {
|
||||
baseMapper.deleteById(wmsWarehouseRack.getId());
|
||||
WarehouseOutBillDetail WarehouseWarehouseRack = fetchBySid(sid);
|
||||
if (null != WarehouseWarehouseRack) {
|
||||
baseMapper.deleteById(WarehouseWarehouseRack.getId());
|
||||
}
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
public ResultBean updateIsEnable(String sid, String isEnable) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
WarehouseOutBillDetail wmsWarehouseRack = fetchBySid(sid);
|
||||
if (null != wmsWarehouseRack) {
|
||||
wmsWarehouseRack.setIsEnable(Integer.parseInt(isEnable));
|
||||
baseMapper.updateById(wmsWarehouseRack);
|
||||
WarehouseOutBillDetail WarehouseWarehouseRack = fetchBySid(sid);
|
||||
if (null != WarehouseWarehouseRack) {
|
||||
WarehouseWarehouseRack.setIsEnable(Integer.parseInt(isEnable));
|
||||
baseMapper.updateById(WarehouseWarehouseRack);
|
||||
}
|
||||
return rb.success().setMsg("成功");
|
||||
}
|
||||
@@ -99,4 +99,18 @@ public class WarehouseOutBillDetailService extends MybatisBaseService<WarehouseO
|
||||
BeanUtil.copyProperties(entity, vo);
|
||||
return vo;
|
||||
}
|
||||
public void saveOrUpdateBillDetails(String sid, List<WarehouseOutBillDetailDto> detailsList) {
|
||||
//删除
|
||||
baseMapper.delByMainSid(sid);
|
||||
for (int i = 0; i < detailsList.size(); i++) {
|
||||
WarehouseOutBillDetailDto WarehouseOutBillDetailDto = detailsList.get(i);
|
||||
WarehouseOutBillDetail WarehouseOutBillDetail = new WarehouseOutBillDetail();
|
||||
BeanUtil.copyProperties(WarehouseOutBillDetailDto, WarehouseOutBillDetail, "sid");
|
||||
WarehouseOutBillDetail.setBillSid(sid);
|
||||
baseMapper.insert(WarehouseOutBillDetail);
|
||||
}
|
||||
}
|
||||
public List<WarehouseOutBillDetailDto> selectDetailsList(String sid) {
|
||||
return baseMapper.selectDetailsList(sid);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,6 +13,8 @@ import lombok.Data;
|
||||
@Data
|
||||
public class WarehouseRackQuery implements Query {
|
||||
private String name;//名字
|
||||
private String orgLevelKey;//
|
||||
|
||||
private String code;//编码
|
||||
private String warehouseSid;//仓库
|
||||
private String areaTypeSid;//库区类型
|
||||
@@ -22,6 +24,4 @@ public class WarehouseRackQuery implements Query {
|
||||
private String orgPath;
|
||||
@ApiModelProperty("用户sid")
|
||||
private String userSid;
|
||||
private IPage<WarehouseRack> page;
|
||||
private QueryWrapper<WarehouseRack> qw;
|
||||
}
|
||||
|
||||
@@ -26,9 +26,56 @@ import java.util.stream.Collectors;
|
||||
public class WarehouseRackService extends MybatisBaseService<WarehouseRackMapper, WarehouseRack> {
|
||||
|
||||
|
||||
public ResultBean<IPage<WarehouseRackVo>> listPage(WarehouseRackQuery query) {
|
||||
public ResultBean<IPage<WarehouseRackVo>> listPage( PagerQuery<WarehouseRackQuery> pq) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
IPage<WarehouseRackVo> pagging = baseMapper.listPage(query.getPage(), query.getQw());
|
||||
WarehouseRackQuery query = pq.getParams();
|
||||
QueryWrapper<WarehouseRack> qw = new QueryWrapper<>();
|
||||
if (StringUtils.isNotBlank(query.getOrgLevelKey())) {
|
||||
//数据权限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 = query.getOrgLevelKey();
|
||||
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("a.createBySid", query.getUserSid());
|
||||
} else {
|
||||
PagerVo<WarehouseRackVo> p = new PagerVo<>();
|
||||
return rb.success().setData(p);
|
||||
}
|
||||
} else {
|
||||
PagerVo<WarehouseRackVo> p = new PagerVo<>();
|
||||
return rb.success().setData(p);
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getName())) {
|
||||
qw.like("rackName", query.getName());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getCode())) {
|
||||
qw.like("rackCode", query.getCode());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getAreaTypeSid())) {
|
||||
qw.eq("b.sid", query.getAreaTypeSid());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getWarehouseSid())) {
|
||||
qw.eq("c.sid", query.getWarehouseSid());
|
||||
}
|
||||
qw.ne("a.isDelete", "1");
|
||||
IPage<WarehouseRack> page = PagerUtil.queryToPage(pq);
|
||||
IPage<WarehouseRackVo> pagging = baseMapper.listPage(page,qw);
|
||||
return rb.success().setData(pagging);
|
||||
}
|
||||
public ResultBean<WarehouseRackVo> getAllType() {
|
||||
|
||||
@@ -138,7 +138,7 @@ public class WarehouseShelfBillService extends MybatisBaseService<WarehouseShelf
|
||||
// dto.setCreateOrgSid(wmsShelfBill.getCreateOrgSid());
|
||||
// dto.setUseOrgSid(wmsShelfBill.getUseOrgSid());
|
||||
dto.setSid(s.getInventorySid());
|
||||
String inventorySid = wmsInventoryService.saveWmsInventory(dto).getData();
|
||||
String inventorySid = wmsInventoryService.saveWarehouseInventory(dto).getData();
|
||||
WarehouseShelfBillDetail wmsShelfBillDetail = wmsShelfBillDetailService.fetchBySid(s.getDetailsSid());
|
||||
// wmsShelfBillDetail.setInventorySid(inventorySid);
|
||||
wmsShelfBillDetailService.updateById(wmsShelfBillDetail);
|
||||
|
||||
Reference in New Issue
Block a user