Browse Source

1.增加创建客户的时候自动创建客户账号

dev-warehouse
pref_mail@163.com 2 years ago
parent
commit
b190159499
  1. 4
      blade-biz-common/src/main/java/org/springblade/common/constant/DictBizConstant.java
  2. 23
      blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataClientUserEntity.java
  3. 2
      blade-service/logpm-basicdata/pom.xml
  4. 2
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataClientController.java
  5. 39
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataClientUserMapper.java
  6. 10
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataClientUserMapper.xml
  7. 8
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataClientService.java
  8. 7
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataClientUserService.java
  9. 3
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataCustomerBaseService.java
  10. 104
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataClientServiceImpl.java
  11. 15
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataClientUserServiceImpl.java
  12. 10
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataCustomerBaseServiceImpl.java
  13. 6
      blade-service/logpm-factory/pom.xml
  14. 2
      blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/controller/FactoryCommonController.java
  15. 4
      blade-service/logpm-factory/src/main/java/com/logpm/factory/config/RabbitMqConfiguration.java
  16. 6
      blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/UnloadCarComHandler.java
  17. 266
      blade-service/logpm-factory/src/test/java/com/logpm/factory/TestService.java
  18. 12
      blade-service/pom.xml
  19. 429
      doc/dpm/物流租户系统.pdma.json

4
blade-biz-common/src/main/java/org/springblade/common/constant/DictBizConstant.java

@ -7,5 +7,9 @@ public class DictBizConstant {
public static final String WAY_BILL_STATUS = "way_bill_status";//运单状态
public static final String DISTRIBUTION_TYPE = "distribution_type";//服务类型
public static final String FREEZE_STATUS = "freeze_status";//冻结状态
public static final String DEFAULT_PASSWORD = "default_password";//默认密码
public static final String DEFAULT_MALL_ROLE_ID = "default_mall_role_id";//默认角色
public static final String DEFAULT_DEPT_ID = "default_dept_id";//默认部门ID
}

23
blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataClientUserEntity.java

@ -0,0 +1,23 @@
package com.logpm.basicdata.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
@Data
@TableName("logpm_basicdata_clientuser")
@ApiModel(value = "客户关联用户表", description = "客户关联用户表")
@EqualsAndHashCode(callSuper = true)
public class BasicdataClientUserEntity extends TenantEntity {
/** 关联用户表ID */
@ApiModelProperty(name = "关联用户表ID",notes = "")
private Long userId ;
/** 关联客户表ID */
@ApiModelProperty(name = "关联客户表ID",notes = "")
private Long clientId ;
}

2
blade-service/logpm-basicdata/pom.xml

@ -54,6 +54,8 @@
<artifactId>logpm-basic-api</artifactId>
<version>3.1.0.RELEASE</version>
</dependency>
</dependencies>

2
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataClientController.java

@ -126,7 +126,7 @@ public class BasicdataClientController extends BladeController {
@ApiOperationSupport(order = 4)
@ApiOperation(value = "新增", notes = "传入basicdataClient")
public R save(@Valid @RequestBody BasicdataClientEntity basicdataClient) {
return R.status(basicdataClientService.save(basicdataClient));
return R.status(basicdataClientService.saveCustomerAndAddAcount(basicdataClient));
}
/**

39
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataClientUserMapper.java

@ -0,0 +1,39 @@
/*
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the dreamlu.net developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: Chill 庄骞 (smallchill@163.com)
*/
package com.logpm.basicdata.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.basicdata.entity.BasicdataCarrierEntity;
import com.logpm.basicdata.entity.BasicdataClientUserEntity;
import com.logpm.basicdata.excel.BasicdataCarrierExcel;
import com.logpm.basicdata.vo.BasicdataCarrierVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 承运商信息 Mapper 接口
*
* @author lmy
* @since 2023-05-15
*/
public interface BasicdataClientUserMapper extends BaseMapper<BasicdataClientUserEntity> {
}

10
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataClientUserMapper.xml

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.logpm.basicdata.mapper.BasicdataClientUserMapper">
</mapper>

8
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataClientService.java

@ -19,6 +19,7 @@ package com.logpm.basicdata.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.logpm.basicdata.entity.BasicdataClientEntity;
import com.logpm.basicdata.entity.BasicdataCustomerBaseEntity;
import com.logpm.basicdata.vo.BasicdataClientVO;
import com.logpm.basicdata.excel.BasicdataClientExcel;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -67,4 +68,11 @@ public interface IBasicdataClientService extends BaseService<BasicdataClientEnti
* @return
*/
BasicdataClientEntity getOneOwn(QueryWrapper<BasicdataClientEntity> queryWrapper);
/**
* 新客户并创建客户账号
* @param basicdataClient
* @return
*/
boolean saveCustomerAndAddAcount(BasicdataClientEntity basicdataClient);
}

7
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataClientUserService.java

