From ce1d9926ff986e195fd4a58cb5159fc8f45b32a5 Mon Sep 17 00:00:00 2001 From: 石广澎 <shiguangpeng@163.com> Date: 星期五, 01 十二月 2023 16:06:59 +0800 Subject: [PATCH] feat: 部门物品 1、报废单列表 2、报废明细 3、退回单列表 4、退回明细 --- consum-base/src/main/java/com/consum/base/controller/FinSysTenantUserController.java | 205 +++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 164 insertions(+), 41 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/controller/FinSysTenantUserController.java b/consum-base/src/main/java/com/consum/base/controller/FinSysTenantUserController.java index a3f305f..f03df71 100644 --- a/consum-base/src/main/java/com/consum/base/controller/FinSysTenantUserController.java +++ b/consum-base/src/main/java/com/consum/base/controller/FinSysTenantUserController.java @@ -1,16 +1,24 @@ package com.consum.base.controller; +import cn.hutool.core.util.ReflectUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; import com.alibaba.excel.exception.ExcelDataConvertException; import com.consum.base.BaseController; +import com.consum.base.core.utils.MapperUtil; import com.consum.base.pojo.FinSysTenantUserSearchParam; import com.consum.base.pojo.FinSysTenantUserUpdParam; +import com.consum.base.pojo.response.DepartmentVO; +import com.consum.base.pojo.response.FinSysTenantUserVO; +import com.consum.base.pojo.response.FinSysTenantVO; +import com.consum.base.pojo.response.UserVO; +import com.consum.base.service.FinSysTenantDepartmentServiceImpl; import com.consum.base.service.FinSysTenantServiceImpl; import com.consum.base.service.FinSysTenantUserServiceImpl; import com.consum.model.po.FinSysTenant; +import com.consum.model.po.FinSysTenantDepartment; import com.consum.model.po.FinSysTenantUser; import com.iplatform.base.ArgumentsConstants; import com.iplatform.base.service.DeptServiceImpl; @@ -25,12 +33,19 @@ import com.walker.db.page.GenericPager; import com.walker.infrastructure.utils.*; import com.walker.web.ResponseValue; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.compress.utils.Lists; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; +import java.lang.reflect.Field; import java.util.*; /** @@ -38,6 +53,7 @@ * @Author wh * @Date 2023/7/17 14:16 */ +@Api(value = "鏈烘瀯鐢ㄦ埛淇℃伅", tags = "鏈烘瀯鐢ㄦ埛淇℃伅") @RestController @RequestMapping("/pc/fin/sys/tenant/user") public class FinSysTenantUserController extends BaseController { @@ -54,6 +70,9 @@ private RoleServiceImpl roleService; + @Autowired + private FinSysTenantDepartmentServiceImpl finSysTenantDepartmentService; + @Autowired public void setUserService(UserServiceImpl userService) { @@ -63,7 +82,8 @@ private S_config sConfig; @Autowired - public FinSysTenantUserController(FinSysTenantServiceImpl finSysTenantService, FinSysTenantUserServiceImpl finSysTenantUserService, RoleServiceImpl roleService) { + public FinSysTenantUserController(FinSysTenantServiceImpl finSysTenantService, FinSysTenantUserServiceImpl finSysTenantUserService, + RoleServiceImpl roleService) { this.finSysTenantUserService = finSysTenantUserService; this.finSysTenantService = finSysTenantService; this.roleService = roleService; @@ -87,9 +107,11 @@ } GenericPager<FinSysTenantUser> pager = this.finSysTenantUserService.queryAllPageUser(param); + List<FinSysTenantUserVO> resultList = Lists.newArrayList(); List<FinSysTenantUser> datas = pager.getDatas(); if (datas.size() > 0) { for (FinSysTenantUser finSysTenantUser : datas) { + FinSysTenantUserVO userVO = new FinSysTenantUserVO(); if (finSysTenantUser.getUserPhone() != null) { // 瑙e瘑骞惰劚鏁� String tel = null; @@ -125,9 +147,38 @@ } else { finSysTenantUser.setIsSupplier("鍚�"); } + BeanUtils.copyProperties(finSysTenantUser, userVO); + Long sysDeptId = finSysTenantUser.getSysDeptId(); + FinSysTenantDepartment department = finSysTenantDepartmentService.getById(sysDeptId); + if (Objects.nonNull(department)) { + userVO.setSysDeptName(department.getName()); + } + resultList.add(userVO); } } + + try { + Field fieldDatas = GenericPager.class.getDeclaredField("datas"); +// fieldDatas.setAccessible(true); +// fieldDatas.set(pager, resultList); + ReflectUtil.setFieldValue(pager, fieldDatas, resultList); + + } catch (Exception e) { + e.printStackTrace(); + } return ResponseValue.success(pager); + } + + + @ApiOperation(value = "鏍规嵁鏈烘瀯id鏌ヨ鐢ㄦ埛", notes = "鏍规嵁鏈烘瀯id鏌ヨ鐢ㄦ埛") + @ApiImplicitParam(name = "tenantId", value = "鏈烘瀯id", required = true, dataType = "Long", paramType = "query") + @GetMapping("/query/user") + public ResponseValue queryUserByTenantId(Long tenantId) { + + FinSysTenantUser finSysTenantUser = new FinSysTenantUser(); + finSysTenantUser.setTenantId(String.valueOf(tenantId)); + List<FinSysTenantUser> result = finSysTenantUserService.select(finSysTenantUser); + return ResponseValue.success(result); } @@ -159,16 +210,15 @@ user.setUpdateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis())); user.setUpdateBy(this.getCurrentUser().getUser_name()); //user.setStatus(1);// 0绂佺敤 1鍚敤 - user.setIsDelete(0);// 鏄惁鍒犻櫎 0鏄� 1鍚� + user.setIsDelete(0); user.setSysUserId(NumberGenerator.getLongSequenceNumber()); // 鍔犲瘑鎵嬫満鍙� String key = PlatformRSAUtils.AES_KEY; - String pwdPhone = ""; + String encPhone = ""; if (user.getUserPhone() != null) { - pwdPhone = AESUtils.encryptStrAES(user.getUserPhone(), key); + encPhone = AESUtils.encryptStrAES(user.getUserPhone(), key); } - user.setUserPhone(pwdPhone); - user.setIsDelete(1); + user.setUserPhone(encPhone); //鎬庝箞鑾峰彇宸︿晶鏈烘瀯鏍戞暟鎹� user.setSysDeptId(3L); //瀵瑰簲骞冲彴鏈烘瀯id 榛樿涓哄钩鍙扮鐞� this.finSysTenantUserService.insert(user); @@ -182,7 +232,7 @@ userCore.setNick_name(user.getUserName()); //鐢ㄦ埛绫诲瀷 鍏堥粯璁よ缃负2 userCore.setUser_type(2); - userCore.setPhonenumber(pwdPhone); + userCore.setPhonenumber(encPhone); userCore.setSex(user.getSex().toString()); //鍒濆鍖栧瘑鐮� 123456 String pws = this.getArgumentVariable(ArgumentsConstants.KEY_SECURITY_PASSWORD_INIT).getStringValue(); @@ -229,8 +279,8 @@ } + public static class ImportUserParam { - public static class ImportUserParam{ @ExcelProperty("鐢ㄦ埛濮撳悕") private String userName; @ExcelProperty("鐢ㄦ埛缂栧彿") @@ -249,42 +299,55 @@ public String getUserName() { return userName; } + public void setUserName(String userName) { this.userName = userName; } + public String getUserCode() { return userCode; } + public void setUserCode(String userCode) { this.userCode = userCode; } + public String getUserPhone() { return userPhone; } + public void setUserPhone(String userPhone) { this.userPhone = userPhone; } + public Integer getSex() { return sex; } + public void setSex(Integer sex) { this.sex = sex; } + public String getEmail() { return email; } + public void setEmail(String email) { this.email = email; } + public Long getSeq() { return seq; } + public void setSeq(Long seq) { this.seq = seq; } + public String getRoleName() { return roleName; } + public void setRoleName(String roleName) { this.roleName = roleName; } @@ -296,35 +359,35 @@ * @Date 2023/10/12 15:56 */ @PostMapping("/import") - public ResponseValue importUser(@RequestParam String tenantId,@RequestParam String tenantCode,MultipartFile file) throws IOException { + public ResponseValue importUser(@RequestParam String tenantId, @RequestParam String tenantCode, MultipartFile file) throws IOException { String originalFilename = file.getOriginalFilename(); - if (!"xls".equals(originalFilename.substring(originalFilename.lastIndexOf(".") + 1))){ + if (!"xls".equals(originalFilename.substring(originalFilename.lastIndexOf(".") + 1))) { return ResponseValue.error("鏂囦欢鏍煎紡鏈夎!"); } S_user_core currentUser = this.getCurrentUser(); - if (currentUser==null){ + if (currentUser == null) { return ResponseValue.error("褰撳墠鐧诲綍鐢ㄦ埛涓虹┖"); } - if (StringUtils.isEmpty(tenantId)||StringUtils.isEmpty(tenantCode)){ + if (StringUtils.isEmpty(tenantId) || StringUtils.isEmpty(tenantCode)) { return ResponseValue.error("娣诲姞鏃惰閫夋嫨鍖哄幙"); } List<S_role> roles = this.roleService.select(new S_role()); ArrayList<FinSysTenantUser> finSysTenantUsers = new ArrayList<>(); - EasyExcel.read(file.getInputStream(), ImportUserParam.class, new AnalysisEventListener<ImportUserParam>(){ + EasyExcel.read(file.getInputStream(), ImportUserParam.class, new AnalysisEventListener<ImportUserParam>() { @Override public void invoke(ImportUserParam data, AnalysisContext context) { - if (StringUtils.isEmpty(data.getUserName()) || StringUtils.isEmpty(data.getUserCode()) || StringUtils.isEmpty(data.getUserPhone()) || null==data.getSex() - || StringUtils.isEmpty(data.getEmail()) || null==data.getSeq() || StringUtils.isEmpty(data.getRoleName())){ + if (StringUtils.isEmpty(data.getUserName()) || StringUtils.isEmpty(data.getUserCode()) || StringUtils.isEmpty(data.getUserPhone()) + || null == data.getSex() || StringUtils.isEmpty(data.getEmail()) || null == data.getSeq() || StringUtils.isEmpty(data.getRoleName())) { throw new ImportUserParamVerifyException("鍗曞厓鏍间笉鑳戒负绌�!"); } //鏍规嵁鍛樺伐缂栧彿鏌ヨ锛屽鏋滃瓨鍦ㄥ垯鎻愮ず - if ( finSysTenantUserService.getByUserCode(data.getUserCode()) > 0) { + if (finSysTenantUserService.getByUserCode(data.getUserCode()) > 0) { throw new ImportUserParamVerifyException("鍛樺伐缂栧彿涓虹┖鎴栧凡瀛樺湪!"); } - if (data.getSex()<1&&data.getSex()>0){ + if (data.getSex() < 1 && data.getSex() > 0) { throw new ImportUserParamVerifyException("鎬у埆鐮佸彧鑳戒负 0 鎴� 1"); } FinSysTenantUser user = new FinSysTenantUser(); @@ -351,30 +414,34 @@ user.setRemark("鎵归噺瀵煎叆"); // 鍔犲瘑鎵嬫満鍙� String key = PlatformRSAUtils.AES_KEY; - String pwdPhone = AESUtils.encryptStrAES(data.getUserPhone(), key); - user.setUserPhone(pwdPhone); + String encPhone = AESUtils.encryptStrAES(data.getUserPhone(), key); + user.setUserPhone(encPhone); user.setIsDelete(1); //鎬庝箞鑾峰彇宸︿晶鏈烘瀯鏍戞暟鎹� user.setSysDeptId(3L); //瀵瑰簲骞冲彴鏈烘瀯id 榛樿涓哄钩鍙扮鐞� finSysTenantUsers.add(user); } + @Override public void doAfterAllAnalysed(AnalysisContext context) { } + @Override public void onException(Exception exception, AnalysisContext context) throws Exception { - if (exception!=null){ + if (exception != null) { // 濡傛灉鏄煇涓�涓崟鍏冩牸鐨勮浆鎹㈠紓甯� 鑳借幏鍙栧埌鍏蜂綋琛屽彿 灏佽鏃跺紓甯� if (exception instanceof ExcelDataConvertException) { - ExcelDataConvertException excelDataConvertException = (ExcelDataConvertException)exception; - logger.error("绗瑊}琛岋紝绗瑊}鍒楄В鏋愬紓甯革紝鏁版嵁涓�:{}",excelDataConvertException.getRowIndex(), - excelDataConvertException.getColumnIndex()+1, excelDataConvertException.getCellData().getStringValue()); - throw new IllegalStateException("绗�"+(excelDataConvertException.getRowIndex()+1)+"琛岋紝绗�"+(excelDataConvertException.getColumnIndex()+1)+"鍒楄В鏋愬紓甯革紝寮傚父鏁版嵁涓�:[ "+excelDataConvertException.getCellData().getStringValue()+" ]"); + ExcelDataConvertException excelDataConvertException = (ExcelDataConvertException) exception; + logger.error("绗瑊}琛岋紝绗瑊}鍒楄В鏋愬紓甯革紝鏁版嵁涓�:{}", excelDataConvertException.getRowIndex(), excelDataConvertException.getColumnIndex() + 1, + excelDataConvertException.getCellData().getStringValue()); + throw new IllegalStateException( + "绗�" + (excelDataConvertException.getRowIndex() + 1) + "琛岋紝绗�" + (excelDataConvertException.getColumnIndex() + 1) + "鍒楄В鏋愬紓甯革紝寮傚父鏁版嵁涓�:[ " + + excelDataConvertException.getCellData().getStringValue() + " ]"); } - if (exception instanceof ImportUserParamVerifyException){ - throw new IllegalStateException("绗�"+context.readSheetHolder().getRowIndex()+"琛�, 瑙f瀽閿欒:[ "+ exception.getMessage()+" ]"); + if (exception instanceof ImportUserParamVerifyException) { + throw new IllegalStateException("绗�" + context.readSheetHolder().getRowIndex() + "琛�, 瑙f瀽閿欒:[ " + exception.getMessage() + " ]"); } throw exception; } @@ -390,7 +457,7 @@ * 鎵归噺鎻掑叆鐢ㄦ埛琛ㄥ拰骞冲彴鐢ㄦ埛琛� */ @Transactional(rollbackFor = Exception.class) - public void insertUserAndUserCoreBatch(List<FinSysTenantUser> finSysTenantUsers){ + public void insertUserAndUserCoreBatch(List<FinSysTenantUser> finSysTenantUsers) { ArrayList<S_user_core> sUserCores = new ArrayList<>(); for (FinSysTenantUser user : finSysTenantUsers) { // 鎻掑叆骞冲彴鐢ㄦ埛 @@ -447,9 +514,15 @@ this.finSysTenantUserService.execInsertRoleUserList(finSysTenantUsers); } - public static class ImportUserParamVerifyException extends RuntimeException{ - public ImportUserParamVerifyException(){super();} - public ImportUserParamVerifyException(String message){super(message);} + public static class ImportUserParamVerifyException extends RuntimeException { + + public ImportUserParamVerifyException() { + super(); + } + + public ImportUserParamVerifyException(String message) { + super(message); + } } @@ -465,11 +538,11 @@ return ResponseValue.error("鍙傛暟涓虹┖"); } String key = PlatformRSAUtils.AES_KEY; - String pwdPhone = ""; + String encPhone = ""; if (user.getUserPhone() != null) { - pwdPhone = AESUtils.encryptStrAES(user.getUserPhone(), key); + encPhone = AESUtils.encryptStrAES(user.getUserPhone(), key); } - user.setUserPhone(pwdPhone); + user.setUserPhone(encPhone); // 1.鏇存柊绯荤粺鐢ㄦ埛 FIN_SYS_TENANT_USER finSysTenantUserService.update(user); // 2.鏇存柊骞冲彴鐢ㄦ埛 S_USER_CORE @@ -593,8 +666,7 @@ } /** - * 寰楀埌 褰撳墠鐧诲綍鐢ㄦ埛鐨勪俊鎭� - * 澧炲姞 鐖剁被鏈烘瀯鐨刢ode + * 寰楀埌 褰撳墠鐧诲綍鐢ㄦ埛鐨勪俊鎭� 澧炲姞 鐖剁被鏈烘瀯鐨刢ode * * @param * @return @@ -701,10 +773,10 @@ // 鍔犲瘑鎵嬫満鍙� String key = PlatformRSAUtils.AES_KEY; String userPhone = user.getUserPhone(); - String pwdPhone = ""; + String encPhone = ""; if (userPhone != null) { - pwdPhone = AESUtils.encryptStrAES(userPhone, key); - user.setUserPhone(pwdPhone); + encPhone = AESUtils.encryptStrAES(userPhone, key); + user.setUserPhone(encPhone); } this.finSysTenantUserService.insert(user); @@ -798,12 +870,12 @@ updUser.setEmail(user.getEmail()); updUser.setUserName(user.getUserName()); updUser.setSex(user.getSex()); - String pwdPhone = ""; + String encPhone = ""; if (user.getUserPhone() != null) { String key = PlatformRSAUtils.AES_KEY; - pwdPhone = AESUtils.encryptStrAES(user.getUserPhone(), key); + encPhone = AESUtils.encryptStrAES(user.getUserPhone(), key); } - updUser.setUserPhone(pwdPhone); + updUser.setUserPhone(encPhone); // 1.鏇存柊绯荤粺鐢ㄦ埛 FIN_SYS_TENANT_USER finSysTenantUserService.update(updUser); // 2.鏇存柊骞冲彴鐢ㄦ埛 S_USER_CORE @@ -875,4 +947,55 @@ // 2. 淇敼骞冲彴鐢ㄦ埛锛堜笉鐢ㄤ慨鏀癸級 return ResponseValue.success(1); } + + @ApiOperation(value = "鏍规嵁鏈烘瀯id鏌ヨ閮ㄩ棬涓殑鐢ㄦ埛", notes = "鏍规嵁鏈烘瀯id鏌ヨ閮ㄩ棬涓殑鐢ㄦ埛") + @ApiImplicitParams({ + @ApiImplicitParam(name = "agencyId", value = "鏈烘瀯id", required = true, dataType = "Long", paramType = "query") + }) + @GetMapping("/select/department") + public ResponseValue selectDepartment(Long agencyId) { + FinSysTenantVO finSysTenantVO = new FinSysTenantVO(); + + FinSysTenant finSysTenant = new FinSysTenant(); + finSysTenant.setId(agencyId); + FinSysTenant sysTenant = finSysTenantService.select(finSysTenant).get(0); + finSysTenantVO.setId(sysTenant.getId()); + finSysTenantVO.setName(sysTenant.getName()); + finSysTenantVO.setType("tenant"); + // 閮ㄩ棬 + FinSysTenantDepartment finSysTenantDepartment = new FinSysTenantDepartment(); + finSysTenantDepartment.setTenantId(agencyId); + List<FinSysTenantDepartment> tenantDepartmentList = finSysTenantDepartmentService.select(finSysTenantDepartment); + List<DepartmentVO> departmentVOList = Lists.newArrayList(); + tenantDepartmentList.forEach(department -> { + DepartmentVO departmentVO = new DepartmentVO(); + //鐢ㄦ埛 + Long id = department.getId(); + departmentVO.setId(id); + departmentVO.setName(department.getName()); + departmentVO.setType("department"); + + String sql = "SELECT SYS_USER_ID,USER_NAME FROM " + + "fin_sys_tenant_user " + + "WHERE SYS_DEPT_ID =:deptId AND SYS_USER_ID NOT IN(SELECT MANAGER_ID FROM base_warehouse_manager)"; + Map<String, Object> param = new HashMap<>(); + param.put("deptId", id); + List<Map<String, Object>> select = finSysTenantUserService.select(sql, param, new MapperUtil()); + List<UserVO> userVOList = Lists.newArrayList(); + select.forEach(user -> { + UserVO userVO = new UserVO(); + userVO.setId((Long) user.get("sysUserId")); + userVO.setName(user.get("userName").toString()); + userVO.setType("user"); + userVOList.add(userVO); + }); + departmentVO.setChildren(userVOList); + departmentVOList.add(departmentVO); + }); + finSysTenantVO.setChildren(departmentVOList); + + return ResponseValue.success(finSysTenantVO); + } + + } -- Gitblit v1.9.1