From d9c38d6f0d11f87b3b4489361469938b950fac03 Mon Sep 17 00:00:00 2001 From: Yen Date: Thu, 22 Feb 2024 15:50:54 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=A2=E6=88=B7=E5=92=8C=E5=95=86?= =?UTF-8?q?=E5=93=81=E6=B7=BB=E5=8A=A0=E7=BA=BF=E4=B8=8A=E7=BA=BF=E4=B8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/BirRoiRateServiceImpl.java | 5 ++++ .../serve/modules/bms/entity/BmsSupplier.java | 8 ++++++ .../goods/controller/GoodsSkuController.java | 7 +++++ .../serve/modules/goods/entity/GoodsSku.java | 8 ++++++ .../serve/modules/goods/entity/GoodsSpu.java | 6 ++++ .../modules/goods/entity/bo/GoodsSkuBo.java | 5 ++++ .../goods/entity/dto/StandInventory.java | 1 + .../modules/goods/mapper/GoodsSkuMapper.java | 5 ++++ .../service/GoodsApplicationService.java | 1 + .../goods/service/GoodsSpuService.java | 3 ++ .../service/impl/GoodsSkuServiceImpl.java | 2 ++ .../service/impl/GoodsSpuServiceImpl.java | 14 ++++++++++ .../his/entity/HisUserSupplierTemp.java | 28 ++++--------------- .../modules/sys/entity/dto/CostDeletion.java | 2 ++ .../service/impl/SysDeleteLogServiceImpl.java | 19 ++++++++----- .../service/impl/TbsCostApplyServiceImpl.java | 6 ++++ .../third/entity/ThirtyVerification.java | 26 +++++++++++++++++ .../resources/mapper/goods/GoodsSkuMapper.xml | 10 +++++++ .../resources/mapper/goods/GoodsSpuMapper.xml | 2 ++ 19 files changed, 128 insertions(+), 30 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/bir/service/impl/BirRoiRateServiceImpl.java b/src/main/java/com/qs/serve/modules/bir/service/impl/BirRoiRateServiceImpl.java index b337d7bf..1385d047 100644 --- a/src/main/java/com/qs/serve/modules/bir/service/impl/BirRoiRateServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bir/service/impl/BirRoiRateServiceImpl.java @@ -578,6 +578,11 @@ public class BirRoiRateServiceImpl extends ServiceImpl getBiRoiCostDTOAndFindSupplierCodes(BirRoiCostDTO costDTO, String supplierId, Integer loadType, String userId){ BmsSupplier bmsSupplier = bmsSupplierMapper.selectById(supplierId); List supplierCodeList = new ArrayList<>(); + //有空指针 +// if(bmsSupplier==null){ +// supplierCodeList.add("-999"); +// return supplierCodeList; +// } LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.select(BmsSupplier::getId,BmsSupplier::getCode); diff --git a/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java b/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java index 0ebe9a46..6990b14f 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java @@ -196,6 +196,12 @@ public class BmsSupplier implements Serializable { /** 可投放费用标识 */ private Integer costFlag; + /** 在线下单 */ + private Integer orderOnlineFlag; + + /** 线下下单 */ + private Integer orderOfflineFlag; + /** 当前用户ID */ @TableField(exist = false) private String currUserId; @@ -430,6 +436,8 @@ public class BmsSupplier implements Serializable { userSupplier.setStopFlagDate(this.stopFlagDate); userSupplier.setCooperatePauseFlag(this.cooperatePauseFlag); userSupplier.setCooperatePauseFlagDate(this.getCooperatePauseFlagDate()); + userSupplier.setOrderOfflineFlag(this.orderOfflineFlag); + userSupplier.setOrderOnlineFlag(this.orderOnlineFlag); return userSupplier; } 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 0c0910e5..d59ef15c 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 @@ -136,6 +136,7 @@ public class GoodsSkuController { return R.error(); } goodsSkuService.editSku2(param); + goodsSpuService.updateOnlineOfflineFlat(param.getSpuId()); return R.ok(); } @@ -166,6 +167,7 @@ public class GoodsSkuController { @PreAuthorize("hasRole('goods:sku:update')") public R save(@RequestBody @Valid GoodsSkuBo param){ goodsSkuService.editSku2(param); + goodsSpuService.updateOnlineOfflineFlat(param.getSpuId()); return R.ok(); } @@ -178,6 +180,7 @@ public class GoodsSkuController { @SysLog(module = SystemModule.GOODS, title = "sku", biz = BizType.DELETE) @PreAuthorize("hasRole('goods:sku:delete')") public R deleteById(@PathVariable("id") Long id){ + GoodsSku sku = goodsSkuService.getById(id); QueryWrapper lqw1 = new QueryWrapper<>(); lqw1.eq("target_type", TbsGoodsType.sku.name()); lqw1.eq("target_id",id); @@ -198,6 +201,7 @@ public class GoodsSkuController { LambdaQueryWrapper lqw2 = new LambdaQueryWrapper<>(); lqw2.eq(GoodsSkuSpecValue::getSkuId,id); goodsSkuSpecValueService.remove(lqw2); + goodsSpuService.updateOnlineOfflineFlat(sku.getSpuId()); return R.ok(); } @@ -314,6 +318,9 @@ public class GoodsSkuController { goodsSkuService.save(addSku); } } + for (GoodsSpu spu : spuList) { + goodsSpuService.updateOnlineOfflineFlat(spu.getId()); + } return R.ok(param.getSkuList()); } diff --git a/src/main/java/com/qs/serve/modules/goods/entity/GoodsSku.java b/src/main/java/com/qs/serve/modules/goods/entity/GoodsSku.java index 2c5ad14d..6397fbfd 100644 --- a/src/main/java/com/qs/serve/modules/goods/entity/GoodsSku.java +++ b/src/main/java/com/qs/serve/modules/goods/entity/GoodsSku.java @@ -39,6 +39,8 @@ public class GoodsSku implements Serializable { private String skuName; + private String skuAddCode; + /** 商品Id */ @NotNull(message = "商品Id不能为空") private Long spuId; @@ -82,6 +84,12 @@ public class GoodsSku implements Serializable { private Integer specialFlag; + /** 在线下单 */ + private Integer orderOnlineFlag; + + /** 线下下单 */ + private Integer orderOfflineFlag; + /** 单位id */ private Long unitId; diff --git a/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java b/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java index 5642e4e8..80951b9c 100644 --- a/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java +++ b/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java @@ -111,6 +111,12 @@ public class GoodsSpu implements Serializable { private String belong; + /** 在线下单 */ + private Integer orderOnlineFlag; + + /** 线下下单 */ + private Integer orderOfflineFlag; + /** 特殊SKUID */ private Long specialSkuId; diff --git a/src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsSkuBo.java b/src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsSkuBo.java index 389a741f..0be44e2a 100644 --- a/src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsSkuBo.java +++ b/src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsSkuBo.java @@ -91,6 +91,11 @@ public class GoodsSkuBo implements Serializable { private Integer specialFlag; + /** 在线下单 */ + private Integer orderOnlineFlag; + + /** 线下下单 */ + private Integer orderOfflineFlag; } diff --git a/src/main/java/com/qs/serve/modules/goods/entity/dto/StandInventory.java b/src/main/java/com/qs/serve/modules/goods/entity/dto/StandInventory.java index 7e99f717..bb286bfc 100644 --- a/src/main/java/com/qs/serve/modules/goods/entity/dto/StandInventory.java +++ b/src/main/java/com/qs/serve/modules/goods/entity/dto/StandInventory.java @@ -14,6 +14,7 @@ public class StandInventory { private String invName; private String invSku; private String invSkuCode; + private String invAddCode; private String invSeries; private String invCategory; private String invBrand; diff --git a/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSkuMapper.java b/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSkuMapper.java index cdaff4ad..c70a6490 100644 --- a/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSkuMapper.java +++ b/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSkuMapper.java @@ -17,6 +17,11 @@ import java.util.List; */ public interface GoodsSkuMapper extends BaseMapper { + @Select("select count(1) from goods_sku where del_flag = 0 and order_online_flag = 1 and spu_id = #{spuId} ") + long countSkuByOrderOnlineFla(@Param("spuId") Long spuId); + + @Select("select count(1) from goods_sku where del_flag = 0 and order_offline_flag = 1 and spu_id = #{spuId} ") + long countSkuByOrderOfflineFla(@Param("spuId") Long spuId); @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); diff --git a/src/main/java/com/qs/serve/modules/goods/service/GoodsApplicationService.java b/src/main/java/com/qs/serve/modules/goods/service/GoodsApplicationService.java index 814a029c..c0b234e9 100644 --- a/src/main/java/com/qs/serve/modules/goods/service/GoodsApplicationService.java +++ b/src/main/java/com/qs/serve/modules/goods/service/GoodsApplicationService.java @@ -148,6 +148,7 @@ public class GoodsApplicationService { GoodsSku sku = new GoodsSku(); sku.setId(skuId); sku.setSkuCode(inventory.getInvCode()); + sku.setSkuAddCode(inventory.getInvAddCode()); sku.setSkuName(inventory.getInvName()); sku.setSpuId(spuId); sku.setSpecInfos(inventory.getInvPlace()+";"+inventory.getInvTaste()+";"+inventory.getChestCasing()); diff --git a/src/main/java/com/qs/serve/modules/goods/service/GoodsSpuService.java b/src/main/java/com/qs/serve/modules/goods/service/GoodsSpuService.java index d1e138b5..0fb7d538 100644 --- a/src/main/java/com/qs/serve/modules/goods/service/GoodsSpuService.java +++ b/src/main/java/com/qs/serve/modules/goods/service/GoodsSpuService.java @@ -57,6 +57,9 @@ public interface GoodsSpuService extends IService { */ void updateSkuNumByLastChange(); + /** 根据sku的状态更新spu状态 */ + void updateOnlineOfflineFlat(Long spuId); + void initSkuNum(); boolean updateSkuNumString(List spuIds); diff --git a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuServiceImpl.java b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuServiceImpl.java index e3dac528..ef5a2c42 100644 --- a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuServiceImpl.java @@ -273,6 +273,8 @@ public class GoodsSkuServiceImpl extends ServiceImpl im Assert.throwEx("相同规格已存在"); } goodsSku.setSpecInfos(specInfos); + goodsSku.setOrderOfflineFlag(goodSkuVo.getOrderOfflineFlag()); + goodsSku.setOrderOnlineFlag(goodSkuVo.getOrderOnlineFlag()); this.saveOrUpdate(goodsSku); //更新特殊标识 diff --git a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuServiceImpl.java b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuServiceImpl.java index 9ea57e23..63986281 100644 --- a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuServiceImpl.java @@ -14,6 +14,7 @@ import com.qs.serve.modules.goods.entity.bo.GoodsSpuEditBo; import com.qs.serve.modules.goods.entity.bo.GoodsSpuTasteBo; import com.qs.serve.modules.goods.entity.dto.GoodSpuSkuNum; import com.qs.serve.modules.goods.entity.vo.*; +import com.qs.serve.modules.goods.mapper.GoodsSkuMapper; import com.qs.serve.modules.goods.service.*; import com.qs.serve.modules.oms.entity.dto.OmsSpuToSkuKey; import lombok.AllArgsConstructor; @@ -291,6 +292,19 @@ public class GoodsSpuServiceImpl extends ServiceImpl im this.updateSkuNumString(spuIds); } + @Override + public void updateOnlineOfflineFlat(Long spuId) { + if(spuId==null){ + return; + } + GoodsSkuMapper skuMapper = (GoodsSkuMapper) goodsSkuService.getBaseMapper(); + GoodsSpu spu = new GoodsSpu(); + spu.setId(spuId); + spu.setOrderOnlineFlag(skuMapper.countSkuByOrderOnlineFla(spuId)>0?1:0); + spu.setOrderOfflineFlag(skuMapper.countSkuByOrderOfflineFla(spuId)>0?1:0); + this.updateById(spu); + } + @Override public void initSkuNum() { AuthContextUtils.setTenant("001"); diff --git a/src/main/java/com/qs/serve/modules/his/entity/HisUserSupplierTemp.java b/src/main/java/com/qs/serve/modules/his/entity/HisUserSupplierTemp.java index c035fdcc..2d9db50b 100644 --- a/src/main/java/com/qs/serve/modules/his/entity/HisUserSupplierTemp.java +++ b/src/main/java/com/qs/serve/modules/his/entity/HisUserSupplierTemp.java @@ -124,29 +124,11 @@ public class HisUserSupplierTemp implements Serializable { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") private LocalDateTime cooperatePauseFlagDate; - public static HisUserSupplierTemp toNewObject(HisUserSupplierTemp source){ - HisUserSupplierTemp userSupplierTemp = new HisUserSupplierTemp(); - userSupplierTemp.setId(source.getId()); - userSupplierTemp.setUserId(source.getUserId()); - userSupplierTemp.setSupplierId(source.getSupplierId()); - userSupplierTemp.setSupplierName(source.getSupplierName()); - userSupplierTemp.setSupplierCode(source.getSupplierCode()); - userSupplierTemp.setType(source.getType()); - userSupplierTemp.setRegionId(source.getRegionId()); - userSupplierTemp.setSaleRegionFirst(source.getSaleRegionFirst()); - userSupplierTemp.setSaleRegionSecond(source.getSaleRegionSecond()); - userSupplierTemp.setSaleRegionThird(source.getSaleRegionThird()); - userSupplierTemp.setSaleRegionFourthly(source.getSaleRegionFourthly()); - userSupplierTemp.setMasterFlag(source.getMasterFlag()); - userSupplierTemp.setCreateTime(source.getCreateTime()); - userSupplierTemp.setBizRegionFirst(source.getBizRegionFirst()); - userSupplierTemp.setBizRegionSecond(source.getBizRegionSecond()); - userSupplierTemp.setBizRegionThird(source.getBizRegionThird()); - userSupplierTemp.setBizRegionFourthly(source.getBizRegionFourthly()); - userSupplierTemp.setTenantId(source.getTenantId()); - userSupplierTemp.setCostFlag(source.getCostFlag()); - return userSupplierTemp; - } + /** 在线下单 */ + private Integer orderOnlineFlag; + + /** 线下下单 */ + private Integer orderOfflineFlag; } diff --git a/src/main/java/com/qs/serve/modules/sys/entity/dto/CostDeletion.java b/src/main/java/com/qs/serve/modules/sys/entity/dto/CostDeletion.java index 88fee194..a2ff13ce 100644 --- a/src/main/java/com/qs/serve/modules/sys/entity/dto/CostDeletion.java +++ b/src/main/java/com/qs/serve/modules/sys/entity/dto/CostDeletion.java @@ -10,6 +10,8 @@ public class CostDeletion { */ private String empNo; + private String cacc; + /** * 操作时间 */ diff --git a/src/main/java/com/qs/serve/modules/sys/service/impl/SysDeleteLogServiceImpl.java b/src/main/java/com/qs/serve/modules/sys/service/impl/SysDeleteLogServiceImpl.java index 9680cf0d..77dbf6ad 100644 --- a/src/main/java/com/qs/serve/modules/sys/service/impl/SysDeleteLogServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/sys/service/impl/SysDeleteLogServiceImpl.java @@ -6,12 +6,15 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.qs.serve.common.util.HttpUtil; import com.qs.serve.common.util.IdUtil; import com.qs.serve.common.util.JsonUtil; +import com.qs.serve.modules.bms.entity.BmsSupplier; +import com.qs.serve.modules.bms.mapper.BmsSupplierMapper; import com.qs.serve.modules.sys.entity.dto.CostDeletion; import com.qs.serve.modules.tbs.entity.TbsCostApply; import com.qs.serve.modules.tbs.entity.TbsCostTodo; import com.qs.serve.modules.tbs.mapper.TbsCostApplyMapper; import com.qs.serve.modules.tbs.mapper.TbsCostApplyRemoveMapper; import com.qs.serve.modules.tbs.mapper.TbsCostTodoMapper; +import com.qs.serve.modules.third.entity.ThirtyVerification; import com.qs.serve.modules.vtb.entity.VtbVerification; import com.qs.serve.modules.vtb.mapper.VtbVerificationMapper; import com.qs.serve.modules.vtb.service.VtbVerificationService; @@ -39,11 +42,13 @@ public class SysDeleteLogServiceImpl extends ServiceImpl deleteLogList = new ArrayList<>(); if(costApply!=null){ @@ -116,13 +121,13 @@ public class SysDeleteLogServiceImpl extends ServiceImpl activityList = tbsActivityMapper.selectList(actLqw); BmsSupplier supplier = bmsSupplierService.getById(tbsCostApply.getSupplierId()); + if(supplier==null){ + supplier = bmsSupplierService.getByNameOrCode(tbsCostApply.getSupplierCode()); + } + if(supplier==null){ + return null; + } SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId()); List payConditions = null; if(tbsCostApply.getContractFlag()!=null&&tbsCostApply.getContractFlag().equals(1)){ diff --git a/src/main/java/com/qs/serve/modules/third/entity/ThirtyVerification.java b/src/main/java/com/qs/serve/modules/third/entity/ThirtyVerification.java index 6e86a17f..2f57b8c5 100644 --- a/src/main/java/com/qs/serve/modules/third/entity/ThirtyVerification.java +++ b/src/main/java/com/qs/serve/modules/third/entity/ThirtyVerification.java @@ -168,4 +168,30 @@ public class ThirtyVerification { } } + /** + * 接口的账套转换逻辑 + * @param bookCode + * @param cusCode + */ + public static String getInitBookCode(String bookCode,String cusCode){ + if(bookCode!=null){ + //SL也扔给锦泰 + if (bookCode.equals("020")){ + return "019"; + }else { + return bookCode; + } + }else { + if(cusCode.contains("JF")){ + return "006"; + }else if(cusCode.contains("KL")){ + return "002"; + }else if(cusCode.contains("SL")||cusCode.contains("JT")){ + return "019"; + }else { + return "001"; + } + } + } + } diff --git a/src/main/resources/mapper/goods/GoodsSkuMapper.xml b/src/main/resources/mapper/goods/GoodsSkuMapper.xml index a8a333e3..53e49299 100644 --- a/src/main/resources/mapper/goods/GoodsSkuMapper.xml +++ b/src/main/resources/mapper/goods/GoodsSkuMapper.xml @@ -24,6 +24,8 @@ + + @@ -37,6 +39,7 @@ goods_sku.`id`, goods_sku.`sku_code`, + goods_sku.`sku_add_code`, goods_sku.`sku_name`, goods_sku.`spu_id`, goods_sku.`pic_url`, @@ -49,6 +52,8 @@ goods_sku.`unit_name`, goods_sku.`weight`, goods_sku.`volume`, + `goods_sku`.`order_online_flag`, + `goods_sku`.`order_offline_flag`, goods_sku.`wrap_val`, goods_sku.`taste_val`, goods_sku.`min_purchase`, @@ -77,6 +82,8 @@ and `goods_sku`.`sales_price` = #{query.salesPrice} and `goods_sku`.`market_price` = #{query.marketPrice} and `goods_sku`.`cost_price` = #{query.costPrice} + and `goods_sku`.`order_online_flag` = #{query.orderOnlineFlag} + and `goods_sku`.`order_offline_flag` = #{query.orderOfflineFlag} and `goods_sku`.`belong` = #{query.belong} and `goods_sku`.`spec_infos` = #{query.specInfos} and `goods_sku`.`stock` = #{query.stock} @@ -121,11 +128,14 @@ and `goods_spu`.`del_flag` = 0 and `goods_sku`.`id` = #{query.id} and `goods_sku`.`sku_code` like concat('%',#{query.skuCode},'%') + and `goods_sku`.`sku_add_code` like concat('%',#{query.skuAddCode},'%') and `goods_spu`.`spu_code` like concat('%',#{query.spuCode},'%') and `goods_sku`.`sku_name` like concat('%',#{query.skuName},'%') and `goods_sku`.`spu_id` = #{query.spuId} and `goods_sku`.`sales_price` = #{query.salesPrice} and `goods_sku`.`market_price` = #{query.marketPrice} + and `goods_sku`.`order_online_flag` = #{query.orderOnlineFlag} + and `goods_sku`.`order_offline_flag` = #{query.orderOfflineFlag} and `goods_sku`.`cost_price` = #{query.costPrice} and `goods_sku`.`spec_infos` like concat('%',#{query.specInfos},'%') and `goods_sku`.`stock` = #{query.stock} diff --git a/src/main/resources/mapper/goods/GoodsSpuMapper.xml b/src/main/resources/mapper/goods/GoodsSpuMapper.xml index a8b7211b..768d4d3f 100644 --- a/src/main/resources/mapper/goods/GoodsSpuMapper.xml +++ b/src/main/resources/mapper/goods/GoodsSpuMapper.xml @@ -102,6 +102,8 @@ and `goods_spu`.`category_last` = #{query.categoryLast} and `goods_spu`.`shelf` = #{query.shelf} and `goods_spu`.`cost_flag` = #{query.costFlag} + and `goods_spu`.`order_online_flag` = #{query.orderOnlineFlag} + and `goods_spu`.`order_offline_flag` = #{query.orderOfflineFlag} and `goods_spu`.`order_flag` = #{query.orderFlag} and `goods_spu`.`sort` = #{query.sort} and `goods_spu`.`sale_num` = #{query.saleNum}