baifucheng hai 3 meses
pai
achega
29b4c1243e

+ 9 - 0
ruoyi-info/src/main/java/com/ruoyi/info/nursing/service/INursingCertificateService.java

@@ -9,6 +9,8 @@ import com.ruoyi.common.core.domain.PageQuery;
 import java.util.Collection;
 import java.util.List;
 
+import javax.validation.constraints.NotNull;
+
 /**
  * 护工从业证书信息Service接口
  *
@@ -82,4 +84,11 @@ public interface INursingCertificateService {
      */
     List<NursingCertificate> queryListByWorkerId(Long workerId);
 
+
+    /**
+     * 根据workerId删除
+     *
+     * @param workerId
+     */
+    void deleteByWorkerId(Long workerId);
 }

+ 7 - 0
ruoyi-info/src/main/java/com/ruoyi/info/nursing/service/impl/NursingCertificateServiceImpl.java

@@ -14,6 +14,7 @@ import com.ruoyi.common.core.domain.PageQuery;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.BeanCopyUtils;
+import com.ruoyi.common.utils.CollectionUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.info.nursing.domain.NursingCertificate;
 import com.ruoyi.info.nursing.domain.bo.NursingCertificateBo;
@@ -158,4 +159,10 @@ public class NursingCertificateServiceImpl implements INursingCertificateService
         return baseMapper.selectList(lqw);
     }
 
+    @Override
+    public void deleteByWorkerId(Long workerId) {
+        List<NursingCertificate> list = this.queryListByWorkerId(workerId);
+        baseMapper.deleteBatchIds(CollectionUtils.convertList(list, NursingCertificate::getId));
+    }
+
 }

+ 31 - 3
ruoyi-info/src/main/java/com/ruoyi/info/nursing/service/impl/NursingWorkerServiceImpl.java

@@ -21,6 +21,7 @@ import com.ruoyi.info.nursing.domain.bo.NursingWorkerBo;
 import com.ruoyi.info.nursing.domain.vo.NursingCertificateVo;
 import com.ruoyi.info.nursing.domain.vo.NursingWorkerVo;
 import com.ruoyi.info.nursing.exception.NursingWorkerExceptionEnum;
+import com.ruoyi.info.nursing.mapper.NursingCertificateMapper;
 import com.ruoyi.info.nursing.mapper.NursingWorkerMapper;
 import com.ruoyi.info.nursing.service.INursingCertificateService;
 import com.ruoyi.info.nursing.service.INursingWorkerService;
@@ -41,6 +42,8 @@ public class NursingWorkerServiceImpl implements INursingWorkerService {
 
     private final NursingWorkerMapper baseMapper;
 
+    private final NursingCertificateMapper nursingCertificateMapper;
+
     private final INursingCertificateService nursingCertificateService;
 
     /**
@@ -134,11 +137,13 @@ public class NursingWorkerServiceImpl implements INursingWorkerService {
             bo.setId(add.getId());
         }
 
+        // 从业证书信息添加
         if (ObjectUtil.isNotEmpty(bo.getNursingCertificateList())) {
             for(NursingCertificateBo nursingCertificateBo : bo.getNursingCertificateList()){
                 nursingCertificateBo.setWorkerId(add.getId());
             }
-//            nursingCertificateService.insertByBo(nursingCertificateBo);
+            List<NursingCertificate> nursingCertificateList = BeanCopyUtils.copyList(bo.getNursingCertificateList(), NursingCertificate.class);
+            nursingCertificateMapper.insertBatch(nursingCertificateList);
         }
         return flag;
     }
@@ -149,12 +154,28 @@ public class NursingWorkerServiceImpl implements INursingWorkerService {
      * @param bo 护工信息
      * @return 结果
      */
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public Boolean updateByBo(NursingWorkerBo bo) {
         NursingWorker nursingWorker = baseMapper.selectById(bo.getId());
         NursingWorker update = BeanCopyUtils.copy(bo, nursingWorker);
         validEntityBeforeSave(update);
-        return baseMapper.updateById(update) > 0;
+
+        // 修改护工信息
+        baseMapper.updateById(update);
+
+        // 删除旧从业证书信息
+        nursingCertificateService.deleteByWorkerId(bo.getId());
+
+        // 新增从业证书信息
+        if (ObjectUtil.isNotEmpty(bo.getNursingCertificateList())) {
+            for (NursingCertificateBo nursingCertificateBo : bo.getNursingCertificateList()) {
+                nursingCertificateBo.setWorkerId(bo.getId());
+            }
+            List<NursingCertificate> nursingCertificateList = BeanCopyUtils.copyList(bo.getNursingCertificateList(), NursingCertificate.class);
+            nursingCertificateMapper.insertBatch(nursingCertificateList);
+        }
+        return true;
     }
 
     /**
@@ -172,12 +193,19 @@ public class NursingWorkerServiceImpl implements INursingWorkerService {
      * @param ids 需要删除的护工信息主键
      * @return 结果
      */
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
         if(isValid){
             //TODO 做一些业务上的校验,判断是否需要校验
         }
-        return baseMapper.deleteBatchIds(ids) > 0;
+        baseMapper.deleteBatchIds(ids);
+
+        for (Long id : ids) {
+            // 删除从业证书信息
+            nursingCertificateService.deleteByWorkerId(id);
+        }
+        return true;
     }
 
 }