-- 命名空间 #namespace("Gtzz") -- 获取指定步骤的项目列表(待办) max()...group by 只显示同一个项目+步骤CODE的最后一条 #sql("getToDoStepList") select progress_id,subject_id,subject_name,org_code,subject_type_id,subject_type_name, step_code,step_name,action_bureau,year,check_status,is_current,begin_time, task_number,data_type,is_back_log,lixiang_time,org_name as xmdw from t_gtzz_progress as ta where is_finish_flag <3 and progress_id in ( select max(progress_id) from t_gtzz_progress where step_code in ( #for(id:step_codes) #(for.index > 0 ? ", " : "") '#(id)' #end ) and is_current = #(is_current) #if(org_code) and org_code='#(org_code)' #end #if(keyword) and ((subject_name like '%#(keyword)%') or (task_number like '%#(keyword)%') or (org_name like '%#(keyword)%')) #end #if(begin_date) and lixiang_time >= '#(begin_date)' #end #if(end_date) and lixiang_time <= '#(end_date)' #end -- 专家 #if(expert_person_id) and subject_id in (select subject_id from t_gtzz_subject_expert where progress_id=0 and step_code in ( #for(id:step_codes) #(for.index > 0 ? ", " : "") '#(id)' #end ) and person_id='#(expert_person_id)') #end -- 监理 #if(jianli_person_id) and subject_id in (select subject_id from t_gtzz_subject_jianli where step_code in ( #for(id:step_codes) #(for.index > 0 ? ", " : "") '#(id)' #end ) and person_id='#(jianli_person_id)') #end group by subject_id, step_code ) order by progress_id desc #end -- 哪些步骤有上传附件的需要 #sql("getStepDocument") select t1.step_code,t1.type_id,t2.type_name from t_gtzz_step_document as t1 inner join t_gtzz_document_type as t2 on t1.type_id=t2.type_id where 1=1 #if(step_code) and t1.step_code='#(step_code)' #end #end -- 获取指定项目的详细信息 #sql("getSubjectExtInfo") -- pay_flag:第二阶段业务完成标记(项目资金支付)(0:未完成 1:完成) -- use_flag:项目启用废除标记(0:废除,1:启用) -- delete_flag 删除标记(0:有效 1:删除) -- task_type: 0培训 1新建 2维修 3绿化 4校园文化 5软件平台 6 购买服务 7安全 8装备 -- 数据类型(0-新建 1-支付 2-续拨) -- process_node_id: 流程节点id -- process_node_name: 流程节点名称 select t1.sn,(select parent_name from t_pro_detail where task_sn=t1.sn limit 1) as subject_type_name,t1.task_number,t1.task_title,t1.task_year,t1.ex_send_org_name,t1.pay_flag,t1.use_flag,t1.delete_flag,t1.task_type,t1.create_time,t1.data_type,t1.process_node_id,t1.process_node_name, t2.itemvalue11 as xmjj, -- 项目简介 t2.itemValue20 as ztz, -- 总投资 t2.itemValue47 as zbj, -- 中标价(合同金额) t2.itemValue20211 as pfje2021, -- 批复金额2021 t2.itemValue20221 as pfje2022, -- 批复金额2022 t2.itemValue20231 as pfje2023, -- 批复金额2023 t2.itemValue20241 as pfje2024, -- 批复金额2024 t2.itemValue20251 as pfje2025 -- 批复金额2025 from t_pro_task as t1 left join t_pro_form_value as t2 on t2.task_sn=t1.sn where t1.sn='#(task_sn)' #end -- 填充项目数据 #sql("fillSubject") select t1.sn,t1.task_number,t1.task_title,t1.task_year,t1.ex_send_org_name,t1.task_type as subject_type_id , t3.subject_type_name, t3.subject_type_name,t1.create_time from t_pro_task as t1 left join t_pro_form_value as t2 on t2.task_sn=t1.sn left join t_gtzz_subject_type as t3 on t1.task_type=t3.subject_type_id where -- 只关心市直属学校的数据 t1.ex_send_org_name in (select org_name from t_gtzz_school) -- 立项通过,审批完成 and t1.use_flag=1 and t1.draft_flag=0 and t1.close_flag=1 and t1.data_type=0 -- 按申报时间倒序 order by t1.create_time desc #end -- 获取项目财务审批流水 #sql("getSubjectPreInfo") select handle_node_name,receive_user_name as send_user_name,msg_title, handle_opinion,create_time,modify_time from t_pro_message where task_sn='#(task_sn)' and DELETE_FLAG=0 order by create_time #end -- 获取指定年份的项目查询列表 #sql("getXmxcList") select * from t_gtzz_progress where progress_id in (select max(progress_id) from t_gtzz_progress group by subject_id) #if(year) and year=#(year) #end #if(org_code) and org_code='#(org_code)' #end #if(year) and year='#(year)' #end #if(subject_type_id) and subject_type_id=#(subject_type_id) #end #if(keyword) and subject_name like '%#(keyword)%' #end and step_code like '#(step_code)%' order by begin_time desc #end -- 获取符合条件的专家列表 #sql("getExpertList") select t1.*, (select group_concat(zc_name) from t_gtzz_expert_domain as t2 where t1.person_id=t2.person_id group by t2.zc_id) zc_name from t_gtzz_expert as t1 where b_use=1 #if(keyword) and t1.person_name like '%#(keyword)%' #end #if(zc_id) and t1.person_id in (select person_id from t_gtzz_expert_domain where zc_id=#(zc_id)) #end order by t1.bureau_name,t1.person_name #end -- 项目查询列表之专家分配 #sql("getSubjectListForSettingExpert") select * from ( select t1.*, (select count(1) from t_gtzz_subject_expert as t2 where t1.subject_id=t2.subject_id and t2.step_code='#(step_code)' and t2.progress_id=0) as zj_count, (select count(1) from t_gtzz_progress as t2 where t1.subject_id=t2.subject_id and t2.step_code='#(end_step_code)' ) as can_update from t_gtzz_subject as t1 where subject_id in (select subject_id from t_gtzz_progress where step_code>='#(start_step_code)' and step_code<='#(end_step_code)' #if(not_setting_zj) and is_current=1 #end ) #if(data_type) and t1.data_type=#(data_type) #end #if(begin_date) and t1.lixiang_time between '#(begin_date)' and '#(end_date)' #end #if(keyword) and (t1.xmmc like '%#(keyword)%' or t1.xmdw like '%#(keyword)%' or t1.task_number like '%#(keyword)%') #end order by t1.lixiang_time ) as ta where 1=1 #if(setting_zj) and ta.zj_count>0 #end #if(not_setting_zj) and ta.zj_count=0 #end #end -- 项目查询列表之监理公司分配 #sql("getFenPeiJianLiList") select * from ( select t1.*, (select max(step_code) from t_gtzz_progress as t2 where t2.subject_id=t1.subject_id) as last_step_code, (select count(1) from t_gtzz_subject_jianli as t2 where t1.subject_id=t2.subject_id and t2.step_code='#(step_code)' and t2.person_id='-1') as no_need_jl, (select count(1) from t_gtzz_subject_jianli as t2 where t1.subject_id=t2.subject_id and t2.step_code='#(step_code)') as jl_count, (select count(1) from t_gtzz_progress as t2 where t1.subject_id=t2.subject_id and t2.step_code='#(end_step_code)') as can_update from t_gtzz_subject as t1 where 1=1 #if(data_type) and t1.data_type=#(data_type) #end #if(begin_date) and t1.lixiang_time between '#(begin_date)' and '#(end_date)' #end #if(keyword) and (t1.xmmc like '%#(keyword)%' or t1.xmdw like '%#(keyword)%' or t1.task_number like '%#(keyword)%' ) #end order by t1.lixiang_time ) as ta where last_step_code>='0206' #if(setting_jl) and ta.jl_count>0 #end #if(not_setting_jl) and ta.jl_count=0 #end #end -- 获取指定处理流水中指定流水号的上传文件类型列表 #sql("getProgressIdDocTypeList") select ta.document_type_id,count(1) as c from (select t1.progress_id,t2.* from t_gtzz_progress_file as t1 inner join t_gtzz_file as t2 on t1.file_id=t2.file_id) as ta where ta.progress_id=#(progress_id) group by ta.document_type_id #end -- 综合查询(项目) #sql("querySubject") select t1.*,f_getYqCount(t1.subject_id) as yq_count,f_getStepFirstName(t1.subject_id) as FirstStepName, f_getStepSecondName(t1.subject_id) as SecondStepName, (select progress_id from t_gtzz_progress where subject_id=t1.subject_id order by progress_id desc limit 1) as progress_id, (select step_code from t_gtzz_progress where subject_id=t1.subject_id order by progress_id desc limit 1) as step_code from t_gtzz_subject as t1 where 1=1 #if(keyword) and (t1.xmmc like '%#(keyword)%' or t1.task_number like '%#(keyword)%') #end #if(subject_type_ids) and t1.subject_type_id in ( #for(id:subject_type_ids) #(for.index > 0 ? ", " : "") '#(id)' #end ) #end #if(org_code) and t1.org_code='#(org_code)' #end #if(begin_date) and (t1.lixiang_time between '#(begin_date)' and '#(end_date)') #end #if(data_type) and t1.data_type=#(data_type) #end #if(sbnd) and t1.sbnd=#(sbnd) #end #if(step_code) and t1.subject_id in (select subject_id from t_gtzz_progress where is_current=#(is_current) and step_code like '#(step_code)%') #end #end -- 综合查询(项目关闭) #sql("querySubjectForClose") select *,f_getYqCount(t1.subject_id) as yq_count,f_getStepFirstName(t1.subject_id) as FirstStepName, f_getStepSecondName(t1.subject_id) as SecondStepName, (select progress_id from t_gtzz_progress where subject_id=t1.subject_id order by progress_id desc limit 1) as progress_id, (select step_code from t_gtzz_progress where subject_id=t1.subject_id order by progress_id desc limit 1) as step_code from t_gtzz_subject as t1 where 1=1 #if(keyword) and (t1.xmmc like '%#(keyword)%' or t1.task_number like '%#(keyword)%') #end #if(subject_type_ids) and t1.subject_type_id in ( #for(id:subject_type_ids) #(for.index > 0 ? ", " : "") '#(id)' #end ) #end #if(org_code) and t1.org_code='#(org_code)' #end #if(begin_date) and (t1.lixiang_time between '#(begin_date)' and '#(end_date)') #end #if(data_type) and t1.data_type=#(data_type) #end #if(sbnd) and t1.sbnd=#(sbnd) #end and (select t2.is_finish_flag from t_gtzz_progress as t2 where t2.subject_id=t1.subject_id order by t2.progress_id desc limit 1)=2 #end -- 综合查询(文件) #sql("queryFile") select t2.*,t3.*,concat('/baseService/upload/',t2.file_id,'.', t2.suffix) as url from t_gtzz_progress_file as t1 inner join t_gtzz_file as t2 on t1.file_id=t2.file_id inner join t_gtzz_progress as t3 on t1.progress_id=t3.progress_id where 1=1 #if(keyword) and((t3.subject_name like '%#(keyword)%') or (t3.task_number like '%#(keyword)%')) #end #if(document_type_ids) and t2.document_type_id in ( #for(id:document_type_ids) #(for.index > 0 ? ", " : "") '#(id)' #end ) #end #if(subject_type_ids) and t3.subject_type_id in ( #for(id:subject_type_ids) #(for.index > 0 ? ", " : "") '#(id)' #end ) #end #if(org_code) and t1.org_code='#(org_code)' #end #if(begin_date) and t2.update_ts between '#(begin_date)' and '#(end_date)' #end #if(data_type) and t3.data_type=#(data_type) #end #if(sbnd) and t3.year=#(sbnd) #end #if(step_code) and t3.step_code like '#(step_code)%' -- and t3.is_current=0 #end #end -- 四个阶段的统计信息(市、校两级兼容) #sql("tjTopFourStep") select (select count(1) from t_gtzz_sy_laststep where -- year=year(now()) year=2021 #if(org_code) and org_code='#(org_code)' #end ) as xmlx, (select count(1) from t_gtzz_sy_laststep where -- year=year(now()) year=2021 #if(org_code) and org_code='#(org_code)' #end and step_code like '02%') as zbcg, (select count(1) from t_gtzz_sy_laststep where -- year=year(now()) year=2021 #if(org_code) and org_code='#(org_code)' #end and is_finish_flag=0 and step_code like '03%') as ssys, (select count(1) from t_gtzz_sy_laststep where -- year=year(now()) year=2021 #if(org_code) and org_code='#(org_code)' #end and is_finish_flag=1) as xmbf #end -- 今年项目概览(市专用) #sql("tjSubjectSummaryCurrentYear") select sum(subject_count) as subject_count, sum(finish_count) as finish_count, sum(close_count) as close_count, sum(jz_count) as jz_count, sum(yq_count) as yq_count, ROUND(sum(money),2) as money from t_gtzz_sy_base_year where year=2021 -- YEAR(NOW()) #end -- 逾期提醒(市、校两级兼容) #sql("tjYqList") select * from t_gtzz_sy_laststep where 1=1 #if(org_code) and org_code='#(org_code)' #end and yq_count>0; #end -- 项目待办(市、校两级兼容) #sql("tjSubjectWaitStep") select t1.step_code,t1.step_name,ifnull(t2.count,0) as count from t_gtzz_step as t1 left join ( select step_code,count(1) as count from t_gtzz_sy_laststep where is_current=1 and is_finish_flag<3 #if(org_code) and org_code='#(org_code)' #end group by step_code) as t2 on t1.step_code=t2.step_code where (t1.step_code like '02%' or t1.step_code like '03%') #end -- 今年项目分布(市专用) #sql("tjFenBu") select * from ( select org_code,org_name,sum(subject_count) as subject_count,sum(finish_count) as finish_count, sum(close_count) as close_count, sum(jz_count) as jz_count, sum(yq_count) as yq_count, ROUND(sum(money),2) as money from t_gtzz_sy_base_year where -- year=year(now()) year=2021 group by org_code,org_name ) as ta order by ta.subject_count desc,money desc,finish_count desc #end -- 项目进展(学校专用) #sql("tjxmJz") select id,year,subject_id,subject_name,date_format(lixiang_time, '%Y-%m-%d') as lixiang_time,step_code,step_name, step_order_id,big_step_name, all_step_count,is_finish_flag,is_current,org_code,begin_time,end_time,duration,days_limit, date_diff_count,create_time,yq_count from t_gtzz_sy_laststep where org_code='#(org_code)' #end -- 获取结转的项目列表 #sql("getJzList") select max(progress_id) as progress_id, subject_id,org_code,org_name,subject_name,subject_type_id,subject_type_name, year,step_code,step_name,begin_time,end_time,action_bureau,input_value,radio_id, is_current,is_back_log,is_finish_flag,check_status,lixiang_time,bxlx_name,cxlx_name, jsfa_type_id,task_number,data_type,is_finish_time from t_gtzz_progress where org_code='#(org_code)' and is_finish_flag=#(is_finish_flag) -- and step_code>'0201' group by subject_id order by progress_id #end -- 归档列表 #sql("getGdList") select org_code,org_name, sum(subject_count) as subject_count, sum(finish_count) as finish_count, sum(close_count) as close_count, sum(jz_count) as jz_count, sum(yq_count) as yq_count,ROUND(sum(money),2) as money from t_gtzz_sy_base_year where 1=1 #if(year) and year=#(year) #end #if(org_code) and org_code='#(org_code)' #end group by org_code,org_name order by sum(subject_count) desc #end -- 获取监理项目列表 #sql("getJlSubjectList") select * from (select t1.*, ifnull((select count(distinct group_question_id) from t_gtzz_jianli_question as t2 where t2.subject_id=t1.subject_id),0) as question_count, ifnull((select count(distinct group_question_id) from t_gtzz_jianli_question as t2 where t2.subject_id=t1.subject_id and t2.state_id=3),0) as finish_count, (select t4.begin_time from t_gtzz_progress as t4 where t4.subject_id=t1.subject_id and t4.step_code='0301' and t4.progress_id='#(being_date)' and ta.qd_time <='#(end_date) 23:59:59' #end #if(keyword) and (ta.subject_name like '%#(keyword)%' or ta.org_name like '%#(keyword)%') #end order by ta.begin_time desc #end -- 获取指定项目的监理流水 #sql("getSubjectQuestion") select t1.* from t_gtzz_jianli_question as t1 where t1.group_question_id=t1.progress_id and t1.subject_id=#(subject_id) #if(question_level_id) and t1.question_level_id=#(question_level_id) #end #if(question_type_id) and t1.question_type_id=#(question_type_id) #end #if(begin_date) and t1.create_time between '#(begin_date)' and '#(end_date) 23:59:59' #end #if(state_id) and t1.state_id=#(state_id) #end order by t1.progress_id desc #end #end