Browse Source

01/13

master
wangpengfei 5 months ago
parent
commit
4c4e0c37c8
  1. 1
      ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/VegeCellarReserveOrderDto.java
  2. 42
      ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/VegeCellarReserveOrderService.java
  3. 109
      ordermall/src/main/java/com/yxt/ordermall/feign/purchase/purchasebill/PurchaseBillDetailDto.java
  4. 106
      ordermall/src/main/java/com/yxt/ordermall/feign/purchase/purchasebill/PurchaseBillDto.java
  5. 32
      ordermall/src/main/java/com/yxt/ordermall/feign/purchase/purchasebill/PurchaseBillFeign.java

1
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;
}

42
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<VegeCellar
WarehouseInfoFeign warehouseInfoFeign;
@Autowired
BaseBrandInfoFeign baseBrandInfoFeign;
@Autowired
PurchaseBillFeign purchaseBillFeign;
@Autowired
SysOrganizationFeign sysOrganizationFeign;
@Transactional(rollbackFor = Exception.class)
public ResultBean submission(VegeCellarReserveOrderDto dto) {
@ -104,6 +115,37 @@ public class VegeCellarReserveOrderService extends MybatisBaseService<VegeCellar
order.setReserveCode(uuid);
// order.setStoreName(lpkStore.getName());
order.setStoreName(initialization.getData().getWarehouseName());
PurchaseBillDto dto1=new PurchaseBillDto();
ResultBean<SysOrganizationVo> fetch = sysOrganizationFeign.fetchBySid(dto.getOrgPath());
dto1.setCreateOrgSid(dto.getOrgPath());
dto1.setUseOrgSid(dto.getOrgPath());
dto1.setDeptSid(dto.getOrgPath());
dto1.setDeptName(fetch.getData().getName());
ResultBean<WarehouseInfoVo> initialization1 = warehouseInfoFeign.initialization(dto.getStoreSid());
dto1.setWareHouseSid(dto.getStoreSid());
dto1.setWareHouseName(initialization1.getData().getWarehouseName());
dto1.setSourceBillSid(order.getSid());
List<PurchaseBillDetailDto> detailDtos=new ArrayList<>();
for (GoodsVo goodsVo : dto.getGoodsVos()) {
PurchaseBillDetailDto detailDto=new PurchaseBillDetailDto();
ResultBean<GoodsSkuDetailVo> 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);

109
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;
}

106
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<PurchaseBillDetailDto> purchaseBillDetailList;
// @ApiModelProperty("采购商品扩展")
// private List<PurchaseBillBatchDto> purchaseBillBatchList;
// @ApiModelProperty("附件")
// private List<PurchaseAppendixUrl> purchaseAppendixList;
}

32
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<String> save(@RequestBody PurchaseBillDto dto);
@ApiOperation("新增采购单")
@PostMapping("/savePurchase")
public ResultBean<String> 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);
}
Loading…
Cancel
Save