Prechádzať zdrojové kódy

Merge branch 'dev' of liubing/wlyy2.0 into dev

liubing 2 rokov pred
rodič
commit
e087194ec9

+ 9 - 0
business/base-service/src/main/java/com/yihu/jw/dailyReport/dao/BaseDailyReportItemDao.java

@ -0,0 +1,9 @@
package com.yihu.jw.dailyReport.dao;
import com.yihu.jw.entity.dailyReport.BaseDailyReportItemDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
public interface BaseDailyReportItemDao extends PagingAndSortingRepository<BaseDailyReportItemDO,String>,
        JpaSpecificationExecutor<BaseDailyReportItemDO> {
}

+ 19 - 0
business/base-service/src/main/java/com/yihu/jw/dailyReport/dao/BaseDailyReportItemMembersDao.java

@ -0,0 +1,19 @@
package com.yihu.jw.dailyReport.dao;
import com.yihu.jw.entity.dailyReport.BaseDailyReportItemMembersDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
public interface BaseDailyReportItemMembersDao extends PagingAndSortingRepository<BaseDailyReportItemMembersDO,String>,
        JpaSpecificationExecutor<BaseDailyReportItemMembersDO> {
    @Query("select m from BaseDailyReportItemMembersDO m where m.del=1 and m.reportItemId=?1 ")
    List<BaseDailyReportItemMembersDO> findMembersByItemId(String itemId);
    @Modifying
    void deleteAllByReportItemId(String reportItemId);
}

+ 277 - 8
business/base-service/src/main/java/com/yihu/jw/dailyReport/service/DailyReportUploadService.java

