diff --git a/pom.xml b/pom.xml
index 8a9e9502..53741ec9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -189,6 +189,12 @@
${wx.java.version}
+
+ com.github.binarywang
+ weixin-java-cp
+ ${wx.java.version}
+
+
org.springframework.boot
spring-boot-starter-test
diff --git a/src/main/java/com/qs/serve/modules/bir/controller/BirActivityCenterGoodsController.java b/src/main/java/com/qs/serve/modules/bir/controller/BirActivityCenterGoodsController.java
index 359a1ba7..19b3e45a 100644
--- a/src/main/java/com/qs/serve/modules/bir/controller/BirActivityCenterGoodsController.java
+++ b/src/main/java/com/qs/serve/modules/bir/controller/BirActivityCenterGoodsController.java
@@ -29,13 +29,8 @@ import com.qs.serve.modules.bms.service.BmsChannelService;
import com.qs.serve.modules.bms.service.BmsSupplierChannelService;
import com.qs.serve.modules.his.service.HisUserChannelPointService;
import com.qs.serve.modules.oss.service.OssService;
-import com.qs.serve.modules.tbs.entity.TbsActivityCenterGoods;
-import com.qs.serve.modules.tbs.entity.TbsActivityChannel;
-import com.qs.serve.modules.tbs.entity.TbsCostApply;
-import com.qs.serve.modules.tbs.entity.TbsCostBirLog;
-import com.qs.serve.modules.tbs.mapper.TbsActivityCenterGoodsMapper;
-import com.qs.serve.modules.tbs.mapper.TbsActivityMapper;
-import com.qs.serve.modules.tbs.mapper.TbsCostBirLogMapper;
+import com.qs.serve.modules.tbs.entity.*;
+import com.qs.serve.modules.tbs.mapper.*;
import com.qs.serve.modules.tbs.service.TbsActivityChannelService;
import com.qs.serve.modules.tbs.service.TbsCostApplyService;
import lombok.AllArgsConstructor;
@@ -69,6 +64,8 @@ public class BirActivityCenterGoodsController {
private TbsCostBirLogMapper tbsCostBirLogMapper;
private TbsActivityCenterGoodsMapper tbsActivityCenterGoodsMapper;
private TbsActivityMapper tbsActivityMapper;
+ private TbsBudgetLogMapper tbsBudgetLogMapper;
+ private TbsBudgetMapper tbsBudgetMapper;
@GetMapping("/toSyncBir")
public R> syncBir(Long costId){
@@ -80,6 +77,35 @@ public class BirActivityCenterGoodsController {
return R.ok();
}
+ /**
+ * 通过budgetCode更新所有费用的bir
+ * @param budgetCode
+ * @return
+ */
+ @GetMapping("/toSyncBirbyBudgetCode")
+ public R> toSyncBirbyBudgetCode(String budgetCode){
+ List budgetList = tbsBudgetMapper.selectList(new LambdaQueryWrapper().eq(TbsBudget::getBudgetNumber,budgetCode));
+ if(budgetList.size()==1){
+ List costIds = tbsBudgetLogMapper.getBudgetCostIds(budgetList.get(0).getId());
+ if(CollectionUtil.isNotEmpty(costIds)){
+ for (Long costId : costIds) {
+ centerGoodsService.rebuildBir(Arrays.asList(costId));
+ }
+ }
+ }
+ return R.ok();
+ }
+
+
+ @GetMapping("/toSyncBirbyId")
+ public R> toSyncBirbyId(String costId){
+ List list = tbsCostApplyService.listByIds(Arrays.asList(costId));
+ for (TbsCostApply costApply : list) {
+ centerGoodsService.rebuildBir(Arrays.asList(costApply.getId()));
+ }
+ return R.ok();
+ }
+
@GetMapping("/toSyncBirbyCode")
public R> toSyncBirEcro(String costCode){
List list = tbsCostApplyService.list(new LambdaQueryWrapper().eq(TbsCostApply::getCode,costCode));
diff --git a/src/main/java/com/qs/serve/modules/his/entity/HisUserSupplier.java b/src/main/java/com/qs/serve/modules/his/entity/HisUserSupplier.java
index 993da4fd..ea6020e3 100644
--- a/src/main/java/com/qs/serve/modules/his/entity/HisUserSupplier.java
+++ b/src/main/java/com/qs/serve/modules/his/entity/HisUserSupplier.java
@@ -10,6 +10,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.qs.serve.modules.bms.entity.BmsSupplier;
+import com.qs.serve.modules.tag.entity.so.TagQuery;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
@@ -164,6 +165,10 @@ public class HisUserSupplier implements Serializable {
@TableField(exist = false)
Double localX;
+ /** 标签查询 */
+ @TableField(exist = false)
+ List tagQueryList;
+
public BmsSupplier toSupplier(){
BmsSupplier bmsSupplier = new BmsSupplier();
bmsSupplier.setId(this.getSupplierId()+"");
diff --git a/src/main/java/com/qs/serve/modules/his/service/impl/HisUserSupplierServiceImpl.java b/src/main/java/com/qs/serve/modules/his/service/impl/HisUserSupplierServiceImpl.java
index 404da77d..8ee43e9e 100644
--- a/src/main/java/com/qs/serve/modules/his/service/impl/HisUserSupplierServiceImpl.java
+++ b/src/main/java/com/qs/serve/modules/his/service/impl/HisUserSupplierServiceImpl.java
@@ -8,6 +8,7 @@ import com.qs.serve.common.framework.redis.RedisService;
import com.qs.serve.common.model.consts.RedisCacheKeys;
import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R;
+import com.qs.serve.common.model.tag.TagFiledUtil;
import com.qs.serve.common.util.AuthContextUtils;
import com.qs.serve.common.util.CollectionUtil;
import com.qs.serve.common.util.PageUtil;
@@ -84,6 +85,7 @@ public class HisUserSupplierServiceImpl extends ServiceImpla.getSupplierId()).collect(Collectors.toList());
}
diff --git a/src/main/java/com/qs/serve/modules/oms/entity/dto/SeeYonOrderItemDTO.java b/src/main/java/com/qs/serve/modules/oms/entity/dto/SeeYonOrderItemDTO.java
new file mode 100644
index 00000000..3ea4cd13
--- /dev/null
+++ b/src/main/java/com/qs/serve/modules/oms/entity/dto/SeeYonOrderItemDTO.java
@@ -0,0 +1,42 @@
+package com.qs.serve.modules.oms.entity.dto;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author YenHex
+ * @since 2024/8/14
+ */
+@Data
+public class SeeYonOrderItemDTO {
+
+ /**
+ * 从表相关字段
+ * 产品编号 spuCode
+ * 产品名称 skuTitle
+ * 单品编码 skuAddCode
+ * 单品名称 skuCode
+ * 临期品编号 batchCode
+ * 产品分类 skuCategories
+ * 规格 specVal
+ * 备注 remark
+ * 重量 weight
+ * 体积 volume
+ * 价格 salesPrice
+ * 合计价格 totalPrice
+ */
+ private String spuCode;
+ private String skuTitle;
+ private String skuAddCode;
+ private String skuCode;
+ private String batchCode;
+ private String skuCategories;
+ private String specVal;
+ private String remark;
+ private BigDecimal weight;
+ private BigDecimal volume;
+ private BigDecimal salesPrice;
+ private BigDecimal totalPrice;
+
+}
diff --git a/src/main/java/com/qs/serve/modules/tbs/common/TbsCostApplyState.java b/src/main/java/com/qs/serve/modules/tbs/common/TbsCostApplyState.java
index 17b4eeda..c04a1653 100644
--- a/src/main/java/com/qs/serve/modules/tbs/common/TbsCostApplyState.java
+++ b/src/main/java/com/qs/serve/modules/tbs/common/TbsCostApplyState.java
@@ -37,7 +37,7 @@ public enum TbsCostApplyState {
public static Boolean checkUseBudget(Integer state){
if(state==null){return null;}
- int[] ints = new int[]{0,5,6,8};
+ int[] ints = new int[]{0,5,6,8,4};
for (int anInt : ints) {
if(anInt==state){
return false;
diff --git a/src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java b/src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java
index 19334705..6286fced 100644
--- a/src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java
+++ b/src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java
@@ -47,6 +47,13 @@ public interface TbsSeeYonConst {
}
}
+ /** 核销 */
+ class ExpiredOrderConf{
+ public static String Code(){
+ return DevEnvironmentConfig.isDev()?"ExpiredOrder_Test":"ExpiredOrder";
+ }
+ }
+
/** 预算申请 */
class BudgetApplyConf{
public static String Code(){
diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/TbsScheduleItemBudget.java b/src/main/java/com/qs/serve/modules/tbs/entity/TbsScheduleItemBudget.java
index 8cbaa713..93ba7c12 100644
--- a/src/main/java/com/qs/serve/modules/tbs/entity/TbsScheduleItemBudget.java
+++ b/src/main/java/com/qs/serve/modules/tbs/entity/TbsScheduleItemBudget.java
@@ -130,6 +130,18 @@ public class TbsScheduleItemBudget implements Serializable {
@TableField(exist = false)
private BigDecimal unUsedBudgetAmount;
+ /**
+ * 政策占用的预算
+ */
+ @TableField(exist = false)
+ private BigDecimal sumPolicyAmount;
+
+ /**
+ * 退回的费用申请占用预算
+ */
+ @TableField(exist = false)
+ private BigDecimal sumCostBackAmount;
+
@TableField(exist = false)
private Integer budgetConditionFlag;
diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostTodoOperationServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostTodoOperationServiceImpl.java
index e5759852..03c8070c 100644
--- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostTodoOperationServiceImpl.java
+++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostTodoOperationServiceImpl.java
@@ -19,6 +19,7 @@ import com.qs.serve.modules.seeyon.service.impl.SeeYonRequestBaseService;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.mapper.SysUserMapper;
import com.qs.serve.modules.tbs.common.TbsCommonCheckState;
+import com.qs.serve.modules.tbs.common.TbsCostApplyState;
import com.qs.serve.modules.tbs.common.TbsSeeYonConst;
import com.qs.serve.modules.tbs.entity.TbsBudget;
import com.qs.serve.modules.tbs.entity.TbsCostApply;
@@ -62,6 +63,15 @@ public class TbsCostTodoOperationServiceImpl implements SeeYonOperationService {
@Transactional(rollbackFor = Exception.class)
public void submit(TbsSubmitToDoBo param){
TbsCostTodo costTodo = tbsCostTodoMapper.selectById(param.getId());
+
+ TbsCostApply tbsCostApply = tbsCostApplyMapper.selectById(param.getId());
+ if(
+ !tbsCostApply.getChargeState().equals(TbsCostApplyState.State_2_actioning.getCode()) &&
+ !tbsCostApply.getChargeState().equals(TbsCostApplyState.State_3_finished.getCode())
+ ){
+ Assert.throwEx("费用状态不支持");
+ }
+
String todoCode = costTodo.getTodoCode();
String templateCode = this.getTemplateCode();
SysUser sysUser = sysUserMapper.selectById(AuthContextUtils.getSysUserId());
@@ -81,6 +91,7 @@ public class TbsCostTodoOperationServiceImpl implements SeeYonOperationService {
data.put("cmsLink",baseJumpUrl);
data.put("rowDate", DateUtils.format(LocalDateTime.now(), DateFormatString.DATE_TIME));
data.put("rowState","03");
+ data.put("jinE",tbsCostApply.getTotalActivityAmount());
BaseCreateProcessBo createProcess = new BaseCreateProcessBo();
createProcess.setTemplateCode(templateCode);
diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsScheduleItemBudgetServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsScheduleItemBudgetServiceImpl.java
index 36682694..921dfa6d 100644
--- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsScheduleItemBudgetServiceImpl.java
+++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsScheduleItemBudgetServiceImpl.java
@@ -255,6 +255,9 @@ public class TbsScheduleItemBudgetServiceImpl extends ServiceImpl costUsedList = tbsBudgetLog2Mapper.getSumAmtInList(new ArrayList<>(budgetIds), BudgetLogOptFlag.finalCostOptFlag);
+ // 费用退回的金额
+ List costBackList = tbsBudgetLog2Mapper.getSumBackAmtInList(new ArrayList<>(budgetIds));
+
// 政策使用金额
List policyUsedList = tbsBudgetLog2Mapper.getSumAmtInList(new ArrayList<>(budgetIds), BudgetLogOptFlag.finalPolicyOptFlag);
@@ -311,6 +314,12 @@ public class TbsScheduleItemBudgetServiceImpl extends ServiceImpl subList = new ArrayList<>();
+ boolean hasCenter = false;
try {
List activityCenter = activityCenterService.listByActivity(verification.getActivityId());
for(TbsActivityCenter center : activityCenter){
@@ -1215,17 +1216,20 @@ public class VtbVerificationServiceImpl extends ServiceImpl impleme
}
-
-
@Override
public WxUser getCurrentWxUser() {
return this.getCurrentWxUser(false);
diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml
index 98c67f1d..f7d1bce9 100644
--- a/src/main/resources/log4j2.xml
+++ b/src/main/resources/log4j2.xml
@@ -7,7 +7,7 @@
-
+