|
|
@ -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); |
|
|
|