Browse Source

更改

master
ligaode 5 months ago
parent
commit
1c9be074e8
  1. 7
      yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsSkuExtendRest.java
  2. 8
      yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsSkuRest.java
  3. 2
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodssku/BaseGoodsSkuMapper.java
  4. 10
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodssku/BaseGoodsSkuMapper.xml
  5. 4
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodssku/BaseGoodsSkuService.java
  6. 6
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsskuextend/BaseGoodsSkuExtendMapper.java
  7. 7
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsskuextend/BaseGoodsSkuExtendService.java
  8. 8
      yxt-sms-biz/src/main/java/com/yxt/sms/apiadmin/SmsPricestrategyBillDetailRest.java
  9. 17
      yxt-sms-biz/src/main/java/com/yxt/sms/apiadmin/SmsPricestrategyBillGoodstypedetailRest.java
  10. 46
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smspricestrategybill/SmsPricestrategyBillService.java
  11. 2
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smspricestrategybilldetail/SmsPricestrategyBillDetailMapper.java
  12. 12
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smspricestrategybilldetail/SmsPricestrategyBillDetailMapper.xml
  13. 7
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smspricestrategybilldetail/SmsPricestrategyBillDetailService.java
  14. 5
      yxt-sms-biz/src/main/java/com/yxt/sms/feign/wms/wmsinventory/WmsInventoryFeign.java
  15. 6
      yxt-sms-biz/src/main/java/com/yxt/sms/feign/wms/wmsinventory/WmsInventoryFeignFallback.java
  16. 5
      yxt-sms-biz/src/main/java/com/yxt/sms/feign/wms/wmsinventoryrecord/WmsInventoryRecordFeign.java
  17. 26
      yxt-sms-biz/src/main/java/com/yxt/sms/feign/yxtbase/BaseGoodsSkuExtendFeign.java
  18. 31
      yxt-sms-biz/src/main/java/com/yxt/sms/feign/yxtbase/BaseGoodsSkuFeign.java
  19. 7
      yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRecordRest.java
  20. 9
      yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRest.java
  21. 3
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java
  22. 9
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml
  23. 4
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java
  24. 2
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordMapper.java
  25. 10
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordMapper.xml
  26. 6
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordService.java
  27. 28
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillService.java
  28. 24
      yxt-wms-biz/src/main/java/com/yxt/wms/feign/base/basegoodsskuextend/BaseGoodsSkuExtendFeign.java
  29. 25
      yxt-wms-biz/src/main/java/com/yxt/wms/feign/sms/smspricestrategybilldetail/SmsPricesTrategyBillDetailFeign.java
  30. 26
      yxt-wms-biz/src/main/java/com/yxt/wms/feign/sms/smsspricestrategybillgoodstypedetail/SmsPricesTrategyBillGoodsTypeDetailFeign.java
  31. 64
      yxt-wms-biz/src/main/java/com/yxt/wms/feign/sms/smsspricestrategybillgoodstypedetail/SmsPricestrategyBillGoodstypedetailDetailsVo.java

7
yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsSkuExtendRest.java

@ -47,9 +47,16 @@ public class BaseGoodsSkuExtendRest {
public ResultBean delete(@PathVariable("sid") String sid) {
return baseGoodsSkuExtendService.delete(sid);
}
@ApiOperation("更改可用状态")
@GetMapping("/updateIsEnable/{sid}/{isEnable}")
public ResultBean updateIsEnable(@PathVariable("sid") String sid,@PathVariable("isEnable")String isEnable) {
return baseGoodsSkuExtendService.updateIsEnable(sid,isEnable);
}
@ApiOperation("根据skuSid修改销售单价")
@PostMapping("/updateSalesPrice")
ResultBean updateSalesPrice(@RequestParam("skuSid") String skuSid,@RequestParam("salesPrice") String salesPrice){
return baseGoodsSkuExtendService.updateSalesPrice(skuSid,salesPrice);
}
}

8
yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsSkuRest.java

@ -87,4 +87,12 @@ public class BaseGoodsSkuRest {
List<GoodsDeptVo> goodsDeptVos = baseGoodsSkuService.selectGoods(name,orgPath);
return rb.success().setData(goodsDeptVos);
}
@ApiOperation("根据商品类别sid查询对应的skusid")
@PostMapping("/fetchSkuSid")
ResultBean<List<String>> fetchSkuSid(@RequestParam("goodTypeSid") String goodTypeSid) {
ResultBean rb = ResultBean.fireFail();
List<String> skuSids = baseGoodsSkuService.fetchSkuSid(goodTypeSid);
return rb.success().setData(skuSids);
}
}