@ -2,9 +2,8 @@ package com.yihu.jw.dailyReport.service;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.dailyReport.dao.BaseDailyReportDetailDao;
import com.yihu.jw.dailyReport.dao.BaseDailyReportLogDao;
import com.yihu.jw.dailyReport.dao.BaseDailyReportUploadDao;
import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ;
import com.yihu.jw.dailyReport.dao.*;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.doctor.dao.BaseDoctorHospitalDao;
import com.yihu.jw.doctor.dao.BaseDoctorRoleDao;
@ -14,9 +13,7 @@ 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.BaseDailyReportDetailDO;
import com.yihu.jw.entity.dailyReport.BaseDailyReportLogDO;
import com.yihu.jw.entity.dailyReport.BaseDailyReportUploadDO;
import com.yihu.jw.entity.dailyReport.*;
import com.yihu.jw.entity.healthUpload.BaseDoctorMemberDO;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.entity.hospital.enterprise.WxEnterpriseUserDO;
@ -41,6 +38,7 @@ import org.springframework.beans.factory.annotation.Autowired;
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.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -86,6 +84,10 @@ public class DailyReportUploadService {
    private String wechatId;
    @Autowired
    private EnterpriseService enterpriseService;
    @Autowired
    private BaseDailyReportItemDao reportItemDao;
    @Autowired
    private BaseDailyReportItemMembersDao reportItemMembersDao;
    private static Logger logger = LoggerFactory.getLogger(DailyReportUploadService.class);
@ -321,7 +323,7 @@ public class DailyReportUploadService {
     * @throws Exception
     */
    @Transactional(rollbackFor = Exception.class)
    public BaseDailyReportUploadDO createDailyReport(String doctorId,String report_date,Integer leaveState,String leaveHour,String week_name,String totalHour, List<BaseDailyReportDetailDO> detailDOList) throws Exception {
    public BaseDailyReportUploadDO createDailyReport(String doctorId,String report_date,Integer leaveState,String leaveHour,String week_name,String totalHour, List<BaseDailyReportDetailDO> detailDOList,String reportItemId) throws Exception {
        BaseDoctorDO doctorDO = baseDoctorDao.findById(doctorId);
        List<BaseDoctorHospitalDO> doctorHospitalDOS = baseDoctorHospitalDao.findByDoctorCode(doctorId);
        if (null==doctorDO){
@ -329,7 +331,7 @@ public class DailyReportUploadService {
        }
        if (1==leaveState){
            if (StringUtils.isNotBlank(leaveHour)){
                if (Integer.parseInt(leaveHour)<8&&detailDOList.size()==0){
                if (Double.parseDouble(leaveHour)<8&&detailDOList.size()==0){
                    throw new Exception("上传失败,请假未满8小时需要提交完成内容");
                }
            }
@ -346,6 +348,14 @@ public class DailyReportUploadService {
        }else{
            reportDetailDao.deleteByReportIdAndState(dailyReportUploadDO.getId(),0);
        }
        if (StringUtils.isNoneBlank(reportItemId)){
            BaseDailyReportItemDO itemDO = reportItemDao.findOne(reportItemId);
            if (null==itemDO){
                throw new Exception("上传失败,关联日报项目不存在");
            }
            dailyReportUploadDO.setReportItemId(reportItemId);
            dailyReportUploadDO.setReportItemName(itemDO.getTitle());
        }
        dailyReportUploadDO.setDoctorId(doctorId);
        dailyReportUploadDO.setDoctorName(doctorDO.getName());
        dailyReportUploadDO.setReportDate(report_date);
@ -1585,4 +1595,263 @@ public class DailyReportUploadService {
        return object;
    }
    /*************************************日报项目相关******************************************/
    /**
     * 新增日报项目
     */
    @Transactional(rollbackFor = Exception.class)
    public BaseDailyReportItemDO newReportItem(String user,String title,String content,String begin_time,String end_time,Integer member_type,String members) throws Exception {
        String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
        List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
        if (userRoles.size()==0){
            throw new Exception("您无权限操作");
        }
        BaseDoctorDO doctorDO = baseDoctorDao.findById(user);
        if (null==doctorDO){
            throw new Exception("用户不存在无权操作");
        }
        BaseDailyReportItemDO reportItemDO = new BaseDailyReportItemDO();
        reportItemDO.setState(0);
        reportItemDO.setDel(1);
        reportItemDO.setTitle(title);
        reportItemDO.setContent(content);
        reportItemDO.setBeginTime(begin_time);
        reportItemDO.setEndTime(end_time);
        reportItemDO.setCreateTime(new Date());
        reportItemDO.setCreateUser(user);
        reportItemDO.setCreateUserName(doctorDO.getName());
        reportItemDO = reportItemDao.save(reportItemDO);
        List<BaseDailyReportItemMembersDO> membersDOS = new ArrayList<>();
        if (1==member_type){//指定成员
            List<String> membersList = Arrays.asList(members.split(","));
            for (String tmp:membersList){
                BaseDailyReportItemMembersDO membersDOTmp = new BaseDailyReportItemMembersDO();
                membersDOTmp.setReportItemId(reportItemDO.getId());
                membersDOTmp.setUserId(tmp);
                membersDOTmp.setDel(1);
                membersDOS.add(membersDOTmp);
            }
        }else if (2==member_type){
            List<String> depts = Arrays.asList(members.split(","));
            for (String dept:depts){
                sql =  " select distinct doc.id 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='"+dept+"' ";
                List<String> membersList = jdbcTemplate.queryForList(sql,String.class);
                for (String tmp:membersList){
                    BaseDailyReportItemMembersDO membersDOTmp = new BaseDailyReportItemMembersDO();
                    membersDOTmp.setReportItemId(reportItemDO.getId());
                    membersDOTmp.setUserId(tmp);
                    membersDOTmp.setDel(1);
                    membersDOS.add(membersDOTmp);
                }
            }
        }else {
            throw new Exception("系统异常,请稍后重试");
        }
        if (membersDOS.size()>0){
            reportItemMembersDao.save(membersDOS);
        }
        reportItemDO.setItemMembersDOList(membersDOS);
        return reportItemDO;
    }
    /**
     * 编辑日报项目
     */
    @Transactional(rollbackFor = Exception.class)
    public BaseDailyReportItemDO modifyReportItem(String user,String item_id,String title,String content,Integer state,String begin_time,String end_time,String members) throws Exception {
        String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
        List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
        if (userRoles.size()==0){
            throw new Exception("您无权限操作");
        }
        BaseDoctorDO doctorDO = baseDoctorDao.findById(user);
        if (null==doctorDO){
            throw new Exception("用户不存在无权操作");
        }
        BaseDailyReportItemDO reportItemDO = reportItemDao.findOne(item_id);
        if (null==reportItemDO){
            throw new Exception("日报项目不存在");
        }
        if (1==reportItemDO.getState()){
            throw new Exception("日报项目已完成无法修改");
        }
        reportItemDO.setState(state);
        reportItemDO.setDel(1);
        reportItemDO.setTitle(title);
        reportItemDO.setContent(content);
        reportItemDO.setBeginTime(begin_time);
        reportItemDO.setEndTime(end_time);
        reportItemDO.setUpdateTime(new Date());
        reportItemDO.setUpdateUser(user);
        reportItemDO.setUpdateUserName(doctorDO.getName());
        reportItemDao.save(reportItemDO);
        List<BaseDailyReportItemMembersDO> membersDOS = new ArrayList<>();
        reportItemMembersDao.deleteAllByReportItemId(reportItemDO.getId());
        List<String> membersList = Arrays.asList(members.split(","));
        for (String tmp:membersList){
            BaseDailyReportItemMembersDO membersDOTmp = new BaseDailyReportItemMembersDO();
            membersDOTmp.setReportItemId(reportItemDO.getId());
            membersDOTmp.setUserId(tmp);
            membersDOTmp.setDel(1);
            membersDOS.add(membersDOTmp);
        }
        if (membersDOS.size()>0){
            reportItemMembersDao.save(membersDOS);
        }
        reportItemDO.setItemMembersDOList(membersDOS);
        return reportItemDO;
    }
    /**
     *管理员完成日报项目
     * @throws Exception
     */
    @Transactional(rollbackFor = Exception.class)
    public BaseDailyReportItemDO completeReportItem(String user,String item_id,String completionUser,String completionHour,String completionTime) throws Exception {
        String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
        List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
        if (userRoles.size()==0){
            throw new Exception("您无权限操作");
        }
        BaseDoctorDO doctorDO = baseDoctorDao.findById(user);
        if (null==doctorDO){
            throw new Exception("用户不存在无权操作");
        }
        BaseDailyReportItemDO reportItemDO = reportItemDao.findOne(item_id);
        if (null==reportItemDO){
            throw new Exception("日报项目不存在");
        }
        reportItemDO.setState(1);
        if (StringUtils.isNoneBlank(completionUser)){
            reportItemDO.setCompletionUser(completionUser);
        }
        if (StringUtils.isNoneBlank(completionHour)){
            reportItemDO.setCompletionHour(completionHour);
        }
        if (StringUtils.isNoneBlank(completionTime)){
            reportItemDO.setCompletionTime(DateUtil.strToDate(completionTime));
        }
        reportItemDO.setUpdateUser(user);
        reportItemDO.setUpdateUserName(doctorDO.getName());
        reportItemDO.setUpdateTime(new Date());
        reportItemDao.save(reportItemDO);
        List<BaseDailyReportItemMembersDO> membersDOS = reportItemMembersDao.findMembersByItemId(reportItemDO.getId());
        reportItemDO.setItemMembersDOList(membersDOS);
        return reportItemDO;
    }
    /**
     * 管理员删除日报项目
     * @throws Exception
     */
    @Transactional(rollbackFor = Exception.class)
    public boolean delReportItem(String user,String item_id) throws Exception {
        String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
        List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
        if (userRoles.size()==0){
            throw new Exception("您无权限操作");
        }
        BaseDoctorDO doctorDO = baseDoctorDao.findById(user);
        if (null==doctorDO){
            throw new Exception("用户不存在无权操作");
        }
        BaseDailyReportItemDO reportItemDO = reportItemDao.findOne(item_id);
        if (null==reportItemDO){
            throw new Exception("日报项目不存在");
        }
        reportItemDO.setDel(0);
        reportItemDO.setUpdateUser(user);
        reportItemDO.setUpdateUserName(doctorDO.getName());
        reportItemDO.setUpdateTime(new Date());
        reportItemDao.save(reportItemDO);
        return true;
    }
    /**
     * 查询日报项目详情
     */
    public BaseDailyReportItemDO  findReportItemById(String item_id) throws Exception {
        BaseDailyReportItemDO reportItemDO = reportItemDao.findOne(item_id);
        if (null==reportItemDO){
            throw new Exception("日报项目不存在");
        }
        List<BaseDailyReportItemMembersDO> membersDOS = reportItemMembersDao.findMembersByItemId(reportItemDO.getId());
        reportItemDO.setItemMembersDOList(membersDOS);
        return reportItemDO;
    }
    /**
     * 管理员获取所有日报项目
     */
    public List<BaseDailyReportItemDO> findReportItemListAdmin(String user,String title,String content,Integer state,String begin_time,String end_time,String createUser) throws Exception {
        String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
        List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
        if (userRoles.size()==0){
            throw new Exception("您无权限操作");
        }
        List<BaseDailyReportItemDO> itemDOS = new ArrayList<>();
        sql = " select i.* from base_daily_report_item i where 1=1 ";
        if (StringUtils.isNotBlank(title)){
            sql +=" and i.title like '%"+title+"%' ";
        }
        if (StringUtils.isNotBlank(content)){
            sql +=" and i.content like '%"+content+"%' ";
        }
        if (null!=state){
            sql += " and i.state='"+state+"' ";
        }
        if (StringUtils.isNotBlank(begin_time)){
            sql += " and i.begin_time>='"+begin_time+"' ";
        }
        if (StringUtils.isNotBlank(end_time)){
            sql += " and i.end_time<='"+end_time+"' ";
        }
        if (StringUtils.isNotBlank(createUser)){
            sql += " and i.create_user='"+createUser+"' ";
        }
        itemDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(BaseDailyReportItemDO.class));
        for (BaseDailyReportItemDO tmp:itemDOS){
            List<BaseDailyReportItemMembersDO> membersDOS = reportItemMembersDao.findMembersByItemId(tmp.getId());
            tmp.setItemMembersDOList(membersDOS);
        }
        return itemDOS;
    }
    /**
     * 员工获取所有日报项目
     */
    public List<BaseDailyReportItemDO> findReportItemList(String user,String title,String content,Integer state,String begin_time,String end_time,String createUser) throws Exception {
        String sql = "select i.* from base_daily_report_item i INNER JOIN base_daily_report_item_members mem on i.id = mem.report_item_id " +
                "where i.del=1 and mem.del=1 and mem.user_id='"+user+"' " ;
        if (StringUtils.isNotBlank(title)){
            sql +=" and i.title like '%"+title+"%' ";
        }
        if (StringUtils.isNotBlank(content)){
            sql +=" and i.content like '%"+content+"%' ";
        }
        if (null!=state){
            sql += " and i.state='"+state+"' ";
        }
        if (StringUtils.isNotBlank(begin_time)){
            sql += " and i.begin_time>='"+begin_time+"' ";
        }
        if (StringUtils.isNotBlank(end_time)){
            sql += " and i.end_time<='"+end_time+"' ";
        }
        if (StringUtils.isNotBlank(createUser)){
            sql += " and i.create_user='"+createUser+"' ";
        }
        sql += " GROUP BY i.id ";
        List<BaseDailyReportItemDO> itemDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(BaseDailyReportItemDO.class));
        for (BaseDailyReportItemDO tmp:itemDOS){
            List<BaseDailyReportItemMembersDO> membersDOS = reportItemMembersDao.findMembersByItemId(tmp.getId());
            tmp.setItemMembersDOList(membersDOS);
        }
        return itemDOS;
    }
}

+ 30 - 0
common/common-entity/sql记录

@ -2081,5 +2081,35 @@ CREATE TABLE `base_weather_week` (
  UNIQUE KEY `index_1` (`update_date`,`date`,`cityid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='7天天气记录表';
-- 20220804
CREATE TABLE `base_daily_report_item` (
  `id` varchar(50) NOT NULL,
  `title` varchar(50) DEFAULT NULL COMMENT '项目标题',
  `content` varchar(2500) DEFAULT NULL COMMENT '项目内容',
  `state` tinyint(4) DEFAULT NULL COMMENT '完成状态 -1取消,0待办,1已完成',
  `begin_time` varchar(50) DEFAULT NULL COMMENT '项目开始时间',
  `end_time` varchar(50) DEFAULT NULL COMMENT '项目结束时间',
  `completion_hour` varchar(50) DEFAULT NULL COMMENT '完成时长',
  `completion_user` varchar(50) DEFAULT NULL COMMENT '完成人',
  `completion_time` timestamp NULL DEFAULT NULL COMMENT '完成时间',
  `del` tinyint(2) DEFAULT NULL COMMENT '1有效0无效',
  `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '操作日期',
  `update_user` varchar(50) DEFAULT NULL,
  `update_user_name` varchar(50) DEFAULT NULL,
  `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `create_user` varchar(50) DEFAULT NULL,
  `create_user_name` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE `base_daily_report_item_members` (
  `id` varchar(50) NOT NULL,
  `report_item_id` varchar(50) DEFAULT NULL COMMENT '日报项目id',
  `user_id` varchar(50) DEFAULT NULL COMMENT '成员id',
  `del` TINYINT(2) DEFAULT NULL COMMENT '1有效0无效',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
alter table base_doctor_daily_report_upload add column report_item_id VARCHAR(50) DEFAULT null COMMENT'日报项目id';
alter table base_doctor_daily_report_upload add column report_item_name VARCHAR(50) DEFAULT null COMMENT'日报项目名称'

+ 177 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/dailyReport/BaseDailyReportItemDO.java

@ -0,0 +1,177 @@
package com.yihu.jw.entity.dailyReport;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.UuidIdentityEntity;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import org.springframework.data.annotation.CreatedBy;
import org.springframework.data.annotation.LastModifiedBy;
import org.springframework.data.annotation.LastModifiedDate;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.Date;
import java.util.List;
/**
 * Created by Bing on 2022/7/25.
 * 每日日报项目
 */
@Entity
@Table(name="base_daily_report_item")
public class BaseDailyReportItemDO extends UuidIdentityEntity {
    private String title;//项目标题
    private String content;//项目内容
    private Integer state;//完成状态 -1取消,0待办,1已完成
    private String beginTime;//项目开始时间
    private String endTime;//项目结束时间
    private String completionHour;//完成时长
    private String completionUser;//完成人
    private Date completionTime;//完成时间
    private Integer del;//1有效0无效
    protected Date createTime;
    protected String createUser;
    protected String createUserName;
    protected Date updateTime;
    protected String updateUser;
    protected String updateUserName;
    private List<BaseDailyReportItemMembersDO> itemMembersDOList;
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public String getContent() {
        return content;
    }
    public void setContent(String content) {
        this.content = content;
    }
    public Integer getState() {
        return state;
    }
    public void setState(Integer state) {
        this.state = state;
    }
    public String getBeginTime() {
        return beginTime;
    }
    public void setBeginTime(String beginTime) {
        this.beginTime = beginTime;
    }
    public String getEndTime() {
        return endTime;
    }
    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }
    public String getCompletionHour() {
        return completionHour;
    }
    public void setCompletionHour(String completionHour) {
        this.completionHour = completionHour;
    }
    public String getCompletionUser() {
        return completionUser;
    }
    public void setCompletionUser(String completionUser) {
        this.completionUser = completionUser;
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    public Date getCompletionTime() {
        return completionTime;
    }
    public void setCompletionTime(Date completionTime) {
        this.completionTime = completionTime;
    }
    public Integer getDel() {
        return del;
    }
    public void setDel(Integer del) {
        this.del = del;
    }
    @Transient
    public List<BaseDailyReportItemMembersDO> getItemMembersDOList() {
        return itemMembersDOList;
    }
    public void setItemMembersDOList(List<BaseDailyReportItemMembersDO> itemMembersDOList) {
        this.itemMembersDOList = itemMembersDOList;
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    @Column(name = "create_user",updatable = false)
    public String getCreateUser() {
        return createUser;
    }
    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }
    @Column(name = "create_user_name",updatable = false)
    public String getCreateUserName() {
        return createUserName;
    }
    public void setCreateUserName(String createUserName) {
        this.createUserName = createUserName;
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    public Date getUpdateTime() {
        return updateTime;
    }
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
    public String getUpdateUser() {
        return updateUser;
    }
    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }
    public String getUpdateUserName() {
        return updateUserName;
    }
    public void setUpdateUserName(String updateUserName) {
        this.updateUserName = updateUserName;
    }
}

+ 44 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/dailyReport/BaseDailyReportItemMembersDO.java

@ -0,0 +1,44 @@
package com.yihu.jw.entity.dailyReport;
import com.yihu.jw.entity.UuidIdentityEntity;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
 * Created by Bing on 2022/7/25.
 * 每日日报项目管理人员
 */
@Entity
@Table(name="base_daily_report_item_members")
public class BaseDailyReportItemMembersDO extends UuidIdentityEntity {
    private String reportItemId;//日报项目id
    private String userId;//项目内容
    private Integer del;//0无效1有效
    public String getReportItemId() {
        return reportItemId;
    }
    public void setReportItemId(String reportItemId) {
        this.reportItemId = reportItemId;
    }
    public String getUserId() {
        return userId;
    }
    public void setUserId(String userId) {
        this.userId = userId;
    }
    public Integer getDel() {
        return del;
    }
    public void setDel(Integer del) {
        this.del = del;
    }
}

+ 18 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/dailyReport/BaseDailyReportUploadDO.java

@ -23,6 +23,8 @@ public class BaseDailyReportUploadDO extends UuidIdentityEntityWithOperator {
    private String leaveHour;//请假时长
    private String reportDate; //上报日期
    private String totalHour;//上报时长
    private String reportItemId;//日报项目id
    private String reportItemName;//日报项目id
    public String getTotalHour() {
        return totalHour;
@ -109,4 +111,20 @@ public class BaseDailyReportUploadDO extends UuidIdentityEntityWithOperator {
    public void setLeaveHour(String leaveHour) {
        this.leaveHour = leaveHour;
    }
    public String getReportItemId() {
        return reportItemId;
    }
    public void setReportItemId(String reportItemId) {
        this.reportItemId = reportItemId;
    }
    public String getReportItemName() {
        return reportItemName;
    }
    public void setReportItemName(String reportItemName) {
        this.reportItemName = reportItemName;
    }
}

+ 152 - 3
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/dailyReport/DailyReportUploadPoint.java

@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.dailyReport.service.DailyReportUploadService;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.dailyReport.BaseDailyReportDetailDO;
import com.yihu.jw.entity.dailyReport.BaseDailyReportItemDO;
import com.yihu.jw.entity.dailyReport.BaseDailyReportUploadDO;
import com.yihu.jw.entity.healthUpload.BaseDoctorMemberDO;
import com.yihu.jw.restmodel.web.Envelop;
@ -115,15 +116,17 @@ public class DailyReportUploadPoint extends EnvelopRestEndpoint {
                                        @ApiParam(name = "week_name", value = "星期一...")
                                        @RequestParam(value = "week_name", required = true) String week_name,
                                        @ApiParam(name = "totalHour", value = "上报时长")
                                            @RequestParam(value = "totalHour", required = false) String totalHour,
                                        @RequestParam(value = "totalHour", required = false) String totalHour,
                                        @ApiParam(name = "jsonData", value = "事项信息实体")
                                        @RequestParam(value = "jsonData", required = true) String jsonData) {
                                        @RequestParam(value = "jsonData", required = true) String jsonData,
                                        @ApiParam(name = "reportItemId", value = "日报项目id")
                                        @RequestParam(value = "reportItemId", required = false) String reportItemId) {
        try {
            List<BaseDailyReportDetailDO> healthUploadDOs = new ArrayList<>();
            if (StringUtils.isNoneBlank(jsonData)){
                healthUploadDOs = JSONArray.parseArray(jsonData,BaseDailyReportDetailDO.class);
            }
            BaseDailyReportUploadDO dailyReport = dailyReportUploadService.createDailyReport(doctorId,report_date,leaveState,leaveHour,week_name,totalHour,healthUploadDOs);
            BaseDailyReportUploadDO dailyReport = dailyReportUploadService.createDailyReport(doctorId,report_date,leaveState,leaveHour,week_name,totalHour,healthUploadDOs,reportItemId);
            return success(dailyReport);
        } catch (Exception e) {
            return failedObjEnvelopException(e);
@ -468,4 +471,150 @@ public class DailyReportUploadPoint extends EnvelopRestEndpoint {
            return failedObjEnvelopException(e);
        }
    }
    /*************************************日报项目相关******************************************/
    @PostMapping(value = "newReportItem")
    @ApiOperation(value = "管理员新增日报项目")
    public ObjEnvelop newReportItem(@ApiParam(name = "user", value = "user")
                                    @RequestParam(value = "user", required = true) String user,
                                    @ApiParam(name = "title", value = "项目标题")
                                    @RequestParam(value = "title", required = true) String title,
                                    @ApiParam(name = "content", value = "项目内容")
                                    @RequestParam(value = "content", required = true) String content,
                                    @ApiParam(name = "begin_time", value = "begin_time")
                                    @RequestParam(value = "begin_time", required = true) String begin_time,
                                    @ApiParam(name = "end_time", value = "end_time")
                                    @RequestParam(value = "end_time", required = true) String end_time,
                                    @ApiParam(name = "member_type", value = "成员类型,1指定成员,2某部门")
                                    @RequestParam(value = "member_type", required = true) Integer member_type,
                                    @ApiParam(name = "members", value = "成员or部门编码,多个逗号隔开")
                                    @RequestParam(value = "members", required = true) String members) {
        try {
            BaseDailyReportItemDO itemDO = dailyReportUploadService.newReportItem(user,title,content,begin_time,end_time,member_type,members);
            return success(itemDO);
        } catch (Exception e) {
            return failedObjEnvelopException(e);
        }
    }
    @PostMapping(value = "completeReportItem")
    @ApiOperation(value = "管理员完成日报项目")
    public ObjEnvelop completeReportItem(@ApiParam(name = "user", value = "user")
                                     @RequestParam(value = "user", required = true) String user,
                                     @ApiParam(name = "item_id", value = "item_id")
                                     @RequestParam(value = "item_id", required = true) String item_id,
                                     @ApiParam(name = "completionUser", value = "完成人")
                                     @RequestParam(value = "completionUser", required = false) String completionUser,
                                     @ApiParam(name = "completionHour", value = "耗时")
                                     @RequestParam(value = "completionHour", required = false) String completionHour,
                                     @ApiParam(name = "completionTime", value = "完成时间yyyy-MM-dd HH:mm:ss")
                                     @RequestParam(value = "completionTime", required = false) String completionTime) {
        try {
            BaseDailyReportItemDO itemDO =  dailyReportUploadService.completeReportItem(user,item_id,completionUser,completionHour,completionTime);
            return success(itemDO);
        } catch (Exception e) {
            return failedObjEnvelopException(e);
        }
    }
    @PostMapping(value = "modifyReportItem")
    @ApiOperation(value = "管理员修改日报项目")
    public ObjEnvelop modifyReportItem(@ApiParam(name = "user", value = "user")
                                    @RequestParam(value = "user", required = true) String user,
                                    @ApiParam(name = "item_id", value = "item_id")
                                    @RequestParam(value = "item_id", required = true) String item_id,
                                    @ApiParam(name = "title", value = "项目标题")
                                    @RequestParam(value = "title", required = true) String title,
                                    @ApiParam(name = "content", value = "项目内容")
                                    @RequestParam(value = "content", required = true) String content,
                                    @ApiParam(name = "state", value = "-1取消,0待办,1已完成")
                                    @RequestParam(value = "state", required = true) Integer state,
                                    @ApiParam(name = "begin_time", value = "begin_time")
                                    @RequestParam(value = "begin_time", required = true) String begin_time,
                                    @ApiParam(name = "end_time", value = "end_time")
                                    @RequestParam(value = "end_time", required = true) String end_time,
                                    @ApiParam(name = "members", value = "成员编码,多个逗号隔开")
                                    @RequestParam(value = "members", required = true) String members) {
        try {
            BaseDailyReportItemDO itemDO = dailyReportUploadService.modifyReportItem(user,item_id,title,content,state,begin_time,end_time,members);
            return success(itemDO);
        } catch (Exception e) {
            return failedObjEnvelopException(e);
        }
    }
    @PostMapping(value = "delReportItem")
    @ApiOperation(value = "管理员删除日报项目")
    public Envelop delReportItem(@ApiParam(name = "user", value = "user")
                                    @RequestParam(value = "user", required = true) String user,
                                    @ApiParam(name = "item_id", value = "item_id")
                                    @RequestParam(value = "item_id", required = true) String item_id) {
        try {
            dailyReportUploadService.delReportItem(user,item_id);
            return success();
        } catch (Exception e) {
            return failedException(e);
        }
    }
    @PostMapping(value = "findReportItemById")
    @ApiOperation(value = "查询单条日报项目详情")
    public ObjEnvelop findReportItemById(@ApiParam(name = "item_id", value = "item_id")
                                       @RequestParam(value = "item_id", required = true) String item_id) {
        try {
            BaseDailyReportItemDO itemDO = dailyReportUploadService.findReportItemById(item_id);
            return success(itemDO);
        } catch (Exception e) {
            return failedObjEnvelopException(e);
        }
    }
    @GetMapping(value = "findReportItemListAdmin")
    @ApiOperation(value = "管理员获取所有日报项目")
    public ListEnvelop findReportItemListAdmin(@ApiParam(name = "user", value = "user")
                                      @RequestParam(value = "user", required = true) String user,
                                      @ApiParam(name = "title", value = "事项标题")
                                      @RequestParam(value = "title", required = false) String title,
                                      @ApiParam(name = "content", value = "项目内容")
                                      @RequestParam(value = "content", required = false) String content,
                                      @ApiParam(name = "state", value = "-1取消,0待办,1已完成")
                                      @RequestParam(value = "state", required = false) Integer state,
                                      @ApiParam(name = "begin_time", value = "begin_time")
                                      @RequestParam(value = "begin_time", required = false) String begin_time,
                                      @ApiParam(name = "end_time", value = "end_time")
                                      @RequestParam(value = "end_time", required = false) String end_time,
                                      @ApiParam(name = "createUser", value = "createUser")
                                      @RequestParam(value = "createUser", required = false) String createUser) {
        try {
            List<BaseDailyReportItemDO> list = dailyReportUploadService.findReportItemListAdmin(user,title,content,state,begin_time,end_time,createUser);
            return ListEnvelop.getSuccess("success",list);
        } catch (Exception e) {
            return failedListEnvelopException(e);
        }
    }
    @GetMapping(value = "findReportItemList")
    @ApiOperation(value = "员工获取所有日报项目")
    public ListEnvelop findReportItemList(@ApiParam(name = "user", value = "user")
                                      @RequestParam(value = "user", required = true) String user,
                                      @ApiParam(name = "title", value = "事项标题")
                                      @RequestParam(value = "title", required = false) String title,
                                      @ApiParam(name = "content", value = "项目内容")
                                      @RequestParam(value = "content", required = false) String content,
                                      @ApiParam(name = "state", value = "-1取消,0待办,1已完成")
                                      @RequestParam(value = "state", required = false) Integer state,
                                      @ApiParam(name = "begin_time", value = "begin_time")
                                      @RequestParam(value = "begin_time", required = false) String begin_time,
                                      @ApiParam(name = "end_time", value = "end_time")
                                      @RequestParam(value = "end_time", required = false) String end_time,
                                      @ApiParam(name = "createUser", value = "createUser")
                                      @RequestParam(value = "createUser", required = false) String createUser) {
        try {
            List<BaseDailyReportItemDO> list =  dailyReportUploadService.findReportItemList(user,title,content,state,begin_time,end_time,createUser);
            return ListEnvelop.getSuccess("success",list);
        } catch (Exception e) {
            return failedListEnvelopException(e);
        }
    }
}