陈昶聿
4 小时以前 1a38082352708692a339a8b43db79bc349be07f1
smartor/src/main/java/com/smartor/service/impl/PatSatisfactionServiceImpl.java
@@ -5,7 +5,11 @@
import java.util.*;
import java.util.stream.Collectors;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.entity.SysUserDept;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.utils.Arith;
import com.ruoyi.common.utils.ArrayListUtils;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.DtoConversionUtils;
import com.smartor.domain.*;
@@ -19,6 +23,8 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.smartor.service.IPatSatisfactionService;
import static com.ruoyi.common.utils.SecurityUtils.getLoginUser;
/**
 * 患者满意度Service业务层处理
@@ -101,6 +107,50 @@
    }
    /**
     * 新增患者满意度
     *
     * @param patSatisfactions 患者满意度
     * @return 结果
     */
    @Override
    public int batchInsert(List<PatSatisfaction> patSatisfactions) {
        if(CollectionUtils.isEmpty(patSatisfactions)){
            return 0;
        }
        List<Long> ids = patSatisfactions.stream().map(PatSatisfaction::getId).
                distinct().collect(Collectors.toList());
        List<PatSatisfaction> patSatisfactionsOld = new ArrayList<>();
        PatSatisfaction patSatisfactionVo = new PatSatisfaction();
        patSatisfactionVo.setIds(ids);
        patSatisfactionsOld = patSatisfactionMapper.selectPatSatisfactionList(patSatisfactionVo);
        Map<String, List<PatSatisfaction>> maps = ArrayListUtils.splitListsById(patSatisfactions,
                patSatisfactionsOld, PatSatisfaction::getId);
        //只在patSatisfactions的数据,执行新增操作
        List<PatSatisfaction> addItems = maps.get("onlyIn1");
        //只在patSatisfactionsOld的数据,执行删除操作
//        List<PatSatisfaction> delItems = maps.get("onlyIn2");
        //重叠的数据,执行更新操作
        List<PatSatisfaction> editItems = maps.get("common");
        Integer count = 0;
        LoginUser loginUser = getLoginUser();
        SysUser user = loginUser.getUser();
        for (PatSatisfaction patSatisfaction0 : editItems) {
            patSatisfaction0.setUpdateBy(user.getNickName());
            patSatisfaction0.setUpdateTime(DateUtils.getNowDate());
            count = count + patSatisfactionMapper.updatePatSatisfaction(patSatisfaction0);
        }
        for (PatSatisfaction patSatisfaction1 : addItems) {
            patSatisfaction1.setCreateBy(user.getNickName());
            patSatisfaction1.setOrgid(user.getOrgid());
            patSatisfaction1.setCreateTime(DateUtils.getNowDate());
            patSatisfaction1.setUpdateTime(DateUtils.getNowDate());
            count = count + patSatisfactionMapper.insertPatSatisfaction(patSatisfaction1);
        }
        return count;
    }
    /**
     * 修改患者满意度
     *
     * @param patSatisfaction 患者满意度