Browse Source

fix:修复本地化bir导致核销时出现异常

checkBack
Yen 1 year ago
parent
commit
a2bd522e7e
  1. 11
      src/main/java/com/qs/serve/common/util/BirHttpUtil.java
  2. 55
      src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java
  3. 1
      src/main/java/com/qs/serve/modules/seeyon/service/impl/SeeYonRequestServiceImpl.java
  4. 3
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyOperationServiceImpl.java
  5. 11
      src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java

11
src/main/java/com/qs/serve/common/util/BirHttpUtil.java

@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
import com.qs.serve.common.config.properties.ProjectProperties; import com.qs.serve.common.config.properties.ProjectProperties;
import com.qs.serve.common.model.consts.GySysConst; import com.qs.serve.common.model.consts.GySysConst;
import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.dto.R;
import com.qs.serve.modules.tbs.entity.dto.TbsCostSubItem;
import lombok.experimental.UtilityClass; import lombok.experimental.UtilityClass;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.http.ParseException; import org.apache.http.ParseException;
@ -94,4 +95,14 @@ public class BirHttpUtil {
return r; return r;
} }
public static TbsCostSubItem.CostCenterTranStr buildCostCenter(String centerType, String centerId, String centerName, String supplierCode){
Map<String,String> map = new HashMap<>();
map.put("centerType",centerType);
map.put("centerId",centerId);
map.put("centerName",centerName);
map.put("supplierCode",supplierCode);
R<?> result = get("/bir/roiRate/getCostCenter",map);
return JsonUtil.jsonToPojo(result.getData().toString(),TbsCostSubItem.CostCenterTranStr.class);
}
} }

55
src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java

