|
@ -369,22 +369,14 @@ public class DailyReportUploadService {
|
|
|
for (BaseDailyReportDetailDO tmp :detailDOList){
|
|
|
tmp.setReportId(dailyReportUploadDO.getId());
|
|
|
if (tmp.isReportItemFlag()==true){//新则自建关联项目
|
|
|
List<BaseDailyReportItemMembersDO> membersDOS = new ArrayList<>();
|
|
|
|
|
|
if (!createItemUser.contains(doctorId)){
|
|
|
throw new Exception("您无权创建自定义项目,请联系管理员");
|
|
|
}
|
|
|
String title = tmp.getReportItemTitle();
|
|
|
BaseDailyReportItemDO reportItemDO = reportItemDao.findByTitleAndDeptAndProjectCode(title,doctorHospitalDOS.get(0).getDeptCode(),tmp.getProjectCode());
|
|
|
if (null!=reportItemDO){
|
|
|
BaseDailyReportItemMembersDO membersDOTmp = reportItemMembersDao.findMembers(reportItemDO.getId(),doctorId);
|
|
|
if (null==membersDOTmp){
|
|
|
membersDOTmp = new BaseDailyReportItemMembersDO();
|
|
|
membersDOTmp.setReportItemId(reportItemDO.getId());
|
|
|
membersDOTmp.setUserId(doctorId);
|
|
|
membersDOTmp.setUserName(doctorDO.getName());
|
|
|
membersDOTmp.setDel(1);
|
|
|
reportItemMembersDao.save(membersDOTmp);
|
|
|
}
|
|
|
}else {
|
|
|
if (null==reportItemDO){
|
|
|
reportItemDO = new BaseDailyReportItemDO();
|
|
|
reportItemDO.setState(0);
|
|
|
reportItemDO.setDel(1);
|
|
@ -403,12 +395,27 @@ public class DailyReportUploadService {
|
|
|
reportItemDO.setDeptName(doctorHospitalDOS.get(0).getDeptName());
|
|
|
}
|
|
|
reportItemDO = reportItemDao.save(reportItemDO);
|
|
|
BaseDailyReportItemMembersDO membersDOTmp = new BaseDailyReportItemMembersDO();
|
|
|
membersDOTmp.setReportItemId(reportItemDO.getId());
|
|
|
membersDOTmp.setUserId(doctorId);
|
|
|
membersDOTmp.setUserName(doctorDO.getName());
|
|
|
membersDOTmp.setDel(1);
|
|
|
reportItemMembersDao.save(membersDOTmp);
|
|
|
}
|
|
|
sql = " select distinct doc.id,doc.name from base_doctor doc inner join base_doctor_hospital dh " +
|
|
|
"on doc.id = dh.doctor_code and doc.del=1 and dh.del=1 " +
|
|
|
"where dh.dept_code='"+doctorHospitalDOS.get(0).getDeptCode()+"' ";
|
|
|
List<Map<String,Object>> membersList = jdbcTemplate.queryForList(sql);
|
|
|
for (Map<String,Object> member:membersList){
|
|
|
String docTmp = member.get("id").toString();
|
|
|
String docNameTmp = member.get("name").toString();
|
|
|
String reportItemId = reportItemDO.getId();
|
|
|
BaseDailyReportItemMembersDO membersDOTmp = reportItemMembersDao.findMembers(reportItemId,docTmp);
|
|
|
if (null==membersDOTmp){
|
|
|
membersDOTmp = new BaseDailyReportItemMembersDO();
|
|
|
membersDOTmp.setReportItemId(reportItemId);
|
|
|
membersDOTmp.setUserId(docTmp);
|
|
|
membersDOTmp.setUserName(docNameTmp);
|
|
|
membersDOTmp.setDel(1);
|
|
|
membersDOS.add(membersDOTmp);
|
|
|
}
|
|
|
}
|
|
|
if(membersDOS.size()>0){
|
|
|
reportItemMembersDao.save(membersDOS);
|
|
|
}
|
|
|
tmp.setReportItemId(reportItemDO.getId());
|
|
|
tmp.setReportItemName(title);
|
|
@ -3751,6 +3758,40 @@ public class DailyReportUploadService {
|
|
|
return PageEnvelop.getSuccessListWithPage("success",result,page,pageSize,count);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 初始化项目成员
|
|
|
* @return
|
|
|
*/
|
|
|
public String initItemMembers(){
|
|
|
String sql = " select id,dept from base_daily_report_item where del=1 ";
|
|
|
List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
|
|
|
List<BaseDailyReportItemMembersDO> membersDOS = new ArrayList<>();
|
|
|
for (Map<String,Object> tmp:list){
|
|
|
sql = " select distinct doc.id,doc.name from base_doctor doc inner join base_doctor_hospital dh " +
|
|
|
"on doc.id = dh.doctor_code and doc.del=1 and dh.del=1 " +
|
|
|
"where dh.dept_code='"+tmp.get("dept").toString()+"' ";
|
|
|
List<Map<String,Object>> membersList = jdbcTemplate.queryForList(sql);
|
|
|
for (Map<String,Object> member:membersList){
|
|
|
String docTmp = member.get("id").toString();
|
|
|
String docNameTmp = member.get("name").toString();
|
|
|
String reportItemId = tmp.get("id").toString();
|
|
|
BaseDailyReportItemMembersDO membersDOTmp = reportItemMembersDao.findMembers(reportItemId,docTmp);
|
|
|
if (null==membersDOTmp){
|
|
|
membersDOTmp = new BaseDailyReportItemMembersDO();
|
|
|
membersDOTmp.setReportItemId(reportItemId);
|
|
|
membersDOTmp.setUserId(docTmp);
|
|
|
membersDOTmp.setUserName(docNameTmp);
|
|
|
membersDOTmp.setDel(1);
|
|
|
membersDOS.add(membersDOTmp);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
if(membersDOS.size()>0){
|
|
|
reportItemMembersDao.save(membersDOS);
|
|
|
}
|
|
|
return "success";
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 导出项目计划周报月报用时情况
|
|
|
* @param user
|