diff --git a/src/main/java/com/qs/serve/modules/bms/controller/api/BmsSupplierAddressApi.java b/src/main/java/com/qs/serve/modules/bms/controller/api/BmsSupplierAddressApi.java index 7849677a..a6566b60 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/api/BmsSupplierAddressApi.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/api/BmsSupplierAddressApi.java @@ -70,7 +70,6 @@ public class BmsSupplierAddressApi { } - /** * 根据ID更新 * @param param diff --git a/src/main/java/com/qs/serve/modules/oms/controller/api/OmsShoppingCartApi.java b/src/main/java/com/qs/serve/modules/oms/controller/api/OmsShoppingCartApi.java index 9d33dbc9..31481e73 100644 --- a/src/main/java/com/qs/serve/modules/oms/controller/api/OmsShoppingCartApi.java +++ b/src/main/java/com/qs/serve/modules/oms/controller/api/OmsShoppingCartApi.java @@ -123,12 +123,13 @@ public class OmsShoppingCartApi { /** * 删除购物车 - * @param id + * @param ids * @return */ - @DeleteMapping("/deleteById/{id}") - public R deleteById(@PathVariable("id") Long id){ - omsShoppingCartService.removeById(id); + @DeleteMapping("/deleteById/{ids}") + public R deleteById(@PathVariable("ids") String ids){ + List idsLong = StringUtils.splitIdLong(ids); + omsShoppingCartService.removeBatchByIds(idsLong); return R.ok(); } diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetBatchServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetBatchServiceImpl.java index 02b95d3b..28b4815b 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetBatchServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetBatchServiceImpl.java @@ -201,6 +201,21 @@ public class TbsBudgetBatchServiceImpl extends ServiceImpl0){ + List budgetChanges = tbsBudgetChangeService.list( + new LambdaQueryWrapper() + .in(TbsBudgetChange::getBudgetNumber,budgetNumbers) + .eq(TbsBudgetChange::getBudgetCheckState,TbsBudgetCheckState.State_1_apply) + ); + for (TbsBudgetChange change : budgetChanges) { + for (TbsBudgetBatchBo.BudgetMain budgetMain : updBudgetList) { + if(budgetMain.getBudgetNumber().equals(change.getBudgetNumber())){ + budgetMain.getErrorInfos().add("预算修改["+change.getBudgetTitle()+"]审批中,无法导入修改"); + param.setErrorFlag(true); + } + } + } + } for (TbsBudget budget : budgetList) { if(budget.getBudgetCheckState()==TbsBudgetCheckState.State_1_apply){ for (TbsBudgetBatchBo.BudgetMain budgetMain : updBudgetList) { @@ -283,11 +298,11 @@ public class TbsBudgetBatchServiceImpl extends ServiceImpl!StringUtils.hasText(a.getBudgetNumber())).collect(Collectors.toList()); for (TbsBudgetBatchBo.BudgetMain budgetMain : addBudgetList) { TbsBudget newBudget = new TbsBudget(); - newBudget.setBudgetNumber("BM"+CodeGenUtil.generate(CodeGenUtil.SourceKey.Budget)); newBudget.setBatchApplyFlag(1); newBudget.setBatchApplyId(batchId); TbsSchedule schedule = scheduleMap.get(budgetMain.getScheduleName()); this.initBudget4Update(sysUser,schedule, subjectMap, centerDtoMap, budgetMain, newBudget); + newBudget.setBudgetNumber("BM"+CodeGenUtil.generate(CodeGenUtil.SourceKey.Budget)); tbsBudgetService.save(newBudget); Long budgetId = newBudget.getId(); //创建新条件 diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java index 0c0bf1c9..c0036929 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java @@ -327,6 +327,7 @@ public class TbsBudgetServiceImpl extends ServiceImpl Assert.throwEx("已开启"); } budget.setBudgetState(1); + budget.setBudgetCheckState(TbsBudgetCheckState.State_2_finished); this.updateById(budget); SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId()); LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); @@ -336,9 +337,7 @@ public class TbsBudgetServiceImpl extends ServiceImpl List budgetLogList = new ArrayList<>(); for (TbsScheduleItemBudget scheduleItemBudget : scheduleItemBudgets) { TbsBudgetLog budgetLog = TbsBudgetLogBuildUtil.toTbsBudgetLog(sysUser, budget, scheduleItemBudget,BudgetLogOptFlag.State_0,scheduleItemBudget.getBudgetAmount()); - if (budgetLog!=null){ - budgetLogList.add(budgetLog); - } + budgetLogList.add(budgetLog); } budgetLogService.saveBatch(budgetLogList); } diff --git a/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationDataController.java b/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationDataController.java new file mode 100644 index 00000000..ed0b2ecb --- /dev/null +++ b/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationDataController.java @@ -0,0 +1,68 @@ +package com.qs.serve.modules.vtb.controller; + +import com.qs.serve.common.model.dto.PageVo; +import com.qs.serve.common.model.dto.R; +import com.qs.serve.modules.vtb.entity.dto.VtbActivityCheckDTO; +import com.qs.serve.modules.vtb.entity.dto.VtbVerificationDTO; +import com.qs.serve.modules.vtb.entity.so.VtbActivityCheckSo; +import com.qs.serve.modules.vtb.entity.so.VtbVerificationCheckSo; +import com.qs.serve.modules.vtb.mapper.VtbVerReportMapper; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 核销数据 + * @author YenHex + * @since 2023/9/4 + */ +@Slf4j +@AllArgsConstructor +@RestController +@RequestMapping("vtb/data") +public class VtbVerificationDataController { + + private final VtbVerReportMapper verReportMapper; + + /** + * 获取活动的核销情况 + * @param query + * @return + */ + @GetMapping("pageActivityCheck") + public R> getActivityData(VtbActivityCheckSo query){ + Long count = verReportMapper.countActivityCheck(query); + if(count>0){ + List list = verReportMapper.pageActivityCheck(query); + PageVo page = new PageVo<>(); + page.initPageByTotal(count); + page.setList(list); + return R.ok(page); + } + return R.byEmptyList(); + } + + /** + * 获取核销的支付信息 + * @param query + * @return + */ + @GetMapping("pageVerificationCheck") + public R getVerificationData(VtbVerificationCheckSo query){ + Long count = verReportMapper.countVerificationCheck(query); + if(count>0){ + List list = verReportMapper.pageVerificationCheck(query); + PageVo page = new PageVo<>(); + page.initPageByTotal(count); + page.setList(list); + return R.ok(page); + } + return R.byEmptyList(); + } + + +} diff --git a/src/main/java/com/qs/serve/modules/vtb/entity/dto/VtbActivityCheckDTO.java b/src/main/java/com/qs/serve/modules/vtb/entity/dto/VtbActivityCheckDTO.java new file mode 100644 index 00000000..e9fb0cbf --- /dev/null +++ b/src/main/java/com/qs/serve/modules/vtb/entity/dto/VtbActivityCheckDTO.java @@ -0,0 +1,68 @@ +package com.qs.serve.modules.vtb.entity.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 活动的核销情况 + * @author YenHex + * @since 2023/9/4 + */ +@Data +public class VtbActivityCheckDTO { + + private String costApplyId; + + /** 费用编码 */ + private String costApplyCode; + + private String costTitle; + + /** 客户id */ + private String supplierId; + + private String supplierCode; + + private String supplierName; + + /** 提交实际 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime submitTime; + + /** 活动编码 */ + private String activityCode; + + private String activityTitle; + + private String activityAmount; + + /** 核销金额 */ + private String checkAmount; + + /** 核销完成 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime checkFinishedDate; + + /** 释放标识 */ + private Integer releaseFlag; + + /** 释放金额 */ + private BigDecimal releaseAmount; + + /** 释放时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime releaseTime; + + /** 释放人员id */ + private String releaseUserId; + + /** 释放人员 */ + private String releaseUserName; +} diff --git a/src/main/java/com/qs/serve/modules/vtb/entity/dto/VtbVerificationDTO.java b/src/main/java/com/qs/serve/modules/vtb/entity/dto/VtbVerificationDTO.java new file mode 100644 index 00000000..f2cbbc8c --- /dev/null +++ b/src/main/java/com/qs/serve/modules/vtb/entity/dto/VtbVerificationDTO.java @@ -0,0 +1,43 @@ +package com.qs.serve.modules.vtb.entity.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 活动的核销情况 + * @author YenHex + * @since 2023/9/4 + */ +@Data +public class VtbVerificationDTO { + + /** 核销编码 */ + private String verificationCode; + /** 供应商编码 */ + private String supplierCode; + /** 供应商 */ + private String supplierName; + /** 支付方式 */ + private String wayTitle; + /** 核销金额 */ + private String amount; + /** 支付金额 */ + private String payAmt; + /** 不再支付金额 */ + private String notPayAmt; + /** 费用编码 */ + private String costApplyCode; + /** 费用主题 */ + private String chargeTheme; + /** 费用申请时间 */ + private String submitTime; + /** 活动编码 */ + private String activityCode; + /** 活动内容 */ + private String actTitle; + +} diff --git a/src/main/java/com/qs/serve/modules/vtb/entity/so/VtbActivityCheckSo.java b/src/main/java/com/qs/serve/modules/vtb/entity/so/VtbActivityCheckSo.java new file mode 100644 index 00000000..a619c9bc --- /dev/null +++ b/src/main/java/com/qs/serve/modules/vtb/entity/so/VtbActivityCheckSo.java @@ -0,0 +1,58 @@ +package com.qs.serve.modules.vtb.entity.so; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 活动的核销情况 + * @author YenHex + * @since 2023/9/4 + */ +@Data +public class VtbActivityCheckSo { + + /** 费用编码 */ + private String costApplyCode; + + private String costTitle; + + /** 客户 */ + private String supplierCode; + + private String supplierName; + + /** 活动编码 */ + private String activityCode; + + private String activityTitle; + + + /** 提交开始时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime queryStartSubmitTime; + + /** 提交结束时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime queryEndSubmitTime; + + /** 核销开始时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime queryStartCheckTime; + + /** 核销开始时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime queryEndCheckTime; + + private Integer pageSize; + + private Integer startRow; + +} diff --git a/src/main/java/com/qs/serve/modules/vtb/entity/so/VtbVerificationCheckSo.java b/src/main/java/com/qs/serve/modules/vtb/entity/so/VtbVerificationCheckSo.java new file mode 100644 index 00000000..633fc80f --- /dev/null +++ b/src/main/java/com/qs/serve/modules/vtb/entity/so/VtbVerificationCheckSo.java @@ -0,0 +1,46 @@ +package com.qs.serve.modules.vtb.entity.so; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +/** + * @author YenHex + * @since 2023/9/4 + */ +@Data +public class VtbVerificationCheckSo { + /** 核销编码 */ + private String verificationCode; + /** 供应商编码 */ + private String supplierCode; + /** 供应商 */ + private String supplierName; + /** 费用编码 */ + private String costApplyCode; + /** 费用主题 */ + private String chargeTheme; + /** 活动编码 */ + private String activityCode; + /** 活动内容 */ + private String actTitle; + + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime startCheckTime; + + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime endCheckTime; + + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime startPayTime; + + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime endPayTime; + +} diff --git a/src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerReportMapper.java b/src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerReportMapper.java new file mode 100644 index 00000000..da154e19 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerReportMapper.java @@ -0,0 +1,25 @@ +package com.qs.serve.modules.vtb.mapper; + +import com.qs.serve.modules.vtb.entity.dto.VtbActivityCheckDTO; +import com.qs.serve.modules.vtb.entity.dto.VtbVerificationDTO; +import com.qs.serve.modules.vtb.entity.so.VtbActivityCheckSo; +import com.qs.serve.modules.vtb.entity.so.VtbVerificationCheckSo; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author YenHex + * @since 2023/9/4 + */ +public interface VtbVerReportMapper { + + List pageActivityCheck(@Param("query") VtbActivityCheckSo query); + + Long countActivityCheck(@Param("query") VtbActivityCheckSo query); + + List pageVerificationCheck(@Param("query") VtbVerificationCheckSo query); + + Long countVerificationCheck(@Param("query") VtbVerificationCheckSo query); + +} diff --git a/src/main/resources/mapper/bir/BirActivityCenterGoodsMapper.xml b/src/main/resources/mapper/bir/BirActivityCenterGoodsMapper.xml index df7a203c..60076124 100644 --- a/src/main/resources/mapper/bir/BirActivityCenterGoodsMapper.xml +++ b/src/main/resources/mapper/bir/BirActivityCenterGoodsMapper.xml @@ -133,7 +133,7 @@ - select bir_activity_center_goods.* from bir_activity_center_goods diff --git a/src/main/resources/mapper/vtb/VtbVerReportMapper.xml b/src/main/resources/mapper/vtb/VtbVerReportMapper.xml new file mode 100644 index 00000000..5682a1f4 --- /dev/null +++ b/src/main/resources/mapper/vtb/VtbVerReportMapper.xml @@ -0,0 +1,145 @@ + + + + + + + where 1=1 + and tbs_activity.del_flag = 0 + and tbs_activity.cancel_flag = 0 + and tbs_cost_apply.del_flag = 0 + and tbs_cost_apply.charge_state in(2,3) + and tbs_cost_apply.cancel_flag = 0 + and `tbs_activity`.`activity_code` like concat('%',#{query.activityCode},'%') + and `tbs_activity`.`act_title` like concat('%',#{query.activityTitle},'%') + and `tbs_cost_apply`.`submit_time` >= #{query.queryStartSubmitTime} + and `tbs_cost_apply`.`submit_time` <= #{query.queryEndSubmitTime} + and `tbs_cost_apply`.`supplier_code` like concat('%',#{query.supplierCode},'%') + and `tbs_cost_apply`.`supplier_name` like concat('%',#{query.supplierName},'%') + and `tbs_cost_apply`.`code` like concat('%',#{query.costApplyCode},'%') + and `tbs_cost_apply`.`charge_theme` like concat('%',#{query.costTitle},'%') + + + + + + + + + + + +