Browse Source

opt: 临期品折扣逻辑更变;客户同步拓展修复接口

muti_db
Yen 3 months ago
parent
commit
225066bb88
  1. 1
      src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierVisitAddressController.java
  2. 40
      src/main/java/com/qs/serve/modules/his/controller/HistFixController.java
  3. 14
      src/main/java/com/qs/serve/modules/his/service/impl/HisUserSupplierServiceImpl.java
  4. 77
      src/main/java/com/qs/serve/modules/oms/entity/OmsSaleOrder.java
  5. 2
      src/main/java/com/qs/serve/modules/oms/entity/bo/OmsOrderImminentBo.java
  6. 24
      src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderOptionsServiceImpl.java
  7. 8
      src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java
  8. 32
      src/main/java/com/qs/serve/modules/oms/service/impl/OmsSaleOrderOptionsServiceImpl.java
  9. 8
      src/main/java/com/qs/serve/modules/oms/service/impl/OmsSaleOrderServiceImpl.java
  10. 2
      src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java

1
src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierVisitAddressController.java

@ -67,7 +67,6 @@ public class BmsSupplierVisitAddressController {
@PostMapping("/getPageForVisit")
public R<PageVo<HisUserSupplierAddressVo>> getPageForVisit(@Valid @RequestBody BmsSupplierVisitSo param){
String userId = AuthContextUtils.getSysUserId();
hisUserSupplierService.initByUserId(userId,false,true);
HisUserSupplier userSupplier = new HisUserSupplier();
//userSupplier.setUserId(userId);
userSupplier.setSupplierName(param.getSupplierName());

40
src/main/java/com/qs/serve/modules/his/controller/HistFixController.java

@ -0,0 +1,40 @@
package com.qs.serve.modules.his.controller;
import com.qs.serve.common.config.DevEnvironmentConfig;
import com.qs.serve.common.framework.redis.RedisService;
import com.qs.serve.common.model.consts.RedisCacheKeys;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.modules.his.service.HisUserChannelPointService;
import com.qs.serve.modules.his.service.HisUserSupplierService;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.service.SysUserService;
import com.qs.serve.task.HisTask;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author YenHex
* @since 2023/4/17
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("his/fix")
public class HistFixController {
HisUserSupplierService hisUserSupplierService;
SysUserService sysUserService;
@GetMapping("/user/{userCode}")
public R<?> initSupplier(String userCode){
SysUser sysUser = sysUserService.getByAccount(userCode);
hisUserSupplierService.initByUserId(sysUser.getId(),true,true);
return R.ok();
}
}

14
src/main/java/com/qs/serve/modules/his/service/impl/HisUserSupplierServiceImpl.java

@ -58,13 +58,8 @@ public class HisUserSupplierServiceImpl extends ServiceImpl<HisUserSupplierMappe
param = new BmsSupplier();
}
List<String> userIds = param.getSelectUserIds();
if(param.getSelectUserIdsFlag()!=null&&param.getSelectUserIdsFlag()){
for (String userId : param.getSelectUserIds()) {
this.initByUserId(userId,false,false);
}
}else {
if(param.getSelectUserIdsFlag()==null||!param.getSelectUserIdsFlag()){
String userId = AuthContextUtils.getSysUserId();
this.initByUserId(userId,false,false);
userIds = Arrays.asList(userId);
}
if(CollectionUtil.isEmpty(userIds)){
@ -133,9 +128,6 @@ public class HisUserSupplierServiceImpl extends ServiceImpl<HisUserSupplierMappe
@Deprecated
@Override
public boolean initByUserId(String userId,boolean hasCheck, List<String> existUserIds) {
if(1==1){
return true;
}
if(!hasCheck){
if(existUserIds==null){
existUserIds = new ArrayList<>();
@ -145,7 +137,6 @@ public class HisUserSupplierServiceImpl extends ServiceImpl<HisUserSupplierMappe
}else {
existUserIds.add(userId);
}
// existUserIds.add(userId);
boolean checkInit = this.checkInit(userId);
if(checkInit){
@ -208,9 +199,6 @@ public class HisUserSupplierServiceImpl extends ServiceImpl<HisUserSupplierMappe
@Deprecated
@Override
public boolean initByUserId(String userId, boolean hasCheck, boolean nextChilds) {
if(1==1){
return true;
}
List<String> existUserIds = new ArrayList<>();
if(nextChilds) {
List<String> childUserList = sysPostUserService.listByChildIds(userId);

77
src/main/java/com/qs/serve/modules/oms/entity/OmsSaleOrder.java

@ -145,7 +145,7 @@ public class OmsSaleOrder implements Serializable {
/** CD单据备注 */
private String cdOrderRemark;
/** 临期品订单折扣率 */
/** 临期品订单折扣率: 如2折,discountRate = 80 */
private BigDecimal discountRate;
/** 适配的折扣率在OA的Id */
@ -236,43 +236,6 @@ public class OmsSaleOrder implements Serializable {
@TableField(condition = SqlCondition.LIKE)
private String allBands;
/** 订单明细项 */
@TableField(exist = false)
private List<?> orderItems;
/** 订单明细项 */
@TableField(exist = false)
private Object addressInfo;
/** 订单明细项 */
@TableField(exist = false)
private Object supplierInfo;
/** 确认订单人员 */
@TableField(exist = false)
private Object checkUserInfo;
/** 订单明细项 */
@TableField(exist = false)
private Object brandRuleInfo;
/**
* 确认订单开始时间
*/
@TableField(exist = false)
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private LocalDate checkStartTime;
/**
* 确认订单结束时间
*/
@TableField(exist = false)
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private LocalDate checkEndTime;
/**
* 预计完成时间
*/
@ -331,5 +294,43 @@ public class OmsSaleOrder implements Serializable {
@TableField(exist = false)
private List<OmsSaleOrderItem> itemList;
/** 订单明细项 */
@TableField(exist = false)
private List<?> orderItems;
/** 订单明细项 */
@TableField(exist = false)
private Object addressInfo;
/** 订单明细项 */
@TableField(exist = false)
private Object supplierInfo;
/** 确认订单人员 */
@TableField(exist = false)
private Object checkUserInfo;
/** 订单明细项 */
@TableField(exist = false)
private Object brandRuleInfo;
/**
* 确认订单开始时间
*/
@TableField(exist = false)
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private LocalDate checkStartTime;
/**
* 确认订单结束时间
*/
@TableField(exist = false)
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private LocalDate checkEndTime;
}

2
src/main/java/com/qs/serve/modules/oms/entity/bo/OmsOrderImminentBo.java

@ -29,7 +29,7 @@ public class OmsOrderImminentBo {
private Integer instantFlag;
/** 临期品订单折扣率 */
//private BigDecimal discountRate;
private BigDecimal discountRate;
/** 适配的折扣率在OA的Id */
private String oaRateId;

24
src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderOptionsServiceImpl.java

@ -291,7 +291,16 @@ public class OmsOrderOptionsServiceImpl implements OmsOrderOptionsService {
if(codeRs.getStatus()==200 && codeRs.getMsg()!=null){
try {
String oaRateId = codeRs.getMsg().toString();
dr = omsOrderMapper.getExpiredOrderRates(oaRateId);
if(oaRateId.equals(TbsSeeYonConst.OTHER_RATE_ID)){
R codeRs2 = seeYonRequestBaseService.getBase(
TbsSeeYonConst.OA_DATA_EXPIRE_ORDER_DR2 + omsOrder.getOrderSn()
,"获取条款申请流水号");
if(codeRs2.getStatus()==200 && codeRs2.getMsg()!=null){
dr = new BigDecimal(codeRs2.getData()+"");
}
}else {
dr = omsOrderMapper.getExpiredOrderRates(oaRateId);
}
omsOrder.setDiscountRate(dr);
omsOrder.setOaRateId(oaRateId);
} catch (Exception e) {
@ -369,6 +378,8 @@ public class OmsOrderOptionsServiceImpl implements OmsOrderOptionsService {
data.put("ext3",omsOrder.getOaRateId());
// 新增折扣率
data.put("ext4",omsOrder.getDiscountRate());
// 新增折扣率
data.put("ext6",omsOrder.getDiscountRate());
return data;
}
@ -430,7 +441,16 @@ public class OmsOrderOptionsServiceImpl implements OmsOrderOptionsService {
if(codeRs.getStatus()==200 && codeRs.getMsg()!=null){
try {
String oaRateId = codeRs.getMsg().toString();
dr = omsOrderMapper.getExpiredOrderRates(oaRateId);
if(oaRateId.equals(TbsSeeYonConst.OTHER_RATE_ID)){
R codeRs2 = seeYonRequestBaseService.getBase(
TbsSeeYonConst.OA_DATA_EXPIRE_ORDER_DR2 + omsOrder.getOrderSn()
,"获取条款申请流水号");
if(codeRs2.getStatus()==200 && codeRs2.getMsg()!=null){
dr = new BigDecimal(codeRs2.getData()+"");
}
}else {
dr = omsOrderMapper.getExpiredOrderRates(oaRateId);
}
omsOrder.setDiscountRate(dr);
omsOrder.setOaRateId(oaRateId);
omsOrderMapper.updateById(omsOrder);

8
src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java

@ -892,8 +892,12 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper, OmsOrder> i
order.setLatitudeFrom("sp");
order.setCdOrderRemark(param.getCdOrderRemark());
order.setOaRateId(param.getOaRateId());
BigDecimal discountRate = baseMapper.getExpiredOrderRates(param.getOaRateId());
order.setDiscountRate(discountRate);
if(!order.getOaRateId().equals(OTHER_RATE_ID)){
BigDecimal discountRate = baseMapper.getExpiredOrderRates(param.getOaRateId());
order.setDiscountRate(discountRate);
}else {
order.setDiscountRate(param.getDiscountRate());
}
order.setOrderType(3);
order.setSupplierId(Long.parseLong(supplier.getId()));
order.setSupplierCode(supplier.getCode());

32
src/main/java/com/qs/serve/modules/oms/service/impl/OmsSaleOrderOptionsServiceImpl.java

@ -290,7 +290,16 @@ public class OmsSaleOrderOptionsServiceImpl implements OmsSaleOrderOptionsServic
if(codeRs.getStatus()==200 && codeRs.getMsg()!=null){
try {
String oaRateId = codeRs.getMsg().toString();
dr = omsSaleOrderMapper.getExpiredOrderRates(oaRateId);
if(oaRateId.equals(TbsSeeYonConst.OTHER_RATE_ID)){
R codeRs2 = seeYonRequestBaseService.getBase(
TbsSeeYonConst.OA_DATA_EXPIRE_ORDER_DR2 + omsOrder.getOrderSn()
,"获取条款申请流水号");
if(codeRs2.getStatus()==200 && codeRs2.getMsg()!=null){
dr = new BigDecimal(codeRs2.getData()+"");
}
}else {
dr = omsSaleOrderMapper.getExpiredOrderRates(oaRateId);
}
omsOrder.setDiscountRate(dr);
omsOrder.setOaRateId(oaRateId);
} catch (Exception e) {
@ -366,6 +375,14 @@ public class OmsSaleOrderOptionsServiceImpl implements OmsSaleOrderOptionsServic
);
// 申请时的折扣率(跟ext1一样传oaid)
data.put("ext3",omsOrder.getOaRateId());
// 初始值
data.put("ext4",omsOrder.getDiscountRate());
// 最终结果值(完成后回调更新)
data.put("ext6",omsOrder.getDiscountRate());
// 类似 8.2折
BigDecimal rateNum = new BigDecimal("100").subtract(omsOrder.getDiscountRate())
.divide(new BigDecimal("100"),2, RoundingMode.DOWN);
data.put("ext5",rateNum + "折");
return data;
}
@ -427,9 +444,18 @@ public class OmsSaleOrderOptionsServiceImpl implements OmsSaleOrderOptionsServic
if(codeRs.getStatus()==200 && codeRs.getMsg()!=null){
try {
String oaRateId = codeRs.getMsg().toString();
dr = omsSaleOrderMapper.getExpiredOrderRates(oaRateId);
omsOrder.setDiscountRate(dr);
if(oaRateId.equals(TbsSeeYonConst.OTHER_RATE_ID)){
R codeRs2 = seeYonRequestBaseService.getBase(
TbsSeeYonConst.OA_DATA_EXPIRE_ORDER_DR2 + omsOrder.getOrderSn()
,"获取条款申请流水号");
if(codeRs2.getStatus()==200 && codeRs2.getMsg()!=null){
dr = new BigDecimal(codeRs2.getData()+"");
}
}else {
dr = omsSaleOrderMapper.getExpiredOrderRates(oaRateId);
}
omsOrder.setOaRateId(oaRateId);
omsOrder.setDiscountRate(dr);
omsSaleOrderMapper.updateById(omsOrder);
} catch (Exception e) {
e.printStackTrace();

8
src/main/java/com/qs/serve/modules/oms/service/impl/OmsSaleOrderServiceImpl.java

@ -1199,8 +1199,12 @@ public class OmsSaleOrderServiceImpl extends ServiceImpl<OmsSaleOrderMapper, Oms
}
order.setCdOrderRemark(param.getCdOrderRemark());
order.setOaRateId(param.getOaRateId());
BigDecimal discountRate = baseMapper.getExpiredOrderRates(param.getOaRateId());
order.setDiscountRate(discountRate);
if(order.getOaRateId().equals(OTHER_RATE_ID)){
BigDecimal discountRate = baseMapper.getExpiredOrderRates(param.getOaRateId());
order.setDiscountRate(discountRate);
}else {
order.setDiscountRate(param.getDiscountRate());
}
order.setOrderType(3);
order.setSupplierId(Long.parseLong(supplier.getId()));
order.setSupplierCode(supplier.getCode());

2
src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java

@ -107,7 +107,9 @@ public interface TbsSeeYonConst {
String OA_USER_INFO = "/process/getUserByCode";
String OA_USER_LIST_1 = "/process/getUsersList";
String OTHER_RATE_ID = "1515704296494220585";
String OA_DATA_EXPIRE_ORDER_DR = "/process/data/expiredOrderDiscountRate/";
String OA_DATA_EXPIRE_ORDER_DR2 = "/process/data/expiredOrderDiscountRateValue/";
/** 获取流水号 */
String API_FLOW_CODE_TODO = "/process/getTodoFlowCode?todoId=";

Loading…
Cancel
Save