@ -17,8 +17,10 @@ import com.qs.serve.modules.sys.entity.SysDictData;
import com.qs.serve.modules.sys.service.SysDictDataService; import com.qs.serve.modules.sys.service.SysDictDataService;
import com.qs.serve.modules.tbs.common.TbsCenterType; import com.qs.serve.modules.tbs.common.TbsCenterType;
import com.qs.serve.modules.tbs.entity.TbsActivity; import com.qs.serve.modules.tbs.entity.TbsActivity;
import com.qs.serve.modules.tbs.entity.TbsActivityCenter;
import com.qs.serve.modules.tbs.entity.TbsCostApply; import com.qs.serve.modules.tbs.entity.TbsCostApply;
import com.qs.serve.modules.tbs.entity.dto.TbsCostSubItem; import com.qs.serve.modules.tbs.entity.dto.TbsCostSubItem;
import com.qs.serve.modules.tbs.mapper.TbsActivityCenterMapper;
import com.qs.serve.modules.tbs.mapper.TbsActivityMapper; import com.qs.serve.modules.tbs.mapper.TbsActivityMapper;
import com.qs.serve.modules.tbs.service.TbsBudgetService; import com.qs.serve.modules.tbs.service.TbsBudgetService;
import com.qs.serve.modules.tbs.service.TbsCostApplyService; import com.qs.serve.modules.tbs.service.TbsCostApplyService;
@ -54,47 +56,32 @@ public class BirRoiRateController {
private SysDictDataService sysDictDataService; private SysDictDataService sysDictDataService;
private TbsCostApplyService costApplyService; private TbsCostApplyService costApplyService;
private TbsActivityMapper tbsActivityMapper; private TbsActivityMapper tbsActivityMapper;
private TbsActivityCenterMapper tbsActivityCenterMapper;
private BirBaseActivityService birBaseActivityService; private BirBaseActivityService birBaseActivityService;
// /**
// * 台账数据集
// * @return
// */
// @GetMapping("/standingBook")
// public R<List<BirCenterCostRateMain>> getStandingBook(String type){
//
// List<BirCenterCostRateItem> list = new ArrayList<>();
// BirCenterCostRateItem rateItem = new BirCenterCostRateItem();
// rateItem.setTargetDispatchAmt(BigDecimal.ZERO);
// rateItem.setBudgetAmt(new BigDecimal("123456"));
// rateItem.setTargetRoiRate(new BigDecimal("123456"));
// rateItem.setRealDispatchAmt(new BigDecimal("123456"));
// rateItem.setCostAmt(new BigDecimal("123456"));
// rateItem.setRealRoiRate(new BigDecimal("123456"));
// rateItem.setCostPassAmt(new BigDecimal("123456"));
// rateItem.setCostApplyingAmt(new BigDecimal("123456"));
// rateItem.setCheckedAmt(new BigDecimal("123456"));
// rateItem.setCheckingAmt(new BigDecimal("123456"));
// rateItem.setNoCheckAmt(new BigDecimal("123456"));
// rateItem.setReleaseAmt(new BigDecimal("123456"));
// rateItem.setFrozenAmt(new BigDecimal("123456"));
// list.add(rateItem);
// return R.ok();
// }
/** /**
* * 测试
* @param id
* @return * @return
*/ */
@GetMapping("/test22") //@GetMapping("/testCostCenter")
public R<?> test22(){ public R<?> buildCostCenter(String id){
//修复activity和centerGoods不匹配 TbsActivityCenter tbsActivityCenter = tbsActivityCenterMapper.selectById(id);
birBaseActivityService.compareAmtToUpdateActivityAmt(); TbsActivity activity = tbsActivityMapper.selectById(tbsActivityCenter.getActivityId());
return R.ok(); return R.ok(birCenterRateService.buildCostCenter(tbsActivityCenter.getCenterType(),
tbsActivityCenter.getCenterId(),
tbsActivityCenter.getCenterName(),
activity.getSupplierCode()));
} }
@GetMapping("/getCostCenter")
public R<?> buildCostCenter(String centerType, String centerId, String centerName,String supplierCode){
return R.ok(birCenterRateService.buildCostCenter(centerType, centerId, centerName, supplierCode));
}
/** /**
* 台账 * 台账
* @return * @return

1
src/main/java/com/qs/serve/modules/seeyon/service/impl/SeeYonRequestServiceImpl.java

@ -98,6 +98,7 @@ public class SeeYonRequestServiceImpl implements SeeYonRequestService {
@Override @Override
public R<String> baseCreateProcess(BaseCreateProcessBo createProcessBo) { public R<String> baseCreateProcess(BaseCreateProcessBo createProcessBo) {
String title = "【创建流程】"; String title = "【创建流程】";
log.warn("创建审批{}流程{}",createProcessBo.getTemplateCode(),JsonUtil.objectToJson(createProcessBo));
R<String> result = seeYonRequestBaseService.postBase(TbsSeeYonConst.API_PROCESS_CREATE,createProcessBo,title); R<String> result = seeYonRequestBaseService.postBase(TbsSeeYonConst.API_PROCESS_CREATE,createProcessBo,title);
return result; return result;
} }

3
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyOperationServiceImpl.java

@ -632,7 +632,6 @@ public class TbsCostApplyOperationServiceImpl implements SeeYonOperationService
} }
if(goodsRateTotal.compareTo(n100)!=0){ if(goodsRateTotal.compareTo(n100)!=0){
log.error("活动ID:{} 的商品比例错误:{} ,即将重新分配活动成本中心比例",subject.getActivityId(),goodsRateTotal); log.error("活动ID:{} 的商品比例错误:{} ,即将重新分配活动成本中心比例",subject.getActivityId(),goodsRateTotal);
}
BigDecimal centerRateSurplus = n100; BigDecimal centerRateSurplus = n100;
BigDecimal itemRate = n100.divide(new BigDecimal(activityCenterGoodsTmpList.size()),1,RoundingMode.DOWN); BigDecimal itemRate = n100.divide(new BigDecimal(activityCenterGoodsTmpList.size()),1,RoundingMode.DOWN);
for (int i = 0; i < activityCenterGoodsTmpList.size(); i++) { for (int i = 0; i < activityCenterGoodsTmpList.size(); i++) {
@ -646,6 +645,7 @@ public class TbsCostApplyOperationServiceImpl implements SeeYonOperationService
activityCenterGoodsMapper.updateById(activityCenterGoods); activityCenterGoodsMapper.updateById(activityCenterGoods);
} }
} }
}
BigDecimal centerRateTotal = BigDecimal.ZERO; BigDecimal centerRateTotal = BigDecimal.ZERO;
for (TbsActivityCenter center : currentActivityCenterList) { for (TbsActivityCenter center : currentActivityCenterList) {
@ -678,7 +678,6 @@ public class TbsCostApplyOperationServiceImpl implements SeeYonOperationService
} }
} }
for (int ii = 0; ii < currentActivityCenterList.size(); ii++) { for (int ii = 0; ii < currentActivityCenterList.size(); ii++) {
TbsActivityCenter activityCenter = activityCenterList.get(ii); TbsActivityCenter activityCenter = activityCenterList.get(ii);
boolean eqActivity = activityCenter.getActivityId().equals(subject.getActivityId()); boolean eqActivity = activityCenter.getActivityId().equals(subject.getActivityId());

11
src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java

@ -997,13 +997,14 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
*/ */
private void commitSy(TbsActivity activity,SysUser sysUser,VtbVerification verification,String saleRegionNames,String bizRegionNames){ private void commitSy(TbsActivity activity,SysUser sysUser,VtbVerification verification,String saleRegionNames,String bizRegionNames){
Map<String, Object> data = buildSeeYonVerificationData(activity, sysUser, verification, saleRegionNames, bizRegionNames); Map<String, Object> data = buildSeeYonVerificationData(activity, sysUser, verification, saleRegionNames, bizRegionNames);
String dataJson = JsonUtil.objectToJson(data);
log.warn("核销请求JSON,核销号:{}:{}",verification.getVerificationCode(),dataJson);
BaseCreateProcessBo createProcess = new BaseCreateProcessBo(); BaseCreateProcessBo createProcess = new BaseCreateProcessBo();
createProcess.setTemplateCode(TbsSeeYonConst.CostCheckConf.Code()); createProcess.setTemplateCode(TbsSeeYonConst.CostCheckConf.Code());
createProcess.setMemberLoginName(sysUser.getSyAccount()); createProcess.setMemberLoginName(sysUser.getSyAccount());
createProcess.setSubjectTitle(TbsSeeYonConst.PRE_TITLE_VERIFICATION + verification.getRemark()); createProcess.setSubjectTitle(TbsSeeYonConst.PRE_TITLE_VERIFICATION + verification.getRemark());
createProcess.setTargetId(verification.getId()+""); createProcess.setTargetId(verification.getId()+"");
createProcess.setDataJson(JsonUtil.objectToJson(data)); createProcess.setDataJson(dataJson);
R<String> flowIdResult = seeYonService.baseCreateProcess(createProcess); R<String> flowIdResult = seeYonService.baseCreateProcess(createProcess);
if(flowIdResult.getStatus()!=200){ if(flowIdResult.getStatus()!=200){
Assert.throwEx("远程服务调用失败"); Assert.throwEx("远程服务调用失败");
@ -1119,15 +1120,15 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
try { try {
List<TbsActivityCenter> activityCenter = activityCenterService.listByActivity(verification.getActivityId()); List<TbsActivityCenter> activityCenter = activityCenterService.listByActivity(verification.getActivityId());
for(TbsActivityCenter center : activityCenter){ for(TbsActivityCenter center : activityCenter){
TbsCostSubItem.CostCenterTranStr costCenter = centerRateService.buildCostCenter(center.getCenterType(),center.getCenterId(),center.getCenterName(),activity.getSupplierCode()); TbsCostSubItem.CostCenterTranStr costCenter = BirHttpUtil.buildCostCenter(center.getCenterType(),center.getCenterId(),center.getCenterName(),activity.getSupplierCode());
if(costCenter!=null){
subList.add(costCenter); subList.add(costCenter);
} }
for (VtbSubjectDTO subjectDTO : subjectDTOList) {
subList.add(subjectDTO);
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
subList.addAll(subjectDTOList);
data.put("sub",subList); data.put("sub",subList);
return data; return data;
} }

Loading…
Cancel
Save