Bladeren bron

需求修改

wangjun 3 jaren geleden
bovenliggende
commit
2cd83e1e21

+ 10 - 7
business/base-service/src/main/java/com/yihu/jw/complaint/BaseComplaintService.java

@ -301,6 +301,7 @@ public class BaseComplaintService {
                baseComplaintDO.setAcceptorName(doctorName);
            }
            baseComplaintDO.setAcceptor(doctor);*/
            baseComplaintDO.setPassto(doctor);
            baseComplaintDO.setComplaintId(complaintId);
            BaseComplaintDictDO baseComplaintDictDO = baseComplaintDictDao.findById(complaintId);
            if (baseComplaintDictDO!=null){
@ -309,11 +310,11 @@ public class BaseComplaintService {
            }
            baseComplaintDO= baseComplaintDao.save(baseComplaintDO);
            try {
                List<BaseComplaintDoctorDO> doctorList=baseComplaintDoctorDao.findbyComplaintId(baseComplaintDO.getComplaintId());
                for (BaseComplaintDoctorDO baseComplaintDoctorDO:doctorList){
                    String url="https://hlwyy.xmzsh.com/hlwyy/ims-app-web/#/complaint/detail?id="+baseComplaintDO.getId();
                    enterpriseService.sendTWMesByDoctor("zsyy",baseComplaintDoctorDO.getDoctor(),"投诉反馈","您收到一条投诉反馈,点击查看。",url);
                }
                /*List<BaseComplaintDoctorDO> doctorList=baseComplaintDoctorDao.findbyComplaintId(baseComplaintDO.getComplaintId());
                for (BaseComplaintDoctorDO baseComplaintDoctorDO:doctorList)*/
                String url="https://hlwyy.xmzsh.com/hlwyy/ims-app-web/#/complaint/detail?id="+baseComplaintDO.getId();
                enterpriseService.sendTWMesByDoctor("zsyy",doctor,"投诉反馈","您收到一条投诉反馈,点击查看。",url);
            }catch (Exception e){
            }
@ -419,10 +420,9 @@ public class BaseComplaintService {
                " t.acceptor as \"acceptor\"," +
                " t.mobile as \"mobile\"," +
                " t.acceptor_name as \"acceptorName\"" +
                "from base_complaint t " +
                "from base_complaint t left join  " +
                " left join base_patient b on t.patient=b.id" +
                " where t.is_del=1";
        if (!queryAll){
            BaseComplaintDoctorDO baseComplaintDoctorDO= baseComplaintDoctorDao.findbyDoctorAndDel(doctor);
            /*List<BaseComplaintOperateLogDO> logList =baseComplaintOperateDao.findbyOperateFrom(doctor);
@ -450,6 +450,9 @@ public class BaseComplaintService {
            if (!StringUtils.isNoneBlank(status)){
                sql+=" and t.status !='-1'";
            }
            if (!StringUtils.isNoneBlank(doctor)){
                sql+=" and t.passto ='"+doctor+"'";
            }
        }else {
            if (StringUtils.isNoneBlank(complaintId)){
                //sql+=" and t.complaint_id in ('"+complaint.replace(",","','")+"')";

+ 31 - 0
business/base-service/src/main/java/com/yihu/jw/dict/dao/BaseFollowUpDictDao.java

@ -0,0 +1,31 @@
package com.yihu.jw.dict.dao;
import com.yihu.jw.entity.base.dict.BaseDrugUseDictDO;
import com.yihu.jw.entity.base.dict.BaseFollowUpDictDO;
import com.yihu.jw.entity.base.dict.BaseFrequencyDictDO;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
public interface BaseFollowUpDictDao extends PagingAndSortingRepository<BaseFollowUpDictDO, String>, JpaSpecificationExecutor<BaseFollowUpDictDO> {
    @Query("from BaseFollowUpDictDO t where t.code=?1 and t.name=?2")
    List<BaseFollowUpDictDO> findByCodeAndName(String code, String name);
    @Query("from BaseFollowUpDictDO t where t.isDel='1' and t.status ='1' order by t.createTime desc")
    List<BaseFollowUpDictDO> findByDel(Pageable pageRequest);
    @Query("select  count(1) from BaseFollowUpDictDO t where t.isDel='1' and t.status='1'")
    Integer getconuntByDel();
    @Query("from BaseFollowUpDictDO t where t.isDel='1' and t.status ='1' and t.name like %?1% and t.code like %?2% order by t.createTime desc")
    List<BaseFollowUpDictDO> findByNameDel(String name,String code,Pageable pageRequest);
    @Query("from BaseFollowUpDictDO t where t.isDel='1' and t.status='1' and t.code=?1")
    BaseFollowUpDictDO findByCode(String code);
    @Query("from BaseFollowUpDictDO t where t.code=?1 and t.isDel='1'")
    List<BaseFollowUpDictDO>  findBySupCode(String code);
}

+ 4 - 0
business/base-service/src/main/java/com/yihu/jw/dict/dao/BaseTemplateOrgDao.java

@ -19,4 +19,8 @@ public interface BaseTemplateOrgDao extends PagingAndSortingRepository<BaseTempl
    List<BaseTemplateOrgDO> findByTemplateId(String templateId);
    @Query("from BaseTemplateOrgDO t where  t.templateType =?1 and t.orgCode =?2 and t.isDel='1' ")
    List<BaseTemplateOrgDO> findByTemplateType(String templateType,String orgCode);
}

+ 123 - 0
business/base-service/src/main/java/com/yihu/jw/dict/service/FollowUpDictService.java

@ -0,0 +1,123 @@
package com.yihu.jw.dict.service;
import com.yihu.jw.dict.dao.BaseFollowUpDictDao;
import com.yihu.jw.dict.dao.BaseTemplateDictDao;
import com.yihu.jw.entity.base.dict.BaseDrugUseDictDO;
import com.yihu.jw.entity.base.dict.BaseFollowUpDictDO;
import com.yihu.jw.entity.base.dict.BaseTemplateDictDO;
import com.yihu.jw.entity.hospital.manage.BaseDiseaseHomepageBannerDO;
import com.yihu.jw.hospital.dict.BaseDiseaseHomepageBannerDao;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import com.yihu.mysql.query.BaseJpaService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.Map;
import static com.yihu.jw.util.common.BeanUtils.getNullPropertyNames;
@Service
public class FollowUpDictService extends BaseJpaService<BaseFollowUpDictDO, BaseFollowUpDictDao> {
    @Autowired
    private BaseFollowUpDictDao baseFollowUpDictDao;
    @Autowired
    private BaseTemplateDictDao baseTemplateDictDao;
    @Autowired
    private HibenateUtils hibenateUtils;
    public void saveFollowUp(BaseFollowUpDictDO baseFollowUpDictDO) throws  Exception{
        BaseFollowUpDictDO baseDrugUseDictDO1=baseFollowUpDictDao.findByCode(baseFollowUpDictDO.getCode());
        if (baseDrugUseDictDO1!=null&&StringUtils.isNotBlank(baseDrugUseDictDO1.getId())){
            if (baseDrugUseDictDO1!=null){
                throw  new Exception("该随访code已存在");
            }
            BaseFollowUpDictDO oldfollow= baseFollowUpDictDao.findOne(baseFollowUpDictDO.getId());
            BeanUtils.copyProperties(baseFollowUpDictDO, oldfollow, getNullPropertyNames(baseFollowUpDictDO));
            baseFollowUpDictDao.save(oldfollow);
        }else {
            if (baseDrugUseDictDO1!=null){
                if (!baseDrugUseDictDO1.getId().equalsIgnoreCase(baseFollowUpDictDO.getId())){
                    throw  new Exception("该随访code已存在");
                }
            }
            baseFollowUpDictDO.setCreateTime(new Date());
            baseFollowUpDictDO.setIsDel("1");
            baseFollowUpDictDao.save(baseFollowUpDictDO);
        }
    }
    public MixEnvelop findList(String name, String status, Integer page , Integer pageSize){
        String sql="select t.id as \"id\"," +
                " t.code as \"code\"," +
                " t.name as \"name\"," +
                " t.is_required as \"isRequired\"," +
                " t.project_content as \"project_content\"," +
                " t.status as \"status\"," +
                " t.is_del as \"is_del\"," +
                " t.create_time as \"create_time\"," +
                " t.create_user as \"create_user\"," +
                " t.create_user_name as \"create_user_name\"" +
                "from base_follow_up_dict t " +
                " where t.is_del='1'";
        String sqlCount =" select count(1) as \"count\" from base_follow_up_dict t where t.is_del='1'";
        if (StringUtils.isNoneBlank(name)){
            sql+=" and t.name like '%"+name+"%'";
            sqlCount+=" and t.name like '%"+name+"%'";
        }
        if (StringUtils.isNoneBlank(status)){
            sql+=" and t.status ='"+status+"'";
            sqlCount+=" and t.status ='"+status+"'";
        }
        List<Map<String,Object>> list=hibenateUtils.createSQLQuery(sql,page,pageSize);
        for (Map<String,Object> map:list){
            if (map.get("status")!=null&&"1".equalsIgnoreCase(map.get("status").toString())){
                map.put("statusName","生效中");
            }else {
                map.put("statusName","已失效");
            }
            if (map.get("isRequired")!=null&&"1".equalsIgnoreCase(map.get("isRequired").toString())){
                map.put("requiredName","必填");
            }else {
                map.put("requiredName","非必填");
            }
        }
        List<Map<String,Object>> countList=hibenateUtils.createSQLQuery(sqlCount);
        Integer count=0;
        if (countList!=null&&countList.size()>0) {
            count = Integer.valueOf(countList.get(0).get("count").toString());
        }
        MixEnvelop mixEnvelop = new MixEnvelop();
        mixEnvelop.setPageSize(pageSize);
        mixEnvelop.setCurrPage(page);
        mixEnvelop.setDetailModelList(list);
        mixEnvelop.setTotalCount(count);
        return mixEnvelop;
    }
    public BaseFollowUpDictDO findOneDict(String dictId){
        return baseFollowUpDictDao.findOne(dictId);
    }
    public void updateFollowUpStatus(String id,String status,String del) throws  Exception{
        BaseFollowUpDictDO baseFollowUpDictDO = baseFollowUpDictDao.findOne(id);
        if (baseFollowUpDictDO!=null){
            if (StringUtils.isNoneBlank(status)){
                baseFollowUpDictDO.setStatus(status);
            }
            if (StringUtils.isNoneBlank(del)){
                baseFollowUpDictDO.setIsDel(del);
                List<BaseTemplateDictDO> baseTemplateDictDO = baseTemplateDictDao.findByDictId(id);
                if (baseTemplateDictDO!=null&&baseTemplateDictDO.size()>0){
                    throw  new Exception("该使用方式已存在现有模板之中不允许删除");
                }
            }
            baseFollowUpDictDao.save(baseFollowUpDictDO);
        }
    }
}

+ 13 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/complaint/BaseComplaintDO.java

@ -32,8 +32,21 @@ public class BaseComplaintDO  extends UuidIdentityEntity {
    private String status;
    private String mobile;
    private String visitTypeName;
    private String passto;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    private Date latestFeedTime;
    @Column(name = "passto")
    public String getPassto() {
        return passto;
    }
    public void setPassto(String passto) {
        this.passto = passto;
    }
    @Transient
    public Date getLatestFeedTime() {
        return latestFeedTime;

+ 67 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/BaseFollowUpDictDO.java

@ -0,0 +1,67 @@
package com.yihu.jw.entity.base.dict;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
@Entity
@Table(name = "base_follow_up_dict")
public class BaseFollowUpDictDO extends UuidIdentityEntityWithOperator {
    private String code;
    private String name;
    private String projectContent;
    private String status;
    private String isDel;
    private String isRequired;
    @Column(name = "is_required")
    public String getIsRequired() {
        return isRequired;
    }
    public void setIsRequired(String isRequired) {
        this.isRequired = isRequired;
    }
    @Column(name = "code")
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    @Column(name = "name")
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @Column(name = "project_content")
    public String getProjectContent() {
        return projectContent;
    }
    public void setProjectContent(String projectContent) {
        this.projectContent = projectContent;
    }
    @Column(name = "status")
    public String getStatus() {
        return status;
    }
    public void setStatus(String status) {
        this.status = status;
    }
    @Column(name = "is_del")
    public String getIsDel() {
        return isDel;
    }
    public void setIsDel(String isDel) {
        this.isDel = isDel;
    }
}

+ 19 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/BaseTemplateDO.java

@ -14,6 +14,25 @@ public class BaseTemplateDO extends UuidIdentityEntityWithOperator {
    private String childrenCount;
    private String isDel;
    private String templateType;
    private String diseaseId;
    private String diseaseName;
    @Column(name = "disease_id")
    public String getDiseaseId() {
        return diseaseId;
    }
    public void setDiseaseId(String diseaseId) {
        this.diseaseId = diseaseId;
    }
    @Column(name = "disease_name")
    public String getDiseaseName() {
        return diseaseName;
    }
    public void setDiseaseName(String diseaseName) {
        this.diseaseName = diseaseName;
    }
    @Column(name = "name")
    public String getName() {
        return name;

+ 85 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/dict/BaseFollowUpDictEndpoint.java

@ -0,0 +1,85 @@
package com.yihu.jw.base.endpoint.dict;
import com.yihu.jw.base.service.dict.BaseDrugUseService;
import com.yihu.jw.dict.service.FollowUpDictService;
import com.yihu.jw.entity.base.dict.BaseDrugUseDictDO;
import com.yihu.jw.entity.base.dict.BaseFollowUpDictDO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping(value = "/baseFollowUpDict")
@Api(value = "随访字典", description = "随访字典", tags = {"随访字典"})
public class BaseFollowUpDictEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private FollowUpDictService followUpDictService;
    @PostMapping("/saveFollowUpDict")
    @ApiOperation(value = "保存")
    public Envelop saveFollowUpDict(@ApiParam(name = "jsonData", value = "随访json")
                                       @RequestParam(name = "jsonData", required = true) String jsonData) throws Exception {
        try {
            BaseFollowUpDictDO baseFollowUpDictDO = objectMapper.readValue(jsonData, BaseFollowUpDictDO.class);
            followUpDictService.saveFollowUp(baseFollowUpDictDO);
            return success("操作成功");
        }catch (Exception e) {
            return failedObjEnvelopException(e);
        }
    }
    @GetMapping("/findFollowUpDict")
    @ApiOperation(value = "列表")
    public MixEnvelop findFollowUpDict(@ApiParam(name = "name", value = "药品名称")
                                   @RequestParam(name = "name", required = false) String name,
                                   @ApiParam(name = "status", value = "状态")
                                   @RequestParam(name = "status", required = false) String status,
                                   @ApiParam(name = "page", value = "当前页")
                                   @RequestParam(name = "page", required = false) Integer page,
                                   @ApiParam(name = "pageSize", value = "页面大小")
                                   @RequestParam(name = "pageSize", required = false) Integer pageSize) throws Exception {
        try {
            return followUpDictService.findList(name,status, page, pageSize);
        }catch (Exception e) {
            return failedMixEnvelopException(e);
        }
    }
    @GetMapping("/findOneFollowUp")
    @ApiOperation(value = "根据id查询")
    public Envelop findOneFollowUp(@ApiParam(name = "id", value = "药品id")
                               @RequestParam(name = "id", required = true) String id){
        try {
            return success(followUpDictService.findOneDict(id));
        }catch (Exception e) {
            return failedException(e);
        }
    }
    @GetMapping("/updateDruguseStatus")
    @ApiOperation(value = "修改状态")
    public Envelop updateDruguseStatus(@ApiParam(name = "id", value = "id")
                               @RequestParam(name = "id", required = true) String id,
                               @ApiParam(name = "status", value = "状态1使用0作废")
                               @RequestParam(name = "status", required = false) String status,
                               @ApiParam(name = "del", value = "0删除")
                               @RequestParam(name = "del", required = false) String del){
        try {
            followUpDictService.updateFollowUpStatus(id,status,del);
            return success("操作成功");
        }catch (Exception e) {
            return failedException(e);
        }
    }
}

+ 22 - 3
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/dict/TemplateManageEndpoint.java

@ -123,12 +123,16 @@ public class TemplateManageEndpoint  extends EnvelopRestEndpoint {
            @RequestParam(value = "code", required = false) String code,
            @ApiParam(name = "name", value = "")
            @RequestParam(value = "name", required = false) String name,
            @ApiParam(name = "diseaseName", value = "")
            @RequestParam(value = "diseaseName", required = false) String diseaseName,
            @ApiParam(name = "diseaseId", value = "")
            @RequestParam(value = "diseaseId", required = false) String diseaseId,
            @ApiParam(name = "page", value = "")
            @RequestParam(value = "page", required = false) Integer page,
            @ApiParam(name = "pageSize", value = "")
            @RequestParam(value = "pageSize", required = false) Integer pageSize) throws Exception {
        try {
            return templateManageService.findTempalte(templateType,code,name,page,pageSize);
            return templateManageService.findTempalte(templateType,code,name,diseaseName,diseaseId,page,pageSize);
        }catch (Exception e){
            e.printStackTrace();
            return failedMixEnvelopException(e);
@ -158,6 +162,10 @@ public class TemplateManageEndpoint  extends EnvelopRestEndpoint {
    public Envelop saveOrUpdateTemplate (
            @ApiParam(name = "templateId", value = "模板id")
            @RequestParam(value = "templateId", required = false) String templateId,
            @ApiParam(name = "diseaseId", value = "diseaseId")
            @RequestParam(value = "diseaseId", required = false) String diseaseId,
            @ApiParam(name = "diseaseName", value = "diseaseName")
            @RequestParam(value = "diseaseName", required = false) String diseaseName,
            @ApiParam(name = "code", value = "")
            @RequestParam(value = "code", required = false) String  code,
            @ApiParam(name = "name", value = "")
@ -168,7 +176,7 @@ public class TemplateManageEndpoint  extends EnvelopRestEndpoint {
            if (!StringUtils.isNoneBlank(templateId)){
                templateId="1";
            }
            templateManageService.saveOrUpdateTemplate(templateId,code,name,getUID(),getUNAME(),templateType);
            templateManageService.saveOrUpdateTemplate(templateId,code,name,getUID(),getUNAME(),templateType,diseaseId,diseaseName);
            return success("操作成功");
        }catch (Exception e){
            e.printStackTrace();
@ -445,5 +453,16 @@ public class TemplateManageEndpoint  extends EnvelopRestEndpoint {
            return failedException(e);
        }
    }
    @GetMapping("/getTemplateListByDiseaseId")
    @ApiOperation(value = "获取列表")
    public Envelop getTemplateListByDiseaseId (
            @ApiParam(name = "diseaseId", value = "id")
            @RequestParam(value = "diseaseId", required = false) String diseaseId) throws Exception {
        try {
            return success(templateManageService.findTemplateByDisease(diseaseId));
        }catch (Exception e){
            e.printStackTrace();
            return failedMixEnvelopException(e);
        }
    }
}

+ 217 - 23
svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/TemplateManageService.java

@ -39,9 +39,11 @@ public class TemplateManageService {
    private WlyyHospitalSysDictDao wlyyHospitalSysDictDao;
    @Autowired
    private BaseOrgDao baseOrgDao;
    @Autowired
    private BaseFollowUpDictDao baseFollowUpDictDao;
    public MixEnvelop findTempalte(String templateType,String code,String name,Integer page ,Integer pageSize){
    public MixEnvelop findTempalte(String templateType,String code,String name,String diseaseName,String diseaseId, Integer page ,Integer pageSize){
        String sql =" select t.id as \"id\" ," +
                " t.name as \"name\"," +
                " t.code as \"code\"," +
@ -49,6 +51,8 @@ public class TemplateManageService {
                " t.update_user as \"updateUser\"," +
                " t.update_user_name as \"updateUserName\"," +
                " t.update_time as \"updateTime\"," +
                " t.disease_name as \"diseaseName\"," +
                " t.disease_id as \"diseaseId\"," +
                " t.template_type as \"templateType\"," +
                " t.is_del as \"isDel\" " +
                " from base_template t " +
@ -62,6 +66,14 @@ public class TemplateManageService {
            sql+= " and t.code like '%"+code+"%'";
            sqlCount+= " and t.code like '%"+code+"%'";
        }
        if (StringUtils.isNotBlank(diseaseName)){
            sql+= " and t.disease_name like '%"+diseaseName+"%'";
            sqlCount+= " and t.disease_name like '%"+diseaseName+"%'";
        }
        if (StringUtils.isNotBlank(diseaseId)){
            sql+= " and t.disease_id like '%"+diseaseId+"%'";
            sqlCount+= " and t.disease_id like '%"+diseaseId+"%'";
        }
        if (StringUtils.isNotBlank(name)){
            sql+= " and t.name like '%"+name+"%'";
            sqlCount+= " and t.name like '%"+name+"%'";
@ -122,7 +134,7 @@ public class TemplateManageService {
        }
   }
   public void saveOrUpdateTemplate(String templateId,String code,String name,String user,String userName,String templateType){
   public void saveOrUpdateTemplate(String templateId,String code,String name,String user,String userName,String templateType,String diseaseId,String diseaseName){
       BaseTemplateDO baseTemplateDO = baseTemplateDao.findOne(templateId);
       String localCode="MD"+new Date().getTime();
       System.out.println("templatType"+templateType);
@ -132,6 +144,8 @@ public class TemplateManageService {
           baseTemplateDO.setUpdateTime(new Date());
           baseTemplateDO.setUpdateUser(user);
           baseTemplateDO.setUpdateUserName(userName);
           baseTemplateDO.setDiseaseId(diseaseId);
           baseTemplateDO.setDiseaseName(diseaseName);
           baseTemplateDO.setTemplateType(templateType);
       }else {
           baseTemplateDO = new BaseTemplateDO();
@ -141,6 +155,8 @@ public class TemplateManageService {
           baseTemplateDO.setCreateUser(user);
           baseTemplateDO.setCreateUserName(userName);
           baseTemplateDO.setTemplateType(templateType);
           baseTemplateDO.setDiseaseId(diseaseId);
           baseTemplateDO.setDiseaseName(diseaseName);
           baseTemplateDO.setIsDel("1");
       }
       baseTemplateDao.save(baseTemplateDO);
@ -267,13 +283,43 @@ public class TemplateManageService {
                mixEnvelop.setDetailModelList(returnList);
                mixEnvelop.setTotalCount(count);
                return mixEnvelop;
            }else {
            }else if ("followUpDict".equalsIgnoreCase(baseTemplateDictDO.getTemplateType())){
                List<BaseFollowUpDictDO> list= new ArrayList<>();
                if (StringUtils.isNoneBlank(name)){
                    list= baseFollowUpDictDao.findByNameDel(name,code,pageRequest);
                }else {
                    list= baseFollowUpDictDao.findByDel(pageRequest);
                }
                Integer count = baseDrugDictDao.getconuntByDel();
                for (BaseFollowUpDictDO followUpDictDO:list){
                    Map<String,Object> map = new HashMap<>();
                    map.put("templateDetail",baseTemplateDictDO);
                    map.put("id",followUpDictDO.getId());
                    map.put("code",followUpDictDO.getCode());
                    map.put("name",followUpDictDO.getName());
                    map.put("project_content",followUpDictDO.getProjectContent());
                    map.put("status",followUpDictDO.getStatus());
                    map.put("is_del",followUpDictDO.getIsDel());
                    BaseTemplateDictDO baseTemplateDictDO1= baseTemplateDictDao.findByDictIdAndTemplateId(followUpDictDO.getId().toString(),templateId);
                    if (baseTemplateDictDO1!=null){
                        map.put("isAdd",1);
                    }else {
                        map.put("isAdd",0);
                    }
                    returnList.add(map);
                }
                mixEnvelop.setDetailModelList(returnList);
                mixEnvelop.setTotalCount(count);
                return mixEnvelop;
            } else {
                return null;
            }
        }else {
        }  else {
            return null;
        }
   }
   public  BaseTemplateDO findOneTemplateById(String id){
        return baseTemplateDao.findOne(id);
   }
@ -284,50 +330,76 @@ public class TemplateManageService {
        if (baseOrgDO!=null){
            orgName=baseOrgDO.getName();
        }
        List<BaseTemplateOrgDO> list= baseTemplateOrgDao.findByTemplateType("followUpDict",orgCode);
        baseTemplateOrgDao.delete(list);
        for (int i=0;i<templateArray.length;i++){
            String templateId=templateArray[i];
            BaseTemplateDO baseTemplateDO = baseTemplateDao.findOne(templateId);
            if (baseTemplateDO!=null){
                String templateType = baseTemplateDO.getTemplateType();
                BaseTemplateOrgDO baseTemplateOrgDO=baseTemplateOrgDao.findByOrgCodeAndtemplateType(orgCode,templateType);
                if (baseTemplateOrgDO!=null){
                    if (baseTemplateOrgDO.getTemplateId().equalsIgnoreCase(templateId)){
                        baseTemplateOrgDO.setIsDel("1");
                        baseTemplateOrgDao.save(baseTemplateOrgDO);
                if (!"followUpDict".equalsIgnoreCase(templateType)){
                    BaseTemplateOrgDO baseTemplateOrgDO=baseTemplateOrgDao.findByOrgCodeAndtemplateType(orgCode,templateType);
                    if (baseTemplateOrgDO!=null){
                        if (baseTemplateOrgDO.getTemplateId().equalsIgnoreCase(templateId)){
                            baseTemplateOrgDO.setIsDel("1");
                            baseTemplateOrgDao.save(baseTemplateOrgDO);
                        }else {
                            baseTemplateOrgDO.setIsDel("0");
                            BaseTemplateOrgDO baseTemplateOrgNew=new BaseTemplateOrgDO();
                            baseTemplateOrgNew.setOrgCode(orgCode);
                            baseTemplateOrgNew.setOrgName(orgName);
                            baseTemplateOrgNew.setIsDel("1");
                            baseTemplateOrgNew.setTemplateId(templateId);
                            baseTemplateOrgNew.setTemplateType(templateType);
                            baseTemplateOrgDao.save(baseTemplateOrgDO);
                            baseTemplateOrgDao.save(baseTemplateOrgNew);
                        }
                    }else {
                        baseTemplateOrgDO.setIsDel("0");
                        BaseTemplateOrgDO baseTemplateOrgNew=new BaseTemplateOrgDO();
                        baseTemplateOrgNew.setOrgCode(orgCode);
                        baseTemplateOrgNew.setOrgName(orgName);
                        baseTemplateOrgNew.setIsDel("1");
                        baseTemplateOrgNew.setTemplateId(templateId);
                        baseTemplateOrgNew.setTemplateType(templateType);
                        baseTemplateOrgDao.save(baseTemplateOrgDO);
                        baseTemplateOrgDao.save(baseTemplateOrgNew);
                        baseTemplateOrgDO = new BaseTemplateOrgDO();
                        baseTemplateOrgDO.setOrgCode(orgCode);
                        baseTemplateOrgDO.setOrgName(orgName);
                        baseTemplateOrgDO.setIsDel("1");
                        baseTemplateOrgDO.setTemplateId(templateId);
                        baseTemplateOrgDO.setTemplateType(templateType);
                    }
                    baseTemplateOrgDao.save(baseTemplateOrgDO);
                }else {
                    baseTemplateOrgDO = new BaseTemplateOrgDO();
                    BaseTemplateOrgDO baseTemplateOrgDO = new BaseTemplateOrgDO();
                    baseTemplateOrgDO.setOrgCode(orgCode);
                    baseTemplateOrgDO.setOrgName(orgName);
                    baseTemplateOrgDO.setIsDel("1");
                    baseTemplateOrgDO.setTemplateId(templateId);
                    baseTemplateOrgDO.setTemplateType(templateType);
                    baseTemplateOrgDao.save(baseTemplateOrgDO);
                }
                baseTemplateOrgDao.save(baseTemplateOrgDO);
            }
        }
    }
    public Map<String,Object> findUseTemplate(String orgCode){
        List<BaseTemplateOrgDO> list = baseTemplateOrgDao.findByOrgCode(orgCode);
        List<BaseTemplateOrgDO> followUpDictList= baseTemplateOrgDao.findByTemplateType("followUpDict",orgCode);
        List<WlyyHospitalSysDictDO> wlyyHospitalSysDictDOS = wlyyHospitalSysDictDao.findByDictName("dictManageList");
        Map map = new HashMap();
        for (WlyyHospitalSysDictDO wlyyHospitalSysDictDO:wlyyHospitalSysDictDOS){
            for (BaseTemplateOrgDO baseTemplateOrgDO:list){
                if (wlyyHospitalSysDictDO.getDictCode().equalsIgnoreCase(baseTemplateOrgDO.getTemplateType())){
                    map.put(wlyyHospitalSysDictDO.getDictCode(),baseTemplateOrgDO);
            if ("followUpDict".equalsIgnoreCase(wlyyHospitalSysDictDO.getDictCode())){
                List<Map<String,Object>> followUp= new ArrayList<>();
               for (BaseTemplateOrgDO baseTemplateOrgDO:followUpDictList){
                   Map baseTemplateOrgDOMap=new HashMap();
                   baseTemplateOrgDOMap.put("followupDict",baseTemplateOrgDO.getTemplateId());
                   followUp.add(baseTemplateOrgDOMap);
               }
                map.put(wlyyHospitalSysDictDO.getDictCode(),followUp);
            }else {
                for (BaseTemplateOrgDO baseTemplateOrgDO:list){
                    if (wlyyHospitalSysDictDO.getDictCode().equalsIgnoreCase(baseTemplateOrgDO.getTemplateType())){
                        map.put(wlyyHospitalSysDictDO.getDictCode(),baseTemplateOrgDO);
                    }
                }
            }
        }
        return  map;
    }
@ -532,6 +604,50 @@ public class TemplateManageService {
                mixEnvelop.setDetailModelList(list);
                mixEnvelop.setTotalCount(count);
                return mixEnvelop;
            }else if ("followUpDict".equalsIgnoreCase(baseTemplateDictDO.getTemplateType())){
                String sql="select t.id as \"id\"," +
                        " t.code as \"code\"," +
                        " t.name as \"name\"," +
                        " t.is_required as \"isRequired\"," +
                        " t.project_content as \"projectContent\"," +
                        " t.status as \"status\"," +
                        " t.is_del as \"isDel\"," +
                        " t.create_time as \"createTime\"" +
                        " from base_template_dict b left join base_follow_up_dict t on b.dict_id=t.id" +
                        " where t.is_del='1' and b.is_del='1' and t.status ='1' ";
                String sqlCount =" select count(1) as \"count\" from base_template_dict b left join base_follow_up_dict t on b.dict_id=t.id" +
                        " where t.is_del='1' and b.is_del='1' and t.status ='1' ";
                if (StringUtils.isNoneBlank(code)){
                    sql+=" and t.code like '%"+code+"%'";
                    sqlCount+=" and t.code like '%"+code+"%'";
                }
                if (StringUtils.isNoneBlank(name)){
                    sql+=" and t.name like '%"+name+"%'";
                    sqlCount+=" and t.name like '%"+name+"%'";
                }
                sql+=" and b.template_id = '"+baseTemplateDictDO.getId()+"'";
                sqlCount+=" and b.template_id = '"+baseTemplateDictDO.getId()+"'";
                List<Map<String,Object>> list=hibenateUtils.createSQLQuery(sql,page,pageSize);
                for (Map<String,Object> map:list){
                    if (map.get("status")!=null&&"1".equalsIgnoreCase(map.get("status").toString())){
                        map.put("statusName","生效中");
                    }else {
                        map.put("statusName","已失效");
                    }
                    if (map.get("isRequired")!=null&&"1".equalsIgnoreCase(map.get("isRequired").toString())){
                        map.put("requiredName","必填");
                    }else {
                        map.put("requiredName","非必填");
                    }
                }
                List<Map<String,Object>> countList=hibenateUtils.createSQLQuery(sqlCount);
                Integer count=0;
                if (countList!=null&&countList.size()>0) {
                    count = Integer.valueOf(countList.get(0).get("count").toString());
                }
                mixEnvelop.setDetailModelList(list);
                mixEnvelop.setTotalCount(count);
                return mixEnvelop;
            }else {
                return null;
            }
@ -739,6 +855,50 @@ public class TemplateManageService {
                mixEnvelop.setDetailModelList(list);
                mixEnvelop.setTotalCount(count);
                return mixEnvelop;
            }else if ("followUpDict".equalsIgnoreCase(baseTemplateDictDO.getTemplateType())){
                String sql="select DISTINCT t.id as \"id\"," +
                        " t.code as \"code\"," +
                        " t.name as \"name\"," +
                        " t.is_required as \"isRequired\"," +
                        " t.project_content as \"projectContent\"," +
                        " t.status as \"status\"," +
                        " t.is_del as \"isDel\"," +
                        " t.create_time as \"createTime\"" +
                        " from  base_follow_up_dict t where t.id not in ( SELECT DISTINCT g.id from base_follow_up_dict g left join base_template_dict " +
                        "m on g.id = m.dict_id " +
                        "where m.template_id ='"+templateId+"' and m.is_del ='1') and t.is_del='1' and t.status='1'";
                String sqlCount =" select count(1) as \"count\" from  base_follow_up_dict t where t.id not in ( SELECT DISTINCT g.id from base_follow_up_dict g left join base_template_dict " +
                        "m on g.id = m.dict_id " +
                        "where m.template_id ='"+templateId+"' and m.is_del ='1') and t.is_del='1' and t.status='1'";
                if (StringUtils.isNoneBlank(code)){
                    sql+=" and t.code like '%"+code+"%'";
                    sqlCount+=" and t.code like '%"+code+"%'";
                }
                if (StringUtils.isNoneBlank(name)){
                    sql+=" and t.name like '%"+name+"%'";
                    sqlCount+=" and t.name like '%"+name+"%'";
                }
                List<Map<String,Object>> list=hibenateUtils.createSQLQuery(sql,page,pageSize);
                for (Map<String,Object> map:list){
                    if (map.get("status")!=null&&"1".equalsIgnoreCase(map.get("status").toString())){
                        map.put("statusName","生效中");
                    }else {
                        map.put("statusName","已失效");
                    }
                    if (map.get("isRequired")!=null&&"1".equalsIgnoreCase(map.get("isRequired").toString())){
                        map.put("requiredName","必填");
                    }else {
                        map.put("requiredName","非必填");
                    }
                }
                List<Map<String,Object>> countList=hibenateUtils.createSQLQuery(sqlCount);
                Integer count=0;
                if (countList!=null&&countList.size()>0) {
                    count = Integer.valueOf(countList.get(0).get("count").toString());
                }
                mixEnvelop.setDetailModelList(list);
                mixEnvelop.setTotalCount(count);
                return mixEnvelop;
            }else {
                return null;
            }
@ -746,4 +906,38 @@ public class TemplateManageService {
            return null;
        }
    }
    public List<Map<String,Object>> findTemplateByDisease(String diseaseId){
        String sql =" select t.id as \"id\" ," +
                " t.name as \"name\"," +
                " t.code as \"code\"," +
                " t.children_count as \"childrenCount\"," +
                " t.update_user as \"updateUser\"," +
                " t.update_user_name as \"updateUserName\"," +
                " t.update_time as \"updateTime\"," +
                " t.disease_name as \"diseaseName\"," +
                " t.disease_id as \"diseaseId\"," +
                " t.template_type as \"templateType\"," +
                " t.is_del as \"isDel\" " +
                " from base_template t " +
                " where t.is_del='1' and t.template_type='followUpDict' ";
        List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql);
        List<Map<String,Object>> resultList = new ArrayList<>();
        for (Map<String,Object> map:list){
            if (map.get("status")!=null&&"1".equalsIgnoreCase(map.get("status").toString())){
                map.put("statusName","生效中");
            }else {
                map.put("statusName","已失效");
            }
            if (map.get("disease_id")!=null){
                String[] diseaseIds=map.get("disease_id").toString().split(",");
                for (int i=0;i<diseaseIds.length;i++){
                    if (diseaseIds[i].equalsIgnoreCase(diseaseId)){
                        resultList.add(map);
                    }
                }
            }
        }
        return resultList;
    }
}