Browse Source

优化售后销售开单

master
fanzongzhe 12 months ago
parent
commit
972659d661
  1. 4
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smsgoods/SmsGoods.java
  2. 3
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SalesGoodsVo.java
  3. 3
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillMapper.java
  4. 21
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillMapper.xml
  5. 43
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillService.java
  6. 2
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsWmsInventorySalesQuery.java
  7. 44
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsWmsInventorySalesVo.java
  8. 2
      yxt-sms-biz/src/main/java/com/yxt/sms/feign/fms/fmsreceivesettle/FmsReceivesettleFeign.java

4
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smsgoods/SmsGoods.java

@ -78,4 +78,8 @@ public class SmsGoods extends BaseEntity {
private String unit; // 计量单位
@ApiModelProperty("组织全路径")
private BigDecimal price; // 销售单价
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
}

3
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SalesGoodsVo.java

@ -14,6 +14,9 @@ import java.math.BigDecimal;
public class SalesGoodsVo {
private String sid;
//商品sid
private String goodSpuSid;
private String goodsSkuSid;
//商品名称
private String goodsSpuName;
//商品编码(图号)

3
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillMapper.java

@ -30,6 +30,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.sms.biz.smsgoods.SmsGoods;
import com.yxt.sms.biz.smssalesbill.report.SmsSalesBillGoodsDetailsReportVo;
import com.yxt.sms.biz.smssalesbill.report.SmsSalesGoodsTotalsVo;
import com.yxt.sms.biz.smssalesbill.report.SmsSalesTrendVo;
@ -75,4 +76,6 @@ public interface SmsSalesBillMapper extends BaseMapper<SmsSalesBill> {
IPage<SmsSalesTrendVo> goodsTrendReport(IPage<SmsSalesBill> page,@Param(Constants.WRAPPER) QueryWrapper<SmsSalesBill> qw);
int selectNum(String bill);
IPage<SmsWmsInventorySalesVo> listPageSalesGoods(IPage<SmsSalesBill> page, @Param(Constants.WRAPPER)QueryWrapper<SmsGoods> qw);
}

21
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillMapper.xml

@ -97,4 +97,25 @@
from sms_sales_bill
where billNo LIKE concat(#{bill}, '%')
</select>
<select id="listPageSalesGoods" resultType="com.yxt.sms.biz.smssalesbill.SmsWmsInventorySalesVo">
SELECT
*
FROM
(
SELECT
a.*,
(
SELECT
IFNULL( SUM( wi.count ), 0 )
FROM
yxt_wms.wms_inventory AS wi
WHERE
wi.goodsID = a.goodsID
AND wi.useOrgSid = a.useOrgSid
) AS currentCount
FROM
sms_goods AS a
) AS s
<where>${ew.sqlSegment}</where>
</select>
</mapper>

43
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillService.java

@ -241,6 +241,9 @@ public class SmsSalesBillService extends MybatisBaseService<SmsSalesBillMapper,
SmsSalesBillAitem aitem = new SmsSalesBillAitem();
BeanUtil.copyProperties(smsAttachitemVo, aitem, "id", "sid");
aitem.setBillSid(entity.getSid());
if (StringUtils.isNotBlank(smsAttachitemVo.getAitemName())) {
aitem.setAttachItem(smsAttachitemVo.getAitemName());
}
smsSalesBillAitemService.insert(aitem);
}
}
@ -275,6 +278,9 @@ public class SmsSalesBillService extends MybatisBaseService<SmsSalesBillMapper,
SmsSalesBillAitem aitem = new SmsSalesBillAitem();
BeanUtil.copyProperties(smsAttachitemVo, aitem, "id", "sid");
aitem.setBillSid(dtoSid);
if (StringUtils.isNotBlank(smsAttachitemVo.getAitemName())) {
aitem.setAttachItem(smsAttachitemVo.getAitemName());
}
smsSalesBillAitemService.insert(aitem);
}
}
@ -367,14 +373,19 @@ public class SmsSalesBillService extends MybatisBaseService<SmsSalesBillMapper,
public ResultBean<PagerVo<SmsWmsInventorySalesVo>> listPageSales(PagerQuery<SmsWmsInventorySalesQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<SmsWmsInventorySalesVo> pagerVo = new PagerVo<>();
PagerQuery<WmsInventorySalesQuery> pagerQuery = new PagerQuery<>();
BeanUtil.copyProperties(pq, pagerQuery);
PagerVo<WmsInventorySalesVo> voPagerVo = wmsInventoryFeign.listPageSales(pagerQuery).getData();
if (null != voPagerVo) {
BeanUtil.copyProperties(voPagerVo, pagerVo);
SmsWmsInventorySalesQuery query = pq.getParams();
QueryWrapper<SmsGoods> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(query.getGoodsName())) {
qw.like("s.goodsSpuName", query.getGoodsName());
}
if (StringUtils.isNotBlank(query.getUseOrgSid())) {
qw.like("s.useOrgSid", query.getUseOrgSid());
}
return rb.success().setData(pagerVo);
qw.apply("s.currentCount > 0");
IPage<SmsSalesBill> page = PagerUtil.queryToPage(pq);
IPage<SmsWmsInventorySalesVo> pagging = baseMapper.listPageSalesGoods(page, qw);
PagerVo<SmsWmsInventorySalesVo> p = PagerUtil.pageToVo(pagging, null);
return rb.success().setData(p);
}
public ResultBean settlement(SmsSalesBillDto dto) {
@ -395,15 +406,15 @@ public class SmsSalesBillService extends MybatisBaseService<SmsSalesBillMapper,
smsSalesBill.setState(0);
baseMapper.updateById(smsSalesBill);
List<SmsSalesBillDetail> billDetailList = smsSalesBillDetailService.fetchByMainSid(sid);
if (!billDetailList.isEmpty()) {
for (SmsSalesBillDetail salesBillDetail : billDetailList) {
WmsUpdateCountQuery countQuery = new WmsUpdateCountQuery();
// countQuery.setSid(salesBillDetail.getInventorySid());
countQuery.setCount(salesBillDetail.getCount());
countQuery.setAddOrReduce(1);
wmsInventoryFeign.updateInventoryCount(countQuery);
}
}
// if (!billDetailList.isEmpty()) {
// for (SmsSalesBillDetail salesBillDetail : billDetailList) {
// WmsUpdateCountQuery countQuery = new WmsUpdateCountQuery();
//// countQuery.setSid(salesBillDetail.getInventorySid());
// countQuery.setCount(salesBillDetail.getCount());
// countQuery.setAddOrReduce(1);
// wmsInventoryFeign.updateInventoryCount(countQuery);
// }
// }
}
return rb.success();
}

