Kaynağa Gözat

Merge remote-tracking branch 'origin/master'

ljx 4 yıl önce
ebeveyn
işleme
d354ff64c6

+ 4 - 0
src/main/java/com/imed/costaccount/model/User.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import java.io.Serializable;
 import java.util.Date;
 
+import com.fasterxml.jackson.annotation.JsonIgnore;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
@@ -40,6 +41,8 @@ public class User implements Serializable {
 	 * 账号
 	 */
 	private String account;
+
+	private String mobilePhoneNum;
 	/**
 	 * 密码(MD5加密保存)
 	 */
@@ -59,6 +62,7 @@ public class User implements Serializable {
 	/**
 	 * 删除时间,如果存在表示已删除13位时间戳
 	 */
+	@JsonIgnore
 	@TableLogic(value = "0",delval = "UNIX_TIMESTAMP(NOW()) * 1000")
 	private Long deleteTime;
 

+ 1 - 1
src/main/java/com/imed/costaccount/model/dto/DepartDTO.java

@@ -14,6 +14,6 @@ public class DepartDTO {
     @NotNull(message = "责任中心id不能为空")
     private Integer responsibilityId;
 
-    @NotEmpty(message = "选择部门不能为空")
+//    @NotEmpty(message = "选择部门不能为空")
     private List<Integer> departmentIds;
 }

+ 2 - 2
src/main/java/com/imed/costaccount/model/dto/ResponsibilitySaveDTO.java

@@ -32,11 +32,11 @@ public class ResponsibilitySaveDTO {
     @ApiModelProperty(name = "responsibilityType",value = "收益类型 1. 收费中心,2.成本(费用)中心")
     private Integer responsibilityType;
 
-    @NotNull(message = "分摊级别不能为空")
+//    @NotNull(message = "分摊级别不能为空")
     @ApiModelProperty(name = "shareLevel",value = "分摊级别(分摊接口中获取,暂时可写死)")
     private Integer shareLevel;
 
-    @NotNull(message = "分摊级别名称不能为空")
+//    @NotNull(message = "分摊级别名称不能为空")
     @ApiModelProperty(name = "shareName",value = "分摊级别名称(分摊接口中获取,暂时可写死)")
     private String shareName;
 

+ 3 - 0
src/main/java/com/imed/costaccount/service/ResponsibilityService.java

@@ -5,6 +5,7 @@ import com.imed.costaccount.model.User;
 import com.imed.costaccount.model.dto.ResponsibilityEditDTO;
 import com.imed.costaccount.model.dto.ResponsibilitySaveDTO;
 import com.imed.costaccount.model.vo.CenterDepartmentVO;
+import com.imed.costaccount.model.vo.CommonVO;
 import com.imed.costaccount.model.vo.CostResponsibilityVO;
 import com.imed.costaccount.model.Responsibility;
 
@@ -52,5 +53,7 @@ public interface ResponsibilityService extends IService<Responsibility> {
      * @return
      */
     List<CenterDepartmentVO> getParentSon(User user);
+
+    List<CommonVO> getParentList(User user);
 }
 

+ 5 - 2
src/main/java/com/imed/costaccount/service/impl/ResponsibilityDepartmentServiceImpl.java

@@ -70,8 +70,11 @@ public class ResponsibilityDepartmentServiceImpl
         if (CollUtil.isNotEmpty(list)) {
             this.removeByIds(list);
         }
-
-        List<ResponsibilityDepartment> data = departDTO.getDepartmentIds().stream().map(item -> {
+        List<Integer> departmentIds = departDTO.getDepartmentIds();
+        if (CollUtil.isEmpty(departmentIds)) {
+            return ;
+        }
+        List<ResponsibilityDepartment> data = departmentIds.stream().map(item -> {
             ResponsibilityDepartment centerDepart = new ResponsibilityDepartment();
             return centerDepart.setResponsibilityId(responsibilityId).setCreateTime(new Date().getTime()).setHospId(hospId)
                     .setDepartmentId(item);

+ 36 - 16
src/main/java/com/imed/costaccount/service/impl/ResponsibilityServiceImpl.java

@@ -9,6 +9,7 @@ import com.imed.costaccount.model.User;
 import com.imed.costaccount.model.dto.ResponsibilityEditDTO;
 import com.imed.costaccount.model.dto.ResponsibilitySaveDTO;
 import com.imed.costaccount.model.vo.CenterDepartmentVO;
+import com.imed.costaccount.model.vo.CommonVO;
 import com.imed.costaccount.model.vo.CostResponsibilityVO;
 import com.imed.costaccount.utils.BeanUtil;
 import lombok.extern.slf4j.Slf4j;
@@ -22,10 +23,7 @@ import com.imed.costaccount.service.ResponsibilityService;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Slf4j
@@ -35,8 +33,9 @@ public class ResponsibilityServiceImpl extends ServiceImpl<ResponsibilityMapper,
 
     /**
      * 责任中心列表不分页
-     * @return
+     *
      * @param user
+     * @return
      */
     @Override
     public List<CostResponsibilityVO> getList(User user) {
@@ -46,7 +45,7 @@ public class ResponsibilityServiceImpl extends ServiceImpl<ResponsibilityMapper,
                         .eq(Responsibility::getHospId, user.getHospId())
         );
         if (CollUtil.isEmpty(list)) {
-            throw new CostException(ErrorCodeEnum.DATA_NOT_EXIST);
+            return Collections.emptyList();
         }
         // 拷贝组合
         List<CostResponsibilityVO> costResponsibilityVOS = BeanUtil.convertList(list, CostResponsibilityVO.class);
@@ -65,11 +64,12 @@ public class ResponsibilityServiceImpl extends ServiceImpl<ResponsibilityMapper,
 
     /**
      * 新增责任中心
+     *
      * @param responsibilitySaveDTO {@link ResponsibilitySaveDTO }
      * @param user
      */
     @Override
-    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
+    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
     public void addResponsibilityCenter(ResponsibilitySaveDTO responsibilitySaveDTO, User user) {
         // 如果是一级分类parentId为0
         Integer id = responsibilitySaveDTO.getId();
@@ -87,8 +87,9 @@ public class ResponsibilityServiceImpl extends ServiceImpl<ResponsibilityMapper,
         }
 
         Responsibility center = BeanUtil.convertObj(responsibilitySaveDTO, Responsibility.class);
-        center.setCreateTime(new Date().getTime()).setId(null).setParentId(id);
+        center.setCreateTime(new Date().getTime()).setId(null).setParentId(id).setHospId(user.getHospId());
         if (id == 0) {
+            center.setResponsibilityLevel(1);
             center.setShareLevel(0);
             center.setShareName("");
         }
@@ -98,11 +99,12 @@ public class ResponsibilityServiceImpl extends ServiceImpl<ResponsibilityMapper,
 
     /**
      * 编辑责任中心
+     *
      * @param responsibilityEditDTO {@link ResponsibilityEditDTO}
      * @param user
      */
     @Override
-    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
+    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
     public void editResponsibility(ResponsibilityEditDTO responsibilityEditDTO, User user) {
         Integer id = responsibilityEditDTO.getId();
         Responsibility center = this.getById(id);
@@ -111,19 +113,20 @@ public class ResponsibilityServiceImpl extends ServiceImpl<ResponsibilityMapper,
         }
         // 如果修改父节点节点(只有两层的情况)
         if (center.getResponsibilityLevel() == 1) {
-            this.updateParent(responsibilityEditDTO,center);
+            this.updateParent(responsibilityEditDTO, center);
             return;
         }
 
-        this.updateCurrent(responsibilityEditDTO,center);
+        this.updateCurrent(responsibilityEditDTO, center);
     }
 
     /**
      * 修的是父节点
+     *
      * @param dto
      * @param responsibility
      */
-    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
+    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
     public void updateParent(ResponsibilityEditDTO dto, Responsibility responsibility) {
         // 删除原有的父节点数据
         Integer id = dto.getId();
@@ -141,10 +144,11 @@ public class ResponsibilityServiceImpl extends ServiceImpl<ResponsibilityMapper,
 
     /**
      * 修改当前的节点
+     *
      * @param responsibility
      * @param dto
      */
-    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
+    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
     public void updateCurrent(ResponsibilityEditDTO dto, Responsibility responsibility) {
         // 删除原有的父节点数据
         Integer id = dto.getId();
@@ -162,7 +166,7 @@ public class ResponsibilityServiceImpl extends ServiceImpl<ResponsibilityMapper,
      * @param id
      */
     @Override
-    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
+    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
     public void deleteCenter(Integer id) {
         Responsibility center = this.getById(id);
         if (Objects.isNull(center)) {
@@ -171,16 +175,17 @@ public class ResponsibilityServiceImpl extends ServiceImpl<ResponsibilityMapper,
         Integer parentId = center.getParentId();
         if (parentId == 0) {
             this.deleteAllSonCenter(id);
-            return ;
+            return;
         }
         this.removeById(id);
     }
 
     /**
      * 删除父节点以及所有子节点责任中心
+     *
      * @param id
      */
-    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
+    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
     public void deleteAllSonCenter(Integer id) {
         this.removeById(id);
         this.remove(new LambdaQueryWrapper<Responsibility>().eq(Responsibility::getParentId, id));
@@ -226,4 +231,19 @@ public class ResponsibilityServiceImpl extends ServiceImpl<ResponsibilityMapper,
         }
         return list;
     }
+
+
+    @Override
+    public List<CommonVO> getParentList(User user) {
+        List<Responsibility> list = this.list(
+                new LambdaQueryWrapper<Responsibility>().select(Responsibility::getId, Responsibility::getResponsibilityName)
+                        .eq(Responsibility::getHospId, user.getHospId())
+        );
+        return list.stream().map(i -> {
+            CommonVO commonVO = new CommonVO();
+            commonVO.setId(i.getId());
+            commonVO.setName(i.getResponsibilityName());
+            return commonVO;
+        }).collect(Collectors.toList());
+    }
 }

+ 26 - 20
src/main/java/com/imed/costaccount/service/impl/UserServiceImpl.java

@@ -92,9 +92,9 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
      * @return
      */
     @Override
-    public PageUtils queryList(Integer page, Integer pageSize, Integer hospId,String name) {
+    public PageUtils queryList(Integer page, Integer pageSize, Integer hospId, String name) {
         Page<User> userPage = new Page<>(page, pageSize);
-        Page<User> pages = this.page(userPage, new QueryWrapper<User>().lambda().eq(User::getHospId, hospId).like(!StringUtils.isEmpty(name),User::getName,name));
+        Page<User> pages = this.page(userPage, new QueryWrapper<User>().lambda().eq(User::getHospId, hospId).like(!StringUtils.isEmpty(name), User::getName, name));
         List<User> records = pages.getRecords();
         List<UserVO> userVOS = BeanUtil.convertList(records, UserVO.class);
         PageUtils pageUtils = new PageUtils(pages);
@@ -110,7 +110,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
      */
     @Override
     public List<UserVO> getByUserName(String name) {
-        List<User> users = baseMapper.selectList(new QueryWrapper<User>().lambda().like(!StringUtils.isEmpty(name),User::getName,name));
+        List<User> users = baseMapper.selectList(new QueryWrapper<User>().lambda().like(!StringUtils.isEmpty(name), User::getName, name));
         List<UserVO> userVOS = BeanUtil.convertList(users, UserVO.class);
         return userVOS;
     }
@@ -121,14 +121,14 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
      * @param userDto
      */
     @Override
-    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
+    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
     public void saveUser(UserDto userDto) {
         User user = (User) SecurityUtils.getSubject().getPrincipal();
         // 医院的Id
         Integer hospId = user.getHospId();
 
         User userRequest = BeanUtil.convertObj(userDto, User.class);
-        if (StringUtils.isEmpty(userDto.getPassword())){
+        if (StringUtils.isEmpty(userDto.getPassword())) {
             throw new CostException("密码不能为空");
         }
         userRequest.setPassword(SecureUtil.md5(userDto.getPassword()));
@@ -143,18 +143,18 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
      * @param userDto
      */
     @Override
-    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
+    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
     public void updateByUser(UserDto userDto) {
         User user = baseMapper.selectOne(new QueryWrapper<User>().lambda().like(
-                !StringUtils.isEmpty(userDto.getId()),User::getId,userDto.getId()));
+                !StringUtils.isEmpty(userDto.getId()), User::getId, userDto.getId()));
         if (Objects.isNull(user)) {
             throw new CostException("用户不存在");
         }
         baseMapper.deleteById(user.getId());
-        User userRequest = BeanUtil.convertObj(user,User.class);
+        User userRequest = BeanUtil.convertObj(user, User.class);
         user.setId(null);
         user.setHospitalStatus(userDto.getHospitalStatus());
-        if (!StringUtils.isEmpty(userDto.getPassword()) ){
+        if (!StringUtils.isEmpty(userDto.getPassword())) {
             String newPassWord = SecureUtil.md5(userDto.getPassword());
             user.setPassword(newPassWord);
         }
@@ -162,12 +162,13 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
     }
 
     /**
-     *  导入用户
-     * @param list 上传的文件读取的内容
+     * 导入用户
+     *
+     * @param list        上传的文件读取的内容
      * @param currentUser 当前登录用户
      */
     @Override
-    @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
+    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
     public Result importUser(List<List<Object>> list, User currentUser) {
         // TODO: 2021/7/26 校验excel格式是否正确
         for (int i = list.size() - 1; i >= 0; i--) {
@@ -180,34 +181,39 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
         List<String> errRowNums = new ArrayList<>();
         for (int i = 0; i < list.size(); i++) {
             List<Object> data = list.get(i);
-            log.info("得到用户输入的数据为:{}",data);
+            log.info("得到用户输入的数据为:{}", data);
             User user = new User();
             user.setHospId(currentUser.getHospId());
             user.setCreateTime(System.currentTimeMillis());
             int size = data.size();
-            if (size != 3) {
+            if (size != 5) {
                 // 补充读取的null问题
-                if (size == 2) {
+                if (size == 4) {
                     data.add(StrUtil.EMPTY);
                 }
-                for (int j = 0; j < 3; j++) {
+                for (int j = 0; j < 5; j++) {
                     if (Objects.isNull(data.get(j))) {
                         data.set(j, StrUtil.EMPTY);
                     }
                 }
             }
-            for (int j = 0; j < 3; j++) {
+            for (int j = 0; j < 5; j++) {
                 String str = String.valueOf(data.get(j));
-                log.info("得到的字符串{}",str);
+                log.info("得到的字符串{}", str);
                 if (StrUtil.isBlank(str)) {
                     errRowNums.add("" + (i + 5));
                 }
                 if (j == 0) {
-                    user.setName(str);
+                    // TODO: 2021/7/27 查询到具体院区
+                    user.setHospId(8);
                 } else if (j == 1) {
+                    user.setName(str);
+                } else if (j == 2) {
                     user.setAccount(str);
-                } else {
+                } else if (j == 3) {
                     user.setPassword(SecureUtil.md5(str));
+                } else {
+                    user.setMobilePhoneNum(str);
                 }
             }
             users.add(user);

+ 5 - 6
src/main/java/com/imed/costaccount/web/ExcelController.java

@@ -49,18 +49,17 @@ public class ExcelController {
         String url = System.getProperty("java.io.tmpdir") + File.separator + uuid + File.separator + uuid + ".xls";
         FileUtil.del(FileUtil.file(url));
 
-        ExcelWriter writer = new ExcelWriter(url, "sheet0");
+        ExcelWriter writer = new ExcelWriter(url);
         // 样式
         Sheet sheet = writer.getSheet();
-        sheet.setColumnWidth(0, 20);
-
+        sheet.setDefaultColumnWidth(1000 * 256);
         // 内容
-        writer.merge(0, 1, 0, 2, "为了保证成功导入,请勿修改模板格式", false);
+        writer.merge(0, 1, 0, 4, "为了保证成功导入,请勿修改模板格式", false);
         writer.passCurrentRow();
         writer.passCurrentRow();
-        writer.merge(2, 2, 0, 2, "测试医院用户导入", false);
+        writer.merge(2, 2, 0, 4, "测试医院用户导入", false);
         writer.passCurrentRow();
-        writer.writeRow(Arrays.asList("姓名", "账户", "密码"));
+        writer.writeRow(Arrays.asList("院区","姓名", "账户", "密码","手机号码"));
 
         // 写入响应
         response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");

+ 10 - 0
src/main/java/com/imed/costaccount/web/ResponsibilityController.java

@@ -4,6 +4,7 @@ import com.imed.costaccount.common.util.Result;
 import com.imed.costaccount.model.User;
 import com.imed.costaccount.model.dto.ResponsibilityEditDTO;
 import com.imed.costaccount.model.dto.ResponsibilitySaveDTO;
+import com.imed.costaccount.model.vo.CommonVO;
 import com.imed.costaccount.model.vo.CostResponsibilityVO;
 import com.imed.costaccount.service.ResponsibilityService;
 import io.swagger.annotations.Api;
@@ -57,4 +58,13 @@ public class ResponsibilityController {
         responsibilityService.deleteCenter(id);
         return Result.ok();
     }
+
+
+    @ApiOperation("所有第一层父节点")
+    @GetMapping("/getParentList")
+    public Result getParentList() {
+        User user = (User) SecurityUtils.getSubject().getPrincipal();
+        List<CommonVO> list = responsibilityService.getParentList(user);
+        return Result.ok(list);
+    }
 }

+ 1 - 0
src/main/resources/mapper/UserMapper.xml

@@ -8,6 +8,7 @@
         <result property="id" column="id"/>
         <result property="name" column="name"/>
         <result property="account" column="account"/>
+        <result property="mobilePhoneNum" column="mobile_phone_num"/>
         <result property="password" column="password"/>
         <result property="hospId" column="hosp_id"/>
         <result property="hospitalStatus" column="hospital" />