|
@ -2,7 +2,6 @@ package com.yihu.jw.dailyReport.service;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
import com.alibaba.fastjson.JSONArray;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ;
|
|
|
|
import com.yihu.jw.dailyReport.dao.*;
|
|
import com.yihu.jw.dailyReport.dao.*;
|
|
import com.yihu.jw.doctor.dao.BaseDoctorDao;
|
|
import com.yihu.jw.doctor.dao.BaseDoctorDao;
|
|
import com.yihu.jw.doctor.dao.BaseDoctorHospitalDao;
|
|
import com.yihu.jw.doctor.dao.BaseDoctorHospitalDao;
|
|
@ -10,9 +9,6 @@ import com.yihu.jw.doctor.dao.BaseDoctorRoleDao;
|
|
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
|
|
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
|
|
import com.yihu.jw.entity.base.doctor.BaseDoctorHospitalDO;
|
|
import com.yihu.jw.entity.base.doctor.BaseDoctorHospitalDO;
|
|
import com.yihu.jw.entity.base.doctor.BaseDoctorRoleDO;
|
|
import com.yihu.jw.entity.base.doctor.BaseDoctorRoleDO;
|
|
import com.yihu.jw.entity.base.wx.WxAccessTokenDO;
|
|
|
|
import com.yihu.jw.entity.base.wx.WxPushLogDO;
|
|
|
|
import com.yihu.jw.entity.base.wx.WxTemplateConfigDO;
|
|
|
|
import com.yihu.jw.entity.dailyReport.*;
|
|
import com.yihu.jw.entity.dailyReport.*;
|
|
import com.yihu.jw.entity.healthUpload.BaseDoctorMemberDO;
|
|
import com.yihu.jw.entity.healthUpload.BaseDoctorMemberDO;
|
|
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
|
|
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
|
|
@ -31,20 +27,12 @@ import com.yihu.jw.wechat.dao.WxTemplateConfigDao;
|
|
import com.yihu.jw.wechat.enterprise.EnterpriseService;
|
|
import com.yihu.jw.wechat.enterprise.EnterpriseService;
|
|
import com.yihu.jw.wechat.enterprise.dao.WxEnterpriseUserDao;
|
|
import com.yihu.jw.wechat.enterprise.dao.WxEnterpriseUserDao;
|
|
import com.yihu.jw.wechat.service.WxAccessTokenService;
|
|
import com.yihu.jw.wechat.service.WxAccessTokenService;
|
|
import jxl.Workbook;
|
|
|
|
import jxl.write.*;
|
|
import jxl.write.*;
|
|
import org.apache.commons.collections.map.HashedMap;
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.poi.ss.util.WorkbookUtil;
|
|
|
|
import org.jsoup.Jsoup;
|
|
|
|
import org.jsoup.nodes.Document;
|
|
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.beans.BeanUtils;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.data.domain.Page;
|
|
|
|
import org.springframework.data.domain.PageRequest;
|
|
|
|
import org.springframework.jdbc.core.BeanPropertyRowMapper;
|
|
import org.springframework.jdbc.core.BeanPropertyRowMapper;
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
@ -368,35 +356,53 @@ public class DailyReportUploadService {
|
|
dailyReportUploadDO.setLeaveHour(leaveHour);
|
|
dailyReportUploadDO.setLeaveHour(leaveHour);
|
|
dailyReportUploadDO.setTotalHour(totalHour);
|
|
dailyReportUploadDO.setTotalHour(totalHour);
|
|
dailyReportUploadDO = dailyReportUploadDao.save(dailyReportUploadDO);
|
|
dailyReportUploadDO = dailyReportUploadDao.save(dailyReportUploadDO);
|
|
|
|
if (doctorHospitalDOS != null && doctorHospitalDOS.size() != 0) {
|
|
|
|
|
|
|
|
}else {
|
|
|
|
throw new Exception("您不是部门人员,无法上传日报信息");
|
|
|
|
}
|
|
|
|
|
|
for (BaseDailyReportDetailDO tmp :detailDOList){
|
|
for (BaseDailyReportDetailDO tmp :detailDOList){
|
|
tmp.setReportId(dailyReportUploadDO.getId());
|
|
tmp.setReportId(dailyReportUploadDO.getId());
|
|
if (tmp.isReportItemFlag()==true){//新则自建关联项目
|
|
if (tmp.isReportItemFlag()==true){//新则自建关联项目
|
|
String title = tmp.getReportItemTitle();
|
|
String title = tmp.getReportItemTitle();
|
|
BaseDailyReportItemDO reportItemDO = new BaseDailyReportItemDO();
|
|
|
|
reportItemDO.setState(0);
|
|
|
|
reportItemDO.setDel(1);
|
|
|
|
reportItemDO.setProjectCode(tmp.getProjectCode());
|
|
|
|
reportItemDO.setProjectName(tmp.getProjectName());
|
|
|
|
reportItemDO.setTitle(title);
|
|
|
|
reportItemDO.setContent(tmp.getReportContent());
|
|
|
|
reportItemDO.setBeginTime(null);
|
|
|
|
reportItemDO.setEndTime(null);
|
|
|
|
reportItemDO.setCreateTime(new Date());
|
|
|
|
reportItemDO.setCreateUser(doctorId);
|
|
|
|
reportItemDO.setCreateUserName(doctorDO.getName());
|
|
|
|
if (doctorHospitalDOS != null && doctorHospitalDOS.size() != 0) {
|
|
|
|
reportItemDO.setDept(doctorHospitalDOS.get(0).getDeptCode());
|
|
|
|
reportItemDO.setDeptName(doctorHospitalDOS.get(0).getDeptName());
|
|
|
|
|
|
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 {
|
|
|
|
reportItemDO = new BaseDailyReportItemDO();
|
|
|
|
reportItemDO.setState(0);
|
|
|
|
reportItemDO.setDel(1);
|
|
|
|
reportItemDO.setProjectCode(tmp.getProjectCode());
|
|
|
|
reportItemDO.setProjectName(tmp.getProjectName());
|
|
|
|
reportItemDO.setTitle(title);
|
|
|
|
reportItemDO.setContent(tmp.getReportContent());
|
|
|
|
reportItemDO.setBeginTime(null);
|
|
|
|
reportItemDO.setEndTime(null);
|
|
|
|
reportItemDO.setCreateTime(new Date());
|
|
|
|
reportItemDO.setCreateUser(doctorId);
|
|
|
|
reportItemDO.setCreateUserName(doctorDO.getName());
|
|
|
|
|
|
|
|
if (doctorHospitalDOS != null && doctorHospitalDOS.size() != 0) {
|
|
|
|
reportItemDO.setDept(doctorHospitalDOS.get(0).getDeptCode());
|
|
|
|
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);
|
|
}
|
|
}
|
|
|
|
|
|
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);
|
|
|
|
tmp.setReportItemId(reportItemDO.getId());
|
|
tmp.setReportItemId(reportItemDO.getId());
|
|
tmp.setReportItemName(title);
|
|
tmp.setReportItemName(title);
|
|
}
|
|
}
|
|
@ -963,7 +969,7 @@ public class DailyReportUploadService {
|
|
logger.info("deptSql=="+deptSql);
|
|
logger.info("deptSql=="+deptSql);
|
|
List<Map<String, Object>> mapList = jdbcTemplate.queryForList(deptSql);
|
|
List<Map<String, Object>> mapList = jdbcTemplate.queryForList(deptSql);
|
|
for (Map<String,Object> deptMap:mapList){
|
|
for (Map<String,Object> deptMap:mapList){
|
|
String day = DateUtil.getWorkDays(endDate, startDate)+"";
|
|
|
|
|
|
String day = DateUtil.getWorkDays(startDate, endDate)+"";
|
|
Integer doctorTotal = 0;
|
|
Integer doctorTotal = 0;
|
|
Integer total=0;
|
|
Integer total=0;
|
|
Integer yishangbaoTotal=0;
|
|
Integer yishangbaoTotal=0;
|
|
@ -1556,7 +1562,7 @@ public class DailyReportUploadService {
|
|
startDate = DateUtil.getFristDayOfMonth();
|
|
startDate = DateUtil.getFristDayOfMonth();
|
|
endDate = DateUtil.getLastDayOfMonth();
|
|
endDate = DateUtil.getLastDayOfMonth();
|
|
}
|
|
}
|
|
String day = DateUtil.getWorkDays(endDate, startDate)+"";
|
|
|
|
|
|
String day = DateUtil.getWorkDays(startDate, endDate)+"";
|
|
String doctorSql = " select COUNT(1) as 'total' from base_doctor d where d.del=1 and d.identity=0 ";
|
|
String doctorSql = " select COUNT(1) as 'total' from base_doctor d where d.del=1 and d.identity=0 ";
|
|
Integer total = 0;//总人次
|
|
Integer total = 0;//总人次
|
|
String sqlCondition = "";
|
|
String sqlCondition = "";
|
|
@ -1706,7 +1712,7 @@ public class DailyReportUploadService {
|
|
*/
|
|
*/
|
|
public JSONObject selectHeaderTotal(String dept, String idType, String status, String state, String startDate, String endDate, String name) {
|
|
public JSONObject selectHeaderTotal(String dept, String idType, String status, String state, String startDate, String endDate, String name) {
|
|
JSONObject object = new JSONObject();
|
|
JSONObject object = new JSONObject();
|
|
String day = DateUtil.getWorkDays(endDate, startDate)+"";
|
|
|
|
|
|
String day = DateUtil.getWorkDays(startDate, endDate)+"";
|
|
|
|
|
|
String doctorSql = " select COUNT(1) as \"total\" from base_doctor d where d.del=1 and d.identity=0 ";
|
|
String doctorSql = " select COUNT(1) as \"total\" from base_doctor d where d.del=1 and d.identity=0 ";
|
|
Integer total = 0;//总人次
|
|
Integer total = 0;//总人次
|
|
@ -1863,7 +1869,18 @@ public class DailyReportUploadService {
|
|
if (null==doctorDO){
|
|
if (null==doctorDO){
|
|
throw new Exception("用户不存在无权操作");
|
|
throw new Exception("用户不存在无权操作");
|
|
}
|
|
}
|
|
BaseDailyReportItemDO reportItemDO = new BaseDailyReportItemDO();
|
|
|
|
|
|
List<BaseDoctorHospitalDO> doctorHospitalDOs = baseDoctorHospitalDao.findByDoctorCode(user);
|
|
|
|
if (null !=doctorHospitalDOs&&doctorHospitalDOs.size()!=0){
|
|
|
|
|
|
|
|
}else {
|
|
|
|
throw new Exception("您不是部门人员,无法创建");
|
|
|
|
}
|
|
|
|
BaseDailyReportItemDO reportItemDO = reportItemDao.findByTitleAndDeptAndProjectCode(title,doctorHospitalDOs.get(0).getDeptCode(),projectCode);
|
|
|
|
if (reportItemDO!=null){
|
|
|
|
throw new Exception("该项目已存在,不可创建");
|
|
|
|
}else {
|
|
|
|
reportItemDO = new BaseDailyReportItemDO();
|
|
|
|
}
|
|
reportItemDO.setState(0);
|
|
reportItemDO.setState(0);
|
|
reportItemDO.setDel(1);
|
|
reportItemDO.setDel(1);
|
|
reportItemDO.setProjectCode(projectCode);
|
|
reportItemDO.setProjectCode(projectCode);
|
|
@ -1875,7 +1892,7 @@ public class DailyReportUploadService {
|
|
reportItemDO.setCreateTime(new Date());
|
|
reportItemDO.setCreateTime(new Date());
|
|
reportItemDO.setCreateUser(user);
|
|
reportItemDO.setCreateUser(user);
|
|
reportItemDO.setCreateUserName(doctorDO.getName());
|
|
reportItemDO.setCreateUserName(doctorDO.getName());
|
|
List<BaseDoctorHospitalDO> doctorHospitalDOs = baseDoctorHospitalDao.findByDoctorCode(user);
|
|
|
|
|
|
|
|
if (null !=doctorHospitalDOs&&doctorHospitalDOs.size()!=0){
|
|
if (null !=doctorHospitalDOs&&doctorHospitalDOs.size()!=0){
|
|
reportItemDO.setDept(doctorHospitalDOs.get(0).getDeptCode());
|
|
reportItemDO.setDept(doctorHospitalDOs.get(0).getDeptCode());
|
|
reportItemDO.setDeptName(doctorHospitalDOs.get(0).getDeptName());
|
|
reportItemDO.setDeptName(doctorHospitalDOs.get(0).getDeptName());
|
|
@ -1937,6 +1954,12 @@ public class DailyReportUploadService {
|
|
if (null==doctorDO){
|
|
if (null==doctorDO){
|
|
throw new Exception("用户不存在无权操作");
|
|
throw new Exception("用户不存在无权操作");
|
|
}
|
|
}
|
|
|
|
List<BaseDoctorHospitalDO> doctorHospitalDOs = baseDoctorHospitalDao.findByDoctorCode(user);
|
|
|
|
if (null !=doctorHospitalDOs&&doctorHospitalDOs.size()!=0){
|
|
|
|
|
|
|
|
}else {
|
|
|
|
throw new Exception("您不是部门人员,无法创建");
|
|
|
|
}
|
|
BaseDailyReportItemDO reportItemDO = reportItemDao.findOne(item_id);
|
|
BaseDailyReportItemDO reportItemDO = reportItemDao.findOne(item_id);
|
|
if (null==reportItemDO){
|
|
if (null==reportItemDO){
|
|
throw new Exception("日报项目不存在");
|
|
throw new Exception("日报项目不存在");
|
|
@ -1944,6 +1967,12 @@ public class DailyReportUploadService {
|
|
if (1==reportItemDO.getState()){
|
|
if (1==reportItemDO.getState()){
|
|
throw new Exception("日报项目已完成无法修改");
|
|
throw new Exception("日报项目已完成无法修改");
|
|
}
|
|
}
|
|
|
|
sql = " select id from base_daily_report_item where title='"+title+"' and dept='"+doctorHospitalDOs.get(0).getDeptCode()+"' " +
|
|
|
|
" and project_code='"+projectCode+"' and id<>'"+item_id+"' ";
|
|
|
|
List<String> existList = jdbcTemplate.queryForList(sql,String.class);
|
|
|
|
if(existList.size()>0){
|
|
|
|
throw new Exception("该项目已存在,修改失败");
|
|
|
|
}
|
|
reportItemDO.setState(state);
|
|
reportItemDO.setState(state);
|
|
reportItemDO.setDel(1);
|
|
reportItemDO.setDel(1);
|
|
reportItemDO.setProjectCode(projectCode);
|
|
reportItemDO.setProjectCode(projectCode);
|
|
@ -1955,7 +1984,6 @@ public class DailyReportUploadService {
|
|
reportItemDO.setUpdateTime(new Date());
|
|
reportItemDO.setUpdateTime(new Date());
|
|
reportItemDO.setUpdateUser(user);
|
|
reportItemDO.setUpdateUser(user);
|
|
reportItemDO.setUpdateUserName(doctorDO.getName());
|
|
reportItemDO.setUpdateUserName(doctorDO.getName());
|
|
List<BaseDoctorHospitalDO> doctorHospitalDOs = baseDoctorHospitalDao.findByDoctorCode(user);
|
|
|
|
if (null !=doctorHospitalDOs&&doctorHospitalDOs.size()!=0){
|
|
if (null !=doctorHospitalDOs&&doctorHospitalDOs.size()!=0){
|
|
reportItemDO.setDept(doctorHospitalDOs.get(0).getDeptCode());
|
|
reportItemDO.setDept(doctorHospitalDOs.get(0).getDeptCode());
|
|
reportItemDO.setDeptName(doctorHospitalDOs.get(0).getDeptName());
|
|
reportItemDO.setDeptName(doctorHospitalDOs.get(0).getDeptName());
|
|
@ -2287,6 +2315,11 @@ public class DailyReportUploadService {
|
|
tmp.put("avgValue",avgValue);
|
|
tmp.put("avgValue",avgValue);
|
|
Double completionHour = Double.valueOf(tmp.get("completionHour").toString());
|
|
Double completionHour = Double.valueOf(tmp.get("completionHour").toString());
|
|
tmp.put("timeRange",getRangeDouble(completionHour,totalHour));
|
|
tmp.put("timeRange",getRangeDouble(completionHour,totalHour));
|
|
|
|
if(2==type){//获取周的最后一天
|
|
|
|
String time = tmp.get("time").toString();
|
|
|
|
String sunday = DateUtil.getSundayOfThisWeek(DateUtil.strToDate(time));
|
|
|
|
tmp.put("time",sunday);
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return list;
|
|
return list;
|
|
@ -2364,6 +2397,13 @@ public class DailyReportUploadService {
|
|
"where de.report_item_id='"+item_id+"' and up.doctor_id='"+doctorId+"' " +
|
|
"where de.report_item_id='"+item_id+"' and up.doctor_id='"+doctorId+"' " +
|
|
"GROUP BY "+searchTimeFormat+" ORDER BY report_date asc ";
|
|
"GROUP BY "+searchTimeFormat+" ORDER BY report_date asc ";
|
|
List<Map<String,Object>> timeUseList = jdbcTemplate.queryForList(sql);
|
|
List<Map<String,Object>> timeUseList = jdbcTemplate.queryForList(sql);
|
|
|
|
if(2==type){//获取周的最后一天
|
|
|
|
for (Map<String,Object>timeUseTmp :timeUseList){
|
|
|
|
String time = tmp.get("report_date").toString();
|
|
|
|
String sunday = DateUtil.getSundayOfThisWeek(DateUtil.strToDate(time));
|
|
|
|
timeUseTmp.put("report_date",sunday);
|
|
|
|
}
|
|
|
|
}
|
|
tmp.put("timeUseList",timeUseList);
|
|
tmp.put("timeUseList",timeUseList);
|
|
}
|
|
}
|
|
|
|
|