Browse Source

feat: 增加预算不运作状态;fix: 修复合并核销状态异常;fix:修复订单关联查询异常

checkBack
Yen 1 year ago
parent
commit
7df2dfc579
  1. 4
      src/main/java/com/qs/serve/modules/oms/controller/OmsOrderController.java
  2. 9
      src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java
  3. 2
      src/main/java/com/qs/serve/modules/seeyon/service/impl/SeeYonRequestBaseService.java
  4. 14
      src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java
  5. 5
      src/main/java/com/qs/serve/modules/tbs/entity/TbsBudget.java
  6. 5
      src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetAmtBo.java
  7. 3
      src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetBo.java
  8. 3
      src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetStateBo.java
  9. 3
      src/main/java/com/qs/serve/modules/tbs/entity/so/TbsBudgetSo.java
  10. 4
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java
  11. 1
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java
  12. 25
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java
  13. 4
      src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationBatchController.java
  14. 2
      src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationMapper.java
  15. 5
      src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java
  16. 1
      src/main/resources/mapper/tbs/TbsBudgetMapper.xml

4
src/main/java/com/qs/serve/modules/oms/controller/OmsOrderController.java

@ -76,9 +76,9 @@ public class OmsOrderController {
Set<String> userIds = list.stream().map(OmsOrder::getCheckUserId).collect(Collectors.toSet()); Set<String> userIds = list.stream().map(OmsOrder::getCheckUserId).collect(Collectors.toSet());
List<SysUser> userList = sysUserService.listByIds(userIds); List<SysUser> userList = sysUserService.listByIds(userIds);
Set<Long> orderIds = list.stream().map(OmsOrder::getId).collect(Collectors.toSet()); Set<Long> orderIds = list.stream().map(OmsOrder::getId).collect(Collectors.toSet());
List<OmsOrderItem> orderItems = omsOrderItemService.list(new LambdaQueryWrapper<OmsOrderItem>().eq(OmsOrderItem::getOrderId,orderIds)); orderIds.add(0L);
List<OmsOrderItem> orderItems = omsOrderItemService.list(new LambdaQueryWrapper<OmsOrderItem>().in(OmsOrderItem::getOrderId,orderIds));
Map<Long,List<OmsOrderItem>> orderItemsMap = orderItems.stream().collect(Collectors.groupingBy(OmsOrderItem::getOrderId)); Map<Long,List<OmsOrderItem>> orderItemsMap = orderItems.stream().collect(Collectors.groupingBy(OmsOrderItem::getOrderId));
for (OmsOrder order : list) { for (OmsOrder order : list) {
BmsSupplierAddress supplierAddress = null; BmsSupplierAddress supplierAddress = null;

9
src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java

@ -142,9 +142,7 @@ public class OmsOrderApi {
PageUtil.startPage(); PageUtil.startPage();
LambdaQueryWrapper<OmsOrder> orderWrapper = new LambdaQueryWrapper<>(param); LambdaQueryWrapper<OmsOrder> orderWrapper = new LambdaQueryWrapper<>(param);
List<OmsOrder> list = omsOrderService.list(orderWrapper); List<OmsOrder> list = omsOrderService.list(orderWrapper);
for (OmsOrder omsOrder : list) { this.buildOrderVoInfo(list);
omsOrderService.checkMsOrderStatus(omsOrder);
}
return R.byPageHelperList(list); return R.byPageHelperList(list);
} }
@ -161,7 +159,11 @@ public class OmsOrderApi {
orderWrapper.eq(OmsOrder::getOrderType,param.getOrderType()==null?0:param.getOrderType()); orderWrapper.eq(OmsOrder::getOrderType,param.getOrderType()==null?0:param.getOrderType());
orderWrapper.orderByDesc(OmsOrder::getId); orderWrapper.orderByDesc(OmsOrder::getId);
List<OmsOrder> list = omsOrderService.list(orderWrapper); List<OmsOrder> list = omsOrderService.list(orderWrapper);
this.buildOrderVoInfo(list);
return R.byPageHelperList(list);
}
private void buildOrderVoInfo(List<OmsOrder> list) {
List<String> userIds = list.stream().map(OmsOrder::getCheckUserId).collect(Collectors.toList()); List<String> userIds = list.stream().map(OmsOrder::getCheckUserId).collect(Collectors.toList());
List<SysUser> sysUserList = new ArrayList<>(); List<SysUser> sysUserList = new ArrayList<>();
if(userIds.size()>0){ if(userIds.size()>0){
@ -198,7 +200,6 @@ public class OmsOrderApi {
order.setOrderItems(itemsMap.get(order.getId())); order.setOrderItems(itemsMap.get(order.getId()));
} }
return R.byPageHelperList(list);
} }
/** /**

2
src/main/java/com/qs/serve/modules/seeyon/service/impl/SeeYonRequestBaseService.java

@ -48,7 +48,7 @@ public class SeeYonRequestBaseService {
if(result.getStatus()!=200){ if(result.getStatus()!=200){
log.error("致远服务失败[{},{}]\nParam:{}",title,result.getMsg(),JsonUtil.objectToJson(param)); log.error("致远服务失败[{},{}]\nParam:{}",title,result.getMsg(),JsonUtil.objectToJson(param));
} }
log.debug("致远服务返回R<String>:{}",JsonUtil.objectToJson(result)); log.info("致远服务返回R<String>:{}",JsonUtil.objectToJson(result));
return result; return result;
} }

14
src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java

@ -1,6 +1,7 @@
package com.qs.serve.modules.tbs.controller; package com.qs.serve.modules.tbs.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.qs.serve.common.model.annotation.SysLog; import com.qs.serve.common.model.annotation.SysLog;
import com.qs.serve.common.model.enums.BudgetLogOptFlag; import com.qs.serve.common.model.enums.BudgetLogOptFlag;
import com.qs.serve.common.model.dto.PageVo; import com.qs.serve.common.model.dto.PageVo;
@ -223,6 +224,19 @@ public class TbsBudgetController {
return R.ok(); return R.ok();
} }
/**
* 更新预算的不运作状态
* @param param
* @return
*/
@PostMapping("/updateInactiveFlag")
@SysLog(module = SystemModule.Budget, title = "预算不运作状态", biz = BizType.UPDATE)
public R<?> updateInactiveFlag(@RequestBody @Valid TbsBudgetStateBo param){
tbsBudgetService.update(new LambdaUpdateWrapper<TbsBudget>()
.set(TbsBudget::getInactiveFlag,param.getInactiveFlag())
.eq(TbsBudget::getId,param.getId()));
return R.ok();
}
/** /**
* 更新跨年状态 * 更新跨年状态

5
src/main/java/com/qs/serve/modules/tbs/entity/TbsBudget.java

@ -43,7 +43,10 @@ public class TbsBudget implements Serializable {
/** 费用启用状态 0/1 */ /** 费用启用状态 0/1 */
private Integer budgetState; private Integer budgetState;
/** 停用状态 0/1 */ /** 不活动的 0/1 用于随意关停预算 */
private Integer inactiveFlag;
/** 停用状态 0/1 用于标记跨年停用预算 */
private Integer stopFlag; private Integer stopFlag;
/** 是否允许跨年,控制停用状态 */ /** 是否允许跨年,控制停用状态 */

5
src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetAmtBo.java

@ -11,10 +11,7 @@ import java.math.BigDecimal;
@Data @Data
public class TbsBudgetAmtBo { public class TbsBudgetAmtBo {
/** private Long budgetScheduleItemId;
* scheduleItemBudgetId
*/
private Long scheduleItemId;
private BigDecimal preDispatchAmount; private BigDecimal preDispatchAmount;

3
src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetBo.java

@ -41,6 +41,9 @@ public class TbsBudgetBo implements Serializable {
/** 是否允许跨年,控制停用状态 */ /** 是否允许跨年,控制停用状态 */
private Integer crossYearFlag; private Integer crossYearFlag;
/** 不活动的 0/1 */
private Integer inactiveFlag;
/** /**
* 成本中心类型 * 成本中心类型
center, center,

3
src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetStateBo.java

@ -22,4 +22,7 @@ public class TbsBudgetStateBo {
/** 是否允许跨年,控制停用状态 */ /** 是否允许跨年,控制停用状态 */
private Integer crossYearFlag; private Integer crossYearFlag;
/** 是否允许跨年,控制停用状态 */
private Integer inactiveFlag;
} }

3
src/main/java/com/qs/serve/modules/tbs/entity/so/TbsBudgetSo.java

@ -31,6 +31,9 @@ public class TbsBudgetSo implements Serializable {
/** 停用状态 0/1 */ /** 停用状态 0/1 */
private Integer stopFlag; private Integer stopFlag;
/** 不活动的 0/1 */
private Integer inactiveFlag;
/** 是否允许跨年,控制停用状态 */ /** 是否允许跨年,控制停用状态 */
private Integer crossYearFlag; private Integer crossYearFlag;

4
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java

@ -271,7 +271,7 @@ public class TbsBudgetChangeServiceImpl extends ServiceImpl<TbsBudgetChangeMappe
List<TbsBudgetAmtBo> budgetAmtUpdateList = param.getBudgetAmtUpdateList(); List<TbsBudgetAmtBo> budgetAmtUpdateList = param.getBudgetAmtUpdateList();
if(CollectionUtil.isNotEmpty(budgetAmtUpdateList)){ if(CollectionUtil.isNotEmpty(budgetAmtUpdateList)){
//更变的周期项 //更变的周期项
List<Long> budgetScheduleIds = budgetAmtUpdateList.stream().map(TbsBudgetAmtBo::getScheduleItemId).collect(Collectors.toList()); List<Long> budgetScheduleIds = budgetAmtUpdateList.stream().map(TbsBudgetAmtBo::getBudgetScheduleItemId).collect(Collectors.toList());
List<TbsBudgetLogWithAmount> budgetLogWithAmountList = tbsScheduleItemBudgetMapper.getSumAmtInList(budgetScheduleIds,Arrays.asList(0,2,3)); List<TbsBudgetLogWithAmount> budgetLogWithAmountList = tbsScheduleItemBudgetMapper.getSumAmtInList(budgetScheduleIds,Arrays.asList(0,2,3));
//所有的周期项 //所有的周期项
List<TbsScheduleItemBudget> allScheduleItemBudgetList = tbsScheduleItemBudgetMapper List<TbsScheduleItemBudget> allScheduleItemBudgetList = tbsScheduleItemBudgetMapper
@ -294,7 +294,7 @@ public class TbsBudgetChangeServiceImpl extends ServiceImpl<TbsBudgetChangeMappe
} }
//设置更新的金额 //设置更新的金额
for (TbsBudgetAmtBo budgetAmtBo : budgetAmtUpdateList) { for (TbsBudgetAmtBo budgetAmtBo : budgetAmtUpdateList) {
if(budgetAmtBo.getScheduleItemId().equals(scheduleItemBudget.getId())){ if(budgetAmtBo.getBudgetScheduleItemId().equals(scheduleItemBudget.getId())){
resultItem.setNewPreDispatchAmount(budgetAmtBo.getPreDispatchAmount()); resultItem.setNewPreDispatchAmount(budgetAmtBo.getPreDispatchAmount());
resultItem.setNewBudgetAmount(budgetAmtBo.getBudgetAmount()); resultItem.setNewBudgetAmount(budgetAmtBo.getBudgetAmount());
break; break;

1
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java

@ -201,6 +201,7 @@ public class TbsBudgetServiceImpl extends ServiceImpl<TbsBudgetMapper,TbsBudget>
budget.setBudgetCode(budgetBo.getBudgetCode()); budget.setBudgetCode(budgetBo.getBudgetCode());
budget.setSubjectId(budgetBo.getSubjectId()); budget.setSubjectId(budgetBo.getSubjectId());
budget.setAttachIds(budgetBo.getAttachIds()); budget.setAttachIds(budgetBo.getAttachIds());
budget.setInactiveFlag(budgetBo.getInactiveFlag());
//设置指定模板 //设置指定模板
budget.setTemplateIds(new String[]{}); budget.setTemplateIds(new String[]{});
if(budgetBo.getTemplateFlag()!=null&&budgetBo.getTemplateFlag().equals(1)){ if(budgetBo.getTemplateFlag()!=null&&budgetBo.getTemplateFlag().equals(1)){

25
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java

@ -430,7 +430,26 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
R<String> flowIdResult = null; R<String> flowIdResult = null;
//启用新方法开关 //启用新方法开关
if( tbsCostApply.getContractFlag().equals(1)){ if( tbsCostApply.getContractFlag().equals(1)){
List<OaUploadFile> uploadFileList = new ArrayList<>(); List<OaUploadFile> uploadFileList = new ArrayList<>();
List<String> actFileIds = new ArrayList<>();
for (TbsActivity activity : activityList) {
if (CollectionUtil.isNotEmpty(activity.getAttachIds())){
actFileIds.addAll(Arrays.asList(activity.getAttachIds()));
}
}
if(CollectionUtil.isNotEmpty(actFileIds)){
List<SysAttach> attachList = sysAttachService.listByIds(actFileIds);
for (SysAttach sysAttach : attachList) {
OaUploadFile uploadFile = new OaUploadFile();
uploadFile.setField("file");
uploadFile.setName("活动附件"+sysAttach.getName());
uploadFile.setUrl("https://qsjslservice.oss-cn-guangzhou.aliyuncs.com/"+sysAttach.getRelativePath());
uploadFileList.add(uploadFile);
}
}
if(CollectionUtil.isNotEmpty(oaAttachmentsIdList)){ if(CollectionUtil.isNotEmpty(oaAttachmentsIdList)){
List<SysAttach> attachList = sysAttachService.listByIds(oaAttachmentsIdList); List<SysAttach> attachList = sysAttachService.listByIds(oaAttachmentsIdList);
for (SysAttach sysAttach : attachList) { for (SysAttach sysAttach : attachList) {
@ -451,6 +470,7 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
uploadFileList.add(uploadFile); uploadFileList.add(uploadFile);
} }
} }
OaFormMainProcess mainProcess = new OaFormMainProcess(); OaFormMainProcess mainProcess = new OaFormMainProcess();
mainProcess.setTargetId(id); mainProcess.setTargetId(id);
mainProcess.setUploadFiles(uploadFileList); mainProcess.setUploadFiles(uploadFileList);
@ -909,7 +929,10 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
* @param sysUser * @param sysUser
* @param data * @param data
*/ */
private void buildContractApplyData(String id, TbsCostApply tbsCostApply, List<TbsActivity> activityList, List<TbsActivityPayCondition> payConditions, BmsSupplier supplier, SysUser sysUser, Map<String, Object> data,List<TbsCostContract> contracts,List<TbsCostTodo> costTodoList ,Map<String, Object> newWayData) { private void buildContractApplyData(String id, TbsCostApply tbsCostApply, List<TbsActivity> activityList,
List<TbsActivityPayCondition> payConditions, BmsSupplier supplier, SysUser sysUser,
Map<String, Object> data,List<TbsCostContract> contracts,
List<TbsCostTodo> costTodoList ,Map<String, Object> newWayData) {
data.put("title", tbsCostApply.getChargeTheme()); data.put("title", tbsCostApply.getChargeTheme());
data.put("orgId", tbsCostApply.getId().toString()); data.put("orgId", tbsCostApply.getId().toString());
data.put("costApplyCode", tbsCostApply.getCode()); data.put("costApplyCode", tbsCostApply.getCode());

4
src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationBatchController.java

@ -110,6 +110,10 @@ public class VtbVerificationBatchController {
@GetMapping("/getById/{id}") @GetMapping("/getById/{id}")
public R<VtbVerificationBatch> getById(@PathVariable("id") String id){ public R<VtbVerificationBatch> getById(@PathVariable("id") String id){
VtbVerificationBatch batch = vtbVerificationBatchService.getById(id); VtbVerificationBatch batch = vtbVerificationBatchService.getById(id);
if(batch.getVtbBatchStatus().equals(VtbVerificationBatch.BatchState.CHECKING)){
vtbVerificationBatchOperationService.runCompensate(id);
batch = vtbVerificationBatchService.getById(id);
}
List<VtbVerification> verificationList = vtbVerificationService List<VtbVerification> verificationList = vtbVerificationService
.list(new LambdaQueryWrapper<VtbVerification>() .list(new LambdaQueryWrapper<VtbVerification>()
.eq(VtbVerification::getBatchId,batch.getId())); .eq(VtbVerification::getBatchId,batch.getId()));

2
src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationMapper.java

@ -19,7 +19,7 @@ import java.util.List;
public interface VtbVerificationMapper extends BaseMapper<VtbVerification> { public interface VtbVerificationMapper extends BaseMapper<VtbVerification> {
@Select("select COALESCE(sum(amount),0) from vtb_verification where del_flag = 0 and batchId = #{batchId} ") @Select("select COALESCE(sum(amount),0) from vtb_verification where del_flag = 0 and batch_id = #{batchId} ")
BigDecimal totalVtbAmtByBatchId(@Param("batchId")Long batchId); BigDecimal totalVtbAmtByBatchId(@Param("batchId")Long batchId);
@Select("select COALESCE(sum(amount),0) from vtb_verification where del_flag = 0 and activity_id = #{activityId} and verification_state = 1") @Select("select COALESCE(sum(amount),0) from vtb_verification where del_flag = 0 and activity_id = #{activityId} and verification_state = 1")

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

@ -1584,6 +1584,11 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
supplier.setCode(activity.getSupplierCode()); supplier.setCode(activity.getSupplierCode());
supplier.setName(activity.getSupplierName()); supplier.setName(activity.getSupplierName());
//无可用金额
if(verification.getAmount().compareTo(BigDecimal.ZERO)<=0){
return;
}
for (VtbVerificationSubject verificationSubject : verificationSubjects) { for (VtbVerificationSubject verificationSubject : verificationSubjects) {
subject.setSubjectCode(verificationSubject.getSubjectCode()); subject.setSubjectCode(verificationSubject.getSubjectCode());
subject.setSubjectName(verificationSubject.getSubjectName()); subject.setSubjectName(verificationSubject.getSubjectName());

1
src/main/resources/mapper/tbs/TbsBudgetMapper.xml

@ -82,6 +82,7 @@
<if test="query.budgetNumber !=null and query.budgetNumber !='' "> and `tbs_budget`.`budget_number` like concat('%',#{query.budgetNumber},'%')</if> <if test="query.budgetNumber !=null and query.budgetNumber !='' "> and `tbs_budget`.`budget_number` like concat('%',#{query.budgetNumber},'%')</if>
<if test="query.budgetState !=null "> and `tbs_budget`.`budget_state` = #{query.budgetState}</if> <if test="query.budgetState !=null "> and `tbs_budget`.`budget_state` = #{query.budgetState}</if>
<if test="query.crossYearFlag !=null "> and `tbs_budget`.`cross_year_flag` = #{query.crossYearFlag}</if> <if test="query.crossYearFlag !=null "> and `tbs_budget`.`cross_year_flag` = #{query.crossYearFlag}</if>
<if test="query.inactiveFlag !=null "> and `tbs_budget`.`inactive_flag` = #{query.inactiveFlag}</if>
<if test="query.budgetCheckState !=null "> and `tbs_budget`.`budget_check_state` = #{query.budgetCheckState}</if> <if test="query.budgetCheckState !=null "> and `tbs_budget`.`budget_check_state` = #{query.budgetCheckState}</if>
<if test="query.budgetCode != null and query.budgetCode != ''"> and `tbs_budget`.`budget_code` like concat('%',#{query.budgetCode},'%')</if> <if test="query.budgetCode != null and query.budgetCode != ''"> and `tbs_budget`.`budget_code` like concat('%',#{query.budgetCode},'%')</if>
<if test="query.subjectValue != null and query.subjectValue != ''"> <if test="query.subjectValue != null and query.subjectValue != ''">

Loading…
Cancel
Save