@ -0,0 +1,7 @@
package com.logpm.basicdata.service;
import com.logpm.basicdata.entity.BasicdataClientUserEntity;
import org.springblade.core.mp.base.BaseService;
public interface IBasicdataClientUserService extends BaseService<BasicdataClientUserEntity> {
}

3
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataCustomerBaseService.java

@ -49,4 +49,7 @@ public interface IBasicdataCustomerBaseService extends BaseService<BasicdataCust
*/
List<BasicdataCustomerBaseExcel> exportBasicdataCustomerBase(Wrapper<BasicdataCustomerBaseEntity> queryWrapper);
}

104
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataClientServiceImpl.java

@ -30,9 +30,17 @@ import com.logpm.basicdata.service.*;
import com.logpm.basicdata.vo.BasicdataClientVO;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.common.constant.DictBizConstant;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.DigestUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.system.cache.DictBizCache;
import org.springblade.system.entity.User;
import org.springblade.system.feign.IUserClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -57,6 +65,10 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl<BasicdataClientM
private final IBasicdataStoreContactService basicdataStoreContactService;
private final IBasicdataStoreBusinessService basicdataStoreBusinessService;
private final IBasicdataTripartiteMallService basicdataTripartiteMallService;
private final IBasicdataClientUserService basicdataClientUserService;
private final IUserClient userClient;
@Override
public IPage<BasicdataClientVO> selectBasicdataClientPage(IPage<BasicdataClientVO> page, BasicdataClientVO basicdataClient) {
@ -77,39 +89,39 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl<BasicdataClientM
@Transactional(rollbackFor = Exception.class)
public boolean ownSaveOrUpdate(BasicdataClientEntity basicdataClient) {
//添加客户端的历史合同的数据
if(ObjectUtils.isNotNull(basicdataClient.getId())){
if (ObjectUtils.isNotNull(basicdataClient.getId())) {
//修改
this.updateById(basicdataClient);
// List<BasicdataStoreBusinessEntity> typeServiceBusiness = basicdataClient.getTypeServiceBusiness();
List<BasicdataStoreBusinessEntity> list = basicdataStoreBusinessService.list(Wrappers.<BasicdataStoreBusinessEntity>query().lambda()
.eq(BasicdataStoreBusinessEntity::getClientId, basicdataClient.getId())
);
if(list.size() > 0){
if (list.size() > 0) {
//有数据
List<Long> stringList = new ArrayList<>();
list.forEach ( i -> {
list.forEach(i -> {
boolean b1 = basicdataClient.getTypeServiceList().stream().anyMatch(b -> b.equals(i.getTypeService()));
if(b1){
if (b1) {
//有
Iterator<String> iterator1 = basicdataClient.getTypeServiceList().iterator();
while (iterator1.hasNext()){
while (iterator1.hasNext()) {
String next = iterator1.next();
if(next.equals(i.getTypeService())){
if(next.equals("3")){
if (next.equals(i.getTypeService())) {
if (next.equals("3")) {
BasicdataStoreBusinessEntity businessEntity = new BasicdataStoreBusinessEntity();
BeanUtil.copyProperties(i,businessEntity);
BeanUtil.copyProperties(i, businessEntity);
businessEntity.setMold(basicdataClient.getBusinessType());
basicdataStoreBusinessService.updateById(businessEntity);
}
iterator1.remove();
}
}
}else{
} else {
//没有
stringList.add(i.getId());
}
});
if(stringList.size() > 0){
if (stringList.size() > 0) {
basicdataStoreBusinessService.deleteLogic(stringList);
}
@ -119,19 +131,19 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl<BasicdataClientM
BasicdataStoreBusinessEntity basicdataStoreBusinessEntity = new BasicdataStoreBusinessEntity();
basicdataStoreBusinessEntity.setTypeService(s);
basicdataStoreBusinessEntity.setClientId(basicdataClient.getId().toString());
if(s.equals("3")){
if (s.equals("3")) {
basicdataStoreBusinessEntity.setMold(basicdataClient.getBusinessType());
}
basicdataStoreBusinessService.save(basicdataStoreBusinessEntity);
}
}else{
} else {
String linkman = basicdataClient.getLinkman();
String phone = basicdataClient.getPhone();
basicdataClient.setLinkman(null);
basicdataClient.setPhone(null);
basicdataClient.setCargoControl(false);
if(StringUtils.isBlank(basicdataClient.getPid())){
if (StringUtils.isBlank(basicdataClient.getPid())) {
basicdataClient.setPid("0");
}
//添加
@ -145,30 +157,30 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl<BasicdataClientM
basicdataStoreContactEntity.setDefaultType(true);
basicdataStoreContactService.save(basicdataStoreContactEntity);
//添加客户类型
if(basicdataClient.getTypeServiceList().size() > 0){
if (basicdataClient.getTypeServiceList().size() > 0) {
for (String s : basicdataClient.getTypeServiceList()) {
//添加服务类型
BasicdataStoreBusinessEntity basicdataStoreBusinessEntity = new BasicdataStoreBusinessEntity();
basicdataStoreBusinessEntity.setTypeService(s);
basicdataStoreBusinessEntity.setClientId(basicdataClient.getId().toString());
if(s.equals("3")){
if (s.equals("3")) {
basicdataStoreBusinessEntity.setMold(basicdataClient.getBusinessType());
}
basicdataStoreBusinessService.save(basicdataStoreBusinessEntity);
}
}else{
} else {
log.info("服务类型没有!!!");
return false;
}
//添加三方商城
if(StringUtils.isNotBlank(basicdataClient.getTripartiteMall())){
if (StringUtils.isNotBlank(basicdataClient.getTripartiteMall())) {
BasicdataTripartiteMallEntity basicdataTripartiteMall = new BasicdataTripartiteMallEntity();
basicdataTripartiteMall.setTripartiteMall(basicdataClient.getTripartiteMall());
basicdataTripartiteMall.setClient(basicdataClient.getId().toString());
basicdataTripartiteMallService.save(basicdataTripartiteMall);
}
}
if(ObjectUtils.isNull(basicdataClient.getId())){
if (ObjectUtils.isNull(basicdataClient.getId())) {
log.info("没有必要的ID了!!!");
return false;
}
@ -188,18 +200,18 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl<BasicdataClientM
@Override
public List<BasicdataClientEntity> listName(String name) {
return baseMapper.selectList(Wrappers.<BasicdataClientEntity>query().lambda()
.like(StringUtils.isNotBlank(name),BasicdataClientEntity::getClientName,name)
.like(StringUtils.isNotBlank(name), BasicdataClientEntity::getClientName, name)
);
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean ownDeleteLogic(List<Long> toLongList) {
toLongList.forEach( i ->{
toLongList.forEach(i -> {
List<BasicdataClientEntity> basicdataClientEntities = baseMapper.selectList(Wrappers.<BasicdataClientEntity>query().lambda()
.eq(BasicdataClientEntity::getPid, i)
);
if(basicdataClientEntities.size() > 0){
if (basicdataClientEntities.size() > 0) {
baseMapper.deleteBatchIds(basicdataClientEntities);
}
@ -210,8 +222,56 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl<BasicdataClientM
@Override
public BasicdataClientEntity getOneOwn(QueryWrapper<BasicdataClientEntity> queryWrapper) {
BasicdataClientEntity one = this.getOne(queryWrapper);
one.setTypeServiceBusiness(basicdataStoreBusinessService.list(Wrappers.<BasicdataStoreBusinessEntity>query().lambda().eq(BasicdataStoreBusinessEntity::getClientId,one.getId())));
one.setTypeServiceBusiness(basicdataStoreBusinessService.list(Wrappers.<BasicdataStoreBusinessEntity>query().lambda().eq(BasicdataStoreBusinessEntity::getClientId, one.getId())));
return one;
}
@Override
public boolean saveCustomerAndAddAcount(BasicdataClientEntity basicdataClient) {
//保存客户信息
boolean bls = this.save(basicdataClient);
// 新增客户账号
if (bls) {
// 客户电话作为客户的账号登录
R<User> r = userClient.userByAccount(AuthUtil.getTenantId(), basicdataClient.getPhone());
// 标识这个账户不存在 需要新建
User u = r.getData();
if (!ObjectUtils.isEmpty(u)) {
// 标识这个账户不存在 需要新建
u = new User();
u.setAccount(basicdataClient.getPhone());
u.setTenantId(AuthUtil.getTenantId());
u.setUserType(1);// Web
String defaultPassword = DictBizCache.getValue(DictBizConstant.DEFAULT_PASSWORD, DictBizConstant.DEFAULT_PASSWORD);
// 加密
u.setPassword(DigestUtil.md5Hex(defaultPassword));
u.setName(basicdataClient.getLinkman());
u.setRealName(basicdataClient.getLinkman());
u.setPhone(basicdataClient.getPhone());
String defaultRoleId = DictBizCache.getValue(DictBizConstant.DEFAULT_MALL_ROLE_ID, DictBizConstant.DEFAULT_MALL_ROLE_ID);
u.setRoleId(defaultRoleId);
String defaultDeptId = DictBizCache.getValue(DictBizConstant.DEFAULT_DEPT_ID, DictBizConstant.DEFAULT_DEPT_ID);
u.setDeptId(defaultDeptId);
userClient.saveUser(u);
}
// 建立客户和用户的绑定关系
BasicdataClientUserEntity basicdataClientUserEntity = new BasicdataClientUserEntity();
basicdataClientUserEntity.setClientId(basicdataClient.getId());
basicdataClientUserEntity.setUserId(u.getId());
// 保存
bls = basicdataClientUserService.save(basicdataClientUserEntity);
// todo 这里在修改客户的默认联系的人时候需要去更新这个账号的登录账号 目前优先流程
}
return bls;
}
}

15
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataClientUserServiceImpl.java

@ -0,0 +1,15 @@
package com.logpm.basicdata.service.impl;
import com.logpm.basicdata.entity.BasicdataClientUserEntity;
import com.logpm.basicdata.mapper.BasicdataClientUserMapper;
import com.logpm.basicdata.service.IBasicdataClientUserService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
@Slf4j
@Service
@AllArgsConstructor
public class BasicdataClientUserServiceImpl extends BaseServiceImpl<BasicdataClientUserMapper, BasicdataClientUserEntity> implements IBasicdataClientUserService {
}

10
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataCustomerBaseServiceImpl.java

@ -21,6 +21,10 @@ import com.logpm.basicdata.vo.BasicdataCustomerBaseVO;
import com.logpm.basicdata.excel.BasicdataCustomerBaseExcel;
import com.logpm.basicdata.mapper.BasicdataCustomerBaseMapper;
import com.logpm.basicdata.service.IBasicdataCustomerBaseService;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.system.entity.UserOauth;
import org.springblade.system.feign.IUserClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -36,6 +40,10 @@ import java.util.List;
@Service
public class BasicdataCustomerBaseServiceImpl extends BaseServiceImpl<BasicdataCustomerBaseMapper, BasicdataCustomerBaseEntity> implements IBasicdataCustomerBaseService {
@Override
public IPage<BasicdataCustomerBaseVO> selectBasicdataCustomerBasePage(IPage<BasicdataCustomerBaseVO> page, BasicdataCustomerBaseVO basicdataCustomerBase) {
return page.setRecords(baseMapper.selectBasicdataCustomerBasePage(page, basicdataCustomerBase));
@ -51,4 +59,6 @@ public class BasicdataCustomerBaseServiceImpl extends BaseServiceImpl<BasicdataC
return basicdataCustomerBaseList;
}
}

6
blade-service/logpm-factory/pom.xml

@ -50,11 +50,7 @@
<version>${bladex.project.version}</version>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-dict-api</artifactId>
<version>${bladex.project.version}</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>

2
blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/controller/FactoryCommonController.java

@ -178,7 +178,7 @@ public class FactoryCommonController {
map.put("messageData", receiveInfoDTO);
map.put("createTime", new Date().getTime());
//将消息携带绑定键值
// rabbitTemplate.convertAndSend(RabbitConstant.UNLOAD_CAR_COM_INFO_EXCHANGE, RabbitConstant.UNLOAD_CAR_COM_INFO_ROUTING, map);
rabbitTemplate.convertAndSend(RabbitConstant.UNLOAD_CAR_COM_INFO_EXCHANGE, RabbitConstant.UNLOAD_CAR_COM_INFO_ROUTING, map);
return R.success("调用成功");
} catch (CustomerException e) {

4
blade-service/logpm-factory/src/main/java/com/logpm/factory/config/RabbitMqConfiguration.java

@ -190,8 +190,8 @@ public class RabbitMqConfiguration {
}
@Bean
public Binding unloadCarNumBinding(Queue receiveInfoQueue, CustomExchange receiveInfoExchange) {
return BindingBuilder.bind(receiveInfoQueue).to(receiveInfoExchange).with(RabbitConstant.UNLOAD_CAR_COM_INFO_ROUTING).noargs();
public Binding unloadCarNumBinding(Queue unloadCarNumQueue, CustomExchange unloadCarNumExchange) {
return BindingBuilder.bind(unloadCarNumQueue).to(unloadCarNumExchange).with(RabbitConstant.UNLOAD_CAR_COM_INFO_ROUTING).noargs();
}

6
blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/UnloadCarComHandler.java

@ -96,6 +96,7 @@ public class UnloadCarComHandler {
Map<String, List<MTOrderPackageRelationVO>> stringListMap = allMtData.stream().collect(Collectors.groupingBy(MTOrderPackageRelationVO::getInvoiceOrderCode));
Set<String> set = stringListMap.keySet();
boolean isPush = false;
String carNum =null;
for (String s : set) {
// 得到某个工厂运输批次的集合
List<MTOrderPackageRelationVO> t = stringListMap.get(s);
@ -105,6 +106,7 @@ public class UnloadCarComHandler {
for (String mtStr : mtStrs) {
if (strs.contains(mtStr)) {
isPush = true;
carNum = s;
break;
}
}
@ -115,13 +117,13 @@ public class UnloadCarComHandler {
if (isPush) {
try {
R r = mtFactoryDataService.sendUnloadCarNum(unloadCarDTO.getUnloadCarNum(), unloadCarDTO.getCompleteDate());
R r = mtFactoryDataService.sendUnloadCarNum(carNum, unloadCarDTO.getCompleteDate());
if(r.isSuccess()){
// 更新订单状态
UpdateChainWrapper<MtFactoryOrderMain> updateChainWrapper =new UpdateChainWrapper<MtFactoryOrderMain>(MtFactoryOrderMain.class);
updateChainWrapper.set("push_status","1");
updateChainWrapper.set("push_time",new Date());
updateChainWrapper.eq("invoice_order_code",unloadCarDTO.getUnloadCarNum());
updateChainWrapper.eq("invoice_order_code",carNum);
mtFactoryOrderMainService.update(updateChainWrapper);
}

266
blade-service/logpm-factory/src/test/java/com/logpm/factory/TestService.java

@ -1,133 +1,133 @@
package com.logpm.factory;
import com.baomidou.mybatisplus.extension.conditions.update.UpdateChainWrapper;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.logpm.factory.comfac.controller.FactoryCommonController;
import com.logpm.factory.comfac.dto.UnloadCarDTO;
import com.logpm.factory.mt.service.IMtFactoryDataService;
import com.logpm.factory.mt.service.IMtFactoryOrderMainService;
import com.logpm.factory.mt.service.impl.MtFactoryDataServiceImpl;
import com.logpm.factory.snm.entity.MtFactoryOrderMain;
import com.logpm.factory.snm.vo.MTOrderPackageRelationVO;
import com.logpm.oldproject.entity.AdvanceDetailEntity;
import com.logpm.oldproject.feign.IAdvanceDetailClient;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springblade.core.test.BladeBootTest;
import org.springblade.core.test.BladeSpringExtension;
import org.springblade.core.tool.api.R;
import org.springframework.beans.factory.annotation.Autowired;
import java.security.NoSuchAlgorithmException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
@ExtendWith(BladeSpringExtension.class)
@BladeBootTest(appName = "logpm-factory-zhy", enableLoader = true)
public class TestService {
@Autowired
private IAdvanceDetailClient advanceDetailClient;
@Autowired
private IMtFactoryOrderMainService mtFactoryOrderMainService;
@Autowired
private IMtFactoryDataService mtFactoryDataService;
@Test
public void contextLoads() {
/*
1.得到传递的车次
2. 需要判断这个车次是否市梦天的
3. 查询这个车次上的运单是否市梦天的
4.查询包间对应的梦天发给我们的批次号
*/
UnloadCarDTO unloadCarDTO = new UnloadCarDTO();
unloadCarDTO.setUnloadCarNum("LQGX230719001");
unloadCarDTO.setCompleteDate("2023-07-19 16:48:45");
/*
2.通过车次查询来系统中车次绑定的运单
3.通过运单查询货物上的包件
4.需要过滤出来 只要梦天的
*/
List<AdvanceDetailEntity> carNumList = advanceDetailClient.getByCarNum(unloadCarDTO.getUnloadCarNum());
/**
* 安装品类进行分组
*/
Map<String, List<AdvanceDetailEntity>> carNumMapList = carNumList.stream().collect(Collectors.groupingBy(AdvanceDetailEntity::getType));
List<AdvanceDetailEntity> mtListdata = carNumMapList.get("梦天");
if (mtListdata == null || mtListdata.size() == 0) {
return;
}
// 得到车次下面梦天的包条码集合
List<String> mtStrs = mtListdata.stream().map(AdvanceDetailEntity::getUnitNo).collect(Collectors.toList());
if (mtStrs == null || mtStrs.size() == 0) {
return;
}
List<MTOrderPackageRelationVO> allMtData = mtFactoryOrderMainService.mtOrderPackageRelation();
// 对这个集合内进行分组
Map<String, List<MTOrderPackageRelationVO>> stringListMap = allMtData.stream().collect(Collectors.groupingBy(MTOrderPackageRelationVO::getInvoiceOrderCode));
Set<String> set = stringListMap.keySet();
boolean isPush = false;
for (String s : set) {
// 得到某个工厂运输批次的集合
List<MTOrderPackageRelationVO> t = stringListMap.get(s);
//得到这个批次下面所有的包间
List<String> strs = t.stream().map(MTOrderPackageRelationVO::getPackageCode).collect(Collectors.toList());
// 当前批次的包间 在 这个配载计划中存在一个 则进行通知
for (String mtStr : mtStrs) {
if (strs.contains(mtStr)) {
isPush = true;
break;
}
}
if (isPush) {
break;
}
}
if (isPush) {
try {
Date data = new SimpleDateFormat().parse(unloadCarDTO.getCompleteDate());
R r = mtFactoryDataService.sendUnloadCarNum(unloadCarDTO.getUnloadCarNum(), data);
// 更新订单状态
UpdateChainWrapper<MtFactoryOrderMain> updateChainWrapper =new UpdateChainWrapper<MtFactoryOrderMain>(MtFactoryOrderMain.class);
updateChainWrapper.set("push_status","1");
updateChainWrapper.set("push_time",data);
updateChainWrapper.eq("invoice_order_code",unloadCarDTO.getUnloadCarNum());
mtFactoryOrderMainService.update(updateChainWrapper);
} catch (ParseException e) {
e.printStackTrace();
} catch (JsonProcessingException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
}
}
}
//package com.logpm.factory;
//
//import com.baomidou.mybatisplus.extension.conditions.update.UpdateChainWrapper;
//import com.fasterxml.jackson.core.JsonProcessingException;
//import com.logpm.factory.comfac.controller.FactoryCommonController;
//import com.logpm.factory.comfac.dto.UnloadCarDTO;
//import com.logpm.factory.mt.service.IMtFactoryDataService;
//import com.logpm.factory.mt.service.IMtFactoryOrderMainService;
//import com.logpm.factory.mt.service.impl.MtFactoryDataServiceImpl;
//import com.logpm.factory.snm.entity.MtFactoryOrderMain;
//import com.logpm.factory.snm.vo.MTOrderPackageRelationVO;
//import com.logpm.oldproject.entity.AdvanceDetailEntity;
//import com.logpm.oldproject.feign.IAdvanceDetailClient;
//import org.junit.jupiter.api.Test;
//import org.junit.jupiter.api.extension.ExtendWith;
//import org.springblade.core.test.BladeBootTest;
//import org.springblade.core.test.BladeSpringExtension;
//import org.springblade.core.tool.api.R;
//import org.springframework.beans.factory.annotation.Autowired;
//
//import java.security.NoSuchAlgorithmException;
//import java.text.ParseException;
//import java.text.SimpleDateFormat;
//import java.util.Date;
//import java.util.List;
//import java.util.Map;
//import java.util.Set;
//import java.util.stream.Collectors;
//
//@ExtendWith(BladeSpringExtension.class)
//@BladeBootTest(appName = "logpm-factory-zhy", enableLoader = true)
//public class TestService {
//
//
//
//
//
// @Autowired
// private IAdvanceDetailClient advanceDetailClient;
//
//
// @Autowired
// private IMtFactoryOrderMainService mtFactoryOrderMainService;
//
// @Autowired
// private IMtFactoryDataService mtFactoryDataService;
// @Test
// public void contextLoads() {
//
///*
// 1.得到传递的车次
// 2. 需要判断这个车次是否市梦天的
// 3. 查询这个车次上的运单是否市梦天的
//
// 4.查询包间对应的梦天发给我们的批次号
// */
// UnloadCarDTO unloadCarDTO = new UnloadCarDTO();
// unloadCarDTO.setUnloadCarNum("LQGX230719001");
// unloadCarDTO.setCompleteDate("2023-07-19 16:48:45");
//
// /*
// 2.通过车次查询来系统中车次绑定的运单
// 3.通过运单查询货物上的包件
// 4.需要过滤出来 只要梦天的
// */
// List<AdvanceDetailEntity> carNumList = advanceDetailClient.getByCarNum(unloadCarDTO.getUnloadCarNum());
//
//
// /**
// * 安装品类进行分组
// */
// Map<String, List<AdvanceDetailEntity>> carNumMapList = carNumList.stream().collect(Collectors.groupingBy(AdvanceDetailEntity::getType));
//
// List<AdvanceDetailEntity> mtListdata = carNumMapList.get("梦天");
//
// if (mtListdata == null || mtListdata.size() == 0) {
// return;
// }
//
// // 得到车次下面梦天的包条码集合
// List<String> mtStrs = mtListdata.stream().map(AdvanceDetailEntity::getUnitNo).collect(Collectors.toList());
// if (mtStrs == null || mtStrs.size() == 0) {
// return;
// }
//
// List<MTOrderPackageRelationVO> allMtData = mtFactoryOrderMainService.mtOrderPackageRelation();
// // 对这个集合内进行分组
// Map<String, List<MTOrderPackageRelationVO>> stringListMap = allMtData.stream().collect(Collectors.groupingBy(MTOrderPackageRelationVO::getInvoiceOrderCode));
// Set<String> set = stringListMap.keySet();
// boolean isPush = false;
// for (String s : set) {
// // 得到某个工厂运输批次的集合
// List<MTOrderPackageRelationVO> t = stringListMap.get(s);
// //得到这个批次下面所有的包间
// List<String> strs = t.stream().map(MTOrderPackageRelationVO::getPackageCode).collect(Collectors.toList());
// // 当前批次的包间 在 这个配载计划中存在一个 则进行通知
// for (String mtStr : mtStrs) {
// if (strs.contains(mtStr)) {
// isPush = true;
// break;
// }
// }
// if (isPush) {
// break;
// }
// }
// if (isPush) {
// try {
//
// Date data = new SimpleDateFormat().parse(unloadCarDTO.getCompleteDate());
// R r = mtFactoryDataService.sendUnloadCarNum(unloadCarDTO.getUnloadCarNum(), data);
// // 更新订单状态
// UpdateChainWrapper<MtFactoryOrderMain> updateChainWrapper =new UpdateChainWrapper<MtFactoryOrderMain>(MtFactoryOrderMain.class);
// updateChainWrapper.set("push_status","1");
// updateChainWrapper.set("push_time",data);
// updateChainWrapper.eq("invoice_order_code",unloadCarDTO.getUnloadCarNum());
// mtFactoryOrderMainService.update(updateChainWrapper);
//
// } catch (ParseException e) {
// e.printStackTrace();
// } catch (JsonProcessingException e) {
// e.printStackTrace();
// } catch (NoSuchAlgorithmException e) {
// e.printStackTrace();
// }
//
//
// }
//
//
// }
//
//}

12
blade-service/pom.xml

@ -57,6 +57,18 @@
<version>${bladex.project.version}</version>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-dict-api</artifactId>
<version>${bladex.project.version}</version>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-user-api</artifactId>
<version>${bladex.project.version}</version>
</dependency>
</dependencies>

429
doc/dpm/物流租户系统.pdma.json

@ -4,7 +4,7 @@
"avatar": "",
"version": "4.5.1",
"createdTime": "2023-3-27 13:32:56",
"updatedTime": "2023-7-10 18:06:09",
"updatedTime": "2023-7-20 21:51:06",
"dbConns": [],
"profile": {
"default": {
@ -56193,6 +56193,430 @@
],
"correlations": [],
"indexes": []
},
{
"id": "D0496081-21B7-4F90-81A2-E5735C5418FD",
"env": {
"base": {
"nameSpace": "",
"codeRoot": ""
}
},
"defKey": "logpm_basicdata_clientuser",
"defName": "客户关联用户表",
"comment": "",
"properties": {
"partitioned by": "(date string)",
"row format delimited": "",
"fields terminated by ','": "",
"collection items terminated by '-'": "",
"map keys terminated by ':'": "",
"store as textfile;": ""
},
"nameTemplate": "{defKey}[{defName}]",
"notes": {},
"headers": [
{
"refKey": "hideInGraph",
"hideInGraph": true
},
{
"refKey": "defKey",
"freeze": false,
"hideInGraph": false
},
{
"refKey": "defName",
"freeze": false,
"hideInGraph": false
},
{
"refKey": "primaryKey",
"freeze": false,
"hideInGraph": false
},
{
"refKey": "notNull",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "autoIncrement",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "domain",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "type",
"freeze": false,
"hideInGraph": false
},
{
"refKey": "len",
"freeze": false,
"hideInGraph": false
},
{
"refKey": "scale",
"freeze": false,
"hideInGraph": false
},
{
"refKey": "comment",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "refDict",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "defaultValue",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "isStandard",
"freeze": false,
"hideInGraph": false
},
{
"refKey": "uiHint",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "extProps",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "attr1",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "attr2",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "attr3",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "attr4",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "attr5",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "attr6",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "attr7",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "attr8",
"freeze": false,
"hideInGraph": true
},
{
"refKey": "attr9",
"freeze": false,
"hideInGraph": true
}
],
"fields": [
{
"defKey": "tenant_id",
"defName": "租户号",
"comment": "",
"type": "",
"len": 32,
"scale": "",
"primaryKey": false,
"notNull": false,
"autoIncrement": false,
"defaultValue": "",
"hideInGraph": true,
"domain": "16120F75-6AA7-4483-868D-F07F511BB081",
"refDict": "",
"uiHint": "",
"id": "B1EB852F-19E3-4E78-BDBD-3A7D142B7788"
},
{
"defKey": "create_user",
"defName": "创建人",
"comment": "",
"domain": "16120F75-6AA7-4483-868D-F07F511BB081",
"type": "",
"len": 32,
"scale": "",
"primaryKey": false,
"notNull": false,
"autoIncrement": false,
"defaultValue": "",
"hideInGraph": true,
"refDict": "",
"uiHint": "",
"id": "E9436E10-D87B-45D0-AEB9-9BF7A5B3717A"
},
{
"defKey": "create_time",
"defName": "创建时间",
"comment": "",
"domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
"type": "",
"len": "",
"scale": "",
"primaryKey": false,
"notNull": false,
"autoIncrement": false,
"defaultValue": "",
"hideInGraph": true,
"refDict": "",
"uiHint": "",
"id": "55D94F7A-1C5D-4F4D-AA10-0EA52BB3A79A"
},
{
"defKey": "update_user",
"defName": "更新人",
"comment": "",
"domain": "16120F75-6AA7-4483-868D-F07F511BB081",
"type": "",
"len": 32,
"scale": "",
"primaryKey": false,
"notNull": false,
"autoIncrement": false,
"defaultValue": "",
"hideInGraph": true,
"refDict": "",
"uiHint": "",
"id": "8BE8E1AB-B13B-4333-8FA3-2BDC66887993"
},
{
"defKey": "update_time",
"defName": "更新时间",
"comment": "",
"domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
"type": "",
"len": "",
"scale": "",
"primaryKey": false,
"notNull": false,
"autoIncrement": false,
"defaultValue": "",
"hideInGraph": true,
"refDict": "",
"uiHint": "",
"id": "A225A1CD-FDB0-4ADA-A871-3EFF05A5EEA6"
},
{
"defKey": "status",
"defName": "状态",
"comment": "",
"type": "INT",
"len": 2,
"scale": "",
"primaryKey": false,
"notNull": false,
"autoIncrement": false,
"defaultValue": "",
"hideInGraph": false,
"refDict": "",
"extProps": {},
"domain": "",
"id": "CA65232B-86F3-408D-92BF-EFCC43B86EA4"
},
{
"defKey": "is_deleted",
"defName": "是否已删除",
"comment": "",
"type": "INT",
"len": 2,
"scale": "",
"primaryKey": false,
"notNull": false,
"autoIncrement": false,
"defaultValue": "",
"hideInGraph": false,
"refDict": "",
"extProps": {},
"domain": "",
"id": "E631C402-5F71-4636-9195-28B9240D2738"
},
{
"defKey": "create_dept",
"defName": "创建部门",
"comment": "",
"type": "",
"len": "",
"scale": "",
"primaryKey": false,
"notNull": false,
"autoIncrement": false,
"defaultValue": "",
"hideInGraph": false,
"refDict": "",
"extProps": {},
"domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
"id": "EFCCC68B-C424-4F6B-A19D-56856AC68FDA"
},
{
"defKey": "id",
"defName": "主键",
"comment": "",
"type": "INT",
"len": 20,
"scale": "",
"primaryKey": true,
"notNull": true,
"autoIncrement": false,
"defaultValue": "",
"hideInGraph": false,
"refDict": "",
"extProps": {},
"domain": "",
"id": "0B6D03DB-8934-4E78-86AF-00364FF81D1F"
},
{
"defKey": "reserve1",
"defName": "预留1",
"comment": "",
"type": "",
"len": "",
"scale": "",
"primaryKey": false,
"notNull": false,
"autoIncrement": false,
"defaultValue": "",
"hideInGraph": false,
"refDict": "",
"extProps": {},
"domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
"id": "DB102AFC-F71C-49E5-857B-24DD0BDBFD71"
},
{
"defKey": "reserve2",
"defName": "预留2",
"comment": "",
"type": "",
"len": "",
"scale": "",
"primaryKey": false,
"notNull": false,
"autoIncrement": false,
"defaultValue": "",
"hideInGraph": false,
"refDict": "",
"extProps": {},
"domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
"id": "FD39F670-1FEC-46CB-BC94-8B3E178F02D9"
},
{
"defKey": "reserve3",
"defName": "预留3",
"comment": "",
"type": "",
"len": "",
"scale": "",
"primaryKey": false,
"notNull": false,
"autoIncrement": false,
"defaultValue": "",
"hideInGraph": false,
"refDict": "",
"extProps": {},
"domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
"id": "0CFB4FC5-D9AF-45DB-AE5F-3AB3245FA3D8"
},
{
"defKey": "reserve4",
"defName": "预留4",
"comment": "",
"type": "",
"len": "",
"scale": "",
"primaryKey": false,
"notNull": false,
"autoIncrement": false,
"defaultValue": "",
"hideInGraph": false,
"refDict": "",
"extProps": {},
"domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
"id": "B9DE0664-098E-4DCB-98DA-2316B70B3316"
},
{
"defKey": "reserve5",
"defName": "预留5",
"comment": "",
"type": "",
"len": "",
"scale": "",
"primaryKey": false,
"notNull": false,
"autoIncrement": false,
"defaultValue": "",
"hideInGraph": false,
"refDict": "",
"extProps": {},
"domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
"id": "4843D79F-2030-4B75-A6B7-D46A8FB253C4"
},
{
"defKey": "user_id",
"defName": "关联用户表ID",
"comment": "",
"type": "",
"len": "",
"scale": "",
"primaryKey": false,
"notNull": false,
"autoIncrement": false,
"defaultValue": "",
"hideInGraph": false,
"refDict": "",
"extProps": {},
"domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
"id": "CA49D668-8A25-479D-A606-5E87ABE85834"
},
{
"defKey": "client_id",
"defName": "关联客户表ID",
"comment": "",
"type": "",
"len": "",
"scale": "",
"primaryKey": false,
"notNull": false,
"autoIncrement": false,
"defaultValue": "",
"hideInGraph": false,
"refDict": "",
"extProps": {},
"domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
"id": "F19EB0EB-DEA6-4C02-B33C-C11C65777451"
}
],
"correlations": [],
"indexes": []
}
],
"views": [],
@ -56276,7 +56700,8 @@
"865E2039-46B4-4BF2-948F-696FFB16E73E",
"74441E51-EDB1-49F8-AD27-8506AF889909",
"02AD799B-26B6-4490-AC39-A95DC978399D",
"0781B8B3-6956-45F3-A2CA-8CF2180577BD"
"0781B8B3-6956-45F3-A2CA-8CF2180577BD",
"D0496081-21B7-4F90-81A2-E5735C5418FD"
],
"refViews": [],
"refDiagrams": [],

Loading…
Cancel
Save