From adc09c0d9f76a86c838be4deb583ee808dd4eef9 Mon Sep 17 00:00:00 2001 From: fkf <1475794025@qq.com> Date: Thu, 1 Jun 2023 10:38:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=90=E5=93=81=E5=87=BA=E5=BA=93=E7=99=BB?= =?UTF-8?q?=E8=AE=B0=206-1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FinisProductOutbound.java | 28 ++++++++ .../FinisProductOutboundDto.java | 31 ++++++++ .../FinisProductOutboundQuery.java | 29 ++++++++ .../FinisProductOutboundVo.java | 44 ++++++++++++ .../FinishProductStorageRest.java | 2 +- .../FinisProductOutboundMapper.java | 21 ++++++ .../FinisProductOutboundMapper.xml | 15 ++++ .../FinisProductOutboundRest.java | 45 ++++++++++++ .../FinisProductOutboundService.java | 72 +++++++++++++++++++ 9 files changed, 286 insertions(+), 1 deletion(-) create mode 100644 yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/finisproductoutbound/FinisProductOutbound.java create mode 100644 yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/finisproductoutbound/FinisProductOutboundDto.java create mode 100644 yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/finisproductoutbound/FinisProductOutboundQuery.java create mode 100644 yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/finisproductoutbound/FinisProductOutboundVo.java create mode 100644 yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/finisproductoutbound/FinisProductOutboundMapper.java create mode 100644 yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/finisproductoutbound/FinisProductOutboundMapper.xml create mode 100644 yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/finisproductoutbound/FinisProductOutboundRest.java create mode 100644 yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/finisproductoutbound/FinisProductOutboundService.java diff --git a/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/finisproductoutbound/FinisProductOutbound.java b/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/finisproductoutbound/FinisProductOutbound.java new file mode 100644 index 00000000..1a9a4a96 --- /dev/null +++ b/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/finisproductoutbound/FinisProductOutbound.java @@ -0,0 +1,28 @@ +package com.yxt.supervise.cyf.api.finisproductoutbound; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author feikefei + * @create 2023-05-22-16:17 + */ +@Data +@ApiModel(value = "成品库出库记录信息", description = "成品库出库记录信息") +@TableName("finis_product_outbound") +public class FinisProductOutbound extends BaseEntity { + //销售合同号 + private String salesContractNumber; + //签订日期 + private String contractSigningDate; + //净重 + private Double weight; + //价值 + private Double value; + //出库时间 + private String deliveryDate; + //产品sid + private String prodSid; +} diff --git a/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/finisproductoutbound/FinisProductOutboundDto.java b/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/finisproductoutbound/FinisProductOutboundDto.java new file mode 100644 index 00000000..843d6e05 --- /dev/null +++ b/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/finisproductoutbound/FinisProductOutboundDto.java @@ -0,0 +1,31 @@ +package com.yxt.supervise.cyf.api.finisproductoutbound; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author feikefei + * @create 2023-05-22-16:24 + */ +@Data +@ApiModel(value = "成品库出库记录信息 传输对象数据", description = "成品库出库记录信息 传输对象数据") +public class FinisProductOutboundDto implements Dto{ + private String id; + private String sid; + + //销售合同号 + private String salesContractNumber; + //签订日期 + private String contractSigningDate; + //净重 + private Double weight; + //价值 + private Double value; + //出库时间 + private String deliveryDate; + //产品sid + private String prodSid; + //备注 + private String remarks; +} diff --git a/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/finisproductoutbound/FinisProductOutboundQuery.java b/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/finisproductoutbound/FinisProductOutboundQuery.java new file mode 100644 index 00000000..277382bc --- /dev/null +++ b/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/finisproductoutbound/FinisProductOutboundQuery.java @@ -0,0 +1,29 @@ +package com.yxt.supervise.cyf.api.finisproductoutbound; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author feikefei + * @create 2023-05-23-9:35 + */ +@Data +@ApiModel(value = "成品库出库记录信息 分页传输对象", description = "成品库出库记录信息 分页传输对象") +public class FinisProductOutboundQuery implements Query { + private String id; + private String sid; + + //销售合同号 + private String salesContractNumber; + //签订日期 + private String contractSigningDate; + //净重 + private Double weight; + //价值 + private Double value; + //出库时间 + private String deliveryDate; + //产品sid + private String prodSid; +} diff --git a/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/finisproductoutbound/FinisProductOutboundVo.java b/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/finisproductoutbound/FinisProductOutboundVo.java new file mode 100644 index 00000000..459743f0 --- /dev/null +++ b/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/finisproductoutbound/FinisProductOutboundVo.java @@ -0,0 +1,44 @@ +package com.yxt.supervise.cyf.api.finisproductoutbound; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author feikefei + * @create 2023-05-23-9:35 + */ +@Data +@ApiModel(value = "成品库出库记录信息 返回视图对象字段", description = "成品库出库记录信息 返回视图对象字段") +public class FinisProductOutboundVo implements Vo { + private String id; + private String sid; + + //销售合同号 + private String salesContractNumber; + //签订日期 + private String contractSigningDate; + //净重 + private Double weight; + //价值 + private Double value; + //出库时间 + private String deliveryDate; + //产品sid + private String prodSid; + + //商品类别名称 + private String typeName; + //商品类别编号 + private String typeNumber; + //商品数量 + private Double amount; + //商品名称 + private String prodName; + //商品编号 + private String prodNumber; + //品牌名称 + private String inforName; + //品牌编号 + private String inforNumber; +} diff --git a/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/finishproductstorage/FinishProductStorageRest.java b/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/finishproductstorage/FinishProductStorageRest.java index ef93cc6e..ef334f47 100644 --- a/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/finishproductstorage/FinishProductStorageRest.java +++ b/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/finishproductstorage/FinishProductStorageRest.java @@ -37,7 +37,7 @@ public class FinishProductStorageRest { @ApiOperation("成品库记录 分页查询") @PostMapping("/listPage") - public ResultBean> listPage(PagerQuery pq){ + public ResultBean> listPage(@RequestBody PagerQuery pq){ ResultBean rb = ResultBean.fireFail(); PagerVo listPage = finishProductStorageService.listPage(pq); return rb.success().setData(listPage); diff --git a/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/finisproductoutbound/FinisProductOutboundMapper.java b/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/finisproductoutbound/FinisProductOutboundMapper.java new file mode 100644 index 00000000..9f592e1b --- /dev/null +++ b/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/finisproductoutbound/FinisProductOutboundMapper.java @@ -0,0 +1,21 @@ +package com.yxt.supervise.cyf.biz.finisproductoutbound; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.supervise.cyf.api.finisproductoutbound.FinisProductOutbound; +import com.yxt.supervise.cyf.api.finisproductoutbound.FinisProductOutboundVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @author feikefei + * @create 2023-05-23-13:48 + */ +@Mapper +public interface FinisProductOutboundMapper extends BaseMapper { + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + +} diff --git a/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/finisproductoutbound/FinisProductOutboundMapper.xml b/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/finisproductoutbound/FinisProductOutboundMapper.xml new file mode 100644 index 00000000..5781d082 --- /dev/null +++ b/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/finisproductoutbound/FinisProductOutboundMapper.xml @@ -0,0 +1,15 @@ + + + + + \ No newline at end of file diff --git a/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/finisproductoutbound/FinisProductOutboundRest.java b/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/finisproductoutbound/FinisProductOutboundRest.java new file mode 100644 index 00000000..b40003d4 --- /dev/null +++ b/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/finisproductoutbound/FinisProductOutboundRest.java @@ -0,0 +1,45 @@ +package com.yxt.supervise.cyf.biz.finisproductoutbound; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.supervise.cyf.api.finisproductoutbound.FinisProductOutboundDto; +import com.yxt.supervise.cyf.api.finisproductoutbound.FinisProductOutboundQuery; +import com.yxt.supervise.cyf.api.finisproductoutbound.FinisProductOutboundVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @author feikefei + * @create 2023-05-23-13:47 + */ +@Api(tags = "成品库出库记录") +@RestController +@RequestMapping("cyf/outbound") +public class FinisProductOutboundRest { + + @Autowired + private FinisProductOutboundService finisProductOutboundService; + + @ApiOperation("增加") + @PostMapping("/save") + public ResultBean save(@RequestBody FinisProductOutboundDto dto){ + return finisProductOutboundService.save(dto); + } + + @ApiOperation("删除") + @GetMapping("/delete/{sid}") + public ResultBean delete(@PathVariable String sid){ + return finisProductOutboundService.delete(sid); + } + + @ApiOperation("成品库记录 分页查询") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq){ + ResultBean rb = ResultBean.fireFail(); + PagerVo listPage = finisProductOutboundService.listPage(pq); + return rb.success().setData(listPage); + } +} diff --git a/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/finisproductoutbound/FinisProductOutboundService.java b/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/finisproductoutbound/FinisProductOutboundService.java new file mode 100644 index 00000000..6cf27683 --- /dev/null +++ b/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/finisproductoutbound/FinisProductOutboundService.java @@ -0,0 +1,72 @@ +package com.yxt.supervise.cyf.biz.finisproductoutbound; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +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.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.supervise.cyf.api.finishproductinventory.FinishProductInventory; +import com.yxt.supervise.cyf.api.finisproductoutbound.FinisProductOutbound; +import com.yxt.supervise.cyf.api.finisproductoutbound.FinisProductOutboundDto; +import com.yxt.supervise.cyf.api.finisproductoutbound.FinisProductOutboundQuery; +import com.yxt.supervise.cyf.api.finisproductoutbound.FinisProductOutboundVo; +import com.yxt.supervise.cyf.biz.finishproductinventory.FinishProductInventoryMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; + +/** + * @author feikefei + * @create 2023-05-23-13:48 + */ +@Service +public class FinisProductOutboundService extends MybatisBaseService { + + @Autowired + private FinishProductInventoryMapper finishProductInventoryMapper; + + public ResultBean save(FinisProductOutboundDto dto){ + ResultBean rb = ResultBean.fireFail(); + FinisProductOutbound record = new FinisProductOutbound(); + BeanUtil.copyProperties(dto,record,"id","sid"); + FinishProductInventory finishProductInventory = finishProductInventoryMapper.selectPriceByProdSid(dto.getProdSid()); + if (finishProductInventory == null){ + return rb.success().setMsg("该品牌商品无库存"); + } + if (finishProductInventory.getAmount() < dto.getWeight()){ + return rb.setMsg("出库失败,库存不足"); + } + baseMapper.insert(record); + finishProductInventory.setAmount(finishProductInventory.getAmount()-dto.getWeight()); + finishProductInventoryMapper.updateById(finishProductInventory); + return rb.success().setMsg("出库成功"); + } + + public ResultBean delete(String sid){ + ResultBean rb = ResultBean.fireFail(); + baseMapper.delete(new QueryWrapper().eq("sid",sid)); + return rb.success().setMsg("删除成功"); + } + + public PagerVo listPage(PagerQuery pq){ + FinisProductOutboundQuery params = pq.getParams(); + QueryWrapper wq = new QueryWrapper<>(); + if (params != null){ + if (!params.getSalesContractNumber().equals("")){ + wq.eq("o.salesContractNumber",params.getSalesContractNumber()); + } + if (!params.getDeliveryDate().equals("")){ + wq.eq("o.deliveryDate",params.getDeliveryDate()); + } + } + IPage page = PagerUtil.queryToPage(pq); + IPage pageVo = baseMapper.selectPageVo(page, wq); + PagerVo pageToVo = PagerUtil.pageToVo(pageVo, null); + return pageToVo; + } +}