2
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsWmsInventorySalesQuery.java

@ -11,6 +11,6 @@ import lombok.Data;
@Data
public class SmsWmsInventorySalesQuery implements Query {
private String queryName; //名称
private String goodsName; //名称
private String useOrgSid;
}

44
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsWmsInventorySalesVo.java

@ -1,6 +1,7 @@
package com.yxt.sms.biz.smssalesbill;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@ -11,18 +12,37 @@ import lombok.Data;
@Data
public class SmsWmsInventorySalesVo implements Vo {
private String inventorySid;
private String goodsID;
private String goodSpuSid;//商品基础信息sid
private String goodsSpuName;//商品名称
private String goodsSkuSid;//商品Skusid
private String goodsSkuTitle;//商品Sku名称
private String goodsSkuCode;//商品编码(图号)
private String unit;//计量单位
private String currentCount;//库存数量
private String warehouseSid;//仓库sid
private String warehouse;//仓库名称
private String price;//销售价
//商品sid
private String goodSpuSid;
private String goodsSkuSid;
//商品名称
private String goodsSpuName;
//商品编码(图号)
private String goodsSkuCode;
//规格型号
private String goodsSkuOwnSpec;
@ApiModelProperty("计量单位")
private String unit;
@ApiModelProperty("厂家")
private String supplierName;
@ApiModelProperty("库存数量")
private String currentCount;
@ApiModelProperty("商品ID")
private String goodsID; // 商品ID
@ApiModelProperty("销售价(元)")
private String price;
@ApiModelProperty("出/退库数量")
private String count;
//折扣(0-10,0免费,10不打折)
private String discount;
//优惠金额(=销售价*(1-折扣*0.1))
private String discountAmount;
//金额(销售价-优惠金额)
private String amount;
@ApiModelProperty("备注")
private String remarks;
}

2
yxt-sms-biz/src/main/java/com/yxt/sms/feign/fms/fmsreceivesettle/FmsReceivesettleFeign.java

@ -27,6 +27,6 @@ public interface FmsReceivesettleFeign {
public ResultBean save(@RequestBody FmsReceivesettleDto dto);
@ApiOperation("根据来源SID获取一条记录")
@GetMapping("/fetchBySourceSid/{sid}")
@GetMapping("/fetchBySourceSid/{sourceBillSid}")
public ResultBean<FmsReceivesettle> fetchBySourceSid(@PathVariable("sourceBillSid") String sourceBillSid);
}

Loading…
Cancel
Save