2
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodssku/BaseGoodsSkuMapper.java

@ -29,4 +29,6 @@ public interface BaseGoodsSkuMapper extends BaseMapper<BaseGoodsSku> {
IPage<GoodsSkuVo> getGoodsListPage(IPage<BaseGoodsSku> page, @Param(Constants.WRAPPER) QueryWrapper<BaseGoodsSku> qw);
List<GoodsDeptVo> selectGoods(@Param("name") String name, @Param("useOrgSid") String useOrgSid);
List<String> fetchSkuSid(String goodTypeSid);
}

10
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodssku/BaseGoodsSkuMapper.xml

@ -96,4 +96,14 @@
, '%')
</if>
</select>
<select id="fetchSkuSid" resultType="java.lang.String">
SELECT
sku.sid
FROM
base_goods_sku sku
LEFT JOIN base_goods_spu spu
ON sku.goodsSpuSid = spu.sid
WHERE spu.goodsTypeSid = #{goodTypeSid}
</select>
</mapper>

4
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodssku/BaseGoodsSkuService.java

@ -264,4 +264,8 @@ public class BaseGoodsSkuService extends MybatisBaseService<BaseGoodsSkuMapper,
}
return baseMapper.selectGoods(name,useOrgSid);
}
public List<String> fetchSkuSid(String goodTypeSid) {
return baseMapper.fetchSkuSid(goodTypeSid);
}
}

6
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsskuextend/BaseGoodsSkuExtendMapper.java

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
/**
* @author wangpengfei
@ -15,6 +16,11 @@ import org.apache.ibatis.annotations.Param;
public interface BaseGoodsSkuExtendMapper extends BaseMapper<BaseGoodsSkuExtend> {
IPage<BaseGoodsSkuExtendVo> listPage(IPage<BaseGoodsSkuExtend> page, @Param(Constants.WRAPPER) QueryWrapper<BaseGoodsSkuExtend> qw);
BaseGoodsSkuExtendVo getExtendBySkuSid(@Param("skuSid") String skuSid);
BaseGoodsSkuExtendVo getExtendBySid(@Param("sid") String sid);
@Update("update base_goods_sku_extend set salesPrice = #{salesPrice} where goodsSkuSid = #{skuSid}")
void updateSalesPrice(@Param("skuSid") String skuSid, @Param("salesPrice") String salesPrice);
}

7
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsskuextend/BaseGoodsSkuExtendService.java

@ -67,6 +67,7 @@ public class BaseGoodsSkuExtendService extends MybatisBaseService<BaseGoodsSkuEx
// }
return rb.success().setData(p);
}
@Transactional
public ResultBean<String> saveOrUpdate(BaseGoodsSkuExtendDto dto) {
ResultBean rb = ResultBean.fireFail();
@ -139,4 +140,10 @@ public class BaseGoodsSkuExtendService extends MybatisBaseService<BaseGoodsSkuEx
}
return rb.success().setMsg("成功");
}
public ResultBean updateSalesPrice(String skuSid, String salesPrice) {
ResultBean rb = ResultBean.fireFail();
baseMapper.updateSalesPrice(skuSid, salesPrice);
return rb.success();
}
}

8
yxt-sms-biz/src/main/java/com/yxt/sms/apiadmin/SmsPricestrategyBillDetailRest.java

@ -52,4 +52,12 @@ import org.springframework.web.bind.annotation.*;
@RequestMapping("v1/smspricestrategybilldetail")
public class SmsPricestrategyBillDetailRest {
@Autowired
private SmsPricestrategyBillDetailService smsPricestrategyBillDetailService;
@ApiOperation("根据商品类别sid查询是否存在定调价策略")
@GetMapping("/selSid")
public ResultBean<String> selSid(@RequestParam("goodsTypeSid") String goodsTypeSid,@RequestParam("deptSid") String deptSid){
return smsPricestrategyBillDetailService.selSid(goodsTypeSid,deptSid);
}
}

17
yxt-sms-biz/src/main/java/com/yxt/sms/apiadmin/SmsPricestrategyBillGoodstypedetailRest.java

@ -25,15 +25,16 @@
*********************************************************/
package com.yxt.sms.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.sms.biz.smspricestrategybillgoodstypedetail.*;
import com.yxt.sms.biz.smspricestrategybillgoodstypedetail.SmsPricestrategyBillGoodstypedetailDetailsVo;
import com.yxt.sms.biz.smspricestrategybillgoodstypedetail.SmsPricestrategyBillGoodstypedetailService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* Project: yxt-sms(价格策略) <br/>
* File: SmsPricestrategyBillGoodstypedetailFeignFallback.java <br/>
@ -52,4 +53,14 @@ import org.springframework.web.bind.annotation.*;
@RequestMapping("v1/smspricestrategybillgoodstypedetail")
public class SmsPricestrategyBillGoodstypedetailRest {
@Autowired
private SmsPricestrategyBillGoodstypedetailService smsPricestrategyBillGoodstypedetailService;
@ApiOperation("根据定调价明细sid查询")
@GetMapping("/selByMainSid")
public ResultBean<List<SmsPricestrategyBillGoodstypedetailDetailsVo>> selByMainSid(@RequestParam("mainSid") String mainSid){
ResultBean rb = ResultBean.fireFail();
List<SmsPricestrategyBillGoodstypedetailDetailsVo> smsPricestrategyBillGoodstypedetailDetailsVos = smsPricestrategyBillGoodstypedetailService.selByMainSid(mainSid);
return rb.success().setData(smsPricestrategyBillGoodstypedetailDetailsVos);
}
}

