8/20
This commit is contained in:
@@ -51,7 +51,11 @@ public class PurchaseInventoryBillRest {
|
|||||||
ResultBean<String> confirm(@RequestBody PurchaseInventoryBillDto2 dto) {
|
ResultBean<String> confirm(@RequestBody PurchaseInventoryBillDto2 dto) {
|
||||||
return purchaseInventoryBillService.confirm(dto);
|
return purchaseInventoryBillService.confirm(dto);
|
||||||
}
|
}
|
||||||
|
@ApiOperation("生成验货入库")
|
||||||
|
@PostMapping("/inspectionWarehousing")
|
||||||
|
ResultBean<String> inspectionWarehousing(@RequestBody PurchaseInventoryBillDto2 dto) {
|
||||||
|
return purchaseInventoryBillService.inspectionWarehousing(dto);
|
||||||
|
}
|
||||||
@ApiOperation("删除/批量删除")
|
@ApiOperation("删除/批量删除")
|
||||||
@DeleteMapping("/delBySids")
|
@DeleteMapping("/delBySids")
|
||||||
ResultBean delBySids(@RequestBody String[] sids) {
|
ResultBean delBySids(@RequestBody String[] sids) {
|
||||||
|
|||||||
@@ -214,12 +214,13 @@ public class WarehouseInventoryRest {
|
|||||||
List<AvailableCountVo> w=WarehouseInventoryService.selAvailableBySkuSid(skuSid,orgSid);
|
List<AvailableCountVo> w=WarehouseInventoryService.selAvailableBySkuSid(skuSid,orgSid);
|
||||||
for (AvailableCountVo availableCountVo : w) {
|
for (AvailableCountVo availableCountVo : w) {
|
||||||
WarehouseOutLocation warehouseOutLocation=warehouseOutLocationService.getOne(new QueryWrapper<WarehouseOutLocation>()
|
WarehouseOutLocation warehouseOutLocation=warehouseOutLocationService.getOne(new QueryWrapper<WarehouseOutLocation>()
|
||||||
.eq("sourceBillSid",sourceBillSid).eq("inventorySid",availableCountVo.getSid()));
|
.eq("sourceBillSid",sourceBillSid).eq("inventorySid",availableCountVo.getInventorySid()));
|
||||||
if(null!=warehouseOutLocation){
|
if(null!=warehouseOutLocation){
|
||||||
availableCountVo.setInitialCount(warehouseOutLocation.getCount());
|
availableCountVo.setInitialCount(warehouseOutLocation.getCount());
|
||||||
availableCountVo.setCount(warehouseOutLocation.getCount());
|
availableCountVo.setCount(warehouseOutLocation.getCount());
|
||||||
availableCountVo.setLocationSid(warehouseOutLocation.getSid());
|
availableCountVo.setLocationSid(warehouseOutLocation.getSid());
|
||||||
}
|
}
|
||||||
|
availableCountVo.setGoodsSkuSid(skuSid);
|
||||||
}
|
}
|
||||||
return rb.success().setData(w);
|
return rb.success().setData(w);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -59,12 +59,12 @@ public class WarehouseOutBillRest {
|
|||||||
}
|
}
|
||||||
@ApiOperation("修改承运商")
|
@ApiOperation("修改承运商")
|
||||||
@PostMapping("/updateCarrier")
|
@PostMapping("/updateCarrier")
|
||||||
public ResultBean updateCarrier(WarehouseOutBillDto dto) {
|
public ResultBean updateCarrier(@RequestBody WarehouseOutBillDto dto) {
|
||||||
return wmsOutBillService.updateCarrier(dto);
|
return wmsOutBillService.updateCarrier(dto);
|
||||||
}
|
}
|
||||||
@ApiOperation("修改运单号")
|
@ApiOperation("修改运单号")
|
||||||
@PostMapping("/updateWaybillNumber")
|
@PostMapping("/updateWaybillNumber")
|
||||||
public ResultBean updateWaybillNumber(WarehouseOutBillDto dto) {
|
public ResultBean updateWaybillNumber(@RequestBody WarehouseOutBillDto dto) {
|
||||||
return wmsOutBillService.updateWaybillNumber(dto);
|
return wmsOutBillService.updateWaybillNumber(dto);
|
||||||
}
|
}
|
||||||
@ApiOperation("待分配-->打到零拣")
|
@ApiOperation("待分配-->打到零拣")
|
||||||
@@ -88,4 +88,10 @@ public class WarehouseOutBillRest {
|
|||||||
ResultBean confirm(@RequestBody WarehouseOutBillDto dto) {
|
ResultBean confirm(@RequestBody WarehouseOutBillDto dto) {
|
||||||
return wmsOutBillService.confirm(dto);
|
return wmsOutBillService.confirm(dto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation("获取备注信息")
|
||||||
|
@PostMapping("/getRemarks")
|
||||||
|
ResultBean getRemarks(@RequestParam("sid") String sid) {
|
||||||
|
return wmsOutBillService.getRemarks(sid);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import com.yxt.common.core.domain.BaseEntity;
|
|||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -23,14 +24,16 @@ public class PurchaseInventoryBill extends BaseEntity {
|
|||||||
private String billNo;
|
private String billNo;
|
||||||
@ApiModelProperty("状态")
|
@ApiModelProperty("状态")
|
||||||
private String billState;
|
private String billState;
|
||||||
|
@ApiModelProperty("单据类型")
|
||||||
|
private String billType;
|
||||||
@ApiModelProperty("商品总额")
|
@ApiModelProperty("商品总额")
|
||||||
private double total;
|
private BigDecimal total;
|
||||||
@ApiModelProperty("商品总重量(kg)")
|
@ApiModelProperty("商品总重量(kg)")
|
||||||
private double totalWeight;
|
private double totalWeight;
|
||||||
@ApiModelProperty("总体积(m3)")
|
@ApiModelProperty("总体积(m3)")
|
||||||
private double totalVolume;
|
private double totalVolume;
|
||||||
@ApiModelProperty("总数")
|
@ApiModelProperty("总数")
|
||||||
private double totalQuantity;
|
private BigDecimal totalQuantity;
|
||||||
@ApiModelProperty("供应商sid")
|
@ApiModelProperty("供应商sid")
|
||||||
private String supplierSid;
|
private String supplierSid;
|
||||||
@ApiModelProperty("供应商")
|
@ApiModelProperty("供应商")
|
||||||
|
|||||||
@@ -27,6 +27,8 @@ public class PurchaseInventoryBillDto2 {
|
|||||||
private String billNo;
|
private String billNo;
|
||||||
@ApiModelProperty("状态")
|
@ApiModelProperty("状态")
|
||||||
private String billState;
|
private String billState;
|
||||||
|
@ApiModelProperty("单据类型")
|
||||||
|
private String billType;
|
||||||
@ApiModelProperty("商品总额")
|
@ApiModelProperty("商品总额")
|
||||||
private double total;
|
private double total;
|
||||||
@ApiModelProperty("商品总重量(kg)")
|
@ApiModelProperty("商品总重量(kg)")
|
||||||
|
|||||||
@@ -27,6 +27,8 @@ public class PurchaseInventoryBillInitVo {
|
|||||||
private String billNo;
|
private String billNo;
|
||||||
@ApiModelProperty("状态")
|
@ApiModelProperty("状态")
|
||||||
private String billState;
|
private String billState;
|
||||||
|
@ApiModelProperty("单据类型")
|
||||||
|
private String billType;
|
||||||
@ApiModelProperty("商品总额")
|
@ApiModelProperty("商品总额")
|
||||||
private double total;
|
private double total;
|
||||||
@ApiModelProperty("商品总重量(kg)")
|
@ApiModelProperty("商品总重量(kg)")
|
||||||
|
|||||||
@@ -23,6 +23,8 @@ public class PurchaseInventoryBillPageVo {
|
|||||||
private String billNo;
|
private String billNo;
|
||||||
@ApiModelProperty("状态")
|
@ApiModelProperty("状态")
|
||||||
private String billState;
|
private String billState;
|
||||||
|
@ApiModelProperty("单据类型")
|
||||||
|
private String billType;
|
||||||
@ApiModelProperty("商品总额")
|
@ApiModelProperty("商品总额")
|
||||||
private double total;
|
private double total;
|
||||||
@ApiModelProperty("商品总重量(kg)")
|
@ApiModelProperty("商品总重量(kg)")
|
||||||
|
|||||||
@@ -11,7 +11,8 @@ import lombok.Data;
|
|||||||
**/
|
**/
|
||||||
@Data
|
@Data
|
||||||
public class PurchaseInventoryBillQuery implements Query {
|
public class PurchaseInventoryBillQuery implements Query {
|
||||||
|
@ApiModelProperty("单据类型 0 :采购入库 1 验货入库")
|
||||||
|
private String billType;
|
||||||
@ApiModelProperty("单据编号")
|
@ApiModelProperty("单据编号")
|
||||||
private String billNo;
|
private String billNo;
|
||||||
@ApiModelProperty("外部单号")
|
@ApiModelProperty("外部单号")
|
||||||
|
|||||||
@@ -21,6 +21,11 @@ import com.yxt.warehouse.biz.warehouseansbill.WarehouseAnsBillService;
|
|||||||
import com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsBillDetail;
|
import com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsBillDetail;
|
||||||
import com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsBillDetailService;
|
import com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsBillDetailService;
|
||||||
import com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsListDetailsVo;
|
import com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsListDetailsVo;
|
||||||
|
import com.yxt.warehouse.biz.warehouseinventory.WarehouseInventory;
|
||||||
|
import com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryDto;
|
||||||
|
import com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryService;
|
||||||
|
import com.yxt.warehouse.biz.warehouserack.WarehouseRack;
|
||||||
|
import com.yxt.warehouse.biz.warehouserack.WarehouseRackService;
|
||||||
import com.yxt.warehouse.biz.warehousereceiptbilldetail.WarehouseReceiptBillDetailDto2;
|
import com.yxt.warehouse.biz.warehousereceiptbilldetail.WarehouseReceiptBillDetailDto2;
|
||||||
import com.yxt.warehouse.biz.warehousereceiptbilldetail.WarehouseReceiptBillDetailMapper;
|
import com.yxt.warehouse.biz.warehousereceiptbilldetail.WarehouseReceiptBillDetailMapper;
|
||||||
import com.yxt.warehouse.biz.warehousereceiptbilldetail.WarehouseReceiptBillDetailService;
|
import com.yxt.warehouse.biz.warehousereceiptbilldetail.WarehouseReceiptBillDetailService;
|
||||||
@@ -33,6 +38,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@@ -47,12 +53,9 @@ public class PurchaseInventoryBillService extends MybatisBaseService<PurchaseInv
|
|||||||
@Autowired
|
@Autowired
|
||||||
private PurchaseInventoryBillDetailService purchaseInventoryBillDetailService;
|
private PurchaseInventoryBillDetailService purchaseInventoryBillDetailService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private WarehouseAnsBillService wmsAnsBillService;
|
private WarehouseInventoryService warehouseInventoryService;
|
||||||
@Autowired
|
|
||||||
private WarehouseAnsBillDetailService wmsAnsBillDetailService;
|
|
||||||
@Autowired
|
@Autowired
|
||||||
OperationRecordService operationRecordService;
|
OperationRecordService operationRecordService;
|
||||||
;
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private WarehouseReceiptBillDetailMapper wmsReceiptBillDetailMapper;
|
private WarehouseReceiptBillDetailMapper wmsReceiptBillDetailMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
@@ -61,6 +64,8 @@ public class PurchaseInventoryBillService extends MybatisBaseService<PurchaseInv
|
|||||||
WarehouseAnsBillDetailService warehouseAnsBillDetailService;
|
WarehouseAnsBillDetailService warehouseAnsBillDetailService;
|
||||||
@Autowired
|
@Autowired
|
||||||
WarehouseAnsBillService warehouseAnsBillService;
|
WarehouseAnsBillService warehouseAnsBillService;
|
||||||
|
@Autowired
|
||||||
|
WarehouseRackService warehouseRackService;
|
||||||
|
|
||||||
public PagerVo<PurchaseInventoryBillPageVo> listPage(PagerQuery<PurchaseInventoryBillQuery> pq) {
|
public PagerVo<PurchaseInventoryBillPageVo> listPage(PagerQuery<PurchaseInventoryBillQuery> pq) {
|
||||||
PurchaseInventoryBillQuery query = pq.getParams();
|
PurchaseInventoryBillQuery query = pq.getParams();
|
||||||
@@ -97,7 +102,9 @@ public class PurchaseInventoryBillService extends MybatisBaseService<PurchaseInv
|
|||||||
if (StringUtils.isNotBlank(query.getSupplierName())) {
|
if (StringUtils.isNotBlank(query.getSupplierName())) {
|
||||||
qw.like("wrb.supplierName", query.getSupplierName());
|
qw.like("wrb.supplierName", query.getSupplierName());
|
||||||
}
|
}
|
||||||
|
if (StringUtils.isNotBlank(query.getBillType())) {
|
||||||
|
qw.like("wrb.billType", query.getBillType());
|
||||||
|
}
|
||||||
IPage<PurchaseInventoryBill> page = PagerUtil.queryToPage(pq);
|
IPage<PurchaseInventoryBill> page = PagerUtil.queryToPage(pq);
|
||||||
IPage<PurchaseInventoryBillPageVo> pagging = baseMapper.listPage(page, qw);
|
IPage<PurchaseInventoryBillPageVo> pagging = baseMapper.listPage(page, qw);
|
||||||
PagerVo<PurchaseInventoryBillPageVo> p = PagerUtil.pageToVo(pagging, null);
|
PagerVo<PurchaseInventoryBillPageVo> p = PagerUtil.pageToVo(pagging, null);
|
||||||
@@ -107,11 +114,11 @@ public class PurchaseInventoryBillService extends MybatisBaseService<PurchaseInv
|
|||||||
public ResultBean<String> saveBill(List<PurchaseInventoryBillDto2> dto,String userSid,String userName) {
|
public ResultBean<String> saveBill(List<PurchaseInventoryBillDto2> dto,String userSid,String userName) {
|
||||||
ResultBean<String> rb = ResultBean.fireFail();
|
ResultBean<String> rb = ResultBean.fireFail();
|
||||||
for (PurchaseInventoryBillDto2 dto2 : dto) {
|
for (PurchaseInventoryBillDto2 dto2 : dto) {
|
||||||
double c=0;
|
BigDecimal c=new BigDecimal(0);
|
||||||
double total=0;
|
BigDecimal total=new BigDecimal(0);
|
||||||
for (PurchaseInventoryBillDetailDto2 purchaseInventoryBillDetailDto2 : dto2.getList()) {
|
for (PurchaseInventoryBillDetailDto2 purchaseInventoryBillDetailDto2 : dto2.getList()) {
|
||||||
c=c+purchaseInventoryBillDetailDto2.getCount();
|
c=c.add(purchaseInventoryBillDetailDto2.getCount());
|
||||||
total=total+purchaseInventoryBillDetailDto2.getTotalPrice();
|
total=total.add(purchaseInventoryBillDetailDto2.getTotalPrice());
|
||||||
}
|
}
|
||||||
PurchaseInventoryBill wmsReceiptBill = new PurchaseInventoryBill();
|
PurchaseInventoryBill wmsReceiptBill = new PurchaseInventoryBill();
|
||||||
String sid = wmsReceiptBill.getSid();
|
String sid = wmsReceiptBill.getSid();
|
||||||
@@ -203,6 +210,69 @@ public class PurchaseInventoryBillService extends MybatisBaseService<PurchaseInv
|
|||||||
}
|
}
|
||||||
return rb.success().setData(wmsReceiptBillInitVo);
|
return rb.success().setData(wmsReceiptBillInitVo);
|
||||||
}
|
}
|
||||||
|
public ResultBean<String> inspectionWarehousing(PurchaseInventoryBillDto2 dto) {
|
||||||
|
ResultBean<String> rb = ResultBean.fireFail();
|
||||||
|
BigDecimal c=new BigDecimal(0);
|
||||||
|
BigDecimal total=new BigDecimal(0);
|
||||||
|
for (PurchaseInventoryBillDetailDto2 purchaseInventoryBillDetailDto2 : dto.getList()) {
|
||||||
|
c=c.add(purchaseInventoryBillDetailDto2.getCount());
|
||||||
|
total=total.add(purchaseInventoryBillDetailDto2.getTotalPrice());
|
||||||
|
}
|
||||||
|
PurchaseInventoryBill wmsReceiptBill = new PurchaseInventoryBill();
|
||||||
|
String sid = wmsReceiptBill.getSid();
|
||||||
|
BeanUtil.copyProperties(dto, wmsReceiptBill, "sid");
|
||||||
|
wmsReceiptBill.setBillState("1");
|
||||||
|
wmsReceiptBill.setTotal(total);
|
||||||
|
//生成单据编号
|
||||||
|
String billNo = "";
|
||||||
|
String date = DateUtil.format(DateUtil.date(), "yyyyMMdd");
|
||||||
|
billNo = "RK" + date;
|
||||||
|
String i = baseMapper.selectNum(billNo);
|
||||||
|
if (org.apache.commons.lang3.StringUtils.isNotBlank(i)) {
|
||||||
|
billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue());
|
||||||
|
} else {
|
||||||
|
billNo = Rule.getBillNo(billNo, 0);
|
||||||
|
}
|
||||||
|
wmsReceiptBill.setBillNo(billNo);
|
||||||
|
wmsReceiptBill.setTotalQuantity(c);
|
||||||
|
baseMapper.insert(wmsReceiptBill);
|
||||||
|
List<PurchaseInventoryBillDetailDto2> list = dto.getList();
|
||||||
|
list.removeAll(Collections.singleton(null));
|
||||||
|
for (PurchaseInventoryBillDetailDto2 dto2 : list) {
|
||||||
|
purchaseInventoryBillDetailService.saveOrUpdate(dto2);
|
||||||
|
WarehouseInventory warehouseInventory=new WarehouseInventory();
|
||||||
|
warehouseInventory.setBatchNumber(dto2.getBatch());
|
||||||
|
warehouseInventory.setGoodsSpuName("");
|
||||||
|
warehouseInventory.setGoodsSkuSid(dto2.getGoodsSkuSid());
|
||||||
|
warehouseInventory.setGoodsSkuTitle(dto2.getGoodsSkuTitle());
|
||||||
|
warehouseInventory.setGoodsSkuCode(dto2.getGoodsSkuCode());
|
||||||
|
warehouseInventory.setGoodsSkuOwnSpec("");
|
||||||
|
warehouseInventory.setUnit(dto2.getUnit());
|
||||||
|
warehouseInventory.setCount(dto2.getCount());
|
||||||
|
warehouseInventory.setAllocateCount(new BigDecimal(0));
|
||||||
|
warehouseInventory.setPickCount(new BigDecimal(0));
|
||||||
|
warehouseInventory.setFreezeCount(new BigDecimal(0));
|
||||||
|
// warehouseInventory.setCost(dto2.getPrice());
|
||||||
|
warehouseInventory.setWarehouseSid(dto2.getWarehouseSid());
|
||||||
|
warehouseInventory.setWarehouseName(dto2.getWarehouseName());
|
||||||
|
warehouseInventory.setWarehouseRackSid(dto2.getWarehouseRackSid());
|
||||||
|
WarehouseRack warehouseRack=warehouseRackService.getOne(new QueryWrapper<WarehouseRack>().eq("sid",dto2.getWarehouseRackSid()));
|
||||||
|
warehouseInventory.setWarehouseRackCode(warehouseRack.getRackCode());
|
||||||
|
warehouseInventory.setUseOrgSid(dto.getUseOrgSid());
|
||||||
|
warehouseInventory.setCreateOrgSid(dto.getCreateOrgSid());
|
||||||
|
warehouseInventoryService.save(warehouseInventory);
|
||||||
|
}
|
||||||
|
|
||||||
|
OperationRecordDto dto1 = new OperationRecordDto();
|
||||||
|
dto1.setBillSid(sid);
|
||||||
|
dto1.setUserSid(dto.getUserSid());
|
||||||
|
dto1.setUserName(dto.getUserName());
|
||||||
|
dto1.setCreateTime(new Date());
|
||||||
|
dto1.setContent("生成入库单");
|
||||||
|
operationRecordService.save(dto1);
|
||||||
|
|
||||||
|
return rb.success().setMsg("保存成功");
|
||||||
|
}
|
||||||
|
|
||||||
// @Transactional
|
// @Transactional
|
||||||
public ResultBean<String> confirm(PurchaseInventoryBillDto2 dto) {
|
public ResultBean<String> confirm(PurchaseInventoryBillDto2 dto) {
|
||||||
|
|||||||
@@ -25,6 +25,8 @@ public class PurchaseInventoryBillVo {
|
|||||||
private String billNo;
|
private String billNo;
|
||||||
@ApiModelProperty("状态")
|
@ApiModelProperty("状态")
|
||||||
private String billState;
|
private String billState;
|
||||||
|
@ApiModelProperty("单据类型 0 :采购入库 1 验货入库")
|
||||||
|
private String billType;
|
||||||
@ApiModelProperty("商品总额")
|
@ApiModelProperty("商品总额")
|
||||||
private double total;
|
private double total;
|
||||||
@ApiModelProperty("商品总重量(kg)")
|
@ApiModelProperty("商品总重量(kg)")
|
||||||
|
|||||||
@@ -14,11 +14,15 @@ import java.util.Date;
|
|||||||
**/
|
**/
|
||||||
@Data
|
@Data
|
||||||
public class PurchaseInventoryBillDetailDto2 {
|
public class PurchaseInventoryBillDetailDto2 {
|
||||||
|
private String sid;
|
||||||
@ApiModelProperty("来源单sid")
|
@ApiModelProperty("来源单sid")
|
||||||
private String sourceBillSid;
|
private String sourceBillSid;
|
||||||
@ApiModelProperty("图示")
|
@ApiModelProperty("图示")
|
||||||
private String illustration;
|
private String illustration;
|
||||||
|
@ApiModelProperty("商品spusid")
|
||||||
|
private String goodsSpuSid;
|
||||||
|
@ApiModelProperty("商品SpuName")
|
||||||
|
private String goodsSpuName;
|
||||||
@ApiModelProperty("商品skusid")
|
@ApiModelProperty("商品skusid")
|
||||||
private String goodsSkuSid;
|
private String goodsSkuSid;
|
||||||
@ApiModelProperty("商品名称")
|
@ApiModelProperty("商品名称")
|
||||||
@@ -37,11 +41,11 @@ public class PurchaseInventoryBillDetailDto2 {
|
|||||||
@ApiModelProperty("单位")
|
@ApiModelProperty("单位")
|
||||||
private String unit;
|
private String unit;
|
||||||
@ApiModelProperty("成本单价")
|
@ApiModelProperty("成本单价")
|
||||||
private double price;
|
private BigDecimal price;
|
||||||
@ApiModelProperty("总价")
|
@ApiModelProperty("总价")
|
||||||
private double totalPrice;
|
private BigDecimal totalPrice;
|
||||||
@ApiModelProperty("数量")
|
@ApiModelProperty("数量")
|
||||||
private double count;
|
private BigDecimal count;
|
||||||
@ApiModelProperty("辅助单位")
|
@ApiModelProperty("辅助单位")
|
||||||
private String auxiliaryUnits;
|
private String auxiliaryUnits;
|
||||||
@ApiModelProperty("序列号")
|
@ApiModelProperty("序列号")
|
||||||
|
|||||||
@@ -27,4 +27,6 @@ public interface PurchaseInventoryBillDetailMapper extends BaseMapper<PurchaseIn
|
|||||||
|
|
||||||
@Delete("delete from warehouse_reportlose where sid = #{sid}")
|
@Delete("delete from warehouse_reportlose where sid = #{sid}")
|
||||||
void delByMainSid(String billSid);
|
void delByMainSid(String billSid);
|
||||||
|
|
||||||
|
String selectNum(String billNo);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,4 +37,11 @@
|
|||||||
from purchase_inventory_bill_detail a
|
from purchase_inventory_bill_detail a
|
||||||
where a.sid =#{sid}
|
where a.sid =#{sid}
|
||||||
</select>
|
</select>
|
||||||
|
<select id="selectNum" resultType="java.lang.String">
|
||||||
|
select RIGHT (billNo, 4)
|
||||||
|
from purchase_inventory_bill_detail
|
||||||
|
where billNo LIKE concat(#{billNo}, '%')
|
||||||
|
order by billNo desc
|
||||||
|
limit 1
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -2,6 +2,7 @@ package com.yxt.warehouse.biz.purchaseinventorybilldetail;
|
|||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.date.DateTime;
|
import cn.hutool.core.date.DateTime;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.yxt.common.base.service.MybatisBaseService;
|
import com.yxt.common.base.service.MybatisBaseService;
|
||||||
@@ -17,11 +18,17 @@ import com.yxt.warehouse.biz.warehouseansbill.WarehouseAnsBill;
|
|||||||
import com.yxt.warehouse.biz.warehouseansbill.WarehouseAnsBillService;
|
import com.yxt.warehouse.biz.warehouseansbill.WarehouseAnsBillService;
|
||||||
import com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsBillDetail;
|
import com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsBillDetail;
|
||||||
import com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsBillDetailService;
|
import com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsBillDetailService;
|
||||||
|
import com.yxt.warehouse.biz.warehouseinventory.WarehouseInventory;
|
||||||
|
import com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryService;
|
||||||
|
import com.yxt.warehouse.biz.warehouserack.WarehouseRack;
|
||||||
|
import com.yxt.warehouse.biz.warehouserack.WarehouseRackService;
|
||||||
import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchDto2;
|
import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchDto2;
|
||||||
import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchService;
|
import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchService;
|
||||||
|
import com.yxt.warehouse.utils.Rule;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -42,6 +49,10 @@ public class PurchaseInventoryBillDetailService extends MybatisBaseService<Purch
|
|||||||
private WarehouseAnsBillService warehouseAnsBillService;
|
private WarehouseAnsBillService warehouseAnsBillService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private PurchaseInventoryBillService purchaseInventoryBillService;
|
private PurchaseInventoryBillService purchaseInventoryBillService;
|
||||||
|
@Autowired
|
||||||
|
WarehouseInventoryService warehouseInventoryService;
|
||||||
|
@Autowired
|
||||||
|
WarehouseRackService warehouseRackService;
|
||||||
|
|
||||||
// public void saveOrUpdateDetailsList2(String sid, List<PurchaseInventoryBillDetailDto2> list, List<WarehouseReceiptBillDetailBatchDto2> pcList) {
|
// public void saveOrUpdateDetailsList2(String sid, List<PurchaseInventoryBillDetailDto2> list, List<WarehouseReceiptBillDetailBatchDto2> pcList) {
|
||||||
public ResultBean<String> saveOrUpdateDetailsList2(String sid, List<PurchaseInventoryBillDetailDto2> list) {
|
public ResultBean<String> saveOrUpdateDetailsList2(String sid, List<PurchaseInventoryBillDetailDto2> list) {
|
||||||
@@ -68,6 +79,40 @@ public class PurchaseInventoryBillDetailService extends MybatisBaseService<Purch
|
|||||||
warehouseAnsBillDetail.setWaitInCount(warehouseAnsBillDetail.getWaitInCount()-wmsReceiptBillDetail.getCount());
|
warehouseAnsBillDetail.setWaitInCount(warehouseAnsBillDetail.getWaitInCount()-wmsReceiptBillDetail.getCount());
|
||||||
warehouseAnsBillDetail.setActualInCount(warehouseAnsBillDetail.getActualInCount()+wmsReceiptBillDetail.getCount());
|
warehouseAnsBillDetail.setActualInCount(warehouseAnsBillDetail.getActualInCount()+wmsReceiptBillDetail.getCount());
|
||||||
warehouseAnsBillDetailService.updateById(warehouseAnsBillDetail);
|
warehouseAnsBillDetailService.updateById(warehouseAnsBillDetail);
|
||||||
|
WarehouseInventory warehouseInventory=new WarehouseInventory();
|
||||||
|
warehouseInventory.setBatchNumber(v.getBatch());
|
||||||
|
warehouseInventory.setGoodsSpuName("");
|
||||||
|
warehouseInventory.setGoodsSkuSid(v.getGoodsSkuSid());
|
||||||
|
warehouseInventory.setGoodsSkuTitle(v.getGoodsSkuTitle());
|
||||||
|
warehouseInventory.setGoodsSkuCode(v.getGoodsSkuCode());
|
||||||
|
warehouseInventory.setGoodsSkuOwnSpec("");
|
||||||
|
warehouseInventory.setUnit(v.getUnit());
|
||||||
|
warehouseInventory.setCount(v.getCount());
|
||||||
|
warehouseInventory.setAllocateCount(new BigDecimal(0));
|
||||||
|
warehouseInventory.setPickCount(new BigDecimal(0));
|
||||||
|
warehouseInventory.setFreezeCount(new BigDecimal(0));
|
||||||
|
warehouseInventory.setCost(v.getPrice());
|
||||||
|
warehouseInventory.setWarehouseSid(v.getWarehouseSid());
|
||||||
|
warehouseInventory.setWarehouseName(v.getWarehouseName());
|
||||||
|
warehouseInventory.setWarehouseRackSid(v.getWarehouseRackSid());
|
||||||
|
WarehouseRack warehouseRack=warehouseRackService.getOne(new QueryWrapper<WarehouseRack>().eq("sid",v.getWarehouseRackSid()));
|
||||||
|
warehouseInventory.setWarehouseRackCode(warehouseRack.getRackCode());
|
||||||
|
warehouseInventory.setFirstInDate(new Date());
|
||||||
|
warehouseInventory.setUseOrgSid(p.getUseOrgSid());
|
||||||
|
warehouseInventory.setCreateOrgSid(p.getCreateOrgSid());
|
||||||
|
warehouseInventory.setGoodsSkuOwnSpec(v.getSpecValue());
|
||||||
|
warehouseInventory.setGoodsSpuName(v.getGoodsSpuName());
|
||||||
|
warehouseInventory.setGoodSpuSid(v.getGoodsSpuSid());
|
||||||
|
String date = DateUtil.format(DateUtil.date(), "yyyyMMdd");
|
||||||
|
String billNo = "RK" + date;
|
||||||
|
String i = baseMapper.selectNum(billNo);
|
||||||
|
if (org.apache.commons.lang3.StringUtils.isNotBlank(i)) {
|
||||||
|
billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue());
|
||||||
|
} else {
|
||||||
|
billNo = Rule.getBillNo(billNo, 0);
|
||||||
|
}
|
||||||
|
warehouseInventory.setGoodsID(v.getGoodsSkuCode()+date+billNo);
|
||||||
|
warehouseInventoryService.save(warehouseInventory);
|
||||||
baseMapper.insert(wmsReceiptBillDetail);
|
baseMapper.insert(wmsReceiptBillDetail);
|
||||||
}
|
}
|
||||||
List<WarehouseAnsBillDetail>warehouseAnsBillDetails=warehouseAnsBillDetailService.list(new QueryWrapper<WarehouseAnsBillDetail>()
|
List<WarehouseAnsBillDetail>warehouseAnsBillDetails=warehouseAnsBillDetailService.list(new QueryWrapper<WarehouseAnsBillDetail>()
|
||||||
@@ -111,7 +156,7 @@ public class PurchaseInventoryBillDetailService extends MybatisBaseService<Purch
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
public ResultBean<String> saveOrUpdate(PurchaseInventoryBillDetailDto dto) {
|
public ResultBean<String> saveOrUpdate(PurchaseInventoryBillDetailDto2 dto) {
|
||||||
ResultBean rb = ResultBean.fireFail();
|
ResultBean rb = ResultBean.fireFail();
|
||||||
String sid = "";
|
String sid = "";
|
||||||
if (StringUtils.isNotBlank(dto.getSid())) {
|
if (StringUtils.isNotBlank(dto.getSid())) {
|
||||||
|
|||||||
@@ -219,7 +219,9 @@ public class WarehouseAnsBillService extends MybatisBaseService<WarehouseAnsBill
|
|||||||
IPage<WarehouseAndBillDetailVo> pagging = baseMapper.listPages1(page, qw);
|
IPage<WarehouseAndBillDetailVo> pagging = baseMapper.listPages1(page, qw);
|
||||||
for (WarehouseAndBillDetailVo record : pagging.getRecords()) {
|
for (WarehouseAndBillDetailVo record : pagging.getRecords()) {
|
||||||
WarehouseRack warehouseRack=warehouseRackService.getOne(new QueryWrapper<WarehouseRack>().eq("sid",record.getWarehouseRackSid()));
|
WarehouseRack warehouseRack=warehouseRackService.getOne(new QueryWrapper<WarehouseRack>().eq("sid",record.getWarehouseRackSid()));
|
||||||
|
if(null!=warehouseRack){
|
||||||
record.setWarehouseRackCode(warehouseRack.getRackCode());
|
record.setWarehouseRackCode(warehouseRack.getRackCode());
|
||||||
|
}
|
||||||
List<WarehouseAnsBillDetail> warehouseAnsBillDetails=WarehouseAnsBillDetailService.list(new QueryWrapper<WarehouseAnsBillDetail>().eq("sourceBillSid",record.getSid()));
|
List<WarehouseAnsBillDetail> warehouseAnsBillDetails=WarehouseAnsBillDetailService.list(new QueryWrapper<WarehouseAnsBillDetail>().eq("sourceBillSid",record.getSid()));
|
||||||
List<WarehouseAnsBillDetailVo> warehouseAnsBillDetailVos=new ArrayList<>();
|
List<WarehouseAnsBillDetailVo> warehouseAnsBillDetailVos=new ArrayList<>();
|
||||||
for (WarehouseAnsBillDetail warehouseAnsBillDetail : warehouseAnsBillDetails) {
|
for (WarehouseAnsBillDetail warehouseAnsBillDetail : warehouseAnsBillDetails) {
|
||||||
|
|||||||
@@ -11,10 +11,14 @@ import java.math.BigDecimal;
|
|||||||
@Data
|
@Data
|
||||||
public class AvailableCountVo {
|
public class AvailableCountVo {
|
||||||
private String sid;
|
private String sid;
|
||||||
|
private String inventorySid;
|
||||||
private String locationSid;//分配明细sid
|
private String locationSid;//分配明细sid
|
||||||
private String goodsSkuSid;
|
private String goodsSkuSid;
|
||||||
private String goodsSpuName;
|
private String goodsSpuName;
|
||||||
|
private String goodsSkuTitle;
|
||||||
|
private String goodsSkuOwnSpec;
|
||||||
private String warehouseName;
|
private String warehouseName;
|
||||||
|
private String warehouseSid;
|
||||||
private String areaName;
|
private String areaName;
|
||||||
private String rackSid;
|
private String rackSid;
|
||||||
private String rackName;
|
private String rackName;
|
||||||
|
|||||||
@@ -13,11 +13,15 @@ import java.util.Date;
|
|||||||
* @date 2024/2/28 8:38
|
* @date 2024/2/28 8:38
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@TableName("wms_inventory")
|
@TableName("warehouse_inventory")
|
||||||
public class WarehouseInventory extends BaseEntity {
|
public class WarehouseInventory extends BaseEntity {
|
||||||
|
|
||||||
@ApiModelProperty("批次号")
|
@ApiModelProperty("批次号")
|
||||||
private String batchNumber;
|
private String batchNumber;
|
||||||
|
@ApiModelProperty("厂家")
|
||||||
|
private String manufacturerSid;
|
||||||
|
@ApiModelProperty("厂家")
|
||||||
|
private String manufacturerName;
|
||||||
@ApiModelProperty("商品ID(唯一编码,入库时生成,生成规则为商品编码+YYMMdd+4位流水)")
|
@ApiModelProperty("商品ID(唯一编码,入库时生成,生成规则为商品编码+YYMMdd+4位流水)")
|
||||||
private String goodsID;
|
private String goodsID;
|
||||||
@ApiModelProperty("商品基础信息sid")
|
@ApiModelProperty("商品基础信息sid")
|
||||||
@@ -44,6 +48,9 @@ public class WarehouseInventory extends BaseEntity {
|
|||||||
private BigDecimal freezeCount;
|
private BigDecimal freezeCount;
|
||||||
@ApiModelProperty("入库单价")
|
@ApiModelProperty("入库单价")
|
||||||
private BigDecimal cost;
|
private BigDecimal cost;
|
||||||
|
@ApiModelProperty("税率")
|
||||||
|
private BigDecimal taxRate;
|
||||||
|
|
||||||
@ApiModelProperty("仓库sid")
|
@ApiModelProperty("仓库sid")
|
||||||
private String warehouseSid;
|
private String warehouseSid;
|
||||||
@ApiModelProperty("仓库名称")
|
@ApiModelProperty("仓库名称")
|
||||||
|
|||||||
@@ -309,11 +309,17 @@
|
|||||||
|
|
||||||
<select id="selAvailableBySkuSid" resultType="com.yxt.warehouse.biz.warehouseinventory.AvailableCountVo">
|
<select id="selAvailableBySkuSid" resultType="com.yxt.warehouse.biz.warehouseinventory.AvailableCountVo">
|
||||||
SELECT
|
SELECT
|
||||||
|
a.sid as inventorySid,
|
||||||
a.warehouseName,
|
a.warehouseName,
|
||||||
|
a.warehouseSid,
|
||||||
c.areaName,
|
c.areaName,
|
||||||
b.rackName,
|
b.rackName,
|
||||||
|
b.sid as rackSid,
|
||||||
b.rackCode,
|
b.rackCode,
|
||||||
a.count - a.allocateCount AS useCount
|
a.count - a.allocateCount AS useCount,
|
||||||
|
a.goodsSpuName,
|
||||||
|
a.goodsSkuTitle,
|
||||||
|
a.goodsSkuOwnSpec
|
||||||
FROM
|
FROM
|
||||||
warehouse_inventory a
|
warehouse_inventory a
|
||||||
LEFT JOIN warehouse_rack b ON a.warehouseRackSid = b.sid
|
LEFT JOIN warehouse_rack b ON a.warehouseRackSid = b.sid
|
||||||
|
|||||||
@@ -64,34 +64,10 @@ public class WarehouseInventoryService extends MybatisBaseService<WarehouseInven
|
|||||||
Warehouse.setFirstInDate(new Date());
|
Warehouse.setFirstInDate(new Date());
|
||||||
baseMapper.insert(Warehouse);
|
baseMapper.insert(Warehouse);
|
||||||
return rb.success().setData(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);
|
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) {
|
public ResultBean<String> saveOrUpdate(WarehouseInventoryDto dto) {
|
||||||
ResultBean rb = ResultBean.fireFail();
|
ResultBean rb = ResultBean.fireFail();
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ import java.math.BigDecimal;
|
|||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@ApiModel(value = "库存出入库记录", description = "库存出入库记录")
|
@ApiModel(value = "库存出入库记录", description = "库存出入库记录")
|
||||||
@TableName("wms_inventory_record")
|
@TableName("warehouse_inventory_record")
|
||||||
public class WarehouseInventoryRecord extends BaseEntity {
|
public class WarehouseInventoryRecord extends BaseEntity {
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ public class WarehouseInvoiceService extends MybatisBaseService<WarehouseInvoice
|
|||||||
ResultBean<WarehouseInvoiceVo> rb = ResultBean.fireFail();
|
ResultBean<WarehouseInvoiceVo> rb = ResultBean.fireFail();
|
||||||
WarehouseInvoiceVo warehouseInvoiceDetailsVo = baseMapper.details(sid);
|
WarehouseInvoiceVo warehouseInvoiceDetailsVo = baseMapper.details(sid);
|
||||||
if (warehouseInvoiceDetailsVo == null) {
|
if (warehouseInvoiceDetailsVo == null) {
|
||||||
return rb.setMsg("该单据不存在");
|
return rb.success().setData(new WarehouseInvoiceVo());
|
||||||
}
|
}
|
||||||
//ToDo:需补充仓库等信息
|
//ToDo:需补充仓库等信息
|
||||||
List<WarehouseInvoiceOutVo> detailsList = warehouseInvoiceOutService.detailsByInvoiceSid(warehouseInvoiceDetailsVo.getSid()).getData();
|
List<WarehouseInvoiceOutVo> detailsList = warehouseInvoiceOutService.detailsByInvoiceSid(warehouseInvoiceDetailsVo.getSid()).getData();
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package com.yxt.warehouse.biz.warehouseoutbill;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author wangpengfei
|
||||||
|
* @date 2024/8/19 9:27
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class RemarksVo {
|
||||||
|
private String sid;
|
||||||
|
private String buyerRemarks;
|
||||||
|
private String onlineRemarks;
|
||||||
|
private String systemRemarks;
|
||||||
|
}
|
||||||
@@ -4,7 +4,8 @@
|
|||||||
|
|
||||||
|
|
||||||
<select id="listPage" resultType="com.yxt.warehouse.biz.warehouseoutbill.WarehouseOutBillVo">
|
<select id="listPage" resultType="com.yxt.warehouse.biz.warehouseoutbill.WarehouseOutBillVo">
|
||||||
select a.* from warehouse_out_bill a
|
select a.*,case a.inventoryStatus when 0 then '未锁定' when 1 then '锁定' end as inventoryStatusValue
|
||||||
|
from warehouse_out_bill a
|
||||||
LEFT JOIN ss_user.sys_organization as s ON a.useOrgSid = s.sid
|
LEFT JOIN ss_user.sys_organization as s ON a.useOrgSid = s.sid
|
||||||
<where>
|
<where>
|
||||||
${ew.sqlSegment}
|
${ew.sqlSegment}
|
||||||
|
|||||||
@@ -38,6 +38,10 @@ public class WarehouseOutBillQuery implements Query {
|
|||||||
@ApiModelProperty("下单日期结束时间")
|
@ApiModelProperty("下单日期结束时间")
|
||||||
private String orderTimeEnd;
|
private String orderTimeEnd;
|
||||||
|
|
||||||
|
|
||||||
|
//1
|
||||||
|
|
||||||
|
|
||||||
private String orgLevelKey;//权限等级
|
private String orgLevelKey;//权限等级
|
||||||
@ApiModelProperty("菜单路由")
|
@ApiModelProperty("菜单路由")
|
||||||
private String menuUrl;
|
private String menuUrl;
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import com.yxt.warehouse.biz.warehouseinventory.WarehouseInventory;
|
|||||||
import com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryService;
|
import com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryService;
|
||||||
import com.yxt.warehouse.biz.warehouseinventoryrecord.WarehouseInventoryRecordDto;
|
import com.yxt.warehouse.biz.warehouseinventoryrecord.WarehouseInventoryRecordDto;
|
||||||
import com.yxt.warehouse.biz.warehouseinventoryrecord.WarehouseInventoryRecordService;
|
import com.yxt.warehouse.biz.warehouseinventoryrecord.WarehouseInventoryRecordService;
|
||||||
|
import com.yxt.warehouse.biz.warehouseoutbilldetail.WarehouseOutBillDetail;
|
||||||
import com.yxt.warehouse.biz.warehouseoutbilldetail.WarehouseOutBillDetailDto;
|
import com.yxt.warehouse.biz.warehouseoutbilldetail.WarehouseOutBillDetailDto;
|
||||||
import com.yxt.warehouse.biz.warehouseoutbilldetail.WarehouseOutBillDetailService;
|
import com.yxt.warehouse.biz.warehouseoutbilldetail.WarehouseOutBillDetailService;
|
||||||
import com.yxt.warehouse.biz.warehouseoutbilldetail.WarehouseOutBillDetailVo;
|
import com.yxt.warehouse.biz.warehouseoutbilldetail.WarehouseOutBillDetailVo;
|
||||||
@@ -29,6 +30,7 @@ import java.math.BigDecimal;
|
|||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description:
|
* @description:
|
||||||
@@ -112,6 +114,20 @@ public class WarehouseOutBillService extends MybatisBaseService<WarehouseOutBill
|
|||||||
|
|
||||||
IPage<WarehouseOutBill> page = PagerUtil.queryToPage(pagerQuery);
|
IPage<WarehouseOutBill> page = PagerUtil.queryToPage(pagerQuery);
|
||||||
IPage<WarehouseOutBillVo> pagging = baseMapper.listPage(page, qw);
|
IPage<WarehouseOutBillVo> pagging = baseMapper.listPage(page, qw);
|
||||||
|
for (WarehouseOutBillVo record : pagging.getRecords()) {
|
||||||
|
List<WarehouseOutBillDetail> warehouseOutBillDetails=warehouseOutBillDetailService.list(new QueryWrapper<WarehouseOutBillDetail>().eq("sourceBillSid",record.getSid()));
|
||||||
|
List<WarehouseOutBillDetail> warehouseOutBillDetails1=warehouseOutBillDetails.stream().filter(s->s.getRackState().equals("2")).collect(Collectors.toList());
|
||||||
|
if(!record.getInventoryStatus().equals("1")){
|
||||||
|
if (warehouseOutBillDetails.size()==warehouseOutBillDetails1.size()){
|
||||||
|
record.setInventoryStatus("1");
|
||||||
|
record.setInventoryStatusValue("锁定");
|
||||||
|
WarehouseOutBill bill=baseMapper.selectOne(new QueryWrapper<WarehouseOutBill>().eq("sid",record.getSid()));
|
||||||
|
record.setInventoryStatus("1");
|
||||||
|
baseMapper.updateById(bill);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
PagerVo<WarehouseOutBillVo> p = PagerUtil.pageToVo(pagging, null);
|
PagerVo<WarehouseOutBillVo> p = PagerUtil.pageToVo(pagging, null);
|
||||||
return rb.success().setData(p);
|
return rb.success().setData(p);
|
||||||
}
|
}
|
||||||
@@ -269,6 +285,7 @@ public class WarehouseOutBillService extends MybatisBaseService<WarehouseOutBill
|
|||||||
for (String s : query.getSid().split(",")) {
|
for (String s : query.getSid().split(",")) {
|
||||||
WarehouseOutBill warehouseOutBill=baseMapper.selectOne(new QueryWrapper<WarehouseOutBill>().eq("sid",s));
|
WarehouseOutBill warehouseOutBill=baseMapper.selectOne(new QueryWrapper<WarehouseOutBill>().eq("sid",s));
|
||||||
warehouseOutBill.setBillState(query.getBillState());
|
warehouseOutBill.setBillState(query.getBillState());
|
||||||
|
baseMapper.updateById(warehouseOutBill);
|
||||||
OperationRecordDto dto1 = new OperationRecordDto();
|
OperationRecordDto dto1 = new OperationRecordDto();
|
||||||
dto1.setBillSid(s);
|
dto1.setBillSid(s);
|
||||||
dto1.setUserSid(query.getUserSid());
|
dto1.setUserSid(query.getUserSid());
|
||||||
@@ -286,6 +303,7 @@ public class WarehouseOutBillService extends MybatisBaseService<WarehouseOutBill
|
|||||||
for (String s : query.getSid().split(",")) {
|
for (String s : query.getSid().split(",")) {
|
||||||
WarehouseOutBill warehouseOutBill=baseMapper.selectOne(new QueryWrapper<WarehouseOutBill>().eq("sid",s));
|
WarehouseOutBill warehouseOutBill=baseMapper.selectOne(new QueryWrapper<WarehouseOutBill>().eq("sid",s));
|
||||||
warehouseOutBill.setBillState(query.getBillState());
|
warehouseOutBill.setBillState(query.getBillState());
|
||||||
|
baseMapper.updateById(warehouseOutBill);
|
||||||
OperationRecordDto dto1 = new OperationRecordDto();
|
OperationRecordDto dto1 = new OperationRecordDto();
|
||||||
dto1.setBillSid(s);
|
dto1.setBillSid(s);
|
||||||
dto1.setUserSid(query.getUserSid());
|
dto1.setUserSid(query.getUserSid());
|
||||||
@@ -305,9 +323,10 @@ public class WarehouseOutBillService extends MybatisBaseService<WarehouseOutBill
|
|||||||
WarehouseInventory WarehouseInventory = warehouseInventoryService.fetchBySid(warehouseOutLocation.getInventorySid());
|
WarehouseInventory WarehouseInventory = warehouseInventoryService.fetchBySid(warehouseOutLocation.getInventorySid());
|
||||||
//减去出库的数量
|
//减去出库的数量
|
||||||
WarehouseInventory.setCount(WarehouseInventory.getCount().subtract(warehouseOutLocation.getCount()));
|
WarehouseInventory.setCount(WarehouseInventory.getCount().subtract(warehouseOutLocation.getCount()));
|
||||||
|
WarehouseInventory.setAllocateCount(WarehouseInventory.getAllocateCount().subtract(warehouseOutLocation.getCount()));
|
||||||
warehouseInventoryService.updateById(WarehouseInventory);
|
warehouseInventoryService.updateById(WarehouseInventory);
|
||||||
saveWarehouseInventory(dto.getSid());
|
|
||||||
}
|
}
|
||||||
|
saveWarehouseInventory(dto.getSid());
|
||||||
OperationRecordDto dto1 = new OperationRecordDto();
|
OperationRecordDto dto1 = new OperationRecordDto();
|
||||||
dto1.setBillSid(dto.getSid());
|
dto1.setBillSid(dto.getSid());
|
||||||
dto1.setUserSid(dto.getUserSid());
|
dto1.setUserSid(dto.getUserSid());
|
||||||
@@ -315,6 +334,9 @@ public class WarehouseOutBillService extends MybatisBaseService<WarehouseOutBill
|
|||||||
dto1.setCreateTime(new Date());
|
dto1.setCreateTime(new Date());
|
||||||
dto1.setContent("出库");
|
dto1.setContent("出库");
|
||||||
operationRecordService.save(dto1);
|
operationRecordService.save(dto1);
|
||||||
|
WarehouseOutBill warehouseOutBill=baseMapper.selectOne(new QueryWrapper<WarehouseOutBill>().eq("sid",s));
|
||||||
|
warehouseOutBill.setBillState("3");
|
||||||
|
baseMapper.updateById(warehouseOutBill);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -325,24 +347,30 @@ public class WarehouseOutBillService extends MybatisBaseService<WarehouseOutBill
|
|||||||
WarehouseOutBill WarehouseOutBill = fetchBySid(sid);
|
WarehouseOutBill WarehouseOutBill = fetchBySid(sid);
|
||||||
List<WarehouseOutLocation> warehouseOutLocations=warehouseOutLocationService.list(new QueryWrapper<WarehouseOutLocation>().eq("sourceBillSid",sid));
|
List<WarehouseOutLocation> warehouseOutLocations=warehouseOutLocationService.list(new QueryWrapper<WarehouseOutLocation>().eq("sourceBillSid",sid));
|
||||||
for (WarehouseOutLocation warehouseOutLocation : warehouseOutLocations) {
|
for (WarehouseOutLocation warehouseOutLocation : warehouseOutLocations) {
|
||||||
|
WarehouseInventory warehouseInventory=warehouseInventoryService.getOne(new QueryWrapper<WarehouseInventory>().eq("sid",warehouseOutLocation.getInventorySid()));
|
||||||
WarehouseInventoryRecordDto WarehouseInventoryRecordDto = new WarehouseInventoryRecordDto();
|
WarehouseInventoryRecordDto WarehouseInventoryRecordDto = new WarehouseInventoryRecordDto();
|
||||||
WarehouseInventoryRecordDto.setInventorySid(warehouseOutLocation.getInventorySid());
|
WarehouseInventoryRecordDto.setInventorySid(warehouseOutLocation.getInventorySid());
|
||||||
WarehouseInventoryRecordDto.setGoodsID(WarehouseInventoryRecordDto.getGoodsID());
|
WarehouseInventoryRecordDto.setGoodsID(warehouseInventory.getGoodsID());
|
||||||
WarehouseInventoryRecordDto.setSourceBillSid(WarehouseOutBill.getSid());
|
WarehouseInventoryRecordDto.setSourceBillSid(WarehouseOutBill.getSid());
|
||||||
WarehouseInventoryRecordDto.setBillNo(WarehouseOutBill.getBillNo());
|
WarehouseInventoryRecordDto.setBillNo(WarehouseOutBill.getBillNo());
|
||||||
WarehouseInventoryRecordDto.setBillType("0");
|
WarehouseInventoryRecordDto.setBillType("0");
|
||||||
WarehouseInventoryRecordDto.setBatchNumber(WarehouseInventoryRecordDto.getBatchNumber());
|
WarehouseInventoryRecordDto.setBatchNumber(warehouseInventory.getBatchNumber());
|
||||||
WarehouseInventoryRecordDto.setGoodSpuSid(WarehouseInventoryRecordDto.getGoodSpuSid());
|
WarehouseInventoryRecordDto.setGoodSpuSid(warehouseInventory.getGoodSpuSid());
|
||||||
WarehouseInventoryRecordDto.setGoodsSpuName(WarehouseInventoryRecordDto.getGoodsSpuName());
|
WarehouseInventoryRecordDto.setGoodsSpuName(warehouseOutLocation.getGoodsSpuName());
|
||||||
WarehouseInventoryRecordDto.setGoodsSkuSid(WarehouseInventoryRecordDto.getGoodsSkuSid());
|
WarehouseInventoryRecordDto.setGoodsSkuSid(warehouseOutLocation.getGoodsSkuSid());
|
||||||
WarehouseInventoryRecordDto.setGoodsSkuCode(WarehouseInventoryRecordDto.getGoodsSkuCode());
|
WarehouseInventoryRecordDto.setGoodsSkuCode(warehouseOutLocation.getGoodsSkuCode());
|
||||||
WarehouseInventoryRecordDto.setUnit(WarehouseInventoryRecordDto.getUnit());
|
WarehouseInventoryRecordDto.setUnit(warehouseInventory.getUnit());
|
||||||
WarehouseInventoryRecordDto.setCurrentCount(StringUtils.isNotBlank(WarehouseInventoryRecordDto.getCount().toString()) ? new BigDecimal(WarehouseInventoryRecordDto.getCount().toString()).toString() : BigDecimal.ZERO.toString());
|
WarehouseInventoryRecordDto.setCurrentCount(StringUtils.isNotBlank(warehouseInventory.getCount().toString()) ? new BigDecimal(warehouseInventory.getCount().toString()).toString() : BigDecimal.ZERO.toString());
|
||||||
WarehouseInventoryRecordDto.setWarehouseSid(WarehouseInventoryRecordDto.getWarehouseSid());
|
WarehouseInventoryRecordDto.setWarehouseSid(warehouseOutLocation.getWarehouseSid());
|
||||||
WarehouseInventoryRecordDto.setWarehouseName(WarehouseInventoryRecordDto.getWarehouseName());
|
WarehouseInventoryRecordDto.setWarehouseName(warehouseInventory.getWarehouseName());
|
||||||
WarehouseInventoryRecordDto.setWarehouseRackSid(WarehouseInventoryRecordDto.getWarehouseRackSid());
|
WarehouseInventoryRecordDto.setWarehouseRackSid(warehouseOutLocation.getRackSid());
|
||||||
WarehouseInventoryRecordDto.setWarehouseRackCode(WarehouseInventoryRecordDto.getWarehouseRackCode());
|
WarehouseInventoryRecordDto.setWarehouseRackCode(warehouseOutLocation.getRackCode());
|
||||||
warehouseInventoryRecordService.saveOrUpdateDto(WarehouseInventoryRecordDto);
|
warehouseInventoryRecordService.saveOrUpdateDto(WarehouseInventoryRecordDto);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public ResultBean getRemarks(String sid) {
|
||||||
|
ResultBean rb = ResultBean.fireFail();
|
||||||
|
|
||||||
|
return rb.success().setData(new RemarksVo());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ public class WarehouseOutBillVo {
|
|||||||
private String buyerMessage;
|
private String buyerMessage;
|
||||||
@ApiModelProperty("库存状态")
|
@ApiModelProperty("库存状态")
|
||||||
private String inventoryStatus;
|
private String inventoryStatus;
|
||||||
|
private String inventoryStatusValue;
|
||||||
@ApiModelProperty("货主")
|
@ApiModelProperty("货主")
|
||||||
private String shipper;
|
private String shipper;
|
||||||
@ApiModelProperty("承运商")
|
@ApiModelProperty("承运商")
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ public class WarehouseOutLocation extends BaseEntity {
|
|||||||
@ApiModelProperty("库位编码")
|
@ApiModelProperty("库位编码")
|
||||||
private String rackCode;
|
private String rackCode;
|
||||||
private String inventorySid;
|
private String inventorySid;
|
||||||
|
private String warehouseSid;
|
||||||
private String spec;
|
private String spec;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -13,15 +13,18 @@ import com.yxt.warehouse.biz.warehouseinventory.WarehouseInventory;
|
|||||||
import com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryService;
|
import com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryService;
|
||||||
import com.yxt.warehouse.biz.warehouseinventoryrecord.WarehouseInventoryRecordDto;
|
import com.yxt.warehouse.biz.warehouseinventoryrecord.WarehouseInventoryRecordDto;
|
||||||
import com.yxt.warehouse.biz.warehouseinventoryrecord.WarehouseInventoryRecordService;
|
import com.yxt.warehouse.biz.warehouseinventoryrecord.WarehouseInventoryRecordService;
|
||||||
|
import com.yxt.warehouse.biz.warehouseoutbill.WarehouseOutBillService;
|
||||||
import com.yxt.warehouse.biz.warehouseoutbilldetail.WarehouseOutBillDetail;
|
import com.yxt.warehouse.biz.warehouseoutbilldetail.WarehouseOutBillDetail;
|
||||||
import com.yxt.warehouse.biz.warehouseoutbilldetail.WarehouseOutBillDetailDto;
|
import com.yxt.warehouse.biz.warehouseoutbilldetail.WarehouseOutBillDetailDto;
|
||||||
import com.yxt.warehouse.biz.warehouseoutbilldetail.WarehouseOutBillDetailService;
|
import com.yxt.warehouse.biz.warehouseoutbilldetail.WarehouseOutBillDetailService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description:
|
* @description:
|
||||||
@@ -34,49 +37,58 @@ public class WarehouseOutLocationService extends MybatisBaseService<WarehouseOut
|
|||||||
WarehouseInventoryService warehouseInventoryService;
|
WarehouseInventoryService warehouseInventoryService;
|
||||||
@Autowired
|
@Autowired
|
||||||
WarehouseOutBillDetailService warehouseOutBillDetailService;
|
WarehouseOutBillDetailService warehouseOutBillDetailService;
|
||||||
|
@Transactional
|
||||||
public ResultBean<String> save(List<WarehouseOutLocationDto> dtos) {
|
public ResultBean<String> save(List<WarehouseOutLocationDto> dtos) {
|
||||||
ResultBean rb = ResultBean.fireFail();
|
ResultBean rb = ResultBean.fireFail();
|
||||||
if (dtos.size() == 0) {
|
if (dtos.size() == 0) {
|
||||||
return rb.setMsg("参数不正确");
|
return rb.setMsg("参数不正确");
|
||||||
}
|
}
|
||||||
|
BigDecimal t = new BigDecimal(0);
|
||||||
|
for (WarehouseOutLocationDto dto : dtos) {
|
||||||
|
t=t.add(dto.getCount());
|
||||||
|
}
|
||||||
//分配
|
//分配
|
||||||
WarehouseOutLocationVo warehouseOutLocationVo = baseMapper.totalCountBySkuSid(dtos.get(0).getSourceBillSid(), dtos.get(0).getGoodsSkuSid());
|
// WarehouseOutLocationVo warehouseOutLocationVo = baseMapper.totalCountBySkuSid(dtos.get(0).getSourceBillSid(), dtos.get(0).getGoodsSkuSid());
|
||||||
//总得
|
//总得
|
||||||
WarehouseOutBillDetail warehouseOutBillDetail = warehouseOutBillDetailService.getOne(new QueryWrapper<WarehouseOutBillDetail>()
|
WarehouseOutBillDetail warehouseOutBillDetail = warehouseOutBillDetailService.getOne(new QueryWrapper<WarehouseOutBillDetail>()
|
||||||
.eq("sourceBillSid", dtos.get(0).getSourceBillSid())
|
.eq("sourceBillSid", dtos.get(0).getSourceBillSid())
|
||||||
.eq("goodsSkuSid", dtos.get(0).getGoodsSkuSid()));
|
.eq("goodsSkuSid", dtos.get(0).getGoodsSkuSid()));
|
||||||
BigDecimal t = new BigDecimal(0);
|
int result= t.add(new BigDecimal(0)).compareTo(warehouseOutBillDetail.getOrderCount());
|
||||||
for (WarehouseOutLocationDto dto : dtos) {
|
// if(null!=warehouseOutLocationVo){
|
||||||
WarehouseInventory warehouseInventory = warehouseInventoryService.getOne(new QueryWrapper<WarehouseInventory>().eq("sid", dto.getInventorySid()));
|
// result= t.add(warehouseOutLocationVo.getTotalCount()).compareTo(warehouseOutBillDetail.getOrderCount());
|
||||||
warehouseInventory.setAllocateCount(warehouseInventory.getAllocateCount().add(dto.getCount().multiply(dto.getInitialCount())));
|
// }else{
|
||||||
warehouseInventoryService.saveOrUpdate(warehouseInventory);
|
// result= t.add(new BigDecimal(0)).compareTo(warehouseOutBillDetail.getOrderCount());
|
||||||
t.add(dto.getCount());
|
// }
|
||||||
}
|
|
||||||
int result = t.add(warehouseOutLocationVo.getTotalCount()).compareTo(warehouseOutBillDetail.getOrderCount());
|
|
||||||
if (result > 0) {
|
if (result > 0) {
|
||||||
return rb.setMsg("分配数量超过订单数量");
|
return rb.setMsg("分配数量超过订单数量");
|
||||||
}
|
}
|
||||||
for (WarehouseOutLocationDto dto : dtos) {
|
for (WarehouseOutLocationDto dto : dtos) {
|
||||||
|
WarehouseInventory warehouseInventory = warehouseInventoryService.getOne(new QueryWrapper<WarehouseInventory>().eq("sid", dto.getInventorySid()));
|
||||||
|
warehouseInventory.setAllocateCount(warehouseInventory.getAllocateCount().add(dto.getCount().subtract(dto.getInitialCount())));
|
||||||
|
warehouseInventoryService.saveOrUpdate(warehouseInventory);
|
||||||
int i = dto.getInitialCount().compareTo(new BigDecimal(0));
|
int i = dto.getInitialCount().compareTo(new BigDecimal(0));
|
||||||
if (i == 0) {
|
if (i == 0) {
|
||||||
WarehouseOutLocation warehouseOutLocation = new WarehouseOutLocation();
|
WarehouseOutLocation warehouseOutLocation = new WarehouseOutLocation();
|
||||||
BeanUtil.copyProperties(dto, warehouseOutLocation, "sid");
|
BeanUtil.copyProperties(dto, warehouseOutLocation, "sid");
|
||||||
warehouseOutLocation.setGoodsSkuCode(warehouseOutBillDetail.getGoodsSkuCode());
|
warehouseOutLocation.setGoodsSkuCode(warehouseOutBillDetail.getGoodsSkuCode());
|
||||||
|
warehouseOutLocation.setSpec(dto.getSpec());
|
||||||
|
warehouseOutLocation.setSid(UUID.randomUUID().toString());
|
||||||
baseMapper.insert(warehouseOutLocation);
|
baseMapper.insert(warehouseOutLocation);
|
||||||
} else {
|
} else {
|
||||||
WarehouseOutLocation warehouseOutLocation = new WarehouseOutLocation();
|
WarehouseOutLocation warehouseOutLocation = new WarehouseOutLocation();
|
||||||
BeanUtil.copyProperties(dto, warehouseOutLocation);
|
BeanUtil.copyProperties(dto, warehouseOutLocation);
|
||||||
warehouseOutLocation.setSid(dto.getLocationSid());
|
warehouseOutLocation.setSid(dto.getLocationSid());
|
||||||
warehouseOutLocation.setGoodsSkuCode(warehouseOutBillDetail.getGoodsSkuCode());
|
warehouseOutLocation.setGoodsSkuCode(warehouseOutBillDetail.getGoodsSkuCode());
|
||||||
baseMapper.updateById(warehouseOutLocation);
|
warehouseOutLocation.setSpec(dto.getSpec());
|
||||||
|
baseMapper.update(warehouseOutLocation,new QueryWrapper<WarehouseOutLocation>().eq("sid",dto.getLocationSid()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (warehouseOutBillDetail.getOrderCount() == warehouseOutLocationVo.getTotalCount()) {
|
if (warehouseOutBillDetail.getOrderCount().compareTo(t)==0 ) {
|
||||||
warehouseOutBillDetail.setRackState("2");
|
warehouseOutBillDetail.setRackState("2");
|
||||||
} else if (warehouseOutBillDetail.getOrderCount() != warehouseOutLocationVo.getTotalCount()) {
|
} else {
|
||||||
warehouseOutBillDetail.setRackState("1");
|
warehouseOutBillDetail.setRackState("1");
|
||||||
}
|
}
|
||||||
|
warehouseOutBillDetailService.updateById(warehouseOutBillDetail);
|
||||||
return rb.success().setData("");
|
return rb.success().setData("");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user