48 changed files with 1522 additions and 150 deletions
@ -0,0 +1,55 @@ |
|||
package com.yxt.warehouse.apiadmin; |
|||
|
|||
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.warehousegoodstag.WarehouseGoodsTagDto; |
|||
import com.yxt.warehouse.biz.warehousegoodstag.WarehouseGoodsTagService; |
|||
import com.yxt.warehouse.biz.warehousegoodstag.WarehouseGoodsTagVo; |
|||
import com.yxt.warehouse.biz.warehousereceiptbilldetail.WarehouseReceiptBillDetailQuery; |
|||
import io.swagger.annotations.Api; |
|||
import io.swagger.annotations.ApiOperation; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2024/6/6 17:00 |
|||
*/ |
|||
@Api(tags = "商品标签") |
|||
@RestController |
|||
@RequestMapping("/apiadmin/inventory/warehousegoodstag") |
|||
public class WarehouseGoodsTagRest { |
|||
@Autowired |
|||
private WarehouseGoodsTagService warehouseGoodsTagService; |
|||
|
|||
@ApiOperation("根据条件分页查询数据的列表") |
|||
@PostMapping("/listPage") |
|||
public ResultBean<PagerVo<WarehouseGoodsTagVo>> listPage(@RequestBody PagerQuery<WarehouseReceiptBillDetailQuery> pq){ |
|||
return warehouseGoodsTagService.listPage(pq); |
|||
} |
|||
|
|||
@ApiOperation("新增或修改") |
|||
@PostMapping("/save") |
|||
public ResultBean save(@RequestBody WarehouseGoodsTagDto dto){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
warehouseGoodsTagService.saveOrUpdateDto(dto); |
|||
return rb.success(); |
|||
} |
|||
|
|||
@ApiOperation("根据sid批量删除") |
|||
@DeleteMapping("/delBySids") |
|||
public ResultBean delBySids(@RequestBody String[] sids){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
warehouseGoodsTagService.delAll(sids); |
|||
return rb.success(); |
|||
} |
|||
|
|||
@ApiOperation("根据SID获取一条记录") |
|||
@GetMapping("/fetchDetailsBySid/{sid}") |
|||
public ResultBean<WarehouseGoodsTagVo> fetchDetailsBySid(@PathVariable("sid") String sid){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
WarehouseGoodsTagVo vo = warehouseGoodsTagService.fetchDetailsVoBySid(sid); |
|||
return rb.success().setData(vo); |
|||
} |
|||
} |
@ -0,0 +1,59 @@ |
|||
package com.yxt.warehouse.apiadmin; |
|||
|
|||
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.warehousereceiptbilldetail.WarehouseReceiptBillDetailQuery; |
|||
import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchDto; |
|||
import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchService; |
|||
import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchVo; |
|||
import com.yxt.warehouse.biz.warehousereportlose.WarehouseReportLoseDto; |
|||
import com.yxt.warehouse.biz.warehousereportlose.WarehouseReportLoseQuery; |
|||
import com.yxt.warehouse.biz.warehousereportlose.WarehouseReportLoseService; |
|||
import com.yxt.warehouse.biz.warehousereportlose.WarehouseReportLoseVo; |
|||
import io.swagger.annotations.Api; |
|||
import io.swagger.annotations.ApiOperation; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2024/6/6 16:44 |
|||
*/ |
|||
@Api(tags = "收货单据明细-批次属性") |
|||
@RestController |
|||
@RequestMapping("/apiadmin/inventory/wmsreceiptbilldetailbatch") |
|||
public class WarehouseReceiptBillDetailBatchRest { |
|||
@Autowired |
|||
private WarehouseReceiptBillDetailBatchService warehouseReceiptBillDetailBatchService; |
|||
|
|||
@ApiOperation("根据条件分页查询数据的列表") |
|||
@PostMapping("/listPage") |
|||
public ResultBean<PagerVo<WarehouseReceiptBillDetailBatchVo>> listPage(@RequestBody PagerQuery<WarehouseReceiptBillDetailQuery> pq){ |
|||
return warehouseReceiptBillDetailBatchService.listPage(pq); |
|||
} |
|||
|
|||
@ApiOperation("新增或修改") |
|||
@PostMapping("/save") |
|||
public ResultBean save(@RequestBody WarehouseReceiptBillDetailBatchDto dto){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
warehouseReceiptBillDetailBatchService.saveOrUpdateDto(dto); |
|||
return rb.success(); |
|||
} |
|||
|
|||
@ApiOperation("根据sid批量删除") |
|||
@DeleteMapping("/delBySids") |
|||
public ResultBean delBySids(@RequestBody String[] sids){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
warehouseReceiptBillDetailBatchService.delAll(sids); |
|||
return rb.success(); |
|||
} |
|||
|
|||
@ApiOperation("根据SID获取一条记录") |
|||
@GetMapping("/fetchDetailsBySid/{sid}") |
|||
public ResultBean<WarehouseReceiptBillDetailBatchVo> fetchDetailsBySid(@PathVariable("sid") String sid){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
WarehouseReceiptBillDetailBatchVo vo = warehouseReceiptBillDetailBatchService.fetchDetailsVoBySid(sid); |
|||
return rb.success().setData(vo); |
|||
} |
|||
} |
@ -0,0 +1,56 @@ |
|||
package com.yxt.warehouse.apiadmin; |
|||
|
|||
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.warehousereceiptbilldetail.WarehouseReceiptBillDetailDto; |
|||
import com.yxt.warehouse.biz.warehousereceiptbilldetail.WarehouseReceiptBillDetailQuery; |
|||
import com.yxt.warehouse.biz.warehousereceiptbilldetail.WarehouseReceiptBillDetailService; |
|||
import com.yxt.warehouse.biz.warehousereceiptbilldetail.WarehouseReceiptBillDetailVo; |
|||
import io.swagger.annotations.Api; |
|||
import io.swagger.annotations.ApiOperation; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2024/6/6 16:35 |
|||
*/ |
|||
@Api(tags = "收货单据明细") |
|||
@RestController |
|||
@RequestMapping("/apiadmin/inventory/wmsreceiptbilldetail") |
|||
public class WarehouseReceiptBillDetailRest { |
|||
|
|||
@Autowired |
|||
private WarehouseReceiptBillDetailService warehouseReceiptBillDetailService; |
|||
|
|||
@ApiOperation("根据条件分页查询数据的列表") |
|||
@PostMapping("/listPage") |
|||
public ResultBean<PagerVo<WarehouseReceiptBillDetailVo>> listPage(@RequestBody PagerQuery<WarehouseReceiptBillDetailQuery> pq){ |
|||
return warehouseReceiptBillDetailService.listPage(pq); |
|||
} |
|||
|
|||
@ApiOperation("新增或修改") |
|||
@PostMapping("/save") |
|||
public ResultBean save(@RequestBody WarehouseReceiptBillDetailDto dto){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
warehouseReceiptBillDetailService.saveOrUpdateDto(dto); |
|||
return rb.success(); |
|||
} |
|||
|
|||
@ApiOperation("根据sid批量删除") |
|||
@DeleteMapping("/delBySids") |
|||
public ResultBean delBySids(@RequestBody String[] sids){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
warehouseReceiptBillDetailService.delAll(sids); |
|||
return rb.success(); |
|||
} |
|||
|
|||
@ApiOperation("根据SID获取一条记录") |
|||
@GetMapping("/fetchDetailsBySid/{sid}") |
|||
public ResultBean<WarehouseReceiptBillDetailVo> fetchDetailsBySid(@PathVariable("sid") String sid){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
WarehouseReceiptBillDetailVo vo = warehouseReceiptBillDetailService.fetchDetailsVoBySid(sid); |
|||
return rb.success().setData(vo); |
|||
} |
|||
} |
@ -0,0 +1,55 @@ |
|||
package com.yxt.warehouse.apiadmin; |
|||
|
|||
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.warehousereceiptbilldetail.WarehouseReceiptBillDetailQuery; |
|||
import com.yxt.warehouse.biz.warehouseshelfbilldetail.WarehouseShelfBillDetailDto; |
|||
import com.yxt.warehouse.biz.warehouseshelfbilldetail.WarehouseShelfBillDetailService; |
|||
import com.yxt.warehouse.biz.warehouseshelfbilldetail.WarehouseShelfBillDetailVo; |
|||
import io.swagger.annotations.Api; |
|||
import io.swagger.annotations.ApiOperation; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2024/6/6 17:11 |
|||
*/ |
|||
@Api(tags = "上货架明细") |
|||
@RestController |
|||
@RequestMapping("/apiadmin/warehouseshelfbilldetail") |
|||
public class WarehouseShelfBillDetailRest { |
|||
@Autowired |
|||
private WarehouseShelfBillDetailService warehouseShelfBillDetailService; |
|||
|
|||
@ApiOperation("根据条件分页查询数据的列表") |
|||
@PostMapping("/listPage") |
|||
public ResultBean<PagerVo<WarehouseShelfBillDetailVo>> listPage(@RequestBody PagerQuery<WarehouseReceiptBillDetailQuery> pq){ |
|||
return warehouseShelfBillDetailService.listPage(pq); |
|||
} |
|||
|
|||
@ApiOperation("新增或修改") |
|||
@PostMapping("/save") |
|||
public ResultBean save(@RequestBody WarehouseShelfBillDetailDto dto){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
warehouseShelfBillDetailService.saveOrUpdateDto(dto); |
|||
return rb.success(); |
|||
} |
|||
|
|||
@ApiOperation("根据sid批量删除") |
|||
@DeleteMapping("/delBySids") |
|||
public ResultBean delBySids(@RequestBody String[] sids){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
warehouseShelfBillDetailService.delAll(sids); |
|||
return rb.success(); |
|||
} |
|||
|
|||
@ApiOperation("根据SID获取一条记录") |
|||
@GetMapping("/fetchDetailsBySid/{sid}") |
|||
public ResultBean<WarehouseShelfBillDetailVo> fetchDetailsBySid(@PathVariable("sid") String sid){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
WarehouseShelfBillDetailVo vo = warehouseShelfBillDetailService.fetchDetailsVoBySid(sid); |
|||
return rb.success().setData(vo); |
|||
} |
|||
} |
@ -0,0 +1,55 @@ |
|||
package com.yxt.warehouse.apiadmin; |
|||
|
|||
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.warehousereceiptbilldetail.WarehouseReceiptBillDetailQuery; |
|||
import com.yxt.warehouse.biz.warehouseshelfbillrecord.WarehouseShelfBillRecordDto; |
|||
import com.yxt.warehouse.biz.warehouseshelfbillrecord.WarehouseShelfBillRecordService; |
|||
import com.yxt.warehouse.biz.warehouseshelfbillrecord.WarehouseShelfBillRecordVo; |
|||
import io.swagger.annotations.Api; |
|||
import io.swagger.annotations.ApiOperation; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2024/6/6 17:19 |
|||
*/ |
|||
@Api(tags = "上货架明细") |
|||
@RestController |
|||
@RequestMapping("/apiadmin/warehouseshelfbillrecord") |
|||
public class WarehouseShelfBillRecordRest { |
|||
@Autowired |
|||
private WarehouseShelfBillRecordService warehouseShelfBillRecordService; |
|||
|
|||
@ApiOperation("根据条件分页查询数据的列表") |
|||
@PostMapping("/listPage") |
|||
public ResultBean<PagerVo<WarehouseShelfBillRecordVo>> listPage(@RequestBody PagerQuery<WarehouseReceiptBillDetailQuery> pq){ |
|||
return warehouseShelfBillRecordService.listPage(pq); |
|||
} |
|||
|
|||
@ApiOperation("新增或修改") |
|||
@PostMapping("/save") |
|||
public ResultBean save(@RequestBody WarehouseShelfBillRecordDto dto){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
warehouseShelfBillRecordService.saveOrUpdateDto(dto); |
|||
return rb.success(); |
|||
} |
|||
|
|||
@ApiOperation("根据sid批量删除") |
|||
@DeleteMapping("/delBySids") |
|||
public ResultBean delBySids(@RequestBody String[] sids){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
warehouseShelfBillRecordService.delAll(sids); |
|||
return rb.success(); |
|||
} |
|||
|
|||
@ApiOperation("根据SID获取一条记录") |
|||
@GetMapping("/fetchDetailsBySid/{sid}") |
|||
public ResultBean<WarehouseShelfBillRecordVo> fetchDetailsBySid(@PathVariable("sid") String sid){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
WarehouseShelfBillRecordVo vo = warehouseShelfBillRecordService.fetchDetailsVoBySid(sid); |
|||
return rb.success().setData(vo); |
|||
} |
|||
} |
@ -0,0 +1,34 @@ |
|||
package com.yxt.warehouse.biz.warehousegoodstag; |
|||
|
|||
import com.yxt.common.core.domain.BaseEntity; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/4/10 |
|||
**/ |
|||
@Data |
|||
public class WarehouseGoodsTag extends BaseEntity { |
|||
|
|||
private String billSid;//单据sid
|
|||
private String billDetailSid;//单据明细sid
|
|||
private String batchNumber;//批次号
|
|||
private String goodsID;//商品ID
|
|||
private String goodSpuSid;//商品基础信息Sid
|
|||
private String goodsSpuName;//商品名称
|
|||
private String goodsSkuSid;//商品Skusid
|
|||
private String goodsSkuTitle;//商品Sku名称
|
|||
private String goodsSkuCode;//商品sku编码
|
|||
private String goodsSkuOwnSpec;//规格型号
|
|||
private String unit;//计量单位
|
|||
private String goodsCount;//数量
|
|||
private String tagPicUrl;//标签图片地址
|
|||
private String state;//上架完成状态(1已完成 0未完成,默认为0)
|
|||
private String printCount;//打印次数
|
|||
|
|||
} |
@ -0,0 +1,31 @@ |
|||
package com.yxt.warehouse.biz.warehousegoodstag; |
|||
|
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2024/6/6 16:39 |
|||
*/ |
|||
@Data |
|||
public class WarehouseGoodsTagDto { |
|||
private String sid; |
|||
private String billSid;//单据sid
|
|||
private String billDetailSid;//单据明细sid
|
|||
private String batchNumber;//批次号
|
|||
private String goodsID;//商品ID
|
|||
private String goodSpuSid;//商品基础信息Sid
|
|||
private String goodsSpuName;//商品名称
|
|||
private String goodsSkuSid;//商品Skusid
|
|||
private String goodsSkuTitle;//商品Sku名称
|
|||
private String goodsSkuCode;//商品sku编码
|
|||
private String goodsSkuOwnSpec;//规格型号
|
|||
private String unit;//计量单位
|
|||
private String goodsCount;//数量
|
|||
private String tagPicUrl;//标签图片地址
|
|||
private String state;//上架完成状态(1已完成 0未完成,默认为0)
|
|||
private String printCount;//打印次数
|
|||
} |
@ -0,0 +1,28 @@ |
|||
package com.yxt.warehouse.biz.warehousegoodstag; |
|||
|
|||
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 com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchDto2; |
|||
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 |
|||
* @date: 2024/4/12 |
|||
**/ |
|||
@Mapper |
|||
public interface WarehouseGoodsTagMapper extends BaseMapper<WarehouseGoodsTag> { |
|||
|
|||
IPage<WarehouseGoodsTagVo> listPage(IPage<WarehouseGoodsTag> page, @Param(Constants.WRAPPER) QueryWrapper<WarehouseGoodsTag> qw); |
|||
WarehouseGoodsTagVo initialization (@Param("sid") String sid); |
|||
|
|||
@Delete("delete from warehouse_reportlose where sid = #{sid}") |
|||
void delByMainSid(String billSid); |
|||
|
|||
} |
@ -0,0 +1,19 @@ |
|||
<?xml version="1.0" encoding="UTF-8" ?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
<mapper namespace="com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchMapper"> |
|||
|
|||
<select id="listPage" resultType="com.yxt.warehouse.biz.warehousereceiptbilldetail.WarehouseReceiptBillDetailVo"> |
|||
select |
|||
a.* |
|||
from warehouse_receipt_bill_detail_batch a |
|||
<where> |
|||
${ew.sqlSegment} |
|||
</where> |
|||
</select> |
|||
<select id="initialization" resultType="com.yxt.warehouse.biz.warehousereceiptbilldetail.WarehouseReceiptBillDetailVo"> |
|||
select |
|||
a.* |
|||
from warehouse_receipt_bill_detail_batch a |
|||
where a.sid =#{sid} |
|||
</select> |
|||
</mapper> |
@ -0,0 +1,13 @@ |
|||
package com.yxt.warehouse.biz.warehousegoodstag; |
|||
|
|||
import com.yxt.common.core.query.Query; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2024/6/6 16:42 |
|||
*/ |
|||
@Data |
|||
public class WarehouseGoodsTagQuery implements Query { |
|||
private String name; |
|||
} |
@ -0,0 +1,103 @@ |
|||
package com.yxt.warehouse.biz.warehousegoodstag; |
|||
|
|||
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.warehousereceiptbilldetail.WarehouseReceiptBillDetailQuery; |
|||
import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchDto2; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/4/12 |
|||
**/ |
|||
@Service |
|||
public class WarehouseGoodsTagService extends MybatisBaseService<WarehouseGoodsTagMapper, WarehouseGoodsTag> { |
|||
|
|||
|
|||
public ResultBean<PagerVo<WarehouseGoodsTagVo>> listPage(PagerQuery<WarehouseReceiptBillDetailQuery> pq) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
WarehouseReceiptBillDetailQuery query = pq.getParams(); |
|||
QueryWrapper<WarehouseGoodsTag> qw = new QueryWrapper<>(); |
|||
if (StringUtils.isNotBlank(query.getName())) { |
|||
qw.like("rackName", query.getName()); |
|||
} |
|||
|
|||
IPage<WarehouseGoodsTag> page = PagerUtil.queryToPage(pq); |
|||
IPage<WarehouseGoodsTagVo> pagging = baseMapper.listPage(page, qw); |
|||
PagerVo<WarehouseGoodsTagVo> p = PagerUtil.pageToVo(pagging, null); |
|||
List<WarehouseGoodsTagVo> records = pagging.getRecords(); |
|||
return rb.success().setData(p); |
|||
} |
|||
|
|||
|
|||
public ResultBean<WarehouseGoodsTagVo> initialization(String sid) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
WarehouseGoodsTagVo vo = baseMapper.initialization(sid); |
|||
return rb.success().setData(vo); |
|||
} |
|||
public void delAll(String[] sids) { |
|||
delBySids(sids); |
|||
} |
|||
|
|||
public ResultBean delete(String sid) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
WarehouseGoodsTag wmsWarehouseRack = fetchBySid(sid); |
|||
if (null != wmsWarehouseRack) { |
|||
baseMapper.deleteById(wmsWarehouseRack.getId()); |
|||
} |
|||
return rb.success(); |
|||
} |
|||
|
|||
public ResultBean updateIsEnable(String sid, String isEnable) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
WarehouseGoodsTag wmsWarehouseRack = fetchBySid(sid); |
|||
if (null != wmsWarehouseRack) { |
|||
wmsWarehouseRack.setIsEnable(Integer.parseInt(isEnable)); |
|||
baseMapper.updateById(wmsWarehouseRack); |
|||
} |
|||
return rb.success().setMsg("成功"); |
|||
} |
|||
|
|||
public void delByMainSid(String billSid) { |
|||
baseMapper.delByMainSid(billSid); |
|||
} |
|||
|
|||
|
|||
public void saveOrUpdateDto(WarehouseGoodsTagDto dto) { |
|||
String dtoSid = dto.getSid(); |
|||
if (StringUtils.isBlank(dtoSid)) { |
|||
this.insertByDto(dto); |
|||
return; |
|||
} |
|||
this.updateByDto(dto); |
|||
} |
|||
|
|||
public void insertByDto(WarehouseGoodsTagDto dto) { |
|||
WarehouseGoodsTag entity = new WarehouseGoodsTag(); |
|||
BeanUtil.copyProperties(dto, entity, "id", "sid"); |
|||
baseMapper.insert(entity); |
|||
} |
|||
|
|||
public void updateByDto(WarehouseGoodsTagDto dto) { |
|||
String dtoSid = dto.getSid(); |
|||
if (StringUtils.isBlank(dtoSid)) { |
|||
return; |
|||
} |
|||
} |
|||
public WarehouseGoodsTagVo fetchDetailsVoBySid(String sid) { |
|||
WarehouseGoodsTag entity = fetchBySid(sid); |
|||
WarehouseGoodsTagVo vo = new WarehouseGoodsTagVo(); |
|||
BeanUtil.copyProperties(entity, vo); |
|||
return vo; |
|||
} |
|||
} |
@ -0,0 +1,30 @@ |
|||
package com.yxt.warehouse.biz.warehousegoodstag; |
|||
|
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/4/12 |
|||
**/ |
|||
@Data |
|||
public class WarehouseGoodsTagVo { |
|||
private String sid; |
|||
private String billSid;//单据sid
|
|||
private String billDetailSid;//单据明细sid
|
|||
private String batchNumber;//批次号
|
|||
private String goodsID;//商品ID
|
|||
private String goodSpuSid;//商品基础信息Sid
|
|||
private String goodsSpuName;//商品名称
|
|||
private String goodsSkuSid;//商品Skusid
|
|||
private String goodsSkuTitle;//商品Sku名称
|
|||
private String goodsSkuCode;//商品sku编码
|
|||
private String goodsSkuOwnSpec;//规格型号
|
|||
private String unit;//计量单位
|
|||
private String goodsCount;//数量
|
|||
private String tagPicUrl;//标签图片地址
|
|||
private String state;//上架完成状态(1已完成 0未完成,默认为0)
|
|||
private String printCount;//打印次数
|
|||
|
|||
} |
@ -0,0 +1,55 @@ |
|||
package com.yxt.warehouse.biz.warehousereceiptbilldetail; |
|||
|
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2024/6/6 16:39 |
|||
*/ |
|||
@Data |
|||
public class WarehouseReceiptBillDetailDto { |
|||
private String sid; |
|||
@ApiModelProperty("单据sid") |
|||
private String billSid; |
|||
@ApiModelProperty("商品基础信息Sid") |
|||
private String goodSpuSid; |
|||
@ApiModelProperty("商品名称") |
|||
private String goodsSpuName; |
|||
@ApiModelProperty("商品Skusid") |
|||
private String goodsSkuSid; |
|||
@ApiModelProperty("商品Sku名称") |
|||
private String goodsSkuTitle; |
|||
@ApiModelProperty("商品sku编码") |
|||
private String goodsSkuCode; |
|||
@ApiModelProperty("规格型号") |
|||
private String goodsSkuOwnSpec; |
|||
@ApiModelProperty("计量单位") |
|||
private String unit; |
|||
@ApiModelProperty("实收数量") |
|||
private BigDecimal actualInCount; |
|||
@ApiModelProperty("拒收数量") |
|||
private BigDecimal rejectCount; |
|||
@ApiModelProperty("拒收原因") |
|||
private String rejectReason; |
|||
@ApiModelProperty("收货时间") |
|||
private Date receivingGoodsTime; |
|||
@ApiModelProperty("是否需要质检(不需要0,需要1)") |
|||
private Integer isQuality; |
|||
@ApiModelProperty("质检状态(合格0,不合格1)") |
|||
private Integer qualityState; |
|||
@ApiModelProperty("载具说明") |
|||
private String packageRemark; |
|||
|
|||
@ApiModelProperty("仓库sid") |
|||
private String warehouseSid; |
|||
@ApiModelProperty("仓库名称") |
|||
private String warehouseName; |
|||
@ApiModelProperty("库位sid") |
|||
private String warehouseRackSid; |
|||
@ApiModelProperty("库位名称") |
|||
private String warehouseRackName; |
|||
} |
@ -0,0 +1,13 @@ |
|||
package com.yxt.warehouse.biz.warehousereceiptbilldetail; |
|||
|
|||
import com.yxt.common.core.query.Query; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2024/6/6 16:42 |
|||
*/ |
|||
@Data |
|||
public class WarehouseReceiptBillDetailQuery implements Query { |
|||
private String name; |
|||
} |
@ -0,0 +1,55 @@ |
|||
package com.yxt.warehouse.biz.warehousereceiptbilldetailbatch; |
|||
|
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2024/6/6 16:39 |
|||
*/ |
|||
@Data |
|||
public class WarehouseReceiptBillDetailBatchDto { |
|||
private String sid; |
|||
@ApiModelProperty("单据sid") |
|||
private String billSid; |
|||
@ApiModelProperty("商品基础信息Sid") |
|||
private String goodSpuSid; |
|||
@ApiModelProperty("商品名称") |
|||
private String goodsSpuName; |
|||
@ApiModelProperty("商品Skusid") |
|||
private String goodsSkuSid; |
|||
@ApiModelProperty("商品Sku名称") |
|||
private String goodsSkuTitle; |
|||
@ApiModelProperty("商品sku编码") |
|||
private String goodsSkuCode; |
|||
@ApiModelProperty("规格型号") |
|||
private String goodsSkuOwnSpec; |
|||
@ApiModelProperty("计量单位") |
|||
private String unit; |
|||
@ApiModelProperty("实收数量") |
|||
private BigDecimal actualInCount; |
|||
@ApiModelProperty("拒收数量") |
|||
private BigDecimal rejectCount; |
|||
@ApiModelProperty("拒收原因") |
|||
private String rejectReason; |
|||
@ApiModelProperty("收货时间") |
|||
private Date receivingGoodsTime; |
|||
@ApiModelProperty("是否需要质检(不需要0,需要1)") |
|||
private Integer isQuality; |
|||
@ApiModelProperty("质检状态(合格0,不合格1)") |
|||
private Integer qualityState; |
|||
@ApiModelProperty("载具说明") |
|||
private String packageRemark; |
|||
|
|||
@ApiModelProperty("仓库sid") |
|||
private String warehouseSid; |
|||
@ApiModelProperty("仓库名称") |
|||
private String warehouseName; |
|||
@ApiModelProperty("库位sid") |
|||
private String warehouseRackSid; |
|||
@ApiModelProperty("库位名称") |
|||
private String warehouseRackName; |
|||
} |
@ -0,0 +1,13 @@ |
|||
package com.yxt.warehouse.biz.warehousereceiptbilldetailbatch; |
|||
|
|||
import com.yxt.common.core.query.Query; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2024/6/6 16:42 |
|||
*/ |
|||
@Data |
|||
public class WarehouseReceiptBillDetailBatchQuery implements Query { |
|||
private String name; |
|||
} |
@ -0,0 +1,61 @@ |
|||
package com.yxt.warehouse.biz.warehousereceiptbilldetailbatch; |
|||
|
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/4/12 |
|||
**/ |
|||
@Data |
|||
public class WarehouseReceiptBillDetailBatchVo { |
|||
|
|||
@ApiModelProperty("商品Skusid") |
|||
private String goodsSkuSid; |
|||
@ApiModelProperty("商品Sku名称") |
|||
private String goodsSkuTitle; |
|||
@ApiModelProperty("商品sku编码") |
|||
private String goodsSkuCode; |
|||
@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 warehouseRackName; |
|||
@ApiModelProperty("实收数量") |
|||
private String actualInCount; |
|||
@ApiModelProperty("拒收数量") |
|||
private String rejectCount; |
|||
@ApiModelProperty("拒收原因") |
|||
private String rejectReason; |
|||
@ApiModelProperty("是否需要质检(不需要0,需要1)") |
|||
private Integer isQuality; |
|||
@ApiModelProperty("质检状态(合格0,不合格1)") |
|||
private Integer qualityState; |
|||
@ApiModelProperty("载具说明") |
|||
private String packageRemark; |
|||
|
|||
//入库价
|
|||
@ApiModelProperty("单位成本(采购价)") |
|||
private String cost; |
|||
@ApiModelProperty("税额") |
|||
private String taxAmount; |
|||
@ApiModelProperty("含税价") |
|||
private String taxPrice; |
|||
//采购金额
|
|||
@ApiModelProperty("金额") |
|||
private String amount; |
|||
|
|||
@ApiModelProperty("有效期天数") |
|||
private Integer shelfLife; |
|||
@ApiModelProperty("预约数量(采购订单数量)") |
|||
private String orderCount; |
|||
|
|||
} |
@ -0,0 +1,41 @@ |
|||
package com.yxt.warehouse.biz.warehouseshelfbilldetail; |
|||
|
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.math.BigDecimal; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/4/12 |
|||
**/ |
|||
@Data |
|||
public class WarehouseShelfBillDetailVo { |
|||
private String sid; |
|||
@ApiModelProperty("单据sid") |
|||
private String billSid; |
|||
@ApiModelProperty("收货单明细sid") |
|||
private String receiptDetailSid; |
|||
@ApiModelProperty("批次号") |
|||
private String batchNumber; |
|||
@ApiModelProperty("商品基础信息Sid") |
|||
private String goodSpuSid; |
|||
@ApiModelProperty("商品名称") |
|||
private String goodsSpuName; |
|||
@ApiModelProperty("商品Skusid") |
|||
private String goodsSkuSid; |
|||
@ApiModelProperty("商品Sku名称") |
|||
private String goodsSkuTitle; |
|||
@ApiModelProperty("商品sku编码") |
|||
private String goodsSkuCode; |
|||
@ApiModelProperty("规格型号") |
|||
private String goodsSkuOwnSpec; |
|||
@ApiModelProperty("计量单位") |
|||
private String unit; |
|||
@ApiModelProperty("上架数量") |
|||
private BigDecimal count; |
|||
@ApiModelProperty("已上架数量(根据上架记录计算)") |
|||
private BigDecimal actualCount; |
|||
|
|||
} |
@ -0,0 +1,34 @@ |
|||
package com.yxt.warehouse.biz.warehouseshelfbillrecord; |
|||
|
|||
import com.yxt.common.core.domain.BaseEntity; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.math.BigDecimal; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/4/10 |
|||
**/ |
|||
@Data |
|||
public class WarehouseShelfBillRecord extends BaseEntity { |
|||
@ApiModelProperty("单据sid") |
|||
private String billSid; |
|||
@ApiModelProperty("上架单明细sid") |
|||
private String shelfDetailSid; |
|||
@ApiModelProperty("商品ID") |
|||
private String goodsID; |
|||
@ApiModelProperty("仓库sid") |
|||
private String warehouseSid; |
|||
@ApiModelProperty("库位Sid") |
|||
private String warehouseRackSid; |
|||
@ApiModelProperty("库位编号") |
|||
private String warehouseRackCode; |
|||
@ApiModelProperty("上架数量") |
|||
private String shelfCount; |
|||
@ApiModelProperty("上架时间") |
|||
private BigDecimal createTime; |
|||
@ApiModelProperty("上架人") |
|||
private BigDecimal createBySid; |
|||
} |
@ -0,0 +1,35 @@ |
|||
package com.yxt.warehouse.biz.warehouseshelfbillrecord; |
|||
|
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.math.BigDecimal; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/4/15 |
|||
**/ |
|||
@Data |
|||
public class WarehouseShelfBillRecordDto { |
|||
private String sid; |
|||
@ApiModelProperty("单据sid") |
|||
private String billSid; |
|||
@ApiModelProperty("上架单明细sid") |
|||
private String shelfDetailSid; |
|||
@ApiModelProperty("商品ID") |
|||
private String goodsID; |
|||
@ApiModelProperty("仓库sid") |
|||
private String warehouseSid; |
|||
@ApiModelProperty("库位Sid") |
|||
private String warehouseRackSid; |
|||
@ApiModelProperty("库位编号") |
|||
private String warehouseRackCode; |
|||
@ApiModelProperty("上架数量") |
|||
private String shelfCount; |
|||
@ApiModelProperty("上架时间") |
|||
private BigDecimal createTime; |
|||
@ApiModelProperty("上架人") |
|||
private BigDecimal createBySid; |
|||
|
|||
} |
@ -0,0 +1,29 @@ |
|||
package com.yxt.warehouse.biz.warehouseshelfbillrecord; |
|||
|
|||
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 com.yxt.warehouse.biz.warehouseshelfbilldetail.WarehouseShelfBillDetailVos; |
|||
import com.yxt.warehouse.biz.warehouseshelfbilldetail.WarehouseShelfDetailsListVo; |
|||
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 |
|||
* @date: 2024/4/17 |
|||
**/ |
|||
@Mapper |
|||
public interface WarehouseShelfBillRecordMapper extends BaseMapper<WarehouseShelfBillRecord> { |
|||
|
|||
IPage<WarehouseShelfBillRecordVo> listPage(IPage<WarehouseShelfBillRecord> page, @Param(Constants.WRAPPER) QueryWrapper<WarehouseShelfBillRecord> qw); |
|||
|
|||
WarehouseShelfBillRecordVo initialization (@Param("sid") String sid); |
|||
|
|||
@Delete("delete from warehouse_reportlose where sid = #{sid}") |
|||
void delByMainSid(String billSid); |
|||
} |
@ -0,0 +1,18 @@ |
|||
<?xml version="1.0" encoding="UTF-8" ?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
<mapper namespace="com.yxt.warehouse.biz.warehouseshelfbillrecord.WarehouseShelfBillRecordMapper"> |
|||
<select id="listPage" resultType="com.yxt.warehouse.biz.warehousereceiptbilldetail.WarehouseReceiptBillDetailVo"> |
|||
select |
|||
a.* |
|||
from warehouse_shelf_bill_record a |
|||
<where> |
|||
${ew.sqlSegment} |
|||
</where> |
|||
</select> |
|||
<select id="initialization" resultType="com.yxt.warehouse.biz.warehousereceiptbilldetail.WarehouseReceiptBillDetailVo"> |
|||
select |
|||
a.* |
|||
from warehouse_shelf_bill_record a |
|||
where a.sid =#{sid} |
|||
</select> |
|||
</mapper> |
@ -0,0 +1,103 @@ |
|||
package com.yxt.warehouse.biz.warehouseshelfbillrecord; |
|||
|
|||
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.warehousereceiptbilldetail.WarehouseReceiptBillDetailQuery; |
|||
import com.yxt.warehouse.biz.warehouseshelfbilldetail.WarehouseShelfBillDetailVos; |
|||
import com.yxt.warehouse.biz.warehouseshelfbilldetail.WarehouseShelfDetailsListVo; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/4/17 |
|||
**/ |
|||
@Service |
|||
public class WarehouseShelfBillRecordService extends MybatisBaseService<WarehouseShelfBillRecordMapper, WarehouseShelfBillRecord> { |
|||
|
|||
public ResultBean<PagerVo<WarehouseShelfBillRecordVo>> listPage(PagerQuery<WarehouseReceiptBillDetailQuery> pq) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
WarehouseReceiptBillDetailQuery query = pq.getParams(); |
|||
QueryWrapper<WarehouseShelfBillRecord> qw = new QueryWrapper<>(); |
|||
if (StringUtils.isNotBlank(query.getName())) { |
|||
qw.like("rackName", query.getName()); |
|||
} |
|||
|
|||
IPage<WarehouseShelfBillRecord> page = PagerUtil.queryToPage(pq); |
|||
IPage<WarehouseShelfBillRecordVo> pagging = baseMapper.listPage(page, qw); |
|||
PagerVo<WarehouseShelfBillRecordVo> p = PagerUtil.pageToVo(pagging, null); |
|||
List<WarehouseShelfBillRecordVo> records = pagging.getRecords(); |
|||
return rb.success().setData(p); |
|||
} |
|||
|
|||
|
|||
public ResultBean<WarehouseShelfBillRecordVo> initialization(String sid) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
WarehouseShelfBillRecordVo vo = baseMapper.initialization(sid); |
|||
return rb.success().setData(vo); |
|||
} |
|||
public void delAll(String[] sids) { |
|||
delBySids(sids); |
|||
} |
|||
|
|||
public ResultBean delete(String sid) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
WarehouseShelfBillRecord wmsWarehouseRack = fetchBySid(sid); |
|||
if (null != wmsWarehouseRack) { |
|||
baseMapper.deleteById(wmsWarehouseRack.getId()); |
|||
} |
|||
return rb.success(); |
|||
} |
|||
|
|||
public ResultBean updateIsEnable(String sid, String isEnable) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
WarehouseShelfBillRecord wmsWarehouseRack = fetchBySid(sid); |
|||
if (null != wmsWarehouseRack) { |
|||
wmsWarehouseRack.setIsEnable(Integer.parseInt(isEnable)); |
|||
baseMapper.updateById(wmsWarehouseRack); |
|||
} |
|||
return rb.success().setMsg("成功"); |
|||
} |
|||
|
|||
public void delByMainSid(String billSid) { |
|||
baseMapper.delByMainSid(billSid); |
|||
} |
|||
|
|||
|
|||
public void saveOrUpdateDto(WarehouseShelfBillRecordDto dto) { |
|||
String dtoSid = dto.getSid(); |
|||
if (StringUtils.isBlank(dtoSid)) { |
|||
this.insertByDto(dto); |
|||
return; |
|||
} |
|||
this.updateByDto(dto); |
|||
} |
|||
|
|||
public void insertByDto(WarehouseShelfBillRecordDto dto) { |
|||
WarehouseShelfBillRecord entity = new WarehouseShelfBillRecord(); |
|||
BeanUtil.copyProperties(dto, entity, "id", "sid"); |
|||
baseMapper.insert(entity); |
|||
} |
|||
|
|||
public void updateByDto(WarehouseShelfBillRecordDto dto) { |
|||
String dtoSid = dto.getSid(); |
|||
if (StringUtils.isBlank(dtoSid)) { |
|||
return; |
|||
} |
|||
} |
|||
public WarehouseShelfBillRecordVo fetchDetailsVoBySid(String sid) { |
|||
WarehouseShelfBillRecord entity = fetchBySid(sid); |
|||
WarehouseShelfBillRecordVo vo = new WarehouseShelfBillRecordVo(); |
|||
BeanUtil.copyProperties(entity, vo); |
|||
return vo; |
|||
} |
|||
} |
@ -0,0 +1,35 @@ |
|||
package com.yxt.warehouse.biz.warehouseshelfbillrecord; |
|||
|
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.math.BigDecimal; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: dimengzhe |
|||
* @date: 2024/4/12 |
|||
**/ |
|||
@Data |
|||
public class WarehouseShelfBillRecordVo { |
|||
private String sid; |
|||
@ApiModelProperty("单据sid") |
|||
private String billSid; |
|||
@ApiModelProperty("上架单明细sid") |
|||
private String shelfDetailSid; |
|||
@ApiModelProperty("商品ID") |
|||
private String goodsID; |
|||
@ApiModelProperty("仓库sid") |
|||
private String warehouseSid; |
|||
@ApiModelProperty("库位Sid") |
|||
private String warehouseRackSid; |
|||
@ApiModelProperty("库位编号") |
|||
private String warehouseRackCode; |
|||
@ApiModelProperty("上架数量") |
|||
private String shelfCount; |
|||
@ApiModelProperty("上架时间") |
|||
private BigDecimal createTime; |
|||
@ApiModelProperty("上架人") |
|||
private BigDecimal createBySid; |
|||
|
|||
} |
Loading…
Reference in new issue