46
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smspricestrategybill/SmsPricestrategyBillService.java

@ -55,6 +55,10 @@ import com.yxt.sms.feign.portal.sysstafforg.SysStaffOrgFeign;
import com.yxt.sms.feign.portal.sysuserrole.SysUserRoleFeign;
import com.yxt.sms.feign.privilege.PrivilegeQuery;
import com.yxt.sms.feign.sysuser.SysUserFeign;
import com.yxt.sms.feign.wms.wmsinventory.WmsInventoryFeign;
import com.yxt.sms.feign.wms.wmsinventoryrecord.WmsInventoryRecordFeign;
import com.yxt.sms.feign.yxtbase.BaseGoodsSkuExtendFeign;
import com.yxt.sms.feign.yxtbase.BaseGoodsSkuFeign;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@ -65,6 +69,8 @@ import org.apache.tomcat.util.threads.ThreadPoolExecutor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.*;
import java.util.concurrent.*;
import java.util.stream.Collectors;
@ -105,6 +111,14 @@ public class SmsPricestrategyBillService extends MybatisBaseService<SmsPricestra
private SysUserFeign sysUserFeign;
@Autowired
private SysUserRoleFeign sysUserRoleFeign;
@Autowired
private BaseGoodsSkuFeign baseGoodsSkuFeign;
@Resource
private WmsInventoryFeign wmsInventoryFeign;
@Autowired
private WmsInventoryRecordFeign wmsInventoryRecordFeign;
@Autowired
private BaseGoodsSkuExtendFeign baseGoodsSkuExtendFeign;
public PagerVo<SmsPricestrategyBillVo> listPageVo(PagerQuery<SmsPricestrategyBillQuery> pq) {
SmsPricestrategyBillQuery query = pq.getParams();
@ -206,6 +220,8 @@ public class SmsPricestrategyBillService extends MybatisBaseService<SmsPricestra
SmsPricestrategyBillGoodstypedetailDto smsPricestrategyBillGoodstypedetailDto = new SmsPricestrategyBillGoodstypedetailDto();
smsPricestrategyBillGoodstypedetailDto.setDetailSid(sid1);
smsPricestrategyBillGoodstypedetailDto.setMarkupRate(smsPricestrategyBillDetailDto.getGdMarkupRate());
smsPricestrategyBillGoodstypedetailDto.setRangeStart(new BigDecimal("0"));
smsPricestrategyBillGoodstypedetailDto.setRangeEnd(new BigDecimal("99999999"));
smsPricestrategyBillGoodstypedetailService.saveOrUpdateDto(smsPricestrategyBillGoodstypedetailDto);
} else {
List<SmsPricestrategyBillGoodstypedetailDto> smsPricestrategyBillGoodstypedetailList = smsPricestrategyBillDetailDto.getSmsPricestrategyBillGoodstypedetailList();
@ -437,7 +453,35 @@ public class SmsPricestrategyBillService extends MybatisBaseService<SmsPricestra
UpdateFlowFieldVo ufVo = resultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
List<SmsPricestrategyBillDetailDetailsVo> smsPricestrategyBillDetailDetailsVos = smsPricestrategyBillDetailService.selByMainSid(businessSid);
for (SmsPricestrategyBillDetailDetailsVo smsPricestrategyBillDetailDetailsVo : smsPricestrategyBillDetailDetailsVos) {
List<SmsPricestrategyBillGoodstypedetailDetailsVo> smsPricestrategyBillGoodstypedetailDetailsVos = smsPricestrategyBillGoodstypedetailService.selByMainSid(smsPricestrategyBillDetailDetailsVo.getSid());
List<String> skuSids = baseGoodsSkuFeign.fetchSkuSid(smsPricestrategyBillDetailDetailsVo.getGoodsTypeSid()).getData();
for (String skuSid : skuSids) {
BigDecimal price = wmsInventoryFeign.compute(skuSid).getData();
if (price.compareTo(BigDecimal.ZERO) == 0) {
//查找出入库记录中最后一次销售出库的销售价
BigDecimal cost = wmsInventoryRecordFeign.selCost(skuSid).getData();
if (cost.compareTo(BigDecimal.ZERO) == 1){
for (SmsPricestrategyBillGoodstypedetailDetailsVo smsPricestrategyBillGoodstypedetailDetailsVo : smsPricestrategyBillGoodstypedetailDetailsVos) {
if (cost.compareTo(smsPricestrategyBillGoodstypedetailDetailsVo.getRangeStart()) != -1 && cost.compareTo(smsPricestrategyBillGoodstypedetailDetailsVo.getRangeEnd()) != 1) {
BigDecimal markupRate = smsPricestrategyBillGoodstypedetailDetailsVo.getMarkupRate();
cost = cost.add(cost.multiply(markupRate).divide(new BigDecimal("100")));
baseGoodsSkuExtendFeign.updateSalesPrice(skuSid, cost.toString());
}
}
}
} else {
for (SmsPricestrategyBillGoodstypedetailDetailsVo smsPricestrategyBillGoodstypedetailDetailsVo : smsPricestrategyBillGoodstypedetailDetailsVos) {
if (price.compareTo(smsPricestrategyBillGoodstypedetailDetailsVo.getRangeStart()) != -1 && price.compareTo(smsPricestrategyBillGoodstypedetailDetailsVo.getRangeEnd()) != 1) {
BigDecimal markupRate = smsPricestrategyBillGoodstypedetailDetailsVo.getMarkupRate();
price = price.add(price.multiply(markupRate).divide(new BigDecimal("100")));
baseGoodsSkuExtendFeign.updateSalesPrice(skuSid, price.toString());
}
}
}
}
}
} else {
//极光推送
smsPricestrategyBill = fetchBySid(businessSid);

2
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smspricestrategybilldetail/SmsPricestrategyBillDetailMapper.java

@ -57,4 +57,6 @@ public interface SmsPricestrategyBillDetailMapper extends BaseMapper<SmsPricestr
@Select("select * from sms_pricestrategy_bill_detail where mainSid = #{mainSid}")
List<SmsPricestrategyBillDetailDetailsVo> selByMainSid(String mainSid);
String selSid(@Param("goodsTypeSid") String goodsTypeSid,@Param("deptSid") String deptSid);
}

