|
@@ -1,19 +1,26 @@
|
|
|
package com.imed.costaccount.service.impl;
|
|
|
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.imed.costaccount.mapper.ResponsibilityDepartmentMapper;
|
|
|
import com.imed.costaccount.model.Responsibility;
|
|
|
import com.imed.costaccount.model.ResponsibilityDepartment;
|
|
|
import com.imed.costaccount.model.User;
|
|
|
+import com.imed.costaccount.model.dto.DepartDTO;
|
|
|
import com.imed.costaccount.model.vo.CenterDepartmentVO;
|
|
|
import com.imed.costaccount.model.vo.DepartVO;
|
|
|
import com.imed.costaccount.service.ResponsibilityDepartmentService;
|
|
|
import com.imed.costaccount.service.ResponsibilityService;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+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.stream.Collectors;
|
|
|
|
|
|
@Slf4j
|
|
|
@Service("responsibilityDepartmentService")
|
|
@@ -43,4 +50,33 @@ public class ResponsibilityDepartmentServiceImpl
|
|
|
}
|
|
|
return list;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 保存或修改责任中心对照
|
|
|
+ *
|
|
|
+ * @param departDTO
|
|
|
+ * @param user
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
|
|
|
+ public void saveCenterDepart(DepartDTO departDTO, User user) {
|
|
|
+ Integer responsibilityId = departDTO.getResponsibilityId();
|
|
|
+ Integer hospId = user.getHospId();
|
|
|
+ List<ResponsibilityDepartment> list = this.list(
|
|
|
+ new LambdaQueryWrapper<ResponsibilityDepartment>().select(ResponsibilityDepartment::getId)
|
|
|
+ .eq(ResponsibilityDepartment::getResponsibilityId, responsibilityId)
|
|
|
+ .eq(ResponsibilityDepartment::getHospId, hospId)
|
|
|
+ );
|
|
|
+ if (CollUtil.isNotEmpty(list)) {
|
|
|
+ this.removeByIds(list);
|
|
|
+ }
|
|
|
+
|
|
|
+ List<ResponsibilityDepartment> data = departDTO.getDepartmentIds().stream().map(item -> {
|
|
|
+ ResponsibilityDepartment centerDepart = new ResponsibilityDepartment();
|
|
|
+ return centerDepart.setResponsibilityId(responsibilityId).setCreateTime(new Date().getTime()).setHospId(hospId)
|
|
|
+ .setDepartmentId(item);
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+
|
|
|
+ this.saveBatch(data);
|
|
|
+ }
|
|
|
}
|