diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/RedisKeyConstant.java b/blade-biz-common/src/main/java/org/springblade/common/constant/RedisKeyConstant.java index 24a213156..0c6525ed8 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/constant/RedisKeyConstant.java +++ b/blade-biz-common/src/main/java/org/springblade/common/constant/RedisKeyConstant.java @@ -20,7 +20,7 @@ public class RedisKeyConstant { public static final String BASIC_DATA_WAREHOUSE_LIST_KEY ="cache:basic-data-warehouse-list:"; public static final String USER_NAME_PHONE_KEY ="cache:user:id:"; - + public static final String FINAL_CLIENT_CODE ="final:client:code:"; } diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataClientController.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataClientController.java index eeacf9d91..8a2af0ace 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataClientController.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataClientController.java @@ -108,70 +108,6 @@ public class BasicdataClientController extends BladeController { @ApiOperationSupport(order = 2) @ApiOperation(value = "分页", notes = "传入basicdataClient") public R> list(@ApiIgnore @RequestParam Map basicdataClient, Query query) { - - Object o = basicdataClient.get("contractStartTime"); - Object o1 = basicdataClient.get("contractEntTime"); - Object o2 = basicdataClient.get("pid"); - basicdataClient.put("contractStartTime", null); - basicdataClient.put("contractEntTime", null); - QueryWrapper queryWrapper = Condition.getQueryWrapper(basicdataClient, BasicdataClientEntity.class); -/* queryWrapper.apply(o != null, - "date_format (contract_start_time,'%Y-%m-%d') >= date_format ({0},'%Y-%m-%d')", o) - .apply(o1 != null, - "date_format (contract_ent_time,'%Y-%m-%d') <= date_format ({0},'%Y-%m-%d')", o1);*/ - if (ObjectUtils.isNotNull(o)) { - queryWrapper.between("contract_start_time", o, o1); - - } - if (ObjectUtils.isNotNull(o2)) { - queryWrapper.eq("pid", o2); - } else { - queryWrapper.eq("pid", "0"); - } - queryWrapper.orderByDesc("create_time"); - IPage pages = basicdataClientService.page(Condition.getPage(query), queryWrapper); - pages.getRecords().forEach(i -> { - List list = basicdataStoreBusinessService.list(Wrappers.query().lambda() - .eq(BasicdataStoreBusinessEntity::getClientId, i.getId())); - i.setTypeServiceBusiness(list); - //查询客户绑定第一位联系人 - List listed = basicdataStoreContactService.list(Wrappers.query().lambda() - .eq(BasicdataStoreContactEntity::getShopId, i.getId()) - .eq(BasicdataStoreContactEntity::getDefaultType, true)); - if (Func.isNotEmpty(listed)) { - List collect = listed.stream().filter(f -> Func.isEmpty(f.getCreateTime())).collect(Collectors.toList()); - if (Func.isNotEmpty(collect)){ - System.out.println("客户无创建时间"+collect); - } - String string = listed.stream().sorted(Comparator.comparing(BasicdataStoreContactEntity::getCreateTime)).findFirst().map(BasicdataStoreContactEntity::getLinkman).get(); - String phone = listed.stream().sorted(Comparator.comparing(BasicdataStoreContactEntity::getCreateTime)).findFirst().map(BasicdataStoreContactEntity::getPhone).get(); - i.setLinkman(string); - i.setPhone(phone); - } - List collect = list.stream().filter(f -> Func.isNotEmpty(f.getMold())).map(BasicdataStoreBusinessEntity::getMold).collect(Collectors.toList()); - if (collect.size() > 0) { - //进行 - String s = collect.get(0); - switch (s) { - case "1": - i.setTypeServiceName("商配"); - break; - case "2": - i.setTypeServiceName("市配"); - break; - case "3": - i.setTypeServiceName("自提"); - break; - case "4": - i.setTypeServiceName("三方中转"); - break; - } - } - //处理客户的配送类型 - }); - - - IPage basicdataClientVOIPage = basicdataClientService.pageList(Condition.getPage(query), basicdataClient); if (!basicdataClientVOIPage.getRecords().isEmpty()) { for (BasicdataClientVO record : basicdataClientVOIPage.getRecords()) { @@ -194,6 +130,18 @@ public class BasicdataClientController extends BladeController { return R.data(pages); } + /** + * 查询最后一位客户编码 + * @return + */ + @GetMapping("/getFinallyClientCode") + @ApiOperationSupport(order = 3) + @ApiOperation(value = "查询最后一位客户编码", notes = "传入basicdataClient") + public R getFinallyClientCode() { + String code = basicdataClientService.getFinallyClientCode(); + return R.data(code); + } + /** * 基础客户表查询 */ diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataClientMapper.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataClientMapper.java index ea6598fd5..19b326ba1 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataClientMapper.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataClientMapper.java @@ -71,4 +71,10 @@ public interface BasicdataClientMapper extends BaseMapper */ IPage pageList(IPage page,@Param("param") Map basicdataClient); + /** + * 查询规则生成的客户编码列表 + * @return + */ + List getFinallyClientCode(); + } diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataClientMapper.xml b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataClientMapper.xml index 4bff75d5a..46f30ff07 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataClientMapper.xml +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataClientMapper.xml @@ -117,6 +117,7 @@ WHEN 4 THEN '三方中转' END typeServiceName, lbhc.file_name, + lbhc.lease_accessories, DATE_FORMAT(lbc.contract_start_time, '%Y-%m-%d') AS contractStartTime, DATE_FORMAT(lbc.contract_ent_time, '%Y-%m-%d') AS contractEntTime, t.aaa AS brandName @@ -170,5 +171,8 @@ lbc.create_time DESC + diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataClientService.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataClientService.java index 25bac7619..52a528d70 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataClientService.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataClientService.java @@ -111,4 +111,10 @@ public interface IBasicdataClientService extends BaseService pageList(IPage page, Map basicdataClient); + /** + * 查询客户编码 + * @return + */ + String getFinallyClientCode(); + } diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataClientServiceImpl.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataClientServiceImpl.java index 6da1fcdc7..18cd9e07f 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataClientServiceImpl.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataClientServiceImpl.java @@ -50,9 +50,11 @@ import com.logpm.basicdata.vo.BasicdataClientVO; import com.logpm.basicdata.vo.ClientInfoVO; import lombok.extern.slf4j.Slf4j; import org.springblade.common.constant.DictBizConstant; +import org.springblade.common.constant.RedisKeyConstant; import org.springblade.common.model.dto.NameDTO; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.core.redis.cache.BladeRedis; import org.springblade.core.secure.BladeUser; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.utils.BeanUtil; @@ -102,6 +104,9 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl selectBasicdataClientPage(IPage page, BasicdataClientVO basicdataClient) { return page.setRecords(baseMapper.selectBasicdataClientPage(page, basicdataClient)); @@ -122,7 +127,7 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl list = basicdataHistoricalContractService.list(Wrappers.query().lambda() + .eq(BasicdataHistoricalContractEntity::getClientId, basicdataClient.getId()) + ); + boolean flag; + if (list.isEmpty()) { + flag = true; + } else { + flag = list.stream().anyMatch(f -> !f.getLeaseAccessories().equals(basicdataClient.getLeaseAccessories())); + } + if (flag) { + //添加历史合同 + BasicdataHistoricalContractEntity basicdataHistoricalContract = new BasicdataHistoricalContractEntity(); + basicdataHistoricalContract.setClientId(basicdataClient.getId().toString()); + basicdataHistoricalContract.setContractEntTime(basicdataClient.getContractEntTime()); + basicdataHistoricalContract.setContractStartTime(basicdataClient.getContractStartTime()); + basicdataHistoricalContract.setLeaseAccessories(basicdataClient.getLeaseAccessories()); + basicdataHistoricalContract.setFileName(basicdataClient.getFileName()); + basicdataHistoricalContractService.save(basicdataHistoricalContract); + basicdataHistoricalContractService.removeBatchByIds(list); + } } return true; @@ -274,7 +292,7 @@ public class BasicdataClientServiceImpl extends BaseServiceImplquery().lambda() .in(BasicdataStoreBrandEntity::getClientId, clientIds)); } @@ -366,12 +384,12 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl>>>>> basicdataClient.getClientCode() {}", basicdataClient.getClientCode()); //查询客户编码和客户名称是否存在 boolean b = basicdataClients.stream().anyMatch(ii -> { - if (ii.getClientCode()!=null && !ii.getClientCode().equals("")) { - log.info(">>>>>>>>>>>>> 1{}",ii.getClientCode()); - log.info(">>>>>>>>>>>>> 2{}",ii.getClientName()); + if (ii.getClientCode() != null && !ii.getClientCode().equals("")) { + log.info(">>>>>>>>>>>>> 1{}", ii.getClientCode()); + log.info(">>>>>>>>>>>>> 2{}", ii.getClientName()); if (ii.getClientCode().equals(basicdataClient.getClientCode()) - || ii.getClientName().equals(basicdataClient.getClientName().trim())){ + || ii.getClientName().equals(basicdataClient.getClientName().trim())) { return true; } } @@ -647,7 +665,20 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl pageList(IPage page, Map basicdataClient) { - return baseMapper.pageList(page,basicdataClient); + return baseMapper.pageList(page, basicdataClient); + } + + @Override + public String getFinallyClientCode() { + String finaClientCode = redis.get(RedisKeyConstant.FINAL_CLIENT_CODE + AuthUtil.getTenantId()); + if (StringUtils.isBlank(finaClientCode)) { + List str = baseMapper.getFinallyClientCode(); + finaClientCode = str.get(0); + redis.set(RedisKeyConstant.FINAL_CLIENT_CODE + AuthUtil.getTenantId(), finaClientCode); + } + String num = finaClientCode.replaceAll("HT", ""); + int anInt = Integer.parseInt(num) + 1; + return "HT" + anInt; } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java index 0f979ea15..9cd021b05 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java @@ -772,7 +772,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl parcelListEntityList = distributionReservationMapper.selectPackageListByReservationId(distrilbutionloadingscanDTO.getReservationId()); Map parcelListEntityMap = parcelListEntityList.stream().collect(Collectors.toMap(DistributionParcelListEntity::getId, Function.identity(), (k1, k2) -> k2)); boolean reservationFlag = parcelListEntities.stream().allMatch(p -> Func.isNotEmpty(parcelListEntityMap.get(p.getId()))); log.info("#########!!!!!!!!!!!!!!!!!--------- 6666666666 reservationFlag={}", reservationFlag);