Browse Source

Merge remote-tracking branch 'origin/v1.0' into v1.0

v1.0
15989082884@163.com 2 years ago
parent
commit
40f4b8a257
  1. 4
      src/main/java/com/qs/serve/common/config/properties/ProjectApisProperties.java
  2. 1
      src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java
  3. 17
      src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java
  4. 32
      src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java
  5. 4
      src/main/java/com/qs/serve/modules/goods/mapper/GoodsSkuMapper.java
  6. 5
      src/main/java/com/qs/serve/modules/goods/mapper/GoodsSpuMapper.java
  7. 2
      src/main/java/com/qs/serve/modules/tbs/entity/TbsCostApply.java
  8. 63
      src/main/java/com/qs/serve/modules/third/service/PortalOfCostApplication.java
  9. 2
      src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyTestController.java
  10. 13
      src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyApplicationServiceImpl.java

4
src/main/java/com/qs/serve/common/config/properties/ProjectApisProperties.java

@ -27,5 +27,7 @@ public class ProjectApisProperties {
/** /**
* 原是生成销路通apt的中间表替换伟成的接口直接生成 * 原是生成销路通apt的中间表替换伟成的接口直接生成
*/ */
private String policySync; private String policySyncCate;
private String policySyncInv;
} }

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

@ -198,6 +198,7 @@ public class BirRoiRateController {
@GetMapping("/rebuildBir") @GetMapping("/rebuildBir")
public R<?> rebuildBir(){ public R<?> rebuildBir(){
Long[] costIds = new Long[]{ Long[] costIds = new Long[]{
267638L
}; };
birActivityCenterGoodsService.rebuildBir(Arrays.asList(costIds).stream().distinct().collect(Collectors.toList())); birActivityCenterGoodsService.rebuildBir(Arrays.asList(costIds).stream().distinct().collect(Collectors.toList()));
return R.ok(); return R.ok();

17
src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java

@ -9,6 +9,7 @@ import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.CopierUtil; import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.common.util.PageUtil; import com.qs.serve.common.util.PageUtil;
import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.goods.entity.GoodsSkuSpecValue; import com.qs.serve.modules.goods.entity.GoodsSkuSpecValue;
import com.qs.serve.modules.goods.entity.GoodsSpu; import com.qs.serve.modules.goods.entity.GoodsSpu;
import com.qs.serve.modules.goods.entity.bo.GoodsSkuBo; import com.qs.serve.modules.goods.entity.bo.GoodsSkuBo;
@ -17,6 +18,7 @@ import com.qs.serve.modules.goods.entity.bo.GoodsSpuImportBo;
import com.qs.serve.modules.goods.entity.vo.GoodSkuVo; import com.qs.serve.modules.goods.entity.vo.GoodSkuVo;
import com.qs.serve.modules.goods.entity.vo.GoodsSkuExportVo; import com.qs.serve.modules.goods.entity.vo.GoodsSkuExportVo;
import com.qs.serve.modules.goods.entity.vo.GoodsSkuSpecValueVo; import com.qs.serve.modules.goods.entity.vo.GoodsSkuSpecValueVo;
import com.qs.serve.modules.goods.mapper.GoodsSkuMapper;
import com.qs.serve.modules.goods.service.GoodsSkuSpecValueService; import com.qs.serve.modules.goods.service.GoodsSkuSpecValueService;
import com.qs.serve.modules.goods.service.GoodsSpuService; import com.qs.serve.modules.goods.service.GoodsSpuService;
import com.qs.serve.modules.sale.entity.SalePlanGoods; import com.qs.serve.modules.sale.entity.SalePlanGoods;
@ -54,6 +56,7 @@ import java.util.stream.Collectors;
@RequestMapping("goods/sku") @RequestMapping("goods/sku")
public class GoodsSkuController { public class GoodsSkuController {
private GoodsSkuMapper goodsSkuMapper;
private GoodsSkuService goodsSkuService; private GoodsSkuService goodsSkuService;
private GoodsSpuService goodsSpuService; private GoodsSpuService goodsSpuService;
private GoodsSkuSpecValueService goodsSkuSpecValueService; private GoodsSkuSpecValueService goodsSkuSpecValueService;
@ -190,14 +193,12 @@ public class GoodsSkuController {
if(policyGoodsService.count(lqw1)>0){ if(policyGoodsService.count(lqw1)>0){
return R.error("政策含有当前商品,删除失败"); return R.error("政策含有当前商品,删除失败");
} }
boolean result = goodsSkuService.removeById(id); goodsSkuMapper.updateSkuCodeAndDelFlag(id, StringUtils.genShortId());
if(result){ //删除商品规格值
//删除商品规格值 LambdaQueryWrapper<GoodsSkuSpecValue> lqw2 = new LambdaQueryWrapper<>();
LambdaQueryWrapper<GoodsSkuSpecValue> lqw2 = new LambdaQueryWrapper<>(); lqw2.eq(GoodsSkuSpecValue::getSkuId,id);
lqw2.eq(GoodsSkuSpecValue::getSkuId,id); goodsSkuSpecValueService.remove(lqw2);
goodsSkuSpecValueService.remove(lqw2); return R.ok();
}
return R.isTrue(result);
} }
/** /**

32
src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java

@ -17,6 +17,7 @@ import com.qs.serve.modules.goods.entity.so.GoodsHisOrderQuery;
import com.qs.serve.modules.goods.entity.so.InventoryCusPriceQuery; import com.qs.serve.modules.goods.entity.so.InventoryCusPriceQuery;
import com.qs.serve.modules.goods.entity.vo.GoodsSpuExportVo; import com.qs.serve.modules.goods.entity.vo.GoodsSpuExportVo;
import com.qs.serve.modules.goods.entity.vo.GoodsSpuVo; import com.qs.serve.modules.goods.entity.vo.GoodsSpuVo;
import com.qs.serve.modules.goods.mapper.GoodsSpuMapper;
import com.qs.serve.modules.goods.service.*; import com.qs.serve.modules.goods.service.*;
import com.qs.serve.modules.oms.entity.dto.OmsSpuToSkuKey; import com.qs.serve.modules.oms.entity.dto.OmsSpuToSkuKey;
import com.qs.serve.modules.seeyon.service.impl.SeeYonRequestBaseService; import com.qs.serve.modules.seeyon.service.impl.SeeYonRequestBaseService;
@ -51,6 +52,7 @@ import java.util.stream.Collectors;
@RequestMapping("goods/spu") @RequestMapping("goods/spu")
public class GoodsSpuController { public class GoodsSpuController {
private GoodsSpuMapper goodsSpuMapper;
private GoodsSkuService goodsSkuService; private GoodsSkuService goodsSkuService;
private GoodsSpuService goodsSpuService; private GoodsSpuService goodsSpuService;
private GoodsSpuSpecService goodsSpuSpecService; private GoodsSpuSpecService goodsSpuSpecService;
@ -319,22 +321,20 @@ public class GoodsSpuController {
if(budgetConditionService.count(lqw1)>0){ if(budgetConditionService.count(lqw1)>0){
return R.error("预算含有当前商品,删除失败"); return R.error("预算含有当前商品,删除失败");
} }
boolean result = goodsSpuService.removeById(id); goodsSpuMapper.updateSpuCodeAndDelFlag(id,IdUtil.timeStampId());
if(result){ //删除商品规格
//删除商品规格 LambdaQueryWrapper<GoodsSpuSpec> lqw = new LambdaQueryWrapper<>();
LambdaQueryWrapper<GoodsSpuSpec> lqw = new LambdaQueryWrapper<>(); lqw.eq(GoodsSpuSpec::getSpuId,id);
lqw.eq(GoodsSpuSpec::getSpuId,id); goodsSpuSpecService.remove(lqw);
goodsSpuSpecService.remove(lqw); //删除商品规格值
//删除商品规格值 LambdaQueryWrapper<GoodsSkuSpecValue> lqw2 = new LambdaQueryWrapper<>();
LambdaQueryWrapper<GoodsSkuSpecValue> lqw2 = new LambdaQueryWrapper<>(); lqw2.eq(GoodsSkuSpecValue::getSpuId,id);
lqw2.eq(GoodsSkuSpecValue::getSpuId,id); goodsSkuSpecValueService.remove(lqw2);
goodsSkuSpecValueService.remove(lqw2); //删除商品sku
//删除商品sku LambdaQueryWrapper<GoodsSku> lqw3 = new LambdaQueryWrapper<>();
LambdaQueryWrapper<GoodsSku> lqw3 = new LambdaQueryWrapper<>(); lqw3.eq(GoodsSku::getSpuId,id);
lqw3.eq(GoodsSku::getSpuId,id); goodsSkuService.remove(lqw3);
goodsSkuService.remove(lqw3); return R.ok();
}
return R.isTrue(result);
} }
/** /**

4
src/main/java/com/qs/serve/modules/goods/mapper/GoodsSkuMapper.java

@ -6,6 +6,7 @@ import com.qs.serve.modules.goods.entity.GoodsSku;
import com.qs.serve.modules.goods.entity.vo.GoodSkuVo; import com.qs.serve.modules.goods.entity.vo.GoodSkuVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.List; import java.util.List;
@ -17,6 +18,9 @@ import java.util.List;
public interface GoodsSkuMapper extends BaseMapper<GoodsSku> { public interface GoodsSkuMapper extends BaseMapper<GoodsSku> {
@Update("update goods_sku set del_flag = 1 , sku_code = concat(sku_code,'_del',#{str}) where id = #{skuId}")
void updateSkuCodeAndDelFlag(@Param("skuId") Long id,@Param("str") String str);
List<String> getBelongStringList(); List<String> getBelongStringList();
/** /**

5
src/main/java/com/qs/serve/modules/goods/mapper/GoodsSpuMapper.java

@ -6,6 +6,7 @@ import com.qs.serve.common.model.dto.RowParam;
import com.qs.serve.modules.goods.entity.GoodsSpu; import com.qs.serve.modules.goods.entity.GoodsSpu;
import com.qs.serve.modules.goods.entity.dto.GoodSpuSkuNum; import com.qs.serve.modules.goods.entity.dto.GoodSpuSkuNum;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
import java.util.List; import java.util.List;
@ -16,6 +17,10 @@ import java.util.List;
*/ */
public interface GoodsSpuMapper extends BaseMapper<GoodsSpu> { public interface GoodsSpuMapper extends BaseMapper<GoodsSpu> {
@Update("update goods_spu set del_flag = 1 , spu_code = concat(spu_code,'_del',#{str}) where id = #{spuId}")
void updateSpuCodeAndDelFlag(@Param("spuId") Long id,@Param("str") String str);
List<GoodsSpu> selectSpuList(@Param("query") GoodsSpu goodsSpu); List<GoodsSpu> selectSpuList(@Param("query") GoodsSpu goodsSpu);
@InterceptorIgnore(tenantLine = "1") @InterceptorIgnore(tenantLine = "1")

2
src/main/java/com/qs/serve/modules/tbs/entity/TbsCostApply.java

@ -181,6 +181,8 @@ public class TbsCostApply implements Serializable {
/** 政策项ID */ /** 政策项ID */
private Long policyItemId; private Long policyItemId;
private String policyItemCode;
/** 模板id */ /** 模板id */
private Long templateId; private Long templateId;

63
src/main/java/com/qs/serve/modules/third/service/PortalOfCostApplication.java

@ -55,6 +55,7 @@ import com.qs.serve.modules.vtb.service.VtbVerificationService;
import com.qs.serve.modules.vtb.service.VtbVerificationSubjectService; import com.qs.serve.modules.vtb.service.VtbVerificationSubjectService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -248,7 +249,7 @@ public class PortalOfCostApplication {
//发票号 //发票号
String billNumber = createBo.getBillNumber(); String billNumber = createBo.getBillNumber();
//校验商品信息 //校验商品信息
List<String> skuCodes = createBo.getGoodsList().stream().map(ProcessGoodsItem::getInventoryCode).collect(Collectors.toList()); //List<String> skuCodes = createBo.getGoodsList().stream().map(ProcessGoodsItem::getInventoryCode).collect(Collectors.toList());
//初始化sku列表 //初始化sku列表
List<ProcessGoodsItem> processGoodsItems = createBo.getGoodsList(); List<ProcessGoodsItem> processGoodsItems = createBo.getGoodsList();
List<String> invCodes = new ArrayList<>(); List<String> invCodes = new ArrayList<>();
@ -257,6 +258,7 @@ public class PortalOfCostApplication {
.map(ProcessGoodsItem::getInventoryCode).distinct().collect(Collectors.toList()); .map(ProcessGoodsItem::getInventoryCode).distinct().collect(Collectors.toList());
} }
List<GoodsSku> skuList = this.initSkuListOfProcess(invCodes); List<GoodsSku> skuList = this.initSkuListOfProcess(invCodes);
skuList = this.filterRepSku(invCodes, skuList);
//常用参数 //常用参数
final String GOODS_TYPE = "sku"; final String GOODS_TYPE = "sku";
final BigDecimal OneHundred = new BigDecimal("100"); final BigDecimal OneHundred = new BigDecimal("100");
@ -268,8 +270,17 @@ public class PortalOfCostApplication {
String costApplyCode = "CA"+CodeGenUtil.generate(CodeGenUtil.SourceKey.CostApply); String costApplyCode = "CA"+CodeGenUtil.generate(CodeGenUtil.SourceKey.CostApply);
String activityCode = costApplyCode + "_1"; String activityCode = costApplyCode + "_1";
String activityTitle = "由政策"+policyItem.getPolicyItemCode()+"核销一站式API生成的活动"; String activityTitle = "由政策"+policyItem.getPolicyItemCode()+"核销一站式API生成的活动";
LambdaQueryWrapper<TbsCostApply> checkLqw = new LambdaQueryWrapper<>();
checkLqw.eq(TbsCostApply::getBillNumber,billNumber);
checkLqw.eq(TbsCostApply::getPolicyItemId,policyItem.getId());
if(costApplyService.count(checkLqw)>0L){
Assert.throwEx("记录已存在");
}
//构建费用申请 //构建费用申请
TbsCostApply costApply = new TbsCostApply(); TbsCostApply costApply = new TbsCostApply();
//2024年1月23日,添加
costApply.setBillNumber(billNumber);
costApply.setCode(costApplyCode); costApply.setCode(costApplyCode);
costApply.setChargeTheme(costTheme); costApply.setChargeTheme(costTheme);
costApply.setChargeState(TbsCostApplyState.State_3_finished.getCode()); costApply.setChargeState(TbsCostApplyState.State_3_finished.getCode());
@ -283,6 +294,7 @@ public class PortalOfCostApplication {
costApply.setTotalActivityAmount(totalAmount); costApply.setTotalActivityAmount(totalAmount);
costApply.setTotalActivityUsedAmount(totalAmount); costApply.setTotalActivityUsedAmount(totalAmount);
costApply.setPolicyItemId(policyItem.getId()); costApply.setPolicyItemId(policyItem.getId());
costApply.setPolicyItemCode(policyItem.getPolicyItemCode());
costApply.setSubmitTime(LocalDateTime.now()); costApply.setSubmitTime(LocalDateTime.now());
//2024年1月17日,添加 //2024年1月17日,添加
costApply.setRemark(createBo.getErpCode()); costApply.setRemark(createBo.getErpCode());
@ -620,19 +632,8 @@ public class PortalOfCostApplication {
Assert.throwEx("请选择存货提交"); Assert.throwEx("请选择存货提交");
} }
List<GoodsSku> skuList = this.initSkuListOfProcess(invCodeList); List<GoodsSku> skuList = this.initSkuListOfProcess(invCodeList);
if(skuList.size()!=invCodeList.size()){ //排除重复的sku
Set<String> missCodes = new HashSet<>(); skuList = this.filterRepSku(invCodeList, skuList);
for (String code : invCodeList) {
boolean anyMatch = skuList.stream().anyMatch(a->a.getSkuCode().equals(code));
if(!anyMatch){
missCodes.add(code);
}
}
Assert.throwEx("品类缺失("+skuList.size()+"-"+invCodeList.size()+"-"+missCodes.size()+"):"+missCodes.stream().collect(Collectors.joining(",")));
}
if(skuList.size()<1){
Assert.throwEx("请选择品类再提交");
}
//常用参数 //常用参数
final String GOODS_TYPE = "sku"; final String GOODS_TYPE = "sku";
final BigDecimal OneHundred = new BigDecimal("100"); final BigDecimal OneHundred = new BigDecimal("100");
@ -974,6 +975,40 @@ public class PortalOfCostApplication {
} }
@NotNull
private List<GoodsSku> filterRepSku(List<String> invCodeList, List<GoodsSku> skuList) {
if (skuList.size() > invCodeList.size()){
List<GoodsSku> skuList1 = new ArrayList<>();
Set<String> codes = new HashSet<>();
for (String invCode : invCodeList) {
for (GoodsSku goodsSku : skuList) {
if(goodsSku.getSkuCode().equals(invCode)){
if(codes.contains(invCode)){
continue;
}
codes.add(invCode);
skuList1.add(goodsSku);
}
}
}
skuList = skuList1;
}
if(skuList.size() < invCodeList.size()){
Set<String> missCodes = new HashSet<>();
for (String code : invCodeList) {
boolean anyMatch = skuList.stream().anyMatch(a->a.getSkuCode().equals(code));
if(!anyMatch){
missCodes.add(code);
}
}
Assert.throwEx("品类缺失("+ skuList.size()+"-"+ invCodeList.size()+"-"+missCodes.size()+"):"+missCodes.stream().collect(Collectors.joining(",")));
}
if(skuList.size()<1){
Assert.throwEx("请选择品类再提交");
}
return skuList;
}
/** /**
* 协议类费用 核销支付记录 * 协议类费用 核销支付记录
* @param createBo * @param createBo

2
src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyTestController.java

@ -80,7 +80,7 @@ public class TzcPolicyTestController {
@GetMapping("/testSyncPolicy") @GetMapping("/testSyncPolicy")
public R<?> syncPolicy(Long policyId){ public R<?> syncPolicy(Long policyId){
//tzcPolicyApplicationService.syncPolicy(policyId); tzcPolicyApplicationService.syncPolicyItem(policyId);
return R.ok(); return R.ok();
} }

13
src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyApplicationServiceImpl.java

@ -22,6 +22,7 @@ import com.qs.serve.modules.seeyon.entity.BaseCreateCallbackBo;
import com.qs.serve.modules.seeyon.entity.BaseCreateProcessBo; import com.qs.serve.modules.seeyon.entity.BaseCreateProcessBo;
import com.qs.serve.modules.seeyon.service.SeeYonRequestService; import com.qs.serve.modules.seeyon.service.SeeYonRequestService;
import com.qs.serve.modules.seeyon.service.XiaoLuTonService; import com.qs.serve.modules.seeyon.service.XiaoLuTonService;
import com.qs.serve.modules.sys.entity.SysSyncLog;
import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.service.SysConfigService; import com.qs.serve.modules.sys.service.SysConfigService;
import com.qs.serve.modules.sys.service.SysUserService; import com.qs.serve.modules.sys.service.SysUserService;
@ -182,10 +183,14 @@ public class TzcPolicyApplicationServiceImpl implements TzcPolicyApplicationServ
policyItemDto.setInvCodeList(invCodes); policyItemDto.setInvCodeList(invCodes);
policyItemDto.setPolicyGoodsItemList(goodsItems); policyItemDto.setPolicyGoodsItemList(goodsItems);
String policySyncUrl = projectApisProperties.getPolicySync(); // String policySyncInvUrl = projectApisProperties.getPolicySyncInv();
// String policySyncCateUrl = projectApisProperties.getPolicySyncCate();
// String rs = HttpUtil.doPost(policySyncUrl, JsonUtil.objectToJson(policyItemDto), null); // String dataJson = JsonUtil.objectToJson(policyItemDto);
// log.debug("PolicySync() ==>{} \n{}",JsonUtil.objectToJson(policyItemDto),rs); //
// String rs = HttpUtil.doPost(policySyncInvUrl, dataJson, null);
// log.debug("policySyncInvUrl:{}\n result:{}",policySyncInvUrl,rs);
// String rs2 = HttpUtil.doPost(policySyncCateUrl, dataJson, null);
// log.debug("policySyncCateUrl:{}\n result:{}",policySyncCateUrl,rs2);
//TODO 测试临时注释 //TODO 测试临时注释
//保存异步处理的 //保存异步处理的

Loading…
Cancel
Save