槽液排放记录导入使用名称进行导入,插入列表数据时需对应id

liweidong
张乾翔 16 hours ago
parent 3068a2b4fe
commit c4699433a5
  1. 10
      blade-service-api/blade-user-api/src/main/java/org/springblade/system/feign/IUserClient.java
  2. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsDischargeRecController.java
  3. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/IBsDischargeRecService.java
  4. 64
      blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/impl/BsDischargeRecServiceImpl.java
  5. 6
      blade-service/blade-system/src/main/java/org/springblade/system/feign/UserClient.java
  6. 2
      blade-service/blade-system/src/main/java/org/springblade/system/service/IUserService.java
  7. 6
      blade-service/blade-system/src/main/java/org/springblade/system/service/impl/UserServiceImpl.java

@ -67,6 +67,7 @@ public interface IUserClient {
String UN_SELECTUSER_LIST = API_PREFIX + "/unuser-list";
String SELECTUSER_LIST = API_PREFIX + "/unuser-listByName";
String SELECTUSER_LIST_NO_LIKE = API_PREFIX + "/unuser-listByNameNolike";
String USER_BY_ROLE = API_PREFIX + "/user_by_role";
@GetMapping(USER_LIST)
@ -208,4 +209,13 @@ public interface IUserClient {
*/
@GetMapping(USER_BY_ACCOUNT_V2)
R<User> userByAccountV2(@RequestParam("account") String account);
/**
* 根据角色获取用户信息
*
* @param account 用户账号
* @return
*/
@GetMapping(USER_BY_ROLE)
List<User> userByRole(@RequestParam("account") String account);
}

@ -195,7 +195,9 @@ public class BsDischargeRecController extends BladeController {
List<BsDischargeRecEntity> importList = ExcelUtil.read(
file, 0, 1, BsDischargeRecEntity.class
);
return R.status(bsDischargeRecService.saveBatch(importList));
//return R.status(bsDischargeRecService.saveBatch(importList));
bsDischargeRecService.save(importList);
return R.success();
}
}

@ -59,4 +59,6 @@ public interface IBsDischargeRecService extends BaseService<BsDischargeRecEntity
*/
List<BsDischargeRecExcel> exportBsDischargeRec(Wrapper<BsDischargeRecEntity> queryWrapper);
void save(List<BsDischargeRecEntity> importList);
}

@ -26,17 +26,30 @@
package org.springblade.desk.energy.service.impl;
import cn.hutool.core.util.StrUtil;
import jakarta.annotation.Resource;
import org.apache.commons.lang3.StringUtils;
import org.springblade.core.tool.api.R;
import org.springblade.desk.basic.pojo.entity.TeamSet;
import org.springblade.desk.basic.service.ITeamSetService;
import org.springblade.desk.energy.excel.BsDischargeRecExcel;
import org.springblade.desk.energy.mapper.BsDischargeRecMapper;
import org.springblade.desk.energy.pojo.entity.BsDischargeRecEntity;
import org.springblade.desk.energy.pojo.vo.BsDischargeRecVO;
import org.springblade.desk.energy.service.IBsDischargeRecService;
import org.springblade.system.feign.IDictClient;
import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.Dict;
import org.springblade.system.pojo.entity.User;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* 槽液排放记录表 服务实现类
@ -46,6 +59,12 @@ import java.util.List;
*/
@Service
public class BsDischargeRecServiceImpl extends BaseServiceImpl<BsDischargeRecMapper, BsDischargeRecEntity> implements IBsDischargeRecService {
@Resource
IDictClient dictClient;
@Resource
ITeamSetService iTeamSetService;
@Resource
IUserClient userClient;
@Override
public IPage<BsDischargeRecVO> selectBsDischargeRecPage(IPage<BsDischargeRecVO> page, BsDischargeRecVO bsDischargeRec) {
@ -66,4 +85,49 @@ public class BsDischargeRecServiceImpl extends BaseServiceImpl<BsDischargeRecMap
return bsDischargeRecList;
}
@Override
public void save(List<BsDischargeRecEntity> importList) {
//报废槽液类型
Map<String, String> dictBizMap;
try {
R<List<Dict>> scrapTankSolType = dictClient.getList("ScrapTankSolType");
dictBizMap = scrapTankSolType.getData().stream().collect(Collectors.toMap(Dict::getDictValue, Dict::getDictKey,(k1,k2)->k2));
} catch (Exception e) {
throw new ArithmeticException("报废槽液类型获取失败");
}
//排放班组
List<TeamSet> list = iTeamSetService.list();
Map<String, String> teamSetMap = list.stream().collect(Collectors.toMap(TeamSet::getTsName, TeamSet::getTsCode,(k1,k2)->k2));
//http://localhost:2888/api/blade-system/user/page?status=1&current=1&size=10000000&deptId=&roleId=2008432609730281474
//水处理工
Map<String, Long> userMap;
try {
List<User> users = userClient.userByRole("2008432609730281474");
userMap = users.stream().collect(Collectors.toMap(User::getRealName, User::getId,(k1,k2)->k2));
} catch (Exception e) {
throw new ArithmeticException("水处理工获取失败");
}
importList.forEach(s -> {
String wasteType = dictBizMap.getOrDefault(s.getWasteType(), null);
if (StrUtil.isEmpty(wasteType)) {
throw new ArithmeticException("报废槽液类型:" + s.getWasteType() + "获取失败,请重新填入");
}
s.setWasteType(wasteType);
String teamSet = teamSetMap.getOrDefault(s.getBsTeamSet(), null);
if (Objects.isNull(teamSet)) {
throw new ArithmeticException("排放班组:" + s.getBsTeamSet() + "获取失败,请重新填入");
}
s.setBsTeamSet(teamSet);
Long user = userMap.getOrDefault(s.getHandleMan(), null);
if (Objects.isNull(user)) {
throw new ArithmeticException("水处理工:" + s.getHandleMan() + "获取失败,请重新填入");
}
s.setHandleMan(user.toString());
});
saveBatch(importList);
}
}

@ -174,4 +174,10 @@ public class UserClient implements IUserClient {
public R<User> userByAccountV2(String account) {
return R.data(service.userByAccountV2(account));
}
@Override
@GetMapping(USER_BY_ROLE)
public List<User> userByRole(String roleId) {
return service.userByRole(roleId);
}
}

@ -318,4 +318,6 @@ public interface IUserService extends BaseService<User> {
* @return
*/
User userByAccountV2(String tenantId);
List<User> userByRole(String roleId);
}

@ -621,4 +621,10 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
public User userByAccountV2( String account) {
return baseMapper.selectOne(Wrappers.<User>query().lambda().eq(User::getAccount, account).eq(User::getIsDeleted, BladeConstant.DB_NOT_DELETED));
}
@Override
public List<User> userByRole(String roleId) {
return list(Wrappers.lambdaQuery(User.class)
.like(User::getRoleId, roleId));
}
}

Loading…
Cancel
Save