12
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smspricestrategybilldetail/SmsPricestrategyBillDetailMapper.xml

@ -3,4 +3,16 @@
<mapper namespace="com.yxt.sms.biz.smspricestrategybilldetail.SmsPricestrategyBillDetailMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selSid" resultType="java.lang.String">
SELECT
sd.sid
FROM
sms_pricestrategy_bill_detail sd
LEFT JOIN sms_pricestrategy_bill sb
ON sd.mainSid = sb.sid
WHERE sd.goodsTypeSid = #{goodsTypeSid}
AND sb.deptSid = #{deptSid}
AND sb.nodeState = '已办结'
</select>
</mapper>

7
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smspricestrategybilldetail/SmsPricestrategyBillDetailService.java

@ -28,6 +28,7 @@ package com.yxt.sms.biz.smspricestrategybilldetail;
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.core.result.ResultBean;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@ -90,4 +91,10 @@ public class SmsPricestrategyBillDetailService extends MybatisBaseService<SmsPri
public List<SmsPricestrategyBillDetailDetailsVo> selByMainSid(String mainSid) {
return baseMapper.selByMainSid(mainSid);
}
public ResultBean<String> selSid(String goodsTypeSid, String deptSid) {
ResultBean rb = ResultBean.fireFail();
String sid = baseMapper.selSid(goodsTypeSid,deptSid);
return rb.success().setData(sid);
}
}

