| 
															
																@ -25,12 +25,14 @@ import com.yihu.jw.restmodel.web.MixEnvelop; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import com.yihu.jw.utils.StringUtil; 
															 | 
															
															 | 
															
																import com.yihu.jw.utils.StringUtil; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import com.yihu.jw.utils.hibernate.HibenateUtils; 
															 | 
															
															 | 
															
																import com.yihu.jw.utils.hibernate.HibenateUtils; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import com.yihu.jw.wechat.enterprise.EnterpriseService; 
															 | 
															
															 | 
															
																import com.yihu.jw.wechat.enterprise.EnterpriseService; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																import jdk.management.resource.internal.TotalResourceContext; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import org.apache.commons.lang3.StringUtils; 
															 | 
															
															 | 
															
																import org.apache.commons.lang3.StringUtils; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																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.stereotype.Service; 
															 | 
															
															 | 
															
																import org.springframework.stereotype.Service; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import org.springframework.transaction.annotation.Transactional; 
															 | 
															
															 | 
															
																import org.springframework.transaction.annotation.Transactional; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																import javax.persistence.criteria.CriteriaBuilder; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import java.text.SimpleDateFormat; 
															 | 
															
															 | 
															
																import java.text.SimpleDateFormat; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import java.util.*; 
															 | 
															
															 | 
															
																import java.util.*; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -258,6 +260,7 @@ public class BaseComplaintService { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        baseComplaintDO.setIsDel("1"); 
															 | 
															
															 | 
															
																        baseComplaintDO.setIsDel("1"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        baseComplaintDO.setStatus("0"); 
															 | 
															
															 | 
															
																        baseComplaintDO.setStatus("0"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        baseComplaintDO.setCreateTime(new Date()); 
															 | 
															
															 | 
															
																        baseComplaintDO.setCreateTime(new Date()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        baseComplaintDO.setDefaultdoctor("defalutDoctor"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        baseComplaintDO=  baseComplaintDao.save(baseComplaintDO); 
															 | 
															
															 | 
															
																        baseComplaintDO=  baseComplaintDao.save(baseComplaintDO); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        BaseComplaintOperateLogDO baseComplaintOperateLogDO = new BaseComplaintOperateLogDO(); 
															 | 
															
															 | 
															
																        BaseComplaintOperateLogDO baseComplaintOperateLogDO = new BaseComplaintOperateLogDO(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        baseComplaintOperateLogDO.setOperateFrom(baseComplaintDO.getPatient()); 
															 | 
															
															 | 
															
																        baseComplaintOperateLogDO.setOperateFrom(baseComplaintDO.getPatient()); 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -280,13 +283,14 @@ public class BaseComplaintService { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    /* 
															 | 
															
															 | 
															
																    /* 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     * 医生转交 
															 | 
															
															 | 
															
																     * 医生转交 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     * */ 
															 | 
															
															 | 
															
																     * */ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    public BaseComplaintDO passTo(String id,String complaintId,String doctor,String operator){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																    public BaseComplaintDO passTo(String id,String complaintId,String doctor,String operator,String reason){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        BaseComplaintDO baseComplaintDO = baseComplaintDao.findOne(id); 
															 | 
															
															 | 
															
																        BaseComplaintDO baseComplaintDO = baseComplaintDao.findOne(id); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        BaseComplaintOperateLogDO baseComplaintOperateLogDO = new BaseComplaintOperateLogDO(); 
															 | 
															
															 | 
															
																        BaseComplaintOperateLogDO baseComplaintOperateLogDO = new BaseComplaintOperateLogDO(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        String doctorName=""; 
															 | 
															
															 | 
															
																        String doctorName=""; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        String complaitTypeName=""; 
															 | 
															
															 | 
															
																        String complaitTypeName=""; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        if (null!=baseComplaintDO){ 
															 | 
															
															 | 
															
																        if (null!=baseComplaintDO){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            baseComplaintOperateLogDO.setOperateFrom(operator); 
															 | 
															
															 | 
															
																            baseComplaintOperateLogDO.setOperateFrom(operator); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            baseComplaintOperateLogDO.setReason(reason); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            baseComplaintOperateLogDO.setOperateTo(doctor); 
															 | 
															
															 | 
															
																            baseComplaintOperateLogDO.setOperateTo(doctor); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            baseComplaintOperateLogDO.setComplaintTo(complaintId); 
															 | 
															
															 | 
															
																            baseComplaintOperateLogDO.setComplaintTo(complaintId); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            baseComplaintOperateLogDO.setComplaintFrom(baseComplaintDO.getComplaintId()); 
															 | 
															
															 | 
															
																            baseComplaintOperateLogDO.setComplaintFrom(baseComplaintDO.getComplaintId()); 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -301,7 +305,12 @@ public class BaseComplaintService { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                baseComplaintDO.setAcceptorName(doctorName); 
															 | 
															
															 | 
															
																                baseComplaintDO.setAcceptorName(doctorName); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            } 
															 | 
															
															 | 
															
																            } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            baseComplaintDO.setAcceptor(doctor);*/ 
															 | 
															
															 | 
															
																            baseComplaintDO.setAcceptor(doctor);*/ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            if ("1".equalsIgnoreCase(baseComplaintDO.getStatus())){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                baseComplaintDO.setStatus("0"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            baseComplaintDO.setDefaultdoctor(doctor); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            baseComplaintDO.setComplaintId(complaintId); 
															 | 
															
															 | 
															
																            baseComplaintDO.setComplaintId(complaintId); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            baseComplaintDO.setPassto(doctor); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            BaseComplaintDictDO baseComplaintDictDO = baseComplaintDictDao.findById(complaintId); 
															 | 
															
															 | 
															
																            BaseComplaintDictDO baseComplaintDictDO = baseComplaintDictDao.findById(complaintId); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            if (baseComplaintDictDO!=null){ 
															 | 
															
															 | 
															
																            if (baseComplaintDictDO!=null){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                complaitTypeName=baseComplaintDictDO.getName(); 
															 | 
															
															 | 
															
																                complaitTypeName=baseComplaintDictDO.getName(); 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -331,6 +340,7 @@ public class BaseComplaintService { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                baseComplaintDO.setAcceptorName(baseDoctorDO.getName()); 
															 | 
															
															 | 
															
																                baseComplaintDO.setAcceptorName(baseDoctorDO.getName()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            } 
															 | 
															
															 | 
															
																            } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            baseComplaintDO.setAcceptor(doctor); 
															 | 
															
															 | 
															
																            baseComplaintDO.setAcceptor(doctor); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            baseComplaintDO.setDefaultdoctor(doctor); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            baseComplaintDO.setAcceptTime(new Date()); 
															 | 
															
															 | 
															
																            baseComplaintDO.setAcceptTime(new Date()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            baseComplaintDao.save(baseComplaintDO); 
															 | 
															
															 | 
															
																            baseComplaintDao.save(baseComplaintDO); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            BaseComplaintOperateLogDO baseComplaintOperateLogDO = new BaseComplaintOperateLogDO(); 
															 | 
															
															 | 
															
																            BaseComplaintOperateLogDO baseComplaintOperateLogDO = new BaseComplaintOperateLogDO(); 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -355,6 +365,7 @@ public class BaseComplaintService { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            baseComplaintDO.setFeedBack(content); 
															 | 
															
															 | 
															
																            baseComplaintDO.setFeedBack(content); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            baseComplaintDO.setFeedImg(imgUrl); 
															 | 
															
															 | 
															
																            baseComplaintDO.setFeedImg(imgUrl); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            baseComplaintDO.setOperator(operator); 
															 | 
															
															 | 
															
																            baseComplaintDO.setOperator(operator); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            baseComplaintDO.setDefaultdoctor(operator); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            baseComplaintDO.setStatus("2"); 
															 | 
															
															 | 
															
																            baseComplaintDO.setStatus("2"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            BaseDoctorDO baseDoctorDO = baseDoctorDao.findById(operator); 
															 | 
															
															 | 
															
																            BaseDoctorDO baseDoctorDO = baseDoctorDao.findById(operator); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            if (null != baseDoctorDO) { 
															 | 
															
															 | 
															
																            if (null != baseDoctorDO) { 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -389,7 +400,7 @@ public class BaseComplaintService { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        if ("admin".equalsIgnoreCase(role)){ 
															 | 
															
															 | 
															
																        if ("admin".equalsIgnoreCase(role)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            queryAll=true; 
															 | 
															
															 | 
															
																            queryAll=true; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        } 
															 | 
															
															 | 
															
																        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        String sql="select t.id as \"id\"," + 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        String sql="select DISTINCT t.id as \"id\"," + 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                " t.complaint_id as \"complaintId\"," + 
															 | 
															
															 | 
															
																                " t.complaint_id as \"complaintId\"," + 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                " t.complaint_name as \"complaintName\"," + 
															 | 
															
															 | 
															
																                " t.complaint_name as \"complaintName\"," + 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                " t.complaint_content as \"complaintContent\"," + 
															 | 
															
															 | 
															
																                " t.complaint_content as \"complaintContent\"," + 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -418,10 +429,19 @@ public class BaseComplaintService { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                " t.feed_img as \"feedImg\"," + 
															 | 
															
															 | 
															
																                " t.feed_img as \"feedImg\"," + 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                " t.acceptor as \"acceptor\"," + 
															 | 
															
															 | 
															
																                " t.acceptor as \"acceptor\"," + 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                " t.mobile as \"mobile\"," + 
															 | 
															
															 | 
															
																                " t.mobile as \"mobile\"," + 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                " t.passto as \"passto\"," + 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                " t.acceptor_name as \"acceptorName\"" + 
															 | 
															
															 | 
															
																                " t.acceptor_name as \"acceptorName\"" + 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                "from base_complaint t  " + 
															 | 
															
															 | 
															
																                "from base_complaint t  " + 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                " left join base_patient b on t.patient=b.id" + 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                " where t.is_del=1"; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                " left join base_patient b on t.patient=b.id " ; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        sql+=" left join base_complaint_operate_log g on t.id=g.relation_code where t.is_del=1 "; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        if (StringUtils.isNoneBlank(status)&&"3".equalsIgnoreCase(status)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            sql+=" and  g.status='3' "; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        }/*else if (StringUtils.isNoneBlank(status)&&"1".equalsIgnoreCase(status)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            sql+=" and  g.status='1' "; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        else if (StringUtils.isNoneBlank(status)&&"2".equalsIgnoreCase(status)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            sql+=" and  g.status='2' "; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        }*/ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        if (!queryAll){ 
															 | 
															
															 | 
															
																        if (!queryAll){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            BaseComplaintDoctorDO baseComplaintDoctorDO= baseComplaintDoctorDao.findbyDoctorAndDel(doctor); 
															 | 
															
															 | 
															
																            BaseComplaintDoctorDO baseComplaintDoctorDO= baseComplaintDoctorDao.findbyDoctorAndDel(doctor); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            /*List<BaseComplaintOperateLogDO> logList =baseComplaintOperateDao.findbyOperateFrom(doctor); 
															 | 
															
															 | 
															
																            /*List<BaseComplaintOperateLogDO> logList =baseComplaintOperateDao.findbyOperateFrom(doctor); 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -443,13 +463,41 @@ public class BaseComplaintService { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            } 
															 | 
															
															 | 
															
																            } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //complaint=complaint+","+types; 
															 | 
															
															 | 
															
																            //complaint=complaint+","+types; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            if (StringUtils.isNoneBlank(complaint)){ 
															 | 
															
															 | 
															
																            if (StringUtils.isNoneBlank(complaint)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                if (!StringUtils.isNoneBlank(status)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    sql+=" and t.status !='-1'"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    sql+=" and (t.defaultdoctor ='defalutDoctor' or t.defaultdoctor='"+doctor+"')"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                if (StringUtils.isNoneBlank(status)&&"3".equalsIgnoreCase(status)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    sql+=" and g.operate_from='"+doctor+"'"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                }else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    sql+=" and t.complaint_id='"+complaint+"'"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                if (!StringUtils.isNoneBlank(status)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    sql+=" or (g.operate_from='"+doctor+"'  and g.status='3')"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                if (StringUtils.isNoneBlank(status)&&"3".equalsIgnoreCase(status)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    sql+=" and g.operate_from='"+doctor+"'"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                }else if (StringUtils.isNoneBlank(status)&&"0".equalsIgnoreCase(status)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    sql+=" and t.status='0' and (t.passto='"+doctor+"' or t.passto is null )"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                } else if (StringUtils.isNoneBlank(status)&&"1".equalsIgnoreCase(status)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    sql+="  and t.status='1' and t.acceptor='"+doctor+"' "; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                } else if (StringUtils.isNoneBlank(status)&&"2".equalsIgnoreCase(status)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    sql+=" and t.status='2' and t.operator='"+doctor+"' "; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                //sql+=" and t.complaint_id in ('"+complaint.replace(",","','")+"')"; 
															 | 
															
															 | 
															
																                //sql+=" and t.complaint_id in ('"+complaint.replace(",","','")+"')"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                sql+=" and t.complaint_id='"+complaint+"'"; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            }else { 
															 | 
															
															 | 
															
																            }else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                sql+=" and t.id IN (select col.relation_code from base_complaint_operate_log col where col.operate_to = '"+doctor+"'  )"; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            } 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            if (!StringUtils.isNoneBlank(status)){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                sql+=" and t.status !='-1'"; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                if (StringUtils.isNoneBlank(status)&&"3".equalsIgnoreCase(status)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    sql+=" and g.operate_from='"+doctor+"'"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                }else if (StringUtils.isNoneBlank(status)&&"0".equalsIgnoreCase(status)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    sql+=" and t.status='0' and t.passto='"+doctor+"'"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                } else if (StringUtils.isNoneBlank(status)&&"1".equalsIgnoreCase(status)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    sql+="  and t.status='1' and t.acceptor='"+doctor+"' "; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                } else if (StringUtils.isNoneBlank(status)&&"2".equalsIgnoreCase(status)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    sql+=" and t.status='2' and t.operator='"+doctor+"' "; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                } else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    sql+=" and t.id IN (select col.relation_code from base_complaint_operate_log col where col.operate_to = '"+doctor+"'  )"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            } 
															 | 
															
															 | 
															
																            } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //complaint=complaint+","+types; 
															 | 
															
															 | 
															
																            //complaint=complaint+","+types; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -458,10 +506,11 @@ public class BaseComplaintService { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                //sql+=" and t.complaint_id in ('"+complaint.replace(",","','")+"')"; 
															 | 
															
															 | 
															
																                //sql+=" and t.complaint_id in ('"+complaint.replace(",","','")+"')"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                sql+=" and t.complaint_id='"+complaintId+"'"; 
															 | 
															
															 | 
															
																                sql+=" and t.complaint_id='"+complaintId+"'"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            } 
															 | 
															
															 | 
															
																            } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            if (StringUtils.isNoneBlank(status)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                sql+=" and t.status ='"+status+"'"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        } 
															 | 
															
															 | 
															
																        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        if (StringUtils.isNoneBlank(status)){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            sql+=" and t.status ='"+status+"'"; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        } 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        if (StringUtils.isNoneBlank(patientName)){ 
															 | 
															
															 | 
															
																        if (StringUtils.isNoneBlank(patientName)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            sql+=" and t.patient_name like '%"+patientName+"%'"; 
															 | 
															
															 | 
															
																            sql+=" and t.patient_name like '%"+patientName+"%'"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        } 
															 | 
															
															 | 
															
																        } 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -624,33 +673,150 @@ public class BaseComplaintService { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        Integer recieve=0; 
															 | 
															
															 | 
															
																        Integer recieve=0; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        Integer deal=0; 
															 | 
															
															 | 
															
																        Integer deal=0; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        Integer cacel=0; 
															 | 
															
															 | 
															
																        Integer cacel=0; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        Integer passto=0; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        Integer total=0; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        if (baseComplaintDoctorDO!=null){ 
															 | 
															
															 | 
															
																        if (baseComplaintDoctorDO!=null){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            Boolean queryAll=false; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            if ("admin".equalsIgnoreCase(role)){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                queryAll=true; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            } 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            if (!queryAll){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                complaints=baseComplaintDao.getCountByStatusAndComplaintId("0",baseComplaintDoctorDO.getComplaintId()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                recieve=baseComplaintDao.getCountByStatusAndComplaintId("1",baseComplaintDoctorDO.getComplaintId()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                deal=baseComplaintDao.getCountByStatusAndComplaintId("2",baseComplaintDoctorDO.getComplaintId()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                //cacel=baseComplaintDao.getCountByStatusAndComplaintId("-1",baseComplaintDoctorDO.getComplaintId()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            }else { 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                complaints=baseComplaintDao.getCountByStatus("0"); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                recieve=baseComplaintDao.getCountByStatus("1"); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                deal=baseComplaintDao.getCountByStatus("2"); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                cacel=baseComplaintDao.getCountByStatus("-1"); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            } 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                Boolean queryAll=false; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                if ("admin".equalsIgnoreCase(role)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    queryAll=true; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                if (!queryAll){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    if ("808080eb7a194099017a1943fa820004".equalsIgnoreCase(baseComplaintDoctorDO.getComplaintId())) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        complaints = getCountByStatus(doctor,"0",role); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        recieve = getCountByStatus(doctor,"1",role); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        deal = getCountByStatus(doctor,"2",role); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        passto = getCountByPassto(doctor); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        total = getCountByStatus(doctor,"",role); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    }else{ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        complaints=getCountByStatus(doctor,"0",role); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        recieve=getCountByStatus(doctor,"1",role); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        deal=getCountByStatus(doctor,"2",role); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        passto=getCountByPassto(doctor); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        total=getCountByStatus(doctor,"",role); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    //cacel=baseComplaintDao.getCountByStatusAndComplaintId("-1",baseComplaintDoctorDO.getComplaintId()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                }else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    complaints=baseComplaintDao.getCountByStatus("0"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    recieve=baseComplaintDao.getCountByStatus("1"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    deal=baseComplaintDao.getCountByStatus("2"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    cacel=baseComplaintDao.getCountByStatus("-1"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    total = complaints+recieve+deal+cacel; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        } 
															 | 
															
															 | 
															
																        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        Integer total = complaints+recieve+deal+cacel; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        Map map=new HashMap(); 
															 | 
															
															 | 
															
																        Map map=new HashMap(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        map.put("complaints",complaints); 
															 | 
															
															 | 
															
																        map.put("complaints",complaints); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        map.put("recieve",recieve); 
															 | 
															
															 | 
															
																        map.put("recieve",recieve); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        map.put("deal",deal); 
															 | 
															
															 | 
															
																        map.put("deal",deal); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        map.put("passto",passto); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        map.put("cacel",cacel); 
															 | 
															
															 | 
															
																        map.put("cacel",cacel); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        map.put("total",total); 
															 | 
															
															 | 
															
																        map.put("total",total); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        return map; 
															 | 
															
															 | 
															
																        return map; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    } 
															 | 
															
															 | 
															
																    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																    public Integer getCountByPassto(String doctor){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        String sql ="select count(1) as \"total\" from (select  DISTINCT t.id   from base_complaint t left join base_complaint_operate_log b" + 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                " on t.id=b.relation_code where t.is_del='1' and b.status='3'"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        if (StringUtils.isNoneBlank(doctor)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            sql+=" and b.operate_from='"+doctor+"'"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        sql+=") m"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        List<Map<String,Object>> listcount=hibenateUtils.createSQLQuery(sql); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        Integer count=0; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        if (listcount!=null&&listcount.size()>0){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            count=Integer.valueOf(listcount.get(0).get("total").toString()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        return count; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																    public Integer getCountByStatus(String doctor,String status,String role){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        Boolean queryAll=false; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        if ("admin".equalsIgnoreCase(role)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            queryAll=true; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        String sql="select count(1)  as \"count\" from (select DISTINCT t.id  "+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                "  from base_complaint t  " + 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                " left join base_patient b on t.patient=b.id " ; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        sql+=" left join base_complaint_operate_log g on t.id=g.relation_code where t.is_del=1 "; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        if (StringUtils.isNoneBlank(status)&&"3".equalsIgnoreCase(status)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            sql+="  and g.status='3' "; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        } /*else if (StringUtils.isNoneBlank(status)&&"1".equalsIgnoreCase(status)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            sql+=" and  g.status='1' "; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        else if (StringUtils.isNoneBlank(status)&&"2".equalsIgnoreCase(status)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            sql+=" and  g.status='2' "; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        }*/ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        if (!queryAll){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            BaseComplaintDoctorDO baseComplaintDoctorDO= baseComplaintDoctorDao.findbyDoctorAndDel(doctor); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            /*List<BaseComplaintOperateLogDO> logList =baseComplaintOperateDao.findbyOperateFrom(doctor); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            String types= ""; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            if (logList!=null&&logList.size()>0){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                for (int i=0;i<logList.size();i++){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    if (i==logList.size()-1){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        types+=logList.get(i).getComplaintTo(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    }else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        types+=logList.get(i).getComplaintTo()+","; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            }*/ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            String complaint=""; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            if (baseComplaintDoctorDO!=null){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                if (baseComplaintDoctorDO.getComplaintId().equalsIgnoreCase("808080eb7a194099017a1943fa820004")){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    complaint=baseComplaintDoctorDO.getComplaintId(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            //complaint=complaint+","+types; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            if (StringUtils.isNoneBlank(complaint)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                if (!StringUtils.isNoneBlank(status)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    sql+=" and t.status !='-1'"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    sql+=" and (t.defaultdoctor ='defalutDoctor' or t.defaultdoctor='"+doctor+"')"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                if (StringUtils.isNoneBlank(status)&&"3".equalsIgnoreCase(status)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    sql+=" and g.operate_from='"+doctor+"'"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                }else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    sql+=" and t.complaint_id='"+complaint+"'"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																               if (!StringUtils.isNoneBlank(status)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                   sql+=" or (g.operate_from='"+doctor+"'  and g.status='3')"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                if (StringUtils.isNoneBlank(status)&&"3".equalsIgnoreCase(status)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    sql+=" and g.operate_from='"+doctor+"'"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                }else if (StringUtils.isNoneBlank(status)&&"0".equalsIgnoreCase(status)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    sql+=" and t.status='0' and (t.passto='"+doctor+"' or t.passto is null )"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                } else if (StringUtils.isNoneBlank(status)&&"1".equalsIgnoreCase(status)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    sql+="  and t.status='1' and t.acceptor='"+doctor+"' "; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                } else if (StringUtils.isNoneBlank(status)&&"2".equalsIgnoreCase(status)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    sql+=" and t.status='2' and t.operator='"+doctor+"' "; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                //sql+=" and t.complaint_id in ('"+complaint.replace(",","','")+"')"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            }else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                if (StringUtils.isNoneBlank(status)&&"3".equalsIgnoreCase(status)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    sql+=" and g.operate_from='"+doctor+"'"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                }else if (StringUtils.isNoneBlank(status)&&"0".equalsIgnoreCase(status)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    sql+=" and t.status='0' and t.passto='"+doctor+"'"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                } else if (StringUtils.isNoneBlank(status)&&"1".equalsIgnoreCase(status)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    sql+="  and t.status='1' and t.acceptor='"+doctor+"' "; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                } else if (StringUtils.isNoneBlank(status)&&"2".equalsIgnoreCase(status)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    sql+=" and t.status='2' and t.operator='"+doctor+"' "; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                } else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    sql+=" and t.id IN (select col.relation_code from base_complaint_operate_log col where col.operate_to = '"+doctor+"'  )"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            if (!StringUtils.isNoneBlank(status)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                sql+=" and t.status !='-1'"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            //complaint=complaint+","+types; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        System.out.println("sql"+sql); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        Integer count = 0; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        sql+=")g"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        List<Map<String,Object>> total = hibenateUtils.createSQLQuery(sql); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        if(total!=null&&total.size()>0){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            //mysql 与 Oracle 聚合函数返回类型不一致,需要判断装换 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            count = Integer.valueOf(total.get(0).get("count").toString()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        return count; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    /* 
															 | 
															
															 | 
															
																    /* 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     * 查询投诉数量*/ 
															 | 
															
															 | 
															
																     * 查询投诉数量*/ 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -663,7 +829,6 @@ public class BaseComplaintService { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        recieve=baseComplaintDao.getCountByStatusByPatient("1",patient); 
															 | 
															
															 | 
															
																        recieve=baseComplaintDao.getCountByStatusByPatient("1",patient); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        deal=baseComplaintDao.getCountByStatusByPatient("2",patient); 
															 | 
															
															 | 
															
																        deal=baseComplaintDao.getCountByStatusByPatient("2",patient); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        cacel=baseComplaintDao.getCountByStatusByPatient("-1",patient); 
															 | 
															
															 | 
															
																        cacel=baseComplaintDao.getCountByStatusByPatient("-1",patient); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        Integer total = complaints+recieve+deal+cacel; 
															 | 
															
															 | 
															
																        Integer total = complaints+recieve+deal+cacel; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        Map map=new HashMap(); 
															 | 
															
															 | 
															
																        Map map=new HashMap(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        map.put("complaints",complaints); 
															 | 
															
															 | 
															
																        map.put("complaints",complaints); 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -698,6 +863,7 @@ public class BaseComplaintService { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                " p.name as \"complaintNameFrom\" ," + 
															 | 
															
															 | 
															
																                " p.name as \"complaintNameFrom\" ," + 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                " n.name as \"complaintNameto\", " + 
															 | 
															
															 | 
															
																                " n.name as \"complaintNameto\", " + 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                " t.operate_from as \"operateFrom\" ," + 
															 | 
															
															 | 
															
																                " t.operate_from as \"operateFrom\" ," + 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                " t.reason as \"reason\" ," + 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                " t.operate_to as \"operateTo\" ," + 
															 | 
															
															 | 
															
																                " t.operate_to as \"operateTo\" ," + 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                " t.cancel_by as \"cancelBy\", " + 
															 | 
															
															 | 
															
																                " t.cancel_by as \"cancelBy\", " + 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                " t.operate_type as \"operateType\", " + 
															 | 
															
															 | 
															
																                " t.operate_type as \"operateType\", " + 
															 |