From 5d8280bcead2a9e10e5a90e5cf8dbbba3ec986d7 Mon Sep 17 00:00:00 2001 From: Yen Date: Thu, 30 Nov 2023 10:42:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=90=E6=9C=AC=E4=B8=AD=E5=BF=83=E7=BB=B4?= =?UTF-8?q?=E5=BA=A6=E6=A0=B8=E9=94=80,=E8=AE=A2=E5=8D=95=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E5=BE=AE=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../goods/controller/GoodsSkuController.java | 21 ++++++ .../goods/entity/bo/GoodsSkuImportBo.java | 69 +++++++++++++++++++ .../oms/service/impl/OmsOrderServiceImpl.java | 2 +- .../tbs/controller/TbsActivityController.java | 14 ++++ .../tbs/entity/bo/TbsAffairCommitBo.java | 2 +- .../entity/VtbVerificationYardCenterItem.java | 2 +- .../service/VtbVerificationApplication.java | 41 ++++++++--- .../impl/VtbVerificationServiceImpl.java | 1 + .../resources/mapper/goods/GoodsSpuMapper.xml | 2 +- 9 files changed, 139 insertions(+), 15 deletions(-) create mode 100644 src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsSkuImportBo.java diff --git a/src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java index 3cc43971..68b489e4 100644 --- a/src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java +++ b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java @@ -10,6 +10,7 @@ import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.util.PageUtil; import com.qs.serve.modules.goods.entity.GoodsSkuSpecValue; import com.qs.serve.modules.goods.entity.bo.GoodsSkuBo; +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.GoodsSkuSpecValueVo; import com.qs.serve.modules.goods.service.GoodsSkuSpecValueService; @@ -28,6 +29,7 @@ import com.qs.serve.modules.goods.service.GoodsSkuService; import javax.validation.Valid; import java.util.List; import java.util.Random; +import java.util.stream.Collectors; /** * 商品 sku @@ -178,5 +180,24 @@ public class GoodsSkuController { return R.isTrue(result); } + /** + * 导入 + * @param param + * @return + */ + @PostMapping("/importSku") + @SysLog(module = SystemModule.GOODS, title = "import", biz = BizType.INSERT) + public R importSpu(@RequestBody @Valid GoodsSpuImportBo param){ + final String UPDATE = "update"; + final String DELETE = "delete"; + final String SAVE = "save"; + + for (GoodsSpuImportBo.SpuItem spuItem : param.getSpuList()) { + + } + + return R.ok(param); + } + } diff --git a/src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsSkuImportBo.java b/src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsSkuImportBo.java new file mode 100644 index 00000000..afec6b07 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsSkuImportBo.java @@ -0,0 +1,69 @@ +package com.qs.serve.modules.goods.entity.bo; + +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.util.List; + +/** + * 口味品类 + * @author YenHex + * @since 2022/10/10 + */ +@Data +public class GoodsSkuImportBo { + + private List spuList; + + @Data + public static class SkuItem{ + + /** + * 操作方式:save,update,delete + */ + private String opt; + + /** 商品编码(嘉士利SkuCode) */ + private String spuCode; + + /** 商品编码(嘉士利InvCode) */ + private String skuCode; + + /** 商品名字 */ + private String skuName; + + /** 库存 */ + private Integer stock; + + /** 重量(kg) */ + private BigDecimal weight; + + /** 体积(m³) */ + private BigDecimal volume; + + /** 最低起批数(0->不限制) */ + private Integer minPurchase; + + /** 可否下单 1、是;0否 */ + private Integer orderFlag; + + /** 是否特殊品 1、是;0否 */ + private Integer specialFlag; + + /** 产地 */ + private String belong; + + /** 包装 */ + private String wrapVal; + + /** 口味 */ + private String tasteVal; + + /** 销售价格 */ + private BigDecimal salesPrice; + + private String errMsg; + } + +} diff --git a/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java b/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java index 15d115d9..50d04a96 100644 --- a/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java @@ -408,7 +408,7 @@ public class OmsOrderServiceImpl extends ServiceImpl im GoodsSku goodsSku = goodsSkuService.getById(shoppingCart.getSkuId()); orderItem.setSpuId(shoppingCart.getSpuId()); orderItem.setSpuTitle(shoppingCart.getSpecInfo()); - orderItem.setSkuId(shoppingCart.getId()); + orderItem.setSkuId(shoppingCart.getSkuId()); orderItem.setSkuCode(shoppingCart.getSkuCode()); orderItem.setSkuUnit(null); orderItem.setSkuImg(shoppingCart.getPicUrl()); diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java index a8ef08b2..df42694a 100644 --- a/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java @@ -36,6 +36,7 @@ import com.qs.serve.modules.tbs.entity.vo.TbsActivityCenterGoodsVo; import com.qs.serve.modules.tbs.entity.vo.TbsActivityDefaultCenterVo; import com.qs.serve.modules.tbs.service.*; import com.qs.serve.modules.vtb.entity.VtbVerification; +import com.qs.serve.modules.vtb.service.VtbFundFlowService; import com.qs.serve.modules.vtb.service.VtbVerificationService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -87,6 +88,7 @@ public class TbsActivityController { private final BmsSubjectFormService bmsSubjectFormService; private final VtbVerificationService verificationService; + private final VtbFundFlowService vtbFundFlowService; private final TbsActivityApplicationService tbsActivityApplicationService; private final TbsBudgetService tbsBudgetService; @@ -406,6 +408,18 @@ public class TbsActivityController { return R.ok(); } + /** + * 刷新活动相关金额 + * @param id + * @return + */ + @GetMapping("/flushAmount/{id}") + @SysLog(module = SystemModule.Budget, title = "费用活动", biz = BizType.DELETE) + public R flushActivityAmount(@PathVariable("id") Long id){ + vtbFundFlowService.flushActivityAmount(id); + return R.ok(); + } + /** * 获取默认的成本中心 * @param defaultCenterBo diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsAffairCommitBo.java b/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsAffairCommitBo.java index a85c9a25..00ca9a79 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsAffairCommitBo.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsAffairCommitBo.java @@ -114,7 +114,7 @@ public class TbsAffairCommitBo { /** * 调整金额 */ - private BigDecimal centerAmount; + private BigDecimal amount; } diff --git a/src/main/java/com/qs/serve/modules/vtb/entity/VtbVerificationYardCenterItem.java b/src/main/java/com/qs/serve/modules/vtb/entity/VtbVerificationYardCenterItem.java index 42667fb9..2fba2955 100644 --- a/src/main/java/com/qs/serve/modules/vtb/entity/VtbVerificationYardCenterItem.java +++ b/src/main/java/com/qs/serve/modules/vtb/entity/VtbVerificationYardCenterItem.java @@ -166,7 +166,7 @@ public class VtbVerificationYardCenterItem implements Serializable { verificationYardCenterItem.setSupplierName(source.getSupplierName()); // verificationYardCenterItem.setLastAmount(source.getLastAmount()); // verificationYardCenterItem.setCurrAmount(source.getCurrAmount()); - verificationYardCenterItem.setRemark(source.getRemark()); +// verificationYardCenterItem.setRemark(source.getRemark()); verificationYardCenterItem.setCreateTime(source.getCreateTime()); verificationYardCenterItem.setUpdateTime(source.getUpdateTime()); verificationYardCenterItem.setTenantId(source.getTenantId()); diff --git a/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java b/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java index 6b1fe3ae..d9ed6ee6 100644 --- a/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java +++ b/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java @@ -70,6 +70,8 @@ public class VtbVerificationApplication { private SeeYonRequestService seeYonService; public R commitAffair(@RequestBody @Valid TbsAffairCommitBo affairCommit){ + //临时测试 + boolean devFlag = false; VtbVerification verification = vtbVerificationService.getById(affairCommit.getCostApplyId()); if(!verification.getVerificationState().equals(VtbVerificationState.Commiting.getCode())){ Assert.throwEx("费用申请处于未非审批状态!"); @@ -79,7 +81,12 @@ public class VtbVerificationApplication { //检测参数的金额 this.checkParamAmount(affairCommit, verificationSubjectCenterList, verificationSubjects); boolean isBackCommit = affairCommit.getState()==2; - R result = seeYonService.commonCommit(affairCommit, TbsSeeYonConst.CostCheckConf.Code(),verification.getSyFormId()); + R result; + if(!devFlag){ + result = seeYonService.commonCommit(affairCommit, TbsSeeYonConst.CostCheckConf.Code(),verification.getSyFormId()); + }else { + result = R.ok(); + } if(result.getStatus()==200){ // 判断是否含有下个节点 //String flag = result.getData(); @@ -90,7 +97,9 @@ public class VtbVerificationApplication { } VtbVerificationOperationServiceImpl verificationOperationService = SpringUtils.getBean(VtbVerificationOperationServiceImpl.class); String summeryResult = verificationOperationService.checkAffairSummery(verification.getId().toString()); - + if(devFlag){ + summeryResult = "finished"; + } R r = commitAffairSuccess(affairCommit, verification, isBackCommit, summeryResult); try { //解决同步冻结时有过期的活动 @@ -116,7 +125,6 @@ public class VtbVerificationApplication { */ private void checkParamAmount(TbsAffairCommitBo affairCommit, List verificationSubjectCenterList, List verificationSubjects) { boolean isChangeCommit = verificationSubjectCenterList.size()>0; - boolean isAutoCommit = verificationSubjects.size()>0; if(CollectionUtil.isNotEmpty(affairCommit.getAffairSubjectLines())){ if(isChangeCommit){ Assert.throwEx("当前核销不支持科目维度修改金额"); @@ -135,9 +143,6 @@ public class VtbVerificationApplication { } } if(CollectionUtil.isNotEmpty(affairCommit.getAffairSubjectCenterLines())){ - if(isAutoCommit){ - Assert.throwEx("当前核销不支持成本中心维度修改金额"); - } for (TbsAffairCommitBo.AffairSubjectCenterLine subjectCenterLine : affairCommit.getAffairSubjectCenterLines()) { VtbVerificationSubjectCenter currSubjectCenter = null; BigDecimal changeAmt = null; @@ -146,7 +151,7 @@ public class VtbVerificationApplication { currSubjectCenter = subjectCenter; for (TbsAffairCommitBo.AffairSubjectCenterItemLine itemLine : subjectCenterLine.getCenterItemLines()) { if(subjectCenter.getActivityCenterId().equals(itemLine.getActivityCenterId())){ - changeAmt = itemLine.getCenterAmount(); + changeAmt = itemLine.getAmount(); break; } } @@ -228,6 +233,8 @@ public class VtbVerificationApplication { List yardItemList = new ArrayList<>(); List verSubject4Update = new ArrayList<>(); List yarnCenterList = new ArrayList<>(); + //拓展成本中心维度调整记录 + List subjectCenterUpdateList = new ArrayList<>(); for (VtbVerificationSubject currVs : verificationSubjects) { BigDecimal changeAmount = null; Integer countSession = null; @@ -240,7 +247,7 @@ public class VtbVerificationApplication { changeAmount = BigDecimal.ZERO; if(centerLine.getCenterItemLines()!=null){ for (TbsAffairCommitBo.AffairSubjectCenterItemLine itemLine : centerLine.getCenterItemLines()) { - changeAmount = changeAmount.add(itemLine.getCenterAmount()); + changeAmount = changeAmount.add(itemLine.getAmount()); } } centerItemLineList = centerLine.getCenterItemLines(); @@ -325,7 +332,6 @@ public class VtbVerificationApplication { yardItem.setCurrAmount(lastAmount); } totalAmount = totalAmount.add(yardItem.getCurrAmount()); - //拓展成本中心维度调整记录 if(centerItemLineList!=null){ for (TbsAffairCommitBo.AffairSubjectCenterItemLine centerItemLine : centerItemLineList) { VtbVerificationYardCenterItem centerItem = VtbVerificationYardCenterItem.toNewObject(yardItem); @@ -337,8 +343,18 @@ public class VtbVerificationApplication { centerItem.setCenterType(subjectCenter.getCenterType()); centerItem.setActivityCenterId(subjectCenter.getActivityCenterId()); centerItem.setLastAmount(subjectCenter.getUsedAmount()); - centerItem.setCurrAmount(centerItemLine.getCenterAmount()); - + centerItem.setCurrAmount(centerItemLine.getAmount()); + BigDecimal diff = centerItem.getCurrAmount().subtract(centerItem.getLastAmount()); + //修改center的记录金额 + VtbVerificationSubjectCenter scParam = new VtbVerificationSubjectCenter(); + scParam.setId(subjectCenter.getId()); + scParam.setUsedAmount(centerItemLine.getAmount()); + subjectCenterUpdateList.add(scParam); + if(diff.compareTo(BigDecimal.ZERO)>0){ + centerItem.setRemark("增加费用:"+diff); + }else { + centerItem.setRemark("减少费用:"+diff.negate()); + } } } yarnCenterList.add(centerItem); @@ -350,6 +366,9 @@ public class VtbVerificationApplication { yardItemService.saveBatch(yardItemList); yardCenterItemService.saveBatch(yarnCenterList); vtbVerificationSubjectService.updateBatchById(verSubject4Update); + if(subjectCenterUpdateList.size()>0){ + vtbVerificationSubjectCenterService.updateBatchById(subjectCenterUpdateList); + } //重新计算合计 if(isFinish){ finishCallBack(verification, totalAmount); diff --git a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java index 084d2b78..36352268 100644 --- a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java @@ -576,6 +576,7 @@ public class VtbVerificationServiceImpl extends ServiceImpl