From 4c4e0c37c8f1842d1dc90c1d5b416f30c23e3198 Mon Sep 17 00:00:00 2001 From: wangpengfei <1928057482@qq.com> Date: Mon, 13 Jan 2025 08:47:28 +0800 Subject: [PATCH] 01/13 --- .../VegeCellarReserveOrderDto.java | 1 + .../VegeCellarReserveOrderService.java | 42 +++++++ .../purchasebill/PurchaseBillDetailDto.java | 109 ++++++++++++++++++ .../purchasebill/PurchaseBillDto.java | 106 +++++++++++++++++ .../purchasebill/PurchaseBillFeign.java | 32 +++++ 5 files changed, 290 insertions(+) create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/purchase/purchasebill/PurchaseBillDetailDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/purchase/purchasebill/PurchaseBillDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/purchase/purchasebill/PurchaseBillFeign.java diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/VegeCellarReserveOrderDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/VegeCellarReserveOrderDto.java index 7331977..2da7115 100644 --- a/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/VegeCellarReserveOrderDto.java +++ b/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/VegeCellarReserveOrderDto.java @@ -27,5 +27,6 @@ public class VegeCellarReserveOrderDto implements Dto { private String orderSid; private String addressName; private String cardType;//提货类型,1=提货卡;2=福利卡 + private String orgPath; } diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/VegeCellarReserveOrderService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/VegeCellarReserveOrderService.java index 14aa41e..1e734ad 100644 --- a/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/VegeCellarReserveOrderService.java +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/VegeCellarReserveOrderService.java @@ -13,6 +13,7 @@ import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import com.yxt.ordermall.api.cannotreservedictionary.CannotReserveDictionary; +import com.yxt.ordermall.api.lpkgiftcard.GoodsVo; import com.yxt.ordermall.api.lpkgoods.LpkGoods; import com.yxt.ordermall.api.lpkreserveorder.LpkReserveOrderQuery; import com.yxt.ordermall.api.lpkstore.LpkStore; @@ -24,6 +25,7 @@ import com.yxt.ordermall.api.vegetablecellar.vegeVo; import com.yxt.ordermall.biz.cannotreservedictionary.CannotReserveDictionaryService; import com.yxt.ordermall.biz.func.basebrandinfo.BaseBrandInfoVo; import com.yxt.ordermall.biz.func.basegoodssku.GoodsSkuDetailVo; +import com.yxt.ordermall.biz.func.sysorganization.SysOrganizationVo; import com.yxt.ordermall.biz.lpkgiftcard.generateRule.UniqueIdGenerator; import com.yxt.ordermall.biz.lpkgoods.LpkGoodsService; import com.yxt.ordermall.biz.lpkstore.LpkStoreService; @@ -31,11 +33,16 @@ import com.yxt.ordermall.biz.vegecallerreservedetail.VegeCellarReserveDetailsSer import com.yxt.ordermall.biz.vegetablecellar.VegetableCellarService; import com.yxt.ordermall.feign.base.basebrandinfo.BaseBrandInfoFeign; import com.yxt.ordermall.feign.base.basegoodssku.BaseGoodsSkuFeign; +import com.yxt.ordermall.feign.portal.sysorganization.SysOrganizationFeign; +import com.yxt.ordermall.feign.purchase.purchasebill.PurchaseBillDetailDto; +import com.yxt.ordermall.feign.purchase.purchasebill.PurchaseBillDto; +import com.yxt.ordermall.feign.purchase.purchasebill.PurchaseBillFeign; import com.yxt.ordermall.feign.warehouse.warehouseinfo.WarehouseInfoFeign; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.LocalDateTime; @@ -68,6 +75,10 @@ public class VegeCellarReserveOrderService extends MybatisBaseService fetch = sysOrganizationFeign.fetchBySid(dto.getOrgPath()); + dto1.setCreateOrgSid(dto.getOrgPath()); + dto1.setUseOrgSid(dto.getOrgPath()); + dto1.setDeptSid(dto.getOrgPath()); + dto1.setDeptName(fetch.getData().getName()); + ResultBean initialization1 = warehouseInfoFeign.initialization(dto.getStoreSid()); + dto1.setWareHouseSid(dto.getStoreSid()); + dto1.setWareHouseName(initialization1.getData().getWarehouseName()); + dto1.setSourceBillSid(order.getSid()); + List detailDtos=new ArrayList<>(); + for (GoodsVo goodsVo : dto.getGoodsVos()) { + PurchaseBillDetailDto detailDto=new PurchaseBillDetailDto(); + ResultBean goodsBySkuSid = baseGoodsSkuFeign.getGoodsBySkuSid(goodsVo.getGoodsSid()); + detailDto.setGoodsSpuSid(goodsBySkuSid.getData().getSpuSid()); + detailDto.setGoodsSpuName(goodsBySkuSid.getData().getGoodsName()); + detailDto.setGoodsCode(goodsBySkuSid.getData().getGoodsCode()); + detailDto.setGoodsSkuSid(goodsBySkuSid.getData().getSkuSid()); + detailDto.setGoodsSkuTitle(goodsBySkuSid.getData().getTitle()); + detailDto.setGoodsSkuCode(goodsBySkuSid.getData().getGoodsSkuCode()); + detailDto.setGoodsSN(goodsBySkuSid.getData().getBarCode()); + detailDto.setGoodsSkuOwnSpec(goodsBySkuSid.getData().getOwn_spec()); + detailDto.setGoodsImgUrl(goodsBySkuSid.getData().getPicUrl()); + detailDto.setUnit(goodsBySkuSid.getData().getGoodsUnitName()); + detailDto.setCost(new BigDecimal(goodsBySkuSid.getData().getCostPrice())); + detailDto.setCount(new BigDecimal(goodsVo.getSelect())); + detailDto.setAmount(detailDto.getCost().multiply(detailDto.getCost())); + detailDtos.add(detailDto); + } + dto1.setPurchaseBillDetailList(detailDtos); + purchaseBillFeign.savePurchase(dto1); baseMapper.insert(order); dto.setOrderSid(order.getSid()); rb = vegeCellarReserveDetailsService.submissionDetail(dto); diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/purchase/purchasebill/PurchaseBillDetailDto.java b/ordermall/src/main/java/com/yxt/ordermall/feign/purchase/purchasebill/PurchaseBillDetailDto.java new file mode 100644 index 0000000..fcbe9c5 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/purchase/purchasebill/PurchaseBillDetailDto.java @@ -0,0 +1,109 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.ordermall.feign.purchase.purchasebill; + + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@ApiModel(value = "采购单据明细 数据传输对象", description = "采购单据明细 数据传输对象") +public class PurchaseBillDetailDto implements Dto { + + private String sid; + + @ApiModelProperty("备注") + private String remarks; + @ApiModelProperty("单据sid") + private String billSid; + @ApiModelProperty("商品基础信息Sid") + private String goodsSpuSid; + @ApiModelProperty("商品名称") + private String goodsSpuName; + @ApiModelProperty("商品Skusid") + private String goodsSkuSid; + @ApiModelProperty("商品Sku名称") + private String goodsSkuTitle; + @ApiModelProperty("商品编码") + private String goodsSkuCode; + @ApiModelProperty("商品条码") + private String goodsSN; + @ApiModelProperty("货号") + private String goodsNum; + @ApiModelProperty("规格型号") + private String goodsSkuOwnSpec; + @ApiModelProperty("商品图片") + private String goodsImgUrl; + @ApiModelProperty("计量单位") + private String unit; + @ApiModelProperty("单价") + private BigDecimal cost; + @ApiModelProperty("数量") + private BigDecimal count; + @ApiModelProperty("数量(pcs)") + private BigDecimal pcsCount; + @ApiModelProperty("吊牌价") + private BigDecimal tagPrice; + @ApiModelProperty("折扣率") + private BigDecimal discountRate; + @ApiModelProperty("折后单价") + private BigDecimal discountPrice; + @ApiModelProperty("分摊金额") + private BigDecimal shareAmount; + @ApiModelProperty("分配比例") + private BigDecimal shareRate; + @ApiModelProperty("采购金额") + private BigDecimal amount; + @ApiModelProperty("税率") + private BigDecimal taxRate; + @ApiModelProperty("未含税价") + private BigDecimal unTaxPrice; + @ApiModelProperty("未含税总价(未含税价*采购数量)") + private BigDecimal unTaxTotalAmount; + @ApiModelProperty("采购周期") + private Integer cycle; + @ApiModelProperty("预期到货日期") + private String deliveryDate; + @ApiModelProperty("总税额") + private BigDecimal taxAmount; + @ApiModelProperty("保质期") + private Integer shelfLife; + + /* + * 商品扩展字段 + * */ + @ApiModelProperty("批次号") + private String batchNumber; + @ApiModelProperty("生产日期") + private String madeDate; + @ApiModelProperty("过期日期") + private String expireDate; + private String goodsCode; +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/purchase/purchasebill/PurchaseBillDto.java b/ordermall/src/main/java/com/yxt/ordermall/feign/purchase/purchasebill/PurchaseBillDto.java new file mode 100644 index 0000000..bbc5fdf --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/purchase/purchasebill/PurchaseBillDto.java @@ -0,0 +1,106 @@ + +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.ordermall.feign.purchase.purchasebill; + + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@ApiModel(value = "采购单 数据传输对象", description = "采购单 数据传输对象") +public class PurchaseBillDto implements Dto { + + private String sid; + + @ApiModelProperty("备注") + private String remarks; + @ApiModelProperty("制单人sid") + private String createBySid; + @ApiModelProperty("制单人姓名") + private String createByName; // 制单人姓名 + @ApiModelProperty("来源单sid(工单sid)") + private String sourceBillSid; // 来源单sid(工单sid) + @ApiModelProperty("来源单编号/外部编号") + private String sourceBillNo; // 来源单编号/外部编号 + @ApiModelProperty("单据编号") + private String billNo; // 单据编号 + @ApiModelProperty("采购类型Key") + private String purchaseTypeKey; // 采购类型Key + @ApiModelProperty("采购类型Value(厂家采购、外采、其他)") + private String purchaseTypeValue; // 采购类型Value(厂家采购、外采、其他) + @ApiModelProperty("采购原因key") + private String purchaseReasonKey; // 采购原因key + @ApiModelProperty("采购原因(储备/客户订单/在修车辆)") + private String purchaseReasonValue; // 采购原因(储备/客户订单/在修车辆) + @ApiModelProperty("付款方式key") + private String payTypeKey; // 付款方式key + @ApiModelProperty("付款方式value(预付款/月结/单笔付款)") + private String payTypeValue; // 付款方式value(预付款/月结/单笔付款) + @ApiModelProperty("供应商sid") + private String supplierSid; // 供应商sid + @ApiModelProperty("供应商名称") + private String supplierName; // 供应商名称 + @ApiModelProperty("供应商联系电话") + private String supplierPhone; // 供应商联系电话 + @ApiModelProperty("采购员sid(单选)") + private String purchaserSid; // 采购员sid(单选) + @ApiModelProperty("采购员姓名") + private String purchaserName; // 采购员姓名 + @ApiModelProperty("预计到货日期") + private String deliveryDate; + @ApiModelProperty("仓库sid") + private String wareHouseSid; + @ApiModelProperty("仓库名称") + private String wareHouseName; + @ApiModelProperty("使用组织sid") + private String useOrgSid; + @ApiModelProperty("创建组织sid") + private String createOrgSid; + @ApiModelProperty("创建部门sid") + private String deptSid; + @ApiModelProperty("创建部门") + private String deptName; + @ApiModelProperty("组织全路径") + private String orgPath; + @ApiModelProperty("组织编码") + private String orgCode; + +// @ApiModelProperty("采购单费用/预付款") +// private PurchaseBillAmountDto purchaseBillAmount; +// @ApiModelProperty("采购单扩展") +// private PurchaseBillExtendDto purchaseBillExtend; + @ApiModelProperty("采购单商品明细") + private List purchaseBillDetailList; +// @ApiModelProperty("采购商品扩展") +// private List purchaseBillBatchList; +// @ApiModelProperty("附件") +// private List purchaseAppendixList; +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/purchase/purchasebill/PurchaseBillFeign.java b/ordermall/src/main/java/com/yxt/ordermall/feign/purchase/purchasebill/PurchaseBillFeign.java new file mode 100644 index 0000000..b0b2060 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/purchase/purchasebill/PurchaseBillFeign.java @@ -0,0 +1,32 @@ +package com.yxt.ordermall.feign.purchase.purchasebill; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +@FeignClient( + contextId = "ss-common-purchase-PurchaseBill", + name = "ss-common-purchase", + path = "/apiadmin/purchasebill") +public interface PurchaseBillFeign { + + + + @ApiOperation("新增或修改") + @PostMapping("/save") + public ResultBean save(@RequestBody PurchaseBillDto dto); + @ApiOperation("新增采购单") + @PostMapping("/savePurchase") + public ResultBean savePurchase(@RequestBody PurchaseBillDto dto); + + @ApiOperation("采购单提交") + @PostMapping("/submit") + public ResultBean submit(@RequestBody String[] sids); + + @ApiOperation("采购单审核") + @PostMapping("/examine") + public ResultBean examine(@RequestParam("sid") String sid,@RequestParam("state") String state,@RequestParam("remarks") String remarks); +} \ No newline at end of file