5
yxt-sms-biz/src/main/java/com/yxt/sms/feign/wms/wmsinventory/WmsInventoryFeign.java

@ -10,6 +10,7 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.math.BigDecimal;
import java.util.List;
/**
@ -39,4 +40,8 @@ public interface WmsInventoryFeign {
@ApiOperation("根据goodsID获取数据")
@GetMapping("/getListByGoodsID")
public ResultBean<List<WmsInventory>> getListByGoodsID(@RequestParam("goodsID") String goodsID);
@ApiOperation("根据商品skuSid计算平均入库价")
@GetMapping("/compute")
ResultBean<BigDecimal> compute(@RequestParam("skuSid") String skuSid);
}

6
yxt-sms-biz/src/main/java/com/yxt/sms/feign/wms/wmsinventory/WmsInventoryFeignFallback.java

@ -30,6 +30,7 @@ import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.stereotype.Component;
import java.math.BigDecimal;
import java.util.List;
/**
@ -67,4 +68,9 @@ public class WmsInventoryFeignFallback implements WmsInventoryFeign {
public ResultBean<List<WmsInventory>> getListByGoodsID(String goodsID) {
return null;
}
@Override
public ResultBean<BigDecimal> compute(String skuSid) {
return null;
}
}

5
yxt-sms-biz/src/main/java/com/yxt/sms/feign/wms/wmsinventoryrecord/WmsInventoryRecordFeign.java

@ -11,6 +11,7 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.math.BigDecimal;
import java.util.List;
/**
@ -29,4 +30,8 @@ public interface WmsInventoryRecordFeign {
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody WmsInventoryRecordDto dto);
@ApiOperation("查找出入库记录中最后一次销售出库的销售价")
@PostMapping("/selCost")
ResultBean<BigDecimal> selCost(@RequestParam("skuSid") String skuSid);
}

26
yxt-sms-biz/src/main/java/com/yxt/sms/feign/yxtbase/BaseGoodsSkuExtendFeign.java

@ -0,0 +1,26 @@
package com.yxt.sms.feign.yxtbase;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/**
* @description: 库存信息
* @author: fzz
* @date: 2024/3/7
**/
@FeignClient(
contextId = "yxt-base-BaseGoodsSkuExtend",
name = "yxt-base",
path = "/apiadmin/base/basegoodsskuextend"
)
public interface BaseGoodsSkuExtendFeign {
@ApiOperation("根据skuSid修改销售单价")
@PostMapping("/updateSalesPrice")
ResultBean updateSalesPrice(@RequestParam("skuSid") String skuSid,@RequestParam("salesPrice") String salesPrice);
}

31
yxt-sms-biz/src/main/java/com/yxt/sms/feign/yxtbase/BaseGoodsSkuFeign.java

@ -0,0 +1,31 @@
package com.yxt.sms.feign.yxtbase;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.sms.feign.wms.wmsinventory.*;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/**
* @description: 库存信息
* @author: fzz
* @date: 2024/3/7
**/
@FeignClient(
contextId = "yxt-base-BaseGoodsSku",
name = "yxt-base",
path = "/apiadmin/base/basegoodssku"
)
public interface BaseGoodsSkuFeign {
@ApiOperation("根据商品类别sid查询对应的skusid")
@PostMapping("/fetchSkuSid")
ResultBean<List<String>> fetchSkuSid(@RequestParam("goodTypeSid") String goodTypeSid);
}

7
yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRecordRest.java

@ -174,7 +174,6 @@ public class WmsInventoryRecordRest {
}
@ApiOperation("新增出入库记录")
@PostMapping("/saveInventoryRecord")
ResultBean saveInventoryRecord(@RequestBody InventoryRecordDto dto){
@ -186,4 +185,10 @@ public class WmsInventoryRecordRest {
ResultBean<BigDecimal> selNum(@RequestParam("sourceBillSid") String sourceBillSid, @RequestParam("goodsID") String goodsID){
return wmsInventoryRecordService.selNum(sourceBillSid,goodsID);
}
@ApiOperation("查找出入库记录中最后一次销售出库的销售价")
@PostMapping("/selCost")
ResultBean<BigDecimal> selCost(@RequestParam("skuSid") String skuSid){
return wmsInventoryRecordService.selCost(skuSid);
}
}

9
yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRest.java

@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.util.List;
@ -237,6 +238,14 @@ public class WmsInventoryRest {
return rb.success().setData(pv);
}
@ApiOperation("根据商品skuSid计算平均入库价")
@GetMapping("/compute")
ResultBean<BigDecimal> compute(@RequestParam("skuSid") String skuSid){
ResultBean rb = ResultBean.fireFail();
BigDecimal price = wmsInventoryService.compute(skuSid);
return rb.success().setData(price);
}
//-----------------------------app-------------------------------------------
@ApiOperation("app配件库存查询")
@PostMapping("/fittingsInventory2")

3
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java

@ -14,6 +14,7 @@ import com.yxt.wms.biz.inventory.wmsinventory.report.DeadStockVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List;
/**
@ -93,4 +94,6 @@ public interface WmsInventoryMapper extends BaseMapper<WmsInventory> {
IPage<DeadStockVo> deadStockList(IPage<WmsInventory> page,@Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw);
String selByGoodsIdAndRackSid(@Param("goodsID") String goodsID,@Param("warehouseRackSid") String warehouseRackSid);
BigDecimal compute(String skuSid);
}

9
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml

@ -683,4 +683,13 @@
WHERE goodsID = #{goodsID}
AND warehouseRackSid = #{warehouseRackSid}
</select>
<select id="compute" resultType="java.math.BigDecimal">
SELECT
IFNULL(SUM(COUNT * cost) / SUM(COUNT), 0) AS total
FROM
wms_inventory
WHERE goodsSkuSid = #{skuSid}
AND COUNT> 0
</select>
</mapper>

4
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java

@ -1077,4 +1077,8 @@ public class WmsInventoryService extends MybatisBaseService<WmsInventoryMapper,
public String selByGoodsIdAndRackSid(String goodsID, String warehouseRackSid) {
return baseMapper.selByGoodsIdAndRackSid(goodsID,warehouseRackSid);
}
public BigDecimal compute(String skuSid) {
return baseMapper.compute(skuSid);
}
}

2
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordMapper.java

@ -91,4 +91,6 @@ public interface WmsInventoryRecordMapper extends BaseMapper<WmsInventoryRecord>
String selByGoodsID(String content);
BigDecimal selNum(@Param("sourceBillSid") String sourceBillSid, @Param("goodsID") String goodsID);
BigDecimal selCost(String skuSid);
}

10
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordMapper.xml

@ -190,4 +190,14 @@
AND sourceBillSid = #{sourceBillSid}
AND billType = 1
</select>
<select id="selCost" resultType="java.math.BigDecimal">
SELECT
IFNULL(cost, 0) AS cost
FROM
wms_inventory_record
WHERE goodsSkuSid = #{skuSid}
AND busTypeKey = '11'
ORDER BY createTime DESC LIMIT 1
</select>
</mapper>

6
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordService.java

@ -430,4 +430,10 @@ public class WmsInventoryRecordService extends MybatisBaseService<WmsInventoryRe
BigDecimal num = baseMapper.selNum(sourceBillSid,goodsID);
return rb.success().setData(num);
}
public ResultBean<BigDecimal> selCost(String skuSid) {
ResultBean rb = ResultBean.fireFail();
BigDecimal cost = baseMapper.selCost(skuSid);
return rb.success().setData(cost);
}
}

28
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillService.java

@ -46,12 +46,16 @@ import com.yxt.wms.feign.base.basegoodspu.BaseGoodsSpu;
import com.yxt.wms.feign.base.basegoodspu.BaseGoodsSpuFeign;
import com.yxt.wms.feign.base.basegoodssku.BaseGoodsSkuDetailsVo;
import com.yxt.wms.feign.base.basegoodssku.BaseGoodsSkuFeign;
import com.yxt.wms.feign.base.basegoodsskuextend.BaseGoodsSkuExtendFeign;
import com.yxt.wms.feign.portal.privilege.PrivilegeQuery;
import com.yxt.wms.feign.portal.sysorganization.SysOrganizationFeign;
import com.yxt.wms.feign.portal.sysorganization.SysOrganizationVo;
import com.yxt.wms.feign.portal.sysstafforg.SysStaffOrgFeign;
import com.yxt.wms.feign.portal.sysuser.SysUserFeign;
import com.yxt.wms.feign.portal.sysuser.SysUserVo;
import com.yxt.wms.feign.sms.smspricestrategybilldetail.SmsPricesTrategyBillDetailFeign;
import com.yxt.wms.feign.sms.smsspricestrategybillgoodstypedetail.SmsPricesTrategyBillGoodsTypeDetailFeign;
import com.yxt.wms.feign.sms.smsspricestrategybillgoodstypedetail.SmsPricestrategyBillGoodstypedetailDetailsVo;
import com.yxt.wms.utils.BillNo;
import com.yxt.wms.utils.Rule;
import org.springframework.beans.factory.annotation.Autowired;
@ -110,7 +114,11 @@ public class WmsShelfBillService extends MybatisBaseService<WmsShelfBillMapper,
@Autowired
private AsBusrepairInventorybillFeign asBusrepairInventorybillFeign;
@Autowired
private AsBusrepairBillFeign asBusrepairBillFeign;
private SmsPricesTrategyBillDetailFeign smsPricesTrategyBillDetailFeign;
@Autowired
private SmsPricesTrategyBillGoodsTypeDetailFeign smsPricesTrategyBillGoodsTypeDetailFeign;
@Autowired
private BaseGoodsSkuExtendFeign baseGoodsSkuExtendFeign;
public PagerVo<WmsShelfBillVo> listPage(PagerQuery<WmsShelfBillQuery> pq) {
WmsShelfBillQuery query = pq.getParams();
@ -750,6 +758,23 @@ public class WmsShelfBillService extends MybatisBaseService<WmsShelfBillMapper,
WmsGoodsTag wmsGoodsTag = wmsGoodsTagService.selByBillSidAndGoodsID(sourceBillSid, goodsID);
String goodsSkuCode = wmsGoodsTag.getGoodsSkuCode();
WmsShelfBillDetail shelfBillGoods = wmsShelfBillDetailService.selByBillSidAndSkuCode(shelvesId, goodsSkuCode);
WmsReceiptBillDetail receiptBillDetail = wmsReceiptBillDetailService.selectByBillSidAndGoodsSkuCode(sourceBillSid, goodsSkuCode);
//计算sku销售价
BaseGoodsSpu baseGoodsSpu = baseGoodsSpuFeign.fetchEntityBySid(shelfBillGoods.getGoodsSpuSid()).getData();
String tjmxSid = smsPricesTrategyBillDetailFeign.selSid(baseGoodsSpu.getGoodsTypeSid(), deptSid).getData();
if (StringUtils.isBlank(tjmxSid)){
return rb.setMsg("该商品类型没有对应的定调价策略,无法上架");
}else {
List<SmsPricestrategyBillGoodstypedetailDetailsVo> data = smsPricesTrategyBillGoodsTypeDetailFeign.selByMainSid(tjmxSid).getData();
for (SmsPricestrategyBillGoodstypedetailDetailsVo smsPricestrategyBillGoodstypedetailDetailsVo : data) {
BigDecimal cost = receiptBillDetail.getCost();
if (cost.compareTo(smsPricestrategyBillGoodstypedetailDetailsVo.getRangeStart()) != -1 && cost.compareTo(smsPricestrategyBillGoodstypedetailDetailsVo.getRangeEnd()) != 1) {
BigDecimal markupRate = smsPricestrategyBillGoodstypedetailDetailsVo.getMarkupRate();
cost = cost.add(cost.multiply(markupRate).divide(new BigDecimal("100")));
baseGoodsSkuExtendFeign.updateSalesPrice(shelfBillGoods.getGoodsSkuSid(), cost.toString());
}
}
}
BigDecimal actualCount = BigDecimal.ZERO;
if (null != shelfBillGoods.getActualCount()) {
actualCount = shelfBillGoods.getActualCount();
@ -784,7 +809,6 @@ public class WmsShelfBillService extends MybatisBaseService<WmsShelfBillMapper,
recordDto.setWarehouseRackCode(houseInfoVo.getWarehouseRackCode());
recordDto.setCount(count);
recordDto.setCurrentCount(count);
WmsReceiptBillDetail receiptBillDetail = wmsReceiptBillDetailService.selectByBillSidAndGoodsSkuCode(sourceBillSid, goodsSkuCode);
if (null != receiptBillDetail) {
if (null != receiptBillDetail.getCost()) {
BigDecimal num = new BigDecimal(count);

24
yxt-wms-biz/src/main/java/com/yxt/wms/feign/base/basegoodsskuextend/BaseGoodsSkuExtendFeign.java

@ -0,0 +1,24 @@
package com.yxt.wms.feign.base.basegoodsskuextend;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
* @description: 库存信息
* @author: fzz
* @date: 2024/3/7
**/
@FeignClient(
contextId = "yxt-base-BaseGoodsSkuExtend",
name = "yxt-base",
path = "/apiadmin/base/basegoodsskuextend"
)
public interface BaseGoodsSkuExtendFeign {
@ApiOperation("根据skuSid修改销售单价")
@PostMapping("/updateSalesPrice")
ResultBean updateSalesPrice(@RequestParam("skuSid") String skuSid,@RequestParam("salesPrice") String salesPrice);
}

25
yxt-wms-biz/src/main/java/com/yxt/wms/feign/sms/smspricestrategybilldetail/SmsPricesTrategyBillDetailFeign.java

@ -0,0 +1,25 @@
package com.yxt.wms.feign.sms.smspricestrategybilldetail;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;
/**
* @description:
* @author: dimengzhe
* @date: 2024/3/20
**/
@FeignClient(
contextId = "yxt-sms-SmsPricesTrategyBillDetail",
name = "yxt-sms",
path = "v1/smspricestrategybilldetail"
)
public interface SmsPricesTrategyBillDetailFeign {
@ApiOperation("根据商品类别sid查询是否存在定调价策略")
@GetMapping("/selSid")
public ResultBean<String> selSid(@RequestParam("goodsTypeSid") String goodsTypeSid,@RequestParam("deptSid") String deptSid);
}

26
yxt-wms-biz/src/main/java/com/yxt/wms/feign/sms/smsspricestrategybillgoodstypedetail/SmsPricesTrategyBillGoodsTypeDetailFeign.java

@ -0,0 +1,26 @@
package com.yxt.wms.feign.sms.smsspricestrategybillgoodstypedetail;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2024/3/20
**/
@FeignClient(
contextId = "yxt-sms-SmsPricesTrategyBillGoodsTypeDetail",
name = "yxt-sms",
path = "v1/smspricestrategybillgoodstypedetail"
)
public interface SmsPricesTrategyBillGoodsTypeDetailFeign {
@ApiOperation("根据定调价明细sid查询")
@GetMapping("/selByMainSid")
public ResultBean<List<SmsPricestrategyBillGoodstypedetailDetailsVo>> selByMainSid(@RequestParam("mainSid") String mainSid);
}

64
yxt-wms-biz/src/main/java/com/yxt/wms/feign/sms/smsspricestrategybillgoodstypedetail/SmsPricestrategyBillGoodstypedetailDetailsVo.java

@ -0,0 +1,64 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.wms.feign.sms.smsspricestrategybillgoodstypedetail;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* Project: yxt-sms(价格策略) <br/>
* File: SmsPricestrategyBillGoodstypedetailVo.java <br/>
* Class: com.yxt.sms.api.smspricestrategybillgoodstypedetail.SmsPricestrategyBillGoodstypedetailVo <br/>
* Description: 价格策略商品类别明细 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-03-28 14:32:24 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "价格策略商品类别明细 视图数据详情", description = "价格策略商品类别明细 视图数据详情")
public class SmsPricestrategyBillGoodstypedetailDetailsVo implements Vo {
private String sid; // sid
@ApiModelProperty("业务sid")
private String detailSid; // 业务sid
@ApiModelProperty("区间起始")
private BigDecimal rangeStart; // 区间起始
@ApiModelProperty("区间截止")
private BigDecimal rangeEnd; // 区间截止
@ApiModelProperty("加价比例")
private BigDecimal markupRate; // 加价比例
}
Loading…
Cancel
Save