diff --git a/README.md b/README.md index cedd835..7b7bd2a 100644 --- a/README.md +++ b/README.md @@ -6,11 +6,11 @@ 官网网站:http://www.rockoa.com/ 源码仅供学习二次开发使用,禁止二次发布,禁止用于商业用途出售等(违者必究) 版权:Copyright @2016-2022 信呼开发团队 -版本整理时间:2022-09-05 23:59:59 -版本号:V2.3.9 +版本整理时间:2022-09-29 23:59:59 +版本号:V2.5.0 -### V2.3.9更新说明 +### V2.5.0更新说明 1、完善系统安全性。 2、更多升级日志详见:http://www.rockoa.com/view_core.html diff --git a/config/version.php b/config/version.php index 8352812..f62006a 100644 --- a/config/version.php +++ b/config/version.php @@ -1,3 +1,3 @@ '; + $xiaoshu= arrvalue($a,'xiaoshu','0'); + $str = ''; } if($type=='xuhao'){ $str = ''; diff --git a/webmain/flow/input/inputjs/input.js b/webmain/flow/input/inputjs/input.js index 0dd2923..1cf19e5 100644 --- a/webmain/flow/input/inputjs/input.js +++ b/webmain/flow/input/inputjs/input.js @@ -828,12 +828,16 @@ var c={ return str; }, gongsv:function(ne,vlas,gongss){ - var val = '0',vals,val1; + var val = '0',vals,val1,xs; if(form(ne)){ try{ val = eval(vlas);if(!val)val='0'; val1= 'a'+val+'';vals= val1.split('.'); - if(vals[1] && vals[1].length>2)val=js.float(val); + if(vals[1] && vals[1].length>2){ + xs = $(form(ne)).attr('xiaoshu'); + if(!xs || xs=='0')xs = 2; + val=js.float(val, parseFloat(xs)); + } form(ne).value=val; }catch(e){ alert(''+ne+'璁$畻鍏紡璁剧疆鏈夐敊璇細'+gongss+'\n\n'+vlas+''); diff --git a/webmain/flow/input/inputjs/mode_assetmly.js b/webmain/flow/input/inputjs/mode_assetmly.js new file mode 100644 index 0000000..ce45f47 --- /dev/null +++ b/webmain/flow/input/inputjs/mode_assetmly.js @@ -0,0 +1,4 @@ +//娴佺▼妯″潡銆恆ssetmly.鍥哄畾璧勪骇棰嗙敤銆戜笅褰曞叆椤甸潰鑷畾涔塲s椤甸潰,鍒濆鍑芥暟 +function initbodys(){ + +} \ No newline at end of file diff --git a/webmain/flow/input/inputjs/mode_collectm.js b/webmain/flow/input/inputjs/mode_collectm.js new file mode 100644 index 0000000..41b77b2 --- /dev/null +++ b/webmain/flow/input/inputjs/mode_collectm.js @@ -0,0 +1,4 @@ +//娴佺▼妯″潡銆恈ollectm.淇℃伅鏀堕泦銆戜笅褰曞叆椤甸潰鑷畾涔塲s椤甸潰,鍒濆鍑芥暟 +function initbodys(){ + +} \ No newline at end of file diff --git a/webmain/flow/input/inputjs/mode_collects.js b/webmain/flow/input/inputjs/mode_collects.js new file mode 100644 index 0000000..12f8bd9 --- /dev/null +++ b/webmain/flow/input/inputjs/mode_collects.js @@ -0,0 +1,4 @@ +//娴佺▼妯″潡銆恈ollects.淇℃伅鏀堕泦琛ㄣ戜笅褰曞叆椤甸潰鑷畾涔塲s椤甸潰,鍒濆鍑芥暟 +function initbodys(){ + +} \ No newline at end of file diff --git a/webmain/flow/input/inputjs/mode_schedule.js b/webmain/flow/input/inputjs/mode_schedule.js index 7b32dc4..df157ea 100644 --- a/webmain/flow/input/inputjs/mode_schedule.js +++ b/webmain/flow/input/inputjs/mode_schedule.js @@ -17,5 +17,10 @@ function changeratess(v, lx){ } s+='  '; } + if(v=='d'){ + sel = data.rateval; + if(!sel)sel='1'; + s='姣 澶'; + } $('#div_rateval').html(s); } \ No newline at end of file diff --git a/webmain/flow/input/mode_assetmlyAction.php b/webmain/flow/input/mode_assetmlyAction.php new file mode 100644 index 0000000..4b612d4 --- /dev/null +++ b/webmain/flow/input/mode_assetmlyAction.php @@ -0,0 +1,49 @@ +'閿欒鎻愮ず鍐呭','rows'=> array()) 鍙繑鍥炵┖瀛楃涓诧紝鎴栬呮暟缁 rows 鏄彲鍚屾椂淇濆瓨鍒版暟鎹簱涓婃暟缁 + */ + protected function savebefore($table, $arr, $id, $addbo){ + + $rows['type'] = 1; //蹇呴』涓1 + + return array( + 'rows' => $rows + ); + } + + /** + * 閲嶅啓鍑芥暟锛氫繚瀛樺悗澶勭悊锛屼富瑕佷繚瀛樺叾浠栬〃鏁版嵁 + * $table String 瀵瑰簲琛ㄥ悕 + * $arr Array 琛ㄥ崟鍙傛暟 + * $id Int 瀵瑰簲琛ㄤ笂璁板綍Id + * $addbo Boolean 鏄惁娣诲姞鏃 + */ + protected function saveafter($table, $arr, $id, $addbo){ + + } + + //璇诲彇璧勪骇鍒楄〃 + public function assetmlydata() + { + $rows = m('assetm')->getall('`state`=0'); + $arr = array(); + foreach($rows as $k=>$rs){ + $arr[] = array( + 'name' => $rs['title'].'('.$rs['num'].')', + 'value' => $rs['id'] + ); + } + return $arr; + } +} + \ No newline at end of file diff --git a/webmain/flow/input/mode_collectmAction.php b/webmain/flow/input/mode_collectmAction.php new file mode 100644 index 0000000..83a5d76 --- /dev/null +++ b/webmain/flow/input/mode_collectmAction.php @@ -0,0 +1,39 @@ +'閿欒鎻愮ず鍐呭','rows'=> array()) 鍙繑鍥炵┖瀛楃涓诧紝鎴栬呮暟缁 rows 鏄彲鍚屾椂淇濆瓨鍒版暟鎹簱涓婃暟缁 + */ + protected function savebefore($table, $arr, $id, $addbo){ + $rows['type'] = 2; //蹇呴』涓2 + + $dbs = m('admin'); + $rows['leixing'] = $dbs->rows($dbs->gjoin($arr['runrenid'], 'ud', 'where')); + + return array( + 'rows' => $rows + ); + } + + /** + * 閲嶅啓鍑芥暟锛氫繚瀛樺悗澶勭悊锛屼富瑕佷繚瀛樺叾浠栬〃鏁版嵁 + * $table String 瀵瑰簲琛ㄥ悕 + * $arr Array 琛ㄥ崟鍙傛暟 + * $id Int 瀵瑰簲琛ㄤ笂璁板綍Id + * $addbo Boolean 鏄惁娣诲姞鏃 + */ + protected function saveafter($table, $arr, $id, $addbo){ + + } + + +} + \ No newline at end of file diff --git a/webmain/flow/input/mode_collectsAction.php b/webmain/flow/input/mode_collectsAction.php new file mode 100644 index 0000000..c5862c3 --- /dev/null +++ b/webmain/flow/input/mode_collectsAction.php @@ -0,0 +1,35 @@ +'閿欒鎻愮ず鍐呭','rows'=> array()) 鍙繑鍥炵┖瀛楃涓诧紝鎴栬呮暟缁 rows 鏄彲鍚屾椂淇濆瓨鍒版暟鎹簱涓婃暟缁 + */ + protected function savebefore($table, $arr, $id, $addbo){ + $rows['type'] = 3; //蹇呴』涓3 + + + return array( + 'rows' => $rows + ); + } + + /** + * 閲嶅啓鍑芥暟锛氫繚瀛樺悗澶勭悊锛屼富瑕佷繚瀛樺叾浠栬〃鏁版嵁 + * $table String 瀵瑰簲琛ㄥ悕 + * $arr Array 琛ㄥ崟鍙傛暟 + * $id Int 瀵瑰簲琛ㄤ笂璁板綍Id + * $addbo Boolean 鏄惁娣诲姞鏃 + */ + protected function saveafter($table, $arr, $id, $addbo){ + + } +} + \ No newline at end of file diff --git a/webmain/flow/page/input_assetmly.html b/webmain/flow/page/input_assetmly.html new file mode 100644 index 0000000..37c1ad3 --- /dev/null +++ b/webmain/flow/page/input_assetmly.html @@ -0,0 +1 @@ +
*^runren^{runren}
^startdt^{startdt}
^explain^{explain}
棰嗙敤璧勪骇
搴忓彿*璧勪骇椤圭洰棰嗙敤璇存槑鎿嶄綔
[xuhao0,0][pitem0,0][zxren0,0][itemid0,0]{鍒,0}
{鏂板,0}
^file_content^{file_content}
^base_name^{base_name}^base_deptname^{base_deptname}
\ No newline at end of file diff --git a/webmain/flow/page/input_collectm.html b/webmain/flow/page/input_collectm.html new file mode 100644 index 0000000..12d590f --- /dev/null +++ b/webmain/flow/page/input_collectm.html @@ -0,0 +1 @@ +
*^name^{name}
*^runren^{runren}
*^startdt^{startdt}*^enddt^{enddt}
^explain^{explain}
鏀堕泦瀛楁
搴忓彿*瀛楁鍚嶇О瀛楁绫诲瀷璇存槑/鏁版嵁婧鏄惁蹇呭~鎿嶄綔
[xuhao0,0][pitem0,0][zxren0,0][zxrenid0,0][itemid0,0]{鍒,0}
{鏂板,0}
^file_content^{file_content}
\ No newline at end of file diff --git a/webmain/flow/page/input_collects.html b/webmain/flow/page/input_collects.html new file mode 100644 index 0000000..e21db92 --- /dev/null +++ b/webmain/flow/page/input_collects.html @@ -0,0 +1 @@ +{autotpl}
*^name^{name}*^psren^{psren}
^explain^{explain}
^file_content^{file_content}
\ No newline at end of file diff --git a/webmain/flow/page/input_custplan.html b/webmain/flow/page/input_custplan.html index 36d59a6..c123925 100644 --- a/webmain/flow/page/input_custplan.html +++ b/webmain/flow/page/input_custplan.html @@ -1 +1 @@ -
*璺熻繘瀹㈡埛{custname}{custid}*璺熻繘鏂瑰紡{gentype}
*鐘舵{status}璁″垝鏃堕棿{plandt}
瀹屾垚鏃堕棿{findt}
璇存槑{explain}
\ No newline at end of file +
*^custname^{custname}{custid}*^gentype^{gentype}
*^status^{status}^plandt^{plandt}
^findt^{findt}
^explain^{explain}
^file_content^{file_content}
\ No newline at end of file diff --git a/webmain/flow/page/rock_page_assetmly.php b/webmain/flow/page/rock_page_assetmly.php new file mode 100644 index 0000000..4456cd4 --- /dev/null +++ b/webmain/flow/page/rock_page_assetmly.php @@ -0,0 +1,59 @@ + + + + +
+ + + + + + + + + + + + + +
+ +
+ +
+
+ +
+
+
+
+ \ No newline at end of file diff --git a/webmain/flow/page/rock_page_collectm.php b/webmain/flow/page/rock_page_collectm.php new file mode 100644 index 0000000..b69a56a --- /dev/null +++ b/webmain/flow/page/rock_page_collectm.php @@ -0,0 +1,68 @@ + + + + +
+ + + + + + + + + + + + + +
+ +
+ +
+
+ +
+
+
+
+ \ No newline at end of file diff --git a/webmain/flow/page/rock_page_collects.php b/webmain/flow/page/rock_page_collects.php new file mode 100644 index 0000000..a1dd591 --- /dev/null +++ b/webmain/flow/page/rock_page_collects.php @@ -0,0 +1,60 @@ + + + + +
+ + + + + + + + + + + + + +
+ +
+ +
+
+ +
+
+
+
+ \ No newline at end of file diff --git a/webmain/flow/page/rock_page_company.php b/webmain/flow/page/rock_page_company.php index 53067fe..068c870 100644 --- a/webmain/flow/page/rock_page_company.php +++ b/webmain/flow/page/rock_page_company.php @@ -78,6 +78,7 @@ gotucompany=function(oi){ js.msgerror('娌℃湁璁剧疆骞冲彴鍦板潃'); return; } + if(da.yuming)pldz = NOWURL.replace(HOST, da.yuming); window.open(pldz+='?m=login&dwnum='+da.num+''); } createcompany=function(oi){ @@ -129,7 +130,7 @@ c.onloadbefore=function(d){ }); - +
diff --git a/webmain/home/index/indexAction.php b/webmain/home/index/indexAction.php index 0b2137a..674362c 100644 --- a/webmain/home/index/indexAction.php +++ b/webmain/home/index/indexAction.php @@ -42,7 +42,11 @@ class indexClassAction extends Action{ $this->option->setval($_key.'@-102', $usedt); } $arr['usedt'] = $usedt; - + if(!isempt($arr['authkey'])){ + $ybarr = $this->option->authercheck(); + if(is_string($ybarr))$arr['authmsg'] = $this->jm->base64encode($ybarr); + } + if(DB_USER=='root'){ $sqld = $this->db->getall('select @@global.sql_mode as total'); if($sqld){ diff --git a/webmain/home/index/rock_index.php b/webmain/home/index/rock_index.php index f5add31..e1094e6 100644 --- a/webmain/home/index/rock_index.php +++ b/webmain/home/index/rock_index.php @@ -98,6 +98,7 @@ $(document).ready(function(){ }, auther:function(a){ if(HOST==this.bd2('MTI3LjAuMC4x') || HOST==this.bd2('bG9jYWxob3N0'))return; + if(a.authmsg)return a.authmsg; var akey = a.authkey,usedt = a.usedt; if(!usedt)return '5peg5pWI6K6.6Zeu'; if(usedt>=js.now())return; diff --git a/webmain/install/rockxinhu.sql b/webmain/install/rockxinhu.sql index 6ece91b..9b5a5ea 100644 --- a/webmain/install/rockxinhu.sql +++ b/webmain/install/rockxinhu.sql @@ -10,7 +10,7 @@ Target Server Type : MYSQL Target Server Version : 50610 File Encoding : 65001 -Date: 2022-09-05 15:56:20 +Date: 2022-09-29 15:31:00 */ SET FOREIGN_KEY_CHECKS=0; @@ -71,14 +71,14 @@ CREATE TABLE `xinhu_admin` ( -- ---------------------------- -- Records of xinhu_admin -- ---------------------------- -INSERT INTO `xinhu_admin` VALUES ('1', 'A001', 'admin', '绠$悊鍛', 'e10adc3949ba59abbe56e057f20f883e', '4698', '1', '1', '鐢', '0592-1234569', 'upload/face/1.jpg', '2', '寮鍙戦儴', null, null, null, '淇″懠寮鍙戝洟闃/寮鍙戦儴', '5', '纾愮煶', '椤圭洰涓荤', '1', '[1],[2]', '[5]', '1,3,4', '15800000023', '1', '2016-06-01', null, '2017-03-08 09:52:30', null, null, null, '0', 'guanliyuan', null, '1', '0', null, '1', null, null, '0', '1'); -INSERT INTO `xinhu_admin` VALUES ('2', null, 'diaochan', '璨傝潐', 'e10adc3949ba59abbe56e057f20f883e', '156', '1', '0', '濂', '0592-123456', null, '3', '璐㈠姟閮', null, null, null, '淇″懠寮鍙戝洟闃/璐㈠姟閮', '5', '纾愮煶', '璐㈠姟鎬荤洃', '1', '[1],[3]', '[5]', '1,3', '15800000007', '1', '2016-08-09', null, null, null, null, null, '0', 'diaochan', null, '2', '0', null, '1', null, null, '0', '1'); +INSERT INTO `xinhu_admin` VALUES ('1', 'A001', 'admin', '绠$悊鍛', 'e10adc3949ba59abbe56e057f20f883e', '4785', '1', '1', '鐢', '0592-1234569', 'upload/face/1.jpg', '2', '寮鍙戦儴', null, null, null, '淇″懠寮鍙戝洟闃/寮鍙戦儴', '5', '纾愮煶', '椤圭洰涓荤', '1', '[1],[2]', '[5]', '1,3,4', '15800000023', '1', '2016-06-01', null, '2017-03-08 09:52:30', null, null, null, '0', 'guanliyuan', null, '1', '0', null, '1', null, null, '0', '1'); +INSERT INTO `xinhu_admin` VALUES ('2', null, 'diaochan', '璨傝潐', 'e10adc3949ba59abbe56e057f20f883e', '157', '1', '0', '濂', '0592-123456', null, '3', '璐㈠姟閮', null, null, null, '淇″懠寮鍙戝洟闃/璐㈠姟閮', '5', '纾愮煶', '璐㈠姟鎬荤洃', '1', '[1],[3]', '[5]', '1,3', '15800000007', '1', '2016-08-09', null, null, null, null, null, '0', 'diaochan', null, '2', '0', null, '1', null, null, '0', '1'); INSERT INTO `xinhu_admin` VALUES ('3', null, 'xiaoqiao', '灏忎箶', 'e10adc3949ba59abbe56e057f20f883e', '281', '1', '0', '濂', null, null, '3', '璐㈠姟閮', null, null, null, '淇″懠寮鍙戝洟闃/璐㈠姟閮', '2', '璨傝潐', '鍑虹撼', '1', '[1],[3]', '[5],[2]', '1', '15800000001', '1', '2017-05-02', null, '2016-08-30 20:34:23', null, null, null, '0', 'xiaoqiao', null, '2', '0', null, '1', null, null, '0', '1'); -INSERT INTO `xinhu_admin` VALUES ('4', null, 'daqiao', '澶т箶', 'e10adc3949ba59abbe56e057f20f883e', '399', '1', '0', '濂', null, null, '4', '琛屾斂浜轰簨閮', '3', '璐㈠姟閮', '浼氳', '淇″懠寮鍙戝洟闃/琛屾斂浜轰簨閮', '5', '纾愮煶', '浜轰簨涓荤', '1', '[1],[4],[3]', '[5]', '1,3', '15800000002', '1', '2017-07-01', null, '2016-10-20 22:27:51', null, null, null, '0', 'daqiao', null, '2', '0', null, '1', null, null, '0', '1'); -INSERT INTO `xinhu_admin` VALUES ('5', null, 'rock', '纾愮煶', 'e10adc3949ba59abbe56e057f20f883e', '429', '1', '0', '鐢', null, null, '5', '绠$悊灞', null, null, null, '淇″懠寮鍙戝洟闃/绠$悊灞', null, null, '钁d簨闀', '0', '[1],[5]', null, '2,3', '15800000003', '1', '2015-11-01', null, null, null, null, null, '0', 'panshi', null, '1', '0', null, '1', null, '1,2,3,4', '0', '1'); -INSERT INTO `xinhu_admin` VALUES ('6', null, 'zhangfei', '寮犻', 'e10adc3949ba59abbe56e057f20f883e', '200', '1', '0', '鐢', null, null, '2', '寮鍙戦儴', null, null, null, '淇″懠寮鍙戝洟闃/寮鍙戦儴', '7', '璧靛瓙榫', '绋嬪簭鍛', '100', '[1],[2]', '[5],[1],[7]', '1', '15800000004', '1', '2017-07-01', null, '2016-11-01 20:15:52', null, null, null, '0', 'zhangfei', null, '1', '0', null, '1', null, null, '0', '0'); -INSERT INTO `xinhu_admin` VALUES ('7', null, 'zhaozl', '璧靛瓙榫', 'e10adc3949ba59abbe56e057f20f883e', '241', '1', '0', '鐢', null, null, '2', '寮鍙戦儴', null, null, null, '淇″懠寮鍙戝洟闃/寮鍙戦儴', '1', '绠$悊鍛', '楂樼骇绋嬪簭鍛', '100', '[1],[2]', '[5],[1]', '1', '15800000005', '1', '2016-07-01', null, '2017-06-28 15:34:26', null, null, null, '0', 'zhaozilong', null, '1', '0', null, '1', null, null, '0', '0'); -INSERT INTO `xinhu_admin` VALUES ('8', null, 'xinhu', '淇″懠瀹㈡湇', '6846860684f05029abccc09a53cd66f1', '419', '1', '1', '濂', null, null, '2', '寮鍙戦儴', null, null, null, '淇″懠寮鍙戝洟闃/寮鍙戦儴', '1', '绠$悊鍛', '瀹㈡湇', '200', '[1],[2]', '[5],[1]', '1,4', '15800000006', '1', '2018-12-12', null, null, null, 'rainrock829', null, '0', 'xinhukefu', null, '1', '0', null, '1', null, '2', '0', '1'); +INSERT INTO `xinhu_admin` VALUES ('4', null, 'daqiao', '澶т箶', 'e10adc3949ba59abbe56e057f20f883e', '403', '1', '0', '濂', null, null, '4', '琛屾斂浜轰簨閮', '3', '璐㈠姟閮', '浼氳', '淇″懠寮鍙戝洟闃/琛屾斂浜轰簨閮', '5', '纾愮煶', '浜轰簨涓荤', '1', '[1],[4],[3]', '[5]', '1,3', '15800000002', '1', '2017-07-01', null, '2016-10-20 22:27:51', null, null, null, '0', 'daqiao', null, '2', '0', null, '1', null, null, '0', '1'); +INSERT INTO `xinhu_admin` VALUES ('5', null, 'rock', '纾愮煶', 'e10adc3949ba59abbe56e057f20f883e', '435', '1', '0', '鐢', null, null, '5', '绠$悊灞', null, null, null, '淇″懠寮鍙戝洟闃/绠$悊灞', null, null, '钁d簨闀', '0', '[1],[5]', null, '2,3', '15800000003', '1', '2015-11-01', null, null, null, null, null, '0', 'panshi', null, '1', '0', null, '1', null, '1,2,3,4', '0', '1'); +INSERT INTO `xinhu_admin` VALUES ('6', null, 'zhangfei', '寮犻', 'e10adc3949ba59abbe56e057f20f883e', '203', '1', '0', '鐢', null, null, '2', '寮鍙戦儴', null, null, null, '淇″懠寮鍙戝洟闃/寮鍙戦儴', '7', '璧靛瓙榫', '绋嬪簭鍛', '100', '[1],[2]', '[5],[1],[7]', '1', '15800000004', '1', '2017-07-01', null, '2016-11-01 20:15:52', null, null, null, '0', 'zhangfei', null, '1', '0', null, '1', null, null, '0', '0'); +INSERT INTO `xinhu_admin` VALUES ('7', null, 'zhaozl', '璧靛瓙榫', 'e10adc3949ba59abbe56e057f20f883e', '242', '1', '0', '鐢', null, null, '2', '寮鍙戦儴', null, null, null, '淇″懠寮鍙戝洟闃/寮鍙戦儴', '1', '绠$悊鍛', '楂樼骇绋嬪簭鍛', '100', '[1],[2]', '[5],[1]', '1', '15800000005', '1', '2016-07-01', null, '2017-06-28 15:34:26', null, null, null, '0', 'zhaozilong', null, '1', '0', null, '1', null, null, '0', '0'); +INSERT INTO `xinhu_admin` VALUES ('8', null, 'xinhu', '淇″懠瀹㈡湇', '6846860684f05029abccc09a53cd66f1', '420', '1', '1', '濂', null, null, '2', '寮鍙戦儴', null, null, null, '淇″懠寮鍙戝洟闃/寮鍙戦儴', '1', '绠$悊鍛', '瀹㈡湇', '200', '[1],[2]', '[5],[1]', '1,4', '15800000006', '1', '2018-12-12', null, null, null, 'rainrock829', null, '0', 'xinhukefu', null, '1', '0', null, '1', null, '2', '0', '1'); -- ---------------------------- -- Table structure for `xinhu_assetm` @@ -116,7 +116,7 @@ CREATE TABLE `xinhu_assetm` ( -- Records of xinhu_assetm -- ---------------------------- INSERT INTO `xinhu_assetm` VALUES ('1', '204', '鍏敤鎵撳嵃鏈', 'DYJ-001', '鑱旀兂', null, '璐叆', null, null, '0', '1', null, '绠$悊鍛', '2020-04-20 20:45:41', '2020-04-21 11:13:18', null, '0.00', '1', '1', 'd1', '淇″懠寮鍙戝洟闃', 'images/noimg.jpg', '1', '鍓嶅彴'); -INSERT INTO `xinhu_assetm` VALUES ('2', '355', '鍏敤澶嶅嵃鏈', 'FYJ-001', '鑱旀兂', null, '璐叆', null, null, '0', '0', null, '绠$悊鍛', '2020-04-21 11:30:02', '2020-04-21 11:30:02', null, '0.00', '1', '1', null, null, null, '1', '鍓嶅彴'); +INSERT INTO `xinhu_assetm` VALUES ('2', '355', '鍏敤澶嶅嵃鏈', 'FYJ-001', '鑱旀兂', null, '璐叆', null, null, '0', '1', null, '绠$悊鍛', '2020-04-21 11:30:02', '2020-04-21 11:30:02', null, '0.00', '1', '1', 'd4', '琛屾斂浜轰簨閮', null, '1', '鍓嶅彴'); -- ---------------------------- -- Table structure for `xinhu_bianjian` @@ -373,8 +373,8 @@ CREATE TABLE `xinhu_chargems` ( -- ---------------------------- -- Records of xinhu_chargems -- ---------------------------- -INSERT INTO `xinhu_chargems` VALUES ('1', '0', '1', '2016-12-28 15:24:19', '2022-09-05 15:54:23', null, '1'); -INSERT INTO `xinhu_chargems` VALUES ('2', '1', '1', '2016-12-28 15:21:14', '2022-09-05 15:54:23', null, '0'); +INSERT INTO `xinhu_chargems` VALUES ('1', '0', '1', '2016-12-28 15:24:19', '2022-09-29 15:30:50', null, '1'); +INSERT INTO `xinhu_chargems` VALUES ('2', '1', '1', '2016-12-28 15:21:14', '2022-09-29 15:30:50', null, '0'); -- ---------------------------- -- Table structure for `xinhu_city` @@ -1023,7 +1023,7 @@ CREATE TABLE `xinhu_fininfom` ( `id` int(11) NOT NULL AUTO_INCREMENT, `type` tinyint(2) DEFAULT '0' COMMENT '绫诲瀷@0|鎶ラ攢鍗,1|鍑哄樊鎶ラ攢,2|鍊熸鍗,3|杩樻鍗,4|浠樻鐢宠,5|寮绁ㄧ敵璇', `uid` int(11) DEFAULT NULL, - `money` decimal(10,2) DEFAULT '0.00' COMMENT '閲戦', + `money` decimal(10,2) DEFAULT '0.00' COMMENT '鎶ラ攢閲戦', `moneycn` varchar(100) DEFAULT NULL COMMENT '澶у啓閲戦', `optdt` datetime DEFAULT NULL COMMENT '鎿嶄綔鏃堕棿', `optid` int(11) DEFAULT NULL, @@ -1176,7 +1176,7 @@ CREATE TABLE `xinhu_flow_bill` ( KEY `table` (`table`,`mid`) USING BTREE, KEY `status` (`status`), KEY `modeid` (`modeid`) -) ENGINE=MyISAM AUTO_INCREMENT=326 DEFAULT CHARSET=utf8 COMMENT='娴佺▼鍗曟嵁'; +) ENGINE=MyISAM AUTO_INCREMENT=367 DEFAULT CHARSET=utf8 COMMENT='娴佺▼鍗曟嵁'; -- ---------------------------- -- Records of xinhu_flow_bill @@ -1292,6 +1292,13 @@ INSERT INTO `xinhu_flow_bill` VALUES ('302', 'YS-20220315-001', 'demo', '19', '7 INSERT INTO `xinhu_flow_bill` VALUES ('323', 'PL-20220901001', 'planm', '1', '133', '宸ヤ綔璁″垝', '绠$悊鍛', '1', '2', '寮鍙戦儴', '2022-09-01 20:38:05', '1', '绠$悊鍛', '1,4', '0', '1', '2022-09-01', '绠$悊鍛樺鐞嗗彂甯', '1', '0', null, null, null, '2022-09-01 22:33:07', '2022-09-01 20:13:40', '0', '1'); INSERT INTO `xinhu_flow_bill` VALUES ('324', 'PL-20220902001', 'planm', '2', '133', '宸ヤ綔璁″垝', '绠$悊鍛', '1', '2', '寮鍙戦儴', '2022-09-02 15:07:31', '1', '绠$悊鍛', '1,4', '0', '1', '2022-09-02', '绠$悊鍛樺鐞嗗彂甯', '1', '0', null, null, null, '2022-09-03 18:20:14', '2022-09-02 15:07:31', '0', '1'); INSERT INTO `xinhu_flow_bill` VALUES ('325', 'PL-20220904001', 'planm', '3', '133', '宸ヤ綔璁″垝', '澶т箶', '4', '4', '琛屾斂浜轰簨閮', '2022-09-04 12:17:25', '4', '澶т箶', '4', '0', '1', '2022-09-04', '澶т箶澶勭悊鍙戝竷', '1', '0', null, null, null, '2022-09-04 12:19:01', '2022-09-04 12:17:25', '0', '1'); +INSERT INTO `xinhu_flow_bill` VALUES ('327', 'CF-20220916-001', 'planm', '5', '134', '鍥哄畾璧勪骇棰嗙敤', '绠$悊鍛', '1', '2', '寮鍙戦儴', '2022-09-16 10:37:03', '1', '绠$悊鍛', '1,4', '0', '1', '2022-09-16', '绠$悊鍛樺鐞嗗悓鎰', '1', '0', null, null, null, '2022-09-16 10:37:23', '2022-09-16 10:37:03', '0', '1'); +INSERT INTO `xinhu_flow_bill` VALUES ('328', 'CF-20220916-002', 'planm', '6', '134', '鍥哄畾璧勪骇棰嗙敤', '绠$悊鍛', '1', '2', '寮鍙戦儴', '2022-09-16 12:15:17', '1', '绠$悊鍛', '4', '0', '1', '2022-09-16', '澶т箶澶勭悊鍚屾剰', '1', '0', null, null, null, '2022-09-16 14:28:12', '2022-09-16 12:15:17', '0', '1'); +INSERT INTO `xinhu_flow_bill` VALUES ('329', 'KB-20220916-001', 'kqinfo', '160', '6', '鍔犵彮鍗', '绠$悊鍛', '1', '2', '寮鍙戦儴', '2022-09-16 20:26:43', '1', '绠$悊鍛', '5', '0', '0', '2022-09-16', '寰呯鐭冲鐞', '0', '3', '5', '纾愮煶', null, '2022-09-16 20:26:43', '2022-09-16 20:26:43', '0', '1'); +INSERT INTO `xinhu_flow_bill` VALUES ('360', 'CO-20220921001', 'planm', '7', '135', '淇℃伅鏀堕泦', '绠$悊鍛', '1', '2', '寮鍙戦儴', '2022-09-21 19:26:19', '1', '绠$悊鍛', '5', '0', '1', '2022-09-21', '纾愮煶澶勭悊鍚屾剰', '1', '0', null, null, null, '2022-09-21 19:26:57', '2022-09-21 19:26:19', '0', '1'); +INSERT INTO `xinhu_flow_bill` VALUES ('361', 'CP-20220921001', 'planm', '8', '136', '淇℃伅鏀堕泦琛', '绠$悊鍛', '1', '2', '寮鍙戦儴', '2022-09-21 19:28:20', '1', '绠$悊鍛', '1', '0', '1', '2022-09-21', '绠$悊鍛樺鐞嗗悓鎰', '1', '0', null, null, null, '2022-09-21 19:30:44', '2022-09-21 19:27:08', '0', '1'); +INSERT INTO `xinhu_flow_bill` VALUES ('362', 'CP-20220921002', 'planm', '9', '136', '淇℃伅鏀堕泦琛', '寮犻', '6', '2', '寮鍙戦儴', '2022-09-21 19:27:08', '6', '寮犻', '1', '0', '0', '2022-09-21', '寰呯鐞嗗憳澶勭悊', '0', '147', '1', '绠$悊鍛', null, '2022-09-21 19:27:08', '2022-09-21 19:27:08', '0', '0'); +INSERT INTO `xinhu_flow_bill` VALUES ('366', 'CO-20220921002', 'planm', '13', '135', '淇℃伅鏀堕泦', '绠$悊鍛', '1', '2', '寮鍙戦儴', '2022-09-21 19:54:56', '1', '绠$悊鍛', '5', '0', '0', '2022-09-21', '寰呯鐭冲鐞', '0', '146', '5', '纾愮煶', null, '2022-09-21 19:54:56', '2022-09-21 19:54:56', '0', '0'); -- ---------------------------- -- Table structure for `xinhu_flow_chao` @@ -1310,11 +1317,12 @@ CREATE TABLE `xinhu_flow_chao` ( KEY `modeid` (`modeid`), KEY `uid` (`uid`), KEY `table` (`table`,`mid`) USING BTREE -) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='鎶勯佽〃'; +) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='鎶勯佽〃'; -- ---------------------------- -- Records of xinhu_flow_chao -- ---------------------------- +INSERT INTO `xinhu_flow_chao` VALUES ('3', '6', 'kqinfo', '160', '1', '绠$悊鍛,澶т箶', '1,4', '0'); -- ---------------------------- -- Table structure for `xinhu_flow_checks` @@ -1416,7 +1424,7 @@ CREATE TABLE `xinhu_flow_course` ( `csfwid` varchar(200) DEFAULT NULL, PRIMARY KEY (`id`), KEY `setid` (`setid`) -) ENGINE=MyISAM AUTO_INCREMENT=144 DEFAULT CHARSET=utf8 COMMENT='娴佺▼姝ラ琛'; +) ENGINE=MyISAM AUTO_INCREMENT=148 DEFAULT CHARSET=utf8 COMMENT='娴佺▼姝ラ琛'; -- ---------------------------- -- Records of xinhu_flow_course @@ -1511,6 +1519,10 @@ INSERT INTO `xinhu_flow_course` VALUES ('133', '0', '0', '122', '鏈嶅姟浜哄憳澶 INSERT INTO `xinhu_flow_course` VALUES ('141', '0', '0', '133', '璇勫璁″垝', null, 'field', 'psrenid', '璇勫浜(psrenid)', '0', '0', 'cHNyZW5pZCBpcyBub3QgbnVsbA::', null, '2022-09-01 19:59:31', '1', null, '1', null, '0', '0', null, null, null, '0', '0', null, '0', '1', null, null, '0', '0', '0', '0', null, null); INSERT INTO `xinhu_flow_course` VALUES ('142', '141', '0', '133', '鎵ц浜虹煡鎮', 'zhixi', 'field', 'runrenid', '鎵ц浜(runrenid)', '0', '0', null, null, '2022-09-01 22:24:27', '1', '鐭ラ亾浜', '0', null, '0', '0', null, null, null, '0', '0', null, '0', '1', null, null, '0', '0', '0', '0', null, null); INSERT INTO `xinhu_flow_course` VALUES ('143', '142', '0', '133', '鍙戝竷鎵ц', null, 'apply', null, null, '0', '0', null, null, '2022-09-01 20:41:55', '1', '鍙戝竷,涓嶅彂甯', '1', null, '0', '0', null, null, null, '0', '0', null, '0', '1', null, null, '0', '0', '0', '0', null, null); +INSERT INTO `xinhu_flow_course` VALUES ('144', '0', '0', '134', '琛屾斂瀹℃壒', null, 'user', '4', '澶т箶', '0', '0', null, null, '2022-09-15 20:43:09', '1', null, '1', null, '0', '0', null, null, null, '0', '0', null, '0', '1', null, null, '0', '0', '0', '0', null, null); +INSERT INTO `xinhu_flow_course` VALUES ('145', '144', '0', '134', '棰嗙敤浜虹‘璁', 'queren', 'auto', null, null, '0', '0', null, null, '2022-09-15 20:45:57', '1', null, '1', 'startdt', '0', '0', null, null, null, '0', '0', null, '0', '1', null, null, '0', '0', '0', '0', null, null); +INSERT INTO `xinhu_flow_course` VALUES ('146', '0', '0', '135', '涓婄骇瀹℃壒', null, 'super', null, null, '0', '0', null, null, '2022-09-20 14:05:25', '1', null, '1', null, '0', '0', null, null, null, '0', '0', null, '0', '1', null, null, '0', '0', '0', '0', null, null); +INSERT INTO `xinhu_flow_course` VALUES ('147', '0', '0', '136', '璇勫浜哄鎵', null, 'field', 'psrenid', '璇勫浜(psrenid)', '0', '0', null, null, '2022-09-20 16:53:27', '1', null, '1', null, '0', '0', null, null, null, '0', '0', null, '0', '1', null, null, '0', '0', '0', '0', null, null); -- ---------------------------- -- Table structure for `xinhu_flow_element` @@ -1549,7 +1561,7 @@ CREATE TABLE `xinhu_flow_element` ( PRIMARY KEY (`id`), KEY `mid` (`mid`), KEY `fields` (`fields`) -) ENGINE=MyISAM AUTO_INCREMENT=1476 DEFAULT CHARSET=utf8 COMMENT='妯″潡鍏冪礌'; +) ENGINE=MyISAM AUTO_INCREMENT=1501 DEFAULT CHARSET=utf8 COMMENT='妯″潡鍏冪礌'; -- ---------------------------- -- Records of xinhu_flow_element @@ -1671,7 +1683,7 @@ INSERT INTO `xinhu_flow_element` VALUES ('116', '11', '鏀舵浜哄叏绉', 'fullna INSERT INTO `xinhu_flow_element` VALUES ('117', '11', '浠樻鏂瑰紡', 'paytype', 'rockcombo', '0', null, '1', 'paytype', '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, null, '0', '0', '0', null); INSERT INTO `xinhu_flow_element` VALUES ('118', '11', '鏀舵甯愬彿', 'cardid', 'text', '0', '', '1', '', '1', '1', '', '0', '0', '', '', '0', null, '1', '0', '0', '0', '0', null, null, '0', '0', '0', null); INSERT INTO `xinhu_flow_element` VALUES ('119', '11', '寮鎴疯', 'openbank', 'text', '0', null, '1', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, null, '0', '0', '0', null); -INSERT INTO `xinhu_flow_element` VALUES ('120', '11', '鎶ラ攢閲戦', 'money', 'number', '0', '0', '1', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '1', '0', '1', '1', null, null, '0', '0', '0', null); +INSERT INTO `xinhu_flow_element` VALUES ('120', '11', '鎶ラ攢閲戦', 'money', 'number', '0', '0', '1', null, '1', '1', null, '0', '0', null, null, '10', null, '1', '1', '0', '1', '1', null, null, '0', '0', '2', null); INSERT INTO `xinhu_flow_element` VALUES ('121', '11', '澶у啓閲戦', 'moneycn', 'text', '0', null, '1', null, '1', '1', null, '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, null, '0', '0', '0', null); INSERT INTO `xinhu_flow_element` VALUES ('122', '11', '鍙戠敓鏃ユ湡', 'sdt', 'date', '0', null, '1', null, '1', '1', '', '1', '0', null, null, '0', null, '1', '0', '0', '1', '0', null, null, '0', '0', '0', null); INSERT INTO `xinhu_flow_element` VALUES ('123', '11', '鎶ラ攢椤圭洰', 'name', 'rockcombo', '0', null, '1', 'finaitems', '1', '1', null, '1', '0', null, null, '0', null, '1', '0', '0', '1', '0', null, null, '0', '0', '0', null); @@ -1719,7 +1731,7 @@ INSERT INTO `xinhu_flow_element` VALUES ('164', '28', '鐢宠鏃ユ湡', 'applydt', INSERT INTO `xinhu_flow_element` VALUES ('165', '28', '璇存槑', 'explain', 'textarea', '1', null, '0', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, null, '0', '0', '0', null); INSERT INTO `xinhu_flow_element` VALUES ('166', '28', '绫诲瀷', 'type', 'fixed', '2', '1', '0', null, '1', '0', null, '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, null, '0', '0', '0', null); INSERT INTO `xinhu_flow_element` VALUES ('168', '28', '渚涘簲鍟嗗悕绉', 'custname', 'selectdatafalse', '3', null, '1', 'goods:getgys,custid', '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '1', '0', null, null, '0', '0', '0', null); -INSERT INTO `xinhu_flow_element` VALUES ('169', '28', '閲囪喘閲戦', 'money', 'number', '5', '0', '1', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '0', '0', '[{zb0.count}*{zb0.price}] - [{discount}]', null, '0', '0', '0', null); +INSERT INTO `xinhu_flow_element` VALUES ('169', '28', '閲囪喘閲戦', 'money', 'number', '5', '0', '1', null, '1', '1', null, '0', '0', null, null, '10', null, '1', '0', '0', '0', '0', '[{zb0.count}*{zb0.price}] - [{discount}]', null, '0', '0', '2', null); INSERT INTO `xinhu_flow_element` VALUES ('170', '28', '鐗╁搧', 'temp_aid', 'selectdatatrue', '0', null, '1', 'getgoodsdata,aid', '1', '1', null, '1', '0', '', '', '0', null, '1', '0', '0', '0', '0', null, null, '0', '0', '0', null); INSERT INTO `xinhu_flow_element` VALUES ('171', '28', '閲囪喘鏁伴噺', 'count', 'number', '2', null, '1', '', '1', '1', '', '1', '0', '', '', '0', null, '1', '0', '0', '0', '0', null, null, '0', '0', '0', null); INSERT INTO `xinhu_flow_element` VALUES ('172', '28', '鍗曚綅', 'unit', 'text', '3', null, '0', null, '1', '1', 'readonly', '1', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, null, '0', '0', '0', null); @@ -2596,6 +2608,31 @@ INSERT INTO `xinhu_flow_element` VALUES ('1472', '133', '鎵ц浜', 'zxren', 'c INSERT INTO `xinhu_flow_element` VALUES ('1473', '133', '鎵ц鏃堕棿', 'zxtime', 'datetime', '2', null, '0', null, '1', '1', null, '1', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, null, '0', '0', '0', null); INSERT INTO `xinhu_flow_element` VALUES ('1474', '133', '璇存槑', 'explain', 'textarea', '6', null, '0', null, '1', '1', null, '0', '0', null, null, '500', null, '0', '0', '0', '0', '0', null, null, '0', '0', '0', null); INSERT INTO `xinhu_flow_element` VALUES ('1475', '133', '鎵ц鐘舵', 'state', 'select', '7', '0', '0', '0|寰呮墽琛,1|宸插畬鎴,2|鎵ц涓', '0', '1', null, '0', '0', null, null, '0', null, '1', '1', '0', '1', '0', null, null, '0', '0', '0', null); +INSERT INTO `xinhu_flow_element` VALUES ('1476', '134', '棰嗙敤鑰', 'runren', 'changedeptusercheck', '0', '{admin}|u{uid}', '1', 'runrenid', '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '1', '0', null, null, '0', '0', '0', null); +INSERT INTO `xinhu_flow_element` VALUES ('1477', '134', '璇存槑', 'explain', 'textarea', '10', null, '0', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '1', '0', null, null, '0', '0', '0', null); +INSERT INTO `xinhu_flow_element` VALUES ('1478', '134', '棰嗙敤鏃堕棿', 'startdt', 'datetime', '0', null, '0', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '1', '0', '1', '0', null, null, '0', '0', '0', null); +INSERT INTO `xinhu_flow_element` VALUES ('1479', '134', '璧勪骇椤圭洰', 'pitem', 'selectdatafalse', '0', null, '1', 'assetmlydata,itemid', '1', '1', null, '1', '0', null, null, '0', null, '1', '0', '0', '1', '0', null, null, '0', '0', '0', null); +INSERT INTO `xinhu_flow_element` VALUES ('1480', '134', '棰嗙敤璇存槑', 'zxren', 'text', '0', null, '0', null, '1', '1', null, '1', '0', null, null, '0', null, '1', '0', '0', '1', '0', null, null, '0', '0', '0', null); +INSERT INTO `xinhu_flow_element` VALUES ('1481', '134', '棰嗙敤璧勪骇', 'contentlist', 'text', '0', null, '0', null, '0', '0', null, '0', '0', null, null, '0', null, '1', '0', '1', '0', '0', null, null, '0', '0', '0', null); +INSERT INTO `xinhu_flow_element` VALUES ('1482', '134', '棰嗙敤鐘舵', 'state', 'select', '11', null, '0', '0|寰呴鍙,1|宸查鍙,2|宸插綊杩', '0', '1', null, '0', '0', null, null, '0', null, '1', '1', '0', '1', '0', null, null, '0', '0', '0', null); +INSERT INTO `xinhu_flow_element` VALUES ('1483', '134', '璧勪骇id', 'itemid', 'hidden', '0', '0', '0', null, '1', '0', null, '1', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, null, '0', '0', '0', null); +INSERT INTO `xinhu_flow_element` VALUES ('1484', '41', '棰嗙敤璁板綍', 'lycount', 'text', '35', null, '0', null, '0', '1', null, '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, null, '0', '0', '0', null); +INSERT INTO `xinhu_flow_element` VALUES ('1485', '135', '鏀堕泦鍚嶇О', 'name', 'text', '0', null, '1', null, '1', '1', null, '0', '0', null, null, '100', null, '1', '0', '0', '1', '0', null, null, '0', '0', '0', null); +INSERT INTO `xinhu_flow_element` VALUES ('1486', '135', '鏀堕泦瀵硅薄', 'runren', 'changedeptusercheck', '0', null, '1', 'runrenid', '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '1', '0', null, null, '0', '0', '0', null); +INSERT INTO `xinhu_flow_element` VALUES ('1487', '135', '寮濮嬫椂闂', 'startdt', 'datetime', '0', '{now}', '1', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '1', '0', '0', '0', null, null, '0', '0', '0', null); +INSERT INTO `xinhu_flow_element` VALUES ('1488', '135', '鎴鏃堕棿', 'enddt', 'datetime', '0', '{now+1}', '1', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, null, '0', '0', '0', null); +INSERT INTO `xinhu_flow_element` VALUES ('1489', '135', '璇存槑', 'explain', 'textarea', '0', null, '0', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '1', '0', null, null, '0', '0', '0', null); +INSERT INTO `xinhu_flow_element` VALUES ('1490', '135', '瀛楁鍚嶇О', 'pitem', 'text', '0', null, '1', null, '1', '1', null, '1', '0', null, null, '0', null, '1', '0', '0', '1', '0', null, null, '0', '0', '0', null); +INSERT INTO `xinhu_flow_element` VALUES ('1491', '135', '瀛楁绫诲瀷', 'zxren', 'rockcombo', '0', 'text', '0', 'flowinputtype,value', '1', '1', null, '1', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, null, '0', '0', '0', null); +INSERT INTO `xinhu_flow_element` VALUES ('1492', '135', '璇存槑/鏁版嵁婧', 'zxrenid', 'text', '0', null, '0', null, '1', '1', null, '1', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, null, '0', '0', '0', null); +INSERT INTO `xinhu_flow_element` VALUES ('1493', '135', '鐘舵', 'state', 'select', '0', null, '0', '0|寰呭彂甯,1|宸插彂甯', '0', '1', null, '0', '0', null, null, '0', null, '1', '1', '0', '1', '0', null, null, '0', '0', '0', null); +INSERT INTO `xinhu_flow_element` VALUES ('1494', '135', '鎬讳汉鏁', 'leixing', 'number', '0', null, '0', null, '0', '1', null, '0', '0', null, null, '0', null, '1', '1', '0', '0', '0', null, null, '0', '0', '0', null); +INSERT INTO `xinhu_flow_element` VALUES ('1495', '136', '鏀堕泦鍚嶇О', 'name', 'text', '0', null, '1', null, '1', '1', 'readonly', '0', '0', null, null, '100', null, '1', '0', '0', '1', '0', null, null, '0', '0', '0', null); +INSERT INTO `xinhu_flow_element` VALUES ('1496', '136', '璇存槑', 'explain', 'textarea', '20', null, '0', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, null, '0', '0', '0', null); +INSERT INTO `xinhu_flow_element` VALUES ('1497', '136', '鎿嶄綔鏃堕棿', 'optdt', 'datetime', '21', null, '0', null, '0', '1', null, '0', '0', null, null, '0', null, '1', '1', '0', '0', '0', null, null, '0', '0', '0', null); +INSERT INTO `xinhu_flow_element` VALUES ('1498', '136', '鎴鏃堕棿', 'enddt', 'datetime', '25', null, '0', null, '0', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, null, '0', '0', '0', null); +INSERT INTO `xinhu_flow_element` VALUES ('1499', '136', '璇勫浜', 'psren', 'changeuser', '0', null, '1', 'psrenid', '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '1', '0', null, null, '0', '0', '0', null); +INSERT INTO `xinhu_flow_element` VALUES ('1500', '135', '鏄惁蹇呭~', 'itemid', 'checkbox', '0', null, '0', null, '1', '1', null, '1', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, null, '0', '0', '0', null); -- ---------------------------- -- Table structure for `xinhu_flow_extent` @@ -2876,7 +2913,7 @@ CREATE TABLE `xinhu_flow_log` ( `iszb` tinyint(1) DEFAULT '0' COMMENT '鏄惁杞姙璁板綍', PRIMARY KEY (`id`), KEY `table` (`table`,`mid`) -) ENGINE=MyISAM AUTO_INCREMENT=4370 DEFAULT CHARSET=utf8 COMMENT='鍗曟嵁鎿嶄綔璁板綍'; +) ENGINE=MyISAM AUTO_INCREMENT=4459 DEFAULT CHARSET=utf8 COMMENT='鍗曟嵁鎿嶄綔璁板綍'; -- ---------------------------- -- Records of xinhu_flow_log @@ -3316,7 +3353,16 @@ INSERT INTO `xinhu_flow_log` VALUES ('4313', 'custfina', '11', '0', '宸蹭粯娆', INSERT INTO `xinhu_flow_log` VALUES ('4312', 'custfina', '12', '1', null, '鎻愪氦', '0', '2022-05-25 21:31:11', null, '127.0.0.1', 'Chrome', '绠$悊鍛', '1', '36', null, '1', '0', null, '0'); INSERT INTO `xinhu_flow_log` VALUES ('4311', 'custfina', '11', '1', null, '鎻愪氦', '0', '2022-05-25 21:30:53', null, '127.0.0.1', 'Chrome', '绠$悊鍛', '1', '57', null, '1', '0', null, '0'); INSERT INTO `xinhu_flow_log` VALUES ('4326', 'infor', '6', '1', null, '璇勮', '0', '2022-08-20 15:02:32', '涓嶉敊\n鍝堝搱\n鍝堝搱2', '127.0.0.1', 'Chrome', '绠$悊鍛', '1', '1', null, '1', '0', null, '0'); +INSERT INTO `xinhu_flow_log` VALUES ('4390', 'kqinfo', '160', '1', null, '鎻愪氦', '0', '2022-09-16 20:26:43', null, '127.0.0.1', 'Chrome', '绠$悊鍛', '1', '6', null, '1', '0', null, '0'); +INSERT INTO `xinhu_flow_log` VALUES ('4389', 'planm', '6', '1', '鍚屾剰', '棰嗙敤浜虹‘璁', '145', '2022-09-16 14:28:12', null, 'unknow', 'Chrome', '澶т箶', '4', '134', 'green', '1', '2', null, '0'); +INSERT INTO `xinhu_flow_log` VALUES ('4388', 'planm', '6', '1', '鍚屾剰', '琛屾斂瀹℃壒', '144', '2022-09-16 14:27:54', null, 'unknow', 'Chrome', '澶т箶', '4', '134', 'green', '1', '1', null, '0'); +INSERT INTO `xinhu_flow_log` VALUES ('4387', 'planm', '6', '1', null, '鎻愪氦', '0', '2022-09-16 12:15:17', null, '127.0.0.1', 'Chrome', '绠$悊鍛', '1', '134', null, '1', '0', null, '0'); +INSERT INTO `xinhu_flow_log` VALUES ('4386', 'planm', '5', '0', null, '褰掕繕棰嗙敤璧勪骇', '0', '2022-09-16 11:22:22', null, '127.0.0.1', 'Chrome', '绠$悊鍛', '1', '134', 'blue', '1', '0', null, '0'); +INSERT INTO `xinhu_flow_log` VALUES ('4385', 'planm', '5', '0', null, '褰掕繕棰嗙敤璧勪骇', '0', '2022-09-16 11:14:38', '濂界殑', '127.0.0.1', 'Chrome', '绠$悊鍛', '1', '134', 'blue', '1', '0', null, '0'); +INSERT INTO `xinhu_flow_log` VALUES ('4384', 'planm', '5', '1', '鍚屾剰', '棰嗙敤浜虹‘璁', '145', '2022-09-16 10:37:23', null, '127.0.0.1', 'Chrome', '绠$悊鍛', '1', '134', 'green', '1', '2', null, '0'); +INSERT INTO `xinhu_flow_log` VALUES ('4382', 'planm', '5', '1', null, '鎻愪氦', '0', '2022-09-16 10:37:03', null, '127.0.0.1', 'Chrome', '绠$悊鍛', '1', '134', null, '1', '0', null, '0'); INSERT INTO `xinhu_flow_log` VALUES ('4354', 'planm', '1', '1', null, '鎻愪氦', '0', '2022-09-01 20:13:40', null, '127.0.0.1', 'Chrome', '绠$悊鍛', '1', '133', null, '1', '0', null, '0'); +INSERT INTO `xinhu_flow_log` VALUES ('4383', 'planm', '5', '1', '鍚屾剰', '琛屾斂瀹℃壒', '144', '2022-09-16 10:37:15', null, 'unknow', 'Chrome', '澶т箶', '4', '134', 'green', '1', '1', null, '0'); INSERT INTO `xinhu_flow_log` VALUES ('4358', 'planm', '1', '1', '鍚屾剰', '璇勫璁″垝', '141', '2022-09-01 22:31:25', null, 'unknow', 'Chrome', '澶т箶', '4', '133', 'green', '1', '1', null, '0'); INSERT INTO `xinhu_flow_log` VALUES ('4359', 'planm', '1', '1', '鐭ラ亾浜', '鎵ц浜虹煡鎮', '142', '2022-09-01 22:31:33', null, 'unknow', 'Chrome', '澶т箶', '4', '133', null, '1', '2', null, '0'); INSERT INTO `xinhu_flow_log` VALUES ('4360', 'planm', '1', '1', '鐭ラ亾浜', '鎵ц浜虹煡鎮', '142', '2022-09-01 22:32:52', null, '127.0.0.1', 'Chrome', '绠$悊鍛', '1', '133', null, '1', '2', null, '0'); @@ -3327,6 +3373,15 @@ INSERT INTO `xinhu_flow_log` VALUES ('4364', 'planm', '2', '1', '鍙戝竷', '鍙 INSERT INTO `xinhu_flow_log` VALUES ('4365', 'planm', '3', '1', null, '鎻愪氦', '0', '2022-09-04 12:17:25', null, 'unknow', 'Chrome', '澶т箶', '4', '133', null, '1', '0', null, '0'); INSERT INTO `xinhu_flow_log` VALUES ('4366', 'planm', '3', '1', '鐭ラ亾浜', '鎵ц浜虹煡鎮', '142', '2022-09-04 12:18:56', null, 'unknow', 'Chrome', '澶т箶', '4', '133', null, '1', '1', null, '0'); INSERT INTO `xinhu_flow_log` VALUES ('4367', 'planm', '3', '1', '鍙戝竷', '鍙戝竷鎵ц', '143', '2022-09-04 12:19:01', null, 'unknow', 'Chrome', '澶т箶', '4', '133', null, '1', '2', null, '0'); +INSERT INTO `xinhu_flow_log` VALUES ('4371', 'meet', '9', '1', null, '鎻愪氦', '0', '2022-09-09 16:31:19', null, '192.168.1.247', 'ding', '绠$悊鍛', '1', '54', null, '1', '0', null, '0'); +INSERT INTO `xinhu_flow_log` VALUES ('4370', 'meet', '8', '1', null, '鎻愪氦', '0', '2022-09-09 15:31:30', null, '127.0.0.1', 'Chrome', '绠$悊鍛', '1', '2', null, '1', '0', null, '0'); +INSERT INTO `xinhu_flow_log` VALUES ('4452', 'planm', '7', '0', null, '澶嶅埗姝よ褰', '0', '2022-09-21 19:52:02', null, '127.0.0.1', 'Chrome', '绠$悊鍛', '1', '135', null, '1', '0', null, '0'); +INSERT INTO `xinhu_flow_log` VALUES ('4456', 'planm', '7', '0', null, '澶嶅埗姝よ褰', '0', '2022-09-21 19:54:56', null, '127.0.0.1', 'Chrome', '绠$悊鍛', '1', '135', null, '1', '0', null, '0'); +INSERT INTO `xinhu_flow_log` VALUES ('4450', 'planm', '7', '0', null, '澶嶅埗姝よ褰', '0', '2022-09-21 19:51:42', null, '127.0.0.1', 'Chrome', '绠$悊鍛', '1', '135', null, '1', '0', null, '0'); +INSERT INTO `xinhu_flow_log` VALUES ('4449', 'planm', '8', '1', '鍚屾剰', '璇勫浜哄鎵', '147', '2022-09-21 19:30:44', null, '127.0.0.1', 'Chrome', '绠$悊鍛', '1', '136', 'green', '1', '1', null, '0'); +INSERT INTO `xinhu_flow_log` VALUES ('4443', 'planm', '7', '1', null, '鎻愪氦', '0', '2022-09-21 19:26:19', null, '127.0.0.1', 'Chrome', '绠$悊鍛', '1', '135', null, '1', '0', null, '0'); +INSERT INTO `xinhu_flow_log` VALUES ('4444', 'planm', '7', '1', '鍚屾剰', '涓婄骇瀹℃壒', '146', '2022-09-21 19:26:57', null, 'unknow', 'Chrome', '纾愮煶', '5', '135', 'green', '1', '1', null, '0'); +INSERT INTO `xinhu_flow_log` VALUES ('4445', 'planm', '7', '0', null, '鐢熸垚鏀堕泦琛', '0', '2022-09-21 19:27:08', null, '127.0.0.1', 'Chrome', '绠$悊鍛', '1', '135', null, '1', '0', null, '0'); -- ---------------------------- -- Table structure for `xinhu_flow_menu` @@ -3354,7 +3409,7 @@ CREATE TABLE `xinhu_flow_menu` ( `iszs` tinyint(1) DEFAULT '0' COMMENT '鏄惁鍦ㄨ鎯呴〉闈㈡樉绀', PRIMARY KEY (`id`), KEY `setid` (`setid`) -) ENGINE=MyISAM AUTO_INCREMENT=80 DEFAULT CHARSET=utf8 COMMENT='鍗曟嵁鎿嶄綔鑿滃崟'; +) ENGINE=MyISAM AUTO_INCREMENT=83 DEFAULT CHARSET=utf8 COMMENT='鍗曟嵁鎿嶄綔鑿滃崟'; -- ---------------------------- -- Records of xinhu_flow_menu @@ -3409,6 +3464,9 @@ INSERT INTO `xinhu_flow_menu` VALUES ('64', '鍙戦偖浠剁粰瀹㈡埛', null, '0', nul INSERT INTO `xinhu_flow_menu` VALUES ('67', '瀹㈡埛纭', 'openqren', '0', null, null, '0', null, '35', 'MT0yIGFuZCBgaXNxcmA9MA::', null, '1', '1', '0', '1', null, null, null, '0'); INSERT INTO `xinhu_flow_menu` VALUES ('68', '瀹㈡埛璇勮', 'openpl', '0', null, null, '0', null, '35', 'MT0yIGFuZCAxPTE:', null, '1', '1', '1', '1', null, null, null, '0'); INSERT INTO `xinhu_flow_menu` VALUES ('69', '鏍囪瘑宸插畬鎴', 'noupno1', '0', null, 'green', '1', null, '82', 'YHVpZGA9e3VpZH0gYW5kIGBzdGF0ZWA9Mg::', null, '1', '1', '0', '1', null, null, 'YHN0YXRlYD0xLGBvcHRkdGA9J3tub3d9Jw::', '0'); +INSERT INTO `xinhu_flow_menu` VALUES ('80', '褰掕繕棰嗙敤璧勪骇', 'guihainoup', '0', null, 'blue', '0', null, '134', 'YHN0YXRlYD0xIGFuZCBgc3RhdHVzYD0x', null, '1', '1', '0', '1', null, null, null, '1'); +INSERT INTO `xinhu_flow_menu` VALUES ('81', '鐢熸垚鏀堕泦琛', 'noupcreate', '0', null, 'blue', '0', null, '135', 'c3RhdHVzPTEgYW5kIHN0YXRlPTA:', null, '1', '1', '0', '1', null, null, null, '0'); +INSERT INTO `xinhu_flow_menu` VALUES ('82', '澶嶅埗姝よ褰', 'noupfuzhi', '0', null, null, '0', null, '135', 'YHN0YXR1c2A8PjU:', null, '1', '1', '0', '1', null, null, null, '0'); -- ---------------------------- -- Table structure for `xinhu_flow_modetpl` @@ -3518,7 +3576,7 @@ CREATE TABLE `xinhu_flow_set` ( `sortdir` varchar(50) DEFAULT NULL COMMENT '榛樿鎺掑簭', `isys` tinyint(1) DEFAULT '0' COMMENT '鎻愯棰勫', PRIMARY KEY (`id`,`num`) -) ENGINE=MyISAM AUTO_INCREMENT=134 DEFAULT CHARSET=utf8 COMMENT='娴佺▼妯″潡'; +) ENGINE=MyISAM AUTO_INCREMENT=137 DEFAULT CHARSET=utf8 COMMENT='娴佺▼妯″潡'; -- ---------------------------- -- Records of xinhu_flow_set @@ -3528,7 +3586,7 @@ INSERT INTO `xinhu_flow_set` VALUES ('2', '浼氳', 'meet', '2', 'meet', '`type` INSERT INTO `xinhu_flow_set` VALUES ('3', '宸ヤ綔鏃ユ姤', 'daily', '21', 'daily', null, '[{optname}]{content}', 'title:[{optname}]{dt}鐨剓type}\noptdt:{optdt}\ncont:{content}', '鍩虹', '1', '0', '0', '0', 'XC-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2021-05-08 09:23:14', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '1', '0', '1', '1', '0', '1', null, '0'); INSERT INTO `xinhu_flow_set` VALUES ('4', '浠诲姟', 'work', '23', 'work', null, '[{type}]{title},鍒嗛厤缁:{dist}', 'title:{title}\noptdt:{optdt}\ncont:绫诲瀷锛歿type}[br]绛夌骇锛歿grade}[br]鍒嗛厤缁欙細{dist}[br]鍒涘缓鑰咃細{optname}[br]鎴鏃堕棿锛歿enddt}', '鍩虹', '1', '0', '0', '0', 'XW-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2021-04-01 10:18:34', '1', '1', null, null, '寰?鍒嗛厤,宸插畬鎴,鏃犳硶瀹屾垚,寰?鎵ц,?鎵ц涓,宸蹭綔搴,寰?楠岃瘉|blue', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0'); INSERT INTO `xinhu_flow_set` VALUES ('5', '璇峰亣鏉', 'leave', '30', 'kqinfo', 'kind=[F]璇峰亣[F]', '[{qjkind}]{stime}鈫抺etime}鍏眥totals}灏忔椂,{explain}', 'title:[{qjkind}]鍏眥totals}灏忔椂\ncont:鏃堕棿锛歿stime}鈫抺etime}[br]璇存槑锛歿explain}\noptdt:{optdt}', '鑰冨嫟', '1', '0', '0', '0', 'KA-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-09-23 17:02:28', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '1', '0', '0', '1', '0', '0', '0', null, '0'); -INSERT INTO `xinhu_flow_set` VALUES ('6', '鍔犵彮鍗', 'jiaban', '31', 'kqinfo', 'kind=[F]鍔犵彮[F]', '{stime}鈫抺etime}鍏卞姞鐝瓄totals}灏忔椂,{explain}', 'title:鍔犵彮鍏眥totals}灏忔椂\ncont:鏃堕棿锛歿stime}鈫抺etime}[br]璇存槑锛歿explain}\noptdt:{optdt}', '鑰冨嫟', '1', '0', '0', '0', 'KB-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2020-06-08 15:15:30', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', null, '0'); +INSERT INTO `xinhu_flow_set` VALUES ('6', '鍔犵彮鍗', 'jiaban', '31', 'kqinfo', 'kind=[F]鍔犵彮[F]', '{stime}鈫抺etime}鍏卞姞鐝瓄totals}灏忔椂,{explain}', 'title:鍔犵彮鍏眥totals}灏忔椂\ncont:鏃堕棿锛歿stime}鈫抺etime}[br]璇存槑锛歿explain}\noptdt:{optdt}', '鑰冨嫟', '1', '0', '0', '0', 'KB-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2022-09-16 20:26:16', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '1', '0', '1', '0', '0', '0', null, '0'); INSERT INTO `xinhu_flow_set` VALUES ('7', '瀹㈡埛绠$悊', 'customer', '50', 'customer', null, '{name}', 'title:{name}\noptdt:{optdt}\ncont:鏉ユ簮锛歿laiyuan}[br]鎿嶄綔浜猴細{optname}[br]鍏变韩缁欙細{shate}', '瀹㈡埛', '1', '0', '0', '0', 'CA-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2022-04-18 18:24:06', '1', '1', null, null, '鍋滅敤,鍚敤', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0'); INSERT INTO `xinhu_flow_set` VALUES ('8', '閿鍞満浼', 'custsale', '52', 'custsale', null, null, 'title:{custname}\noptdt:{optdt}\ncont:鏉ユ簮锛歿laiyuan}[br]閿鍞汉锛歿optname}[br]鐢宠鏃ユ湡锛歿applydt}[br]棰勮閲戦锛歿money}', '瀹㈡埛', '1', '0', '0', '0', 'CB-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 19:13:49', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0'); INSERT INTO `xinhu_flow_set` VALUES ('9', '鐗╁搧', 'goods', '80', 'goods', null, '鍚嶇О锛歿name}锛岀紪鍙凤細{num}', 'title:{name}\ncont:缂栧彿锛歿num}[br]瑙勬牸锛歿guige}[br]鍨嬪彿锛歿xinghao}[br]搴撳瓨锛歿stock}{unit}', '鐗╁搧', '1', '0', '0', '0', 'CC-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2020-05-30 18:50:17', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0'); @@ -3563,7 +3621,7 @@ INSERT INTO `xinhu_flow_set` VALUES ('37', '璋冭柂鐢宠', 'hrtrsalary', '66', ' INSERT INTO `xinhu_flow_set` VALUES ('38', '浜轰簨璋冨姩', 'hrtransfer', '67', 'hrtransfer', null, '[{tranname}]銆恵trantype}銆:{olddeptname}鈫抺newdeptname},{oldranking}鈫抺newranking}', null, '浜轰簨', '1', '0', '0', '0', 'HE-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 17:03:36', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0'); INSERT INTO `xinhu_flow_set` VALUES ('39', '濂栨儵澶勭綒', 'reward', '68', 'reward', null, '瀵广恵object}銆戠殑{atype},濂栨儵缁撴灉:{result},閲戦:{money}', null, '浜轰簨', '1', '0', '0', '0', 'HF-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 17:03:40', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0'); INSERT INTO `xinhu_flow_set` VALUES ('40', '鐭ヨ瘑', 'knowledge', '75', 'knowledge', null, '{title}', 'title:{title}\noptdt:{optdt}', '璧勬簮', '0', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-05 18:11:27', '1', '1', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0'); -INSERT INTO `xinhu_flow_set` VALUES ('41', '鍥哄畾璧勪骇', 'assetm', '7', 'assetm', null, null, 'title:{title}\ncont:鎵鍦ㄤ綅缃細{address}[br]缂栧彿锛歿num}[br]鐘舵侊細{state}[br]浣跨敤鑰咃細{usename}', '琛屾斂', '0', '0', '0', '0', 'CF-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2020-05-30 18:56:52', '1', '0', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0'); +INSERT INTO `xinhu_flow_set` VALUES ('41', '鍥哄畾璧勪骇', 'assetm', '6', 'assetm', null, null, 'title:{title}\ncont:鎵鍦ㄤ綅缃細{address}[br]缂栧彿锛歿num}[br]鐘舵侊細{state}[br]浣跨敤鑰咃細{usename}', '琛屾斂', '0', '0', '0', '0', 'CF-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2020-05-30 18:56:52', '1', '0', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0'); INSERT INTO `xinhu_flow_set` VALUES ('42', '杞﹁締绠$悊', 'carm', '121', 'carm', null, null, null, '杞﹁締', '0', '0', '0', '0', 'CH-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 13:32:06', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0'); INSERT INTO `xinhu_flow_set` VALUES ('43', '棰樺簱', 'knowtiku', '76', 'knowtiku', null, null, 'title:[{typename}]{title}\ncont:A锛歿ana}[br]B锛歿anb}[br]C锛歿anc}[br]D锛歿and}[br]E锛歿ane}', '璧勬簮', '0', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-22 20:21:52', '1', '1', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0'); INSERT INTO `xinhu_flow_set` VALUES ('44', '杞﹁締棰勫畾', 'carmrese', '123', 'carmrese', null, '{usename}棰勫畾杞﹁締銆恵carnum}銆戝湪{startdt}鍓嶅線{address}', null, '杞﹁締', '1', '0', '0', '0', 'CJ-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 13:32:15', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0'); @@ -3620,7 +3678,10 @@ INSERT INTO `xinhu_flow_set` VALUES ('116', '娉ㄥ唽瀹℃牳', 'regcheck', '913', ' INSERT INTO `xinhu_flow_set` VALUES ('82', '渚跨', 'bianjian', '29', 'bianjian', null, '{content}', 'optdt:{suodt}\ncont:{content}', '鍩虹', '0', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2021-08-31 18:45:45', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '1', '0', '0', null, '0'); INSERT INTO `xinhu_flow_set` VALUES ('122', '瀹㈡埛鏈嶅姟', 'custfuwu', '57', 'custappy', 'dtype=1', '{custname}鏈嶅姟閲戦锛歿money}', 'title:{custname}\noptdt:{optdt}\ncont:{explain}
閲戦锛歿money}', '瀹㈡埛', '0', '0', '0', '0', 'CG-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2021-11-25 14:15:45', '1', '1', null, null, '寰?澶勭悊,宸插畬鎴,鏈畬鎴', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0'); INSERT INTO `xinhu_flow_set` VALUES ('57', '浠樻鍗', 'custfinb', '54', 'custfina', 'type=1', '鏃ユ湡[{dt}],{custname},{ispay}', 'title:{custname}\noptdt:{optdt}\ncont:閲戦锛歿money}[br]瀵瑰簲鍚堝悓锛歿htnum}', '瀹㈡埛', '0', '0', '0', '0', 'CD-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2022-05-25 20:56:37', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0'); -INSERT INTO `xinhu_flow_set` VALUES ('133', '宸ヤ綔璁″垝', 'planm', '30', 'planm', null, '{name}锛屾墽琛屼汉锛歿runren}', 'title:{name}\ncont:鎵ц浜猴細{runren}[br]寮濮嬫椂闂达細{startdt}[br]璇勫浜猴細{psren}[br]鎵ц鐘舵侊細{state}', '鍩虹', '0', '0', '0', '0', 'PL-Ymd', '1', 'all', '鍏ㄤ綋浜哄憳', '2022-09-04 17:28:18', '1', '1', 'plans', '璁″垝浜嬮」', '寰?澶勭悊,宸插彂甯,鏈氳繃', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', null, '0'); +INSERT INTO `xinhu_flow_set` VALUES ('133', '宸ヤ綔璁″垝', 'planm', '30', 'planm', 'type=0', '{name}锛屾墽琛屼汉锛歿runren}', 'title:{name}\ncont:鎵ц浜猴細{runren}[br]寮濮嬫椂闂达細{startdt}[br]璇勫浜猴細{psren}[br]鎵ц鐘舵侊細{state}', '鍩虹', '0', '0', '0', '0', 'PL-Ymd', '1', 'all', '鍏ㄤ綋浜哄憳', '2022-09-09 16:54:30', '1', '1', 'plans', '璁″垝浜嬮」', '寰?澶勭悊,宸插彂甯,鏈氳繃', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', null, '0'); +INSERT INTO `xinhu_flow_set` VALUES ('134', '鍥哄畾璧勪骇棰嗙敤', 'assetmly', '7', 'planm', 'type=1', '棰嗙敤鑰咃細{runren}锛岄鐢ㄨ祫浜э細{contentlist}', 'cont:棰嗙敤鑰咃細{runren}[br]棰嗙敤璧勪骇锛歿contentlist}[br]棰嗙敤鐘舵侊細{state}', '琛屾斂', '0', '0', '0', '0', 'CF-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2022-09-15 22:29:55', '1', '1', 'plans', '棰嗙敤璧勪骇', null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0'); +INSERT INTO `xinhu_flow_set` VALUES ('135', '淇℃伅鏀堕泦', 'collectm', '17', 'planm', 'type=2', '{name}锛屾敹闆嗗璞★細{runren}', 'title:{name}\noptdt:{startdt}\ncont:鏀堕泦瀵硅薄锛歿runren}[br]浜烘暟锛歿leixing}', '琛屾斂', '1', '0', '0', '0', 'CO-Ymd', '1', 'all', '鍏ㄤ綋浜哄憳', '2022-09-20 15:28:30', '1', '0', 'plans', '鏀堕泦瀛楁', null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0'); +INSERT INTO `xinhu_flow_set` VALUES ('136', '淇℃伅鏀堕泦琛', 'collects', '18', 'planm', 'type=3', '{name}锛岃瘎瀹′汉锛歿psren}', 'title:{name}\noptdt:{startdt}\ncont:璇勫浜猴細{psren}[br]鎴鏃堕棿锛歿enddt}', '琛屾斂', '1', '0', '0', '0', 'CP-Ymd', '1', 'all', '鍏ㄤ綋浜哄憳', '2022-09-20 21:09:08', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0'); -- ---------------------------- -- Table structure for `xinhu_flow_todo` @@ -3728,7 +3789,7 @@ CREATE TABLE `xinhu_flow_where` ( `syrname` varchar(200) DEFAULT NULL COMMENT '姝ゆ潯浠跺彲閫傜敤瀵硅薄', PRIMARY KEY (`id`), KEY `setid` (`setid`) -) ENGINE=MyISAM AUTO_INCREMENT=371 DEFAULT CHARSET=utf8 COMMENT='鍗曟嵁鏉′欢'; +) ENGINE=MyISAM AUTO_INCREMENT=380 DEFAULT CHARSET=utf8 COMMENT='鍗曟嵁鏉′欢'; -- ---------------------------- -- Records of xinhu_flow_where @@ -4012,10 +4073,19 @@ INSERT INTO `xinhu_flow_where` VALUES ('341', '122', 'myfw', null, '鏈嶅姟浜哄憳 INSERT INTO `xinhu_flow_where` VALUES ('342', '122', 'all', 'all', '鎵鏈夊鎴锋湇鍔', 'MT0x', null, null, '0', null, null, null, null, null, '1', '1', null, null); INSERT INTO `xinhu_flow_where` VALUES ('354', '73', 'alljxc', 'alljxc', '浠撳簱绠$悊', 'MT0x', null, null, '0', null, null, null, null, null, '1', '1', null, null); INSERT INTO `xinhu_flow_where` VALUES ('366', '133', 'mycj', null, '鎴戠殑鍒涘缓', 'YHVpZGA9e3VpZH0:', null, null, '2', null, null, null, null, null, '1', '1', null, null); -INSERT INTO `xinhu_flow_where` VALUES ('367', '133', 'my', null, '鎴戠殑璁″垝寰呭畬鎴', 'e3J1bnJlbmlkLHJlY2Vub3R9IGFuZCBgc3RhdHVzYD0xIGFuZCBgc3RhdGVgPD4x', null, null, '0', null, null, null, null, null, '1', '1', null, null); +INSERT INTO `xinhu_flow_where` VALUES ('367', '133', 'my', null, '鎴戠殑璁″垝寰呭畬鎴', 'IGBzdGF0dXNgPTEgYW5kIGBzdGF0ZWA8PjEgYW5kIHtydW5yZW5pZCxyZWNlbm90fQ::', null, null, '0', null, null, null, null, null, '1', '1', null, null); INSERT INTO `xinhu_flow_where` VALUES ('368', '133', 'bumen', null, '閮ㄩ棬璁″垝', 'MT0x', null, null, '2', '閮ㄩ棬璐熻矗浜烘墠鑳芥樉绀烘暟鎹', null, null, null, null, '1', '1', null, null); INSERT INTO `xinhu_flow_where` VALUES ('369', '133', 'all', 'all', '鎵鏈夊伐浣滆鍒', 'MT0x', null, null, '0', null, null, null, null, null, '1', '1', null, null); INSERT INTO `xinhu_flow_where` VALUES ('370', '133', 'myxg', null, '鎴戞墍鏈夌浉鍏宠鍒', 'e3J1bnJlbmlkLHJlY2Vub3R9', null, null, '1', null, null, null, null, null, '1', '1', null, null); +INSERT INTO `xinhu_flow_where` VALUES ('371', '134', 'my', null, '鎴戠敵璇风殑棰嗙敤', 'YHVpZGA9e3VpZH0:', null, null, '0', null, null, null, null, null, '1', '1', null, null); +INSERT INTO `xinhu_flow_where` VALUES ('372', '134', 'all', 'all', '鎵鏈夐鐢ㄧ敵璇', 'MT0x', null, null, '0', null, null, null, null, null, '1', '1', null, null); +INSERT INTO `xinhu_flow_where` VALUES ('373', '134', 'daigh', 'all', '寰呭綊杩樿祫浜', 'YS5zdGF0dXM9MSBhbmQgYS5zdGF0ZT0x', null, null, '1', null, null, null, null, null, '1', '1', null, null); +INSERT INTO `xinhu_flow_where` VALUES ('374', '134', 'myly', null, '棰嗙敤鑰呭寘鍚垜', 'IHtydW5yZW5pZCxyZWNlbm90fQ::', null, null, '1', null, null, null, null, null, '1', '1', null, null); +INSERT INTO `xinhu_flow_where` VALUES ('375', '135', 'all', 'all', '鎵鏈夋敹闆', 'MT0x', null, null, '0', null, null, null, null, null, '1', '1', null, null); +INSERT INTO `xinhu_flow_where` VALUES ('376', '135', 'my', null, '鎴戠殑鍒涘缓', 'YHVpZGA9e3VpZH0:', null, null, '0', null, null, null, null, null, '1', '1', null, null); +INSERT INTO `xinhu_flow_where` VALUES ('377', '136', 'my', null, '鎴戠殑濉啓', 'YHVpZGA9e3VpZH0:', null, null, '0', null, null, null, null, null, '1', '1', null, null); +INSERT INTO `xinhu_flow_where` VALUES ('378', '136', 'all', 'all', '鎵鏈夋敹闆嗚〃', 'MT0x', null, null, '0', null, null, null, null, null, '1', '1', null, null); +INSERT INTO `xinhu_flow_where` VALUES ('379', '136', 'alljz', 'all', '宸叉埅姝', 'YGVuZGR0YDx7bm93fQ::', null, null, '1', null, null, null, null, null, '1', '1', null, null); -- ---------------------------- -- Table structure for `xinhu_godepot` @@ -4059,7 +4129,7 @@ CREATE TABLE `xinhu_goodm` ( `status` tinyint(1) DEFAULT '1' COMMENT '鐘舵', `isturn` tinyint(1) DEFAULT '1' COMMENT '鏄惁鎻愪氦', `type` tinyint(1) DEFAULT '0' COMMENT '0棰嗙敤,1閲囪喘鐢宠', - `money` decimal(10,2) DEFAULT '0.00' COMMENT '璐圭敤', + `money` decimal(10,2) DEFAULT '0.00' COMMENT '閲囪喘閲戦', `custid` smallint(6) DEFAULT '0', `custname` varchar(50) DEFAULT NULL COMMENT '渚涘簲鍟嗗悕绉', `discount` decimal(8,2) DEFAULT '0.00' COMMENT '浼樻儬浠锋牸', @@ -5021,13 +5091,13 @@ CREATE TABLE `xinhu_im_history` ( -- ---------------------------- -- Records of xinhu_im_history -- ---------------------------- -INSERT INTO `xinhu_im_history` VALUES ('1', 'group', '2', '2', '8', '2022-09-05 15:19:51', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0'); -INSERT INTO `xinhu_im_history` VALUES ('2', 'group', '2', '7', '8', '2022-09-05 15:19:51', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0'); -INSERT INTO `xinhu_im_history` VALUES ('3', 'group', '2', '6', '8', '2022-09-05 15:19:51', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0'); -INSERT INTO `xinhu_im_history` VALUES ('4', 'group', '2', '8', '8', '2022-09-05 15:19:51', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0'); -INSERT INTO `xinhu_im_history` VALUES ('5', 'group', '2', '5', '8', '2022-09-05 15:19:51', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0'); -INSERT INTO `xinhu_im_history` VALUES ('6', 'group', '2', '1', '8', '2022-09-05 15:19:51', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0'); -INSERT INTO `xinhu_im_history` VALUES ('7', 'group', '2', '4', '8', '2022-09-05 15:19:51', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0'); +INSERT INTO `xinhu_im_history` VALUES ('1', 'group', '2', '2', '8', '2022-09-29 15:16:12', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0'); +INSERT INTO `xinhu_im_history` VALUES ('2', 'group', '2', '7', '8', '2022-09-29 15:16:12', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0'); +INSERT INTO `xinhu_im_history` VALUES ('3', 'group', '2', '6', '8', '2022-09-29 15:16:12', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0'); +INSERT INTO `xinhu_im_history` VALUES ('4', 'group', '2', '8', '8', '2022-09-29 15:16:12', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0'); +INSERT INTO `xinhu_im_history` VALUES ('5', 'group', '2', '5', '8', '2022-09-29 15:16:12', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0'); +INSERT INTO `xinhu_im_history` VALUES ('6', 'group', '2', '1', '8', '2022-09-29 15:16:12', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0'); +INSERT INTO `xinhu_im_history` VALUES ('7', 'group', '2', '4', '8', '2022-09-29 15:16:12', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0'); -- ---------------------------- -- Table structure for `xinhu_im_menu` @@ -5268,7 +5338,7 @@ CREATE TABLE `xinhu_im_mess` ( -- ---------------------------- -- Records of xinhu_im_mess -- ---------------------------- -INSERT INTO `xinhu_im_mess` VALUES ('1', '2022-09-05 15:19:51', '1', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '8', '2', '2,7,6,8,5,1,4', 'group', null, '0', null); +INSERT INTO `xinhu_im_mess` VALUES ('1', '2022-09-29 15:16:12', '1', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '8', '2', '2,7,6,8,5,1,4', 'group', null, '0', null); -- ---------------------------- -- Table structure for `xinhu_im_messzt` @@ -5348,7 +5418,7 @@ CREATE TABLE `xinhu_infor` ( -- ---------------------------- INSERT INTO `xinhu_infor` VALUES ('1', '娆㈣繋浣跨敤淇″懠宸ヤ綔鍙', '2018-04-26 17:27:10', '閫氱煡鍏憡', '

\n 娆㈣繋浣跨敤锛屾湁浠讳綍闂鍙互闅忔椂鑱旂郴鎴戜滑锛屽府浣犺В绛斿摝銆 \n

\n

\n 淇″懠鏄竴娆惧紑婧愬厤璐圭殑宸ヤ綔鍙拌蒋浠讹紝鍙坊鍔犲簲鐢紝绠$悊锛宲c涓婏紝app閮藉彲浠ヤ娇鐢紝鎴戜滑鐨勪唬鐮佸叏閮ㄥ紑鏀撅紝鍙嚜鐢变娇鐢ㄣ俓n

', null, null, null, '1', '绠$悊鍛', null, null, '淇″懠寮鍙戝洟闃', '2016-08-01', '1', null, '0', '0', '0', '0', null, null, '0', '0', '0'); INSERT INTO `xinhu_infor` VALUES ('2', '鍏充簬鍐欐棩鎶ュ埗搴﹁鏄', '2019-04-13 19:54:43', '瑙勫垯鍒跺害', '

\n 1銆佹瘡涓汉宸ヤ綔鏃ュ湪涓嬬彮鍚庡繀椤诲啓宸ヤ綔鏃ユ姤锛屽叏澶╄鍋囧彲涓嶇敤鍐欙紝鍙鏈変笂鐝氨闇瑕佸啓锛屽嵆浣夸綘涓婄彮1鍒嗛挓銆俓n

\n

\n 2銆佷篃鍙互闅斿ぉ鍐欍俓n

\n

\n 鏈啓澶勭綒 \n

\n

\n 1銆佹湭鍐欎竴娆℃墸浜斿潡锛岀疮璁″姞鍊嶃俓n

', null, 'u1,u2,u3,u4,u5,u6,u7,u8,u9', null, '1', '绠$悊鍛', null, null, '浜哄姏琛屾斂閮', '2016-08-01', '1', 'images/kqbanner1.jpg', '0', '0', '0', '0', null, null, '0', '0', '0'); -INSERT INTO `xinhu_infor` VALUES ('6', '淇″懠鏇存柊鍙戝竷V2.3.9鐗堟湰', '2022-09-05 14:49:27', '閫氱煡鍏憡', '

\n 鐗堟湰娣诲姞浜嗗彂甯冨涓嬪姛鑳藉晩銆俓n

\n

\n 1銆佺郴缁熷姛鑳藉畬鍠勩俓n

\n

\n 2銆佹洿鏂颁簡寰堝锛岃嚜宸辩湅鍗囩骇鏃ュ織銆俓n

', 'http://www.rockoa.com/view_down.html', 'u1,u6', '绠$悊鍛,寮犻', '1', '绠$悊鍛', null, null, '淇″懠寮鍙戝洟闃', '2022-09-05', '1', 'images/logo.png', '0', '0', '0', '1', null, null, '1', '1', '0'); +INSERT INTO `xinhu_infor` VALUES ('6', '淇″懠鏇存柊鍙戝竷V2.5.0鐗堟湰', '2022-09-29 15:13:04', '閫氱煡鍏憡', '

\n 鐗堟湰娣诲姞浜嗗彂甯冨涓嬪姛鑳藉晩銆俓n

\n

\n 1銆佺郴缁熷姛鑳藉畬鍠勩俓n

\n

\n 2銆佹洿鏂颁簡寰堝锛岃嚜宸辩湅鍗囩骇鏃ュ織銆俓n

', 'http://www.rockoa.com/view_down.html', 'd1', '淇″懠寮鍙戝洟闃', '1', '绠$悊鍛', null, null, '淇″懠寮鍙戝洟闃', '2022-09-29', '1', 'images/logo.png', '0', '0', '0', '1', null, null, '1', '1', '0'); INSERT INTO `xinhu_infor` VALUES ('9', '浣犱滑瑙夊緱杩欎釜绯荤粺濡備綍锛', '2019-06-03 13:17:05', '閫氱煡鍏憡', '寮濮嬫姇绁ㄦ媺銆', null, 'd1', '淇″懠寮鍙戝洟闃', '1', '绠$悊鍛', '2018-08-31 12:42:00', '2017-08-26 12:42:00', '寮鍙戦儴', '2017-08-26', '1', null, '1', '1', '0', '0', '2019-04-15', null, '1', '0', '0'); -- ---------------------------- @@ -5684,7 +5754,7 @@ CREATE TABLE `xinhu_kqinfo` ( PRIMARY KEY (`id`), KEY `uid` (`uid`), KEY `kind` (`kind`) -) ENGINE=MyISAM AUTO_INCREMENT=160 DEFAULT CHARSET=utf8 COMMENT='璇峰亣鏉″姞鐝崟'; +) ENGINE=MyISAM AUTO_INCREMENT=161 DEFAULT CHARSET=utf8 COMMENT='璇峰亣鏉″姞鐝崟'; -- ---------------------------- -- Records of xinhu_kqinfo @@ -5735,6 +5805,7 @@ INSERT INTO `xinhu_kqinfo` VALUES ('154', '2', '璨傝潐', '2019-08-09 00:00:00', INSERT INTO `xinhu_kqinfo` VALUES ('155', '1', '绠$悊鍛', '2019-08-26 18:20:00', '2019-08-26 22:20:00', '鍔犵彮', null, '濂界殑', '1', '4.0', '2019-08-26 18:20:43', '1', '绠$悊鍛', '1', '2019-08-26', '0.00', '0', '0.00', null, '1'); INSERT INTO `xinhu_kqinfo` VALUES ('157', '2', '璨傝潐', '2020-07-01 13:59:00', '2020-07-31 13:59:00', '澧炲姞璋冧紤', null, null, '1', '8.0', '2020-07-16 13:59:49', '1', '绠$悊鍛', '1', '2020-07-16', '0.00', '0', '1.00', null, '1'); INSERT INTO `xinhu_kqinfo` VALUES ('158', '1', '绠$悊鍛', '2020-11-16 12:24:00', '2020-11-17 04:24:00', '鍔犵彮', null, '鍟﹀暒鍟', '1', '16.0', '2020-11-16 12:28:24', '1', '绠$悊鍛', '1', '2020-11-16', '0.00', '0', '0.00', null, '1'); +INSERT INTO `xinhu_kqinfo` VALUES ('160', '1', '绠$悊鍛', '2022-09-15 20:26:00', '2022-09-16 20:26:00', '鍔犵彮', null, '鍔犵彮銆', '0', '8.0', '2022-09-16 20:26:43', '1', '绠$悊鍛', '1', '2022-09-16', '0.00', '0', '0.00', null, '1'); -- ---------------------------- -- Table structure for `xinhu_kqjcmd` @@ -6051,7 +6122,7 @@ CREATE TABLE `xinhu_meet` ( `zcrenid` varchar(50) DEFAULT NULL, `zcren` varchar(50) DEFAULT NULL COMMENT '涓绘寔浜', PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8 COMMENT='浼氳'; +) ENGINE=MyISAM AUTO_INCREMENT=10 DEFAULT CHARSET=utf8 COMMENT='浼氳'; -- ---------------------------- -- Records of xinhu_meet @@ -6059,6 +6130,8 @@ CREATE TABLE `xinhu_meet` ( INSERT INTO `xinhu_meet` VALUES ('7', null, null, null, null, '2', '0', '0', null, null, '0', null, null, null, null, '0', null, null, null, null, null, '0', '0', null, null); INSERT INTO `xinhu_meet` VALUES ('6', '浼氬瀹', '涓婚寮浼', '2020-07-08 13:30:00', '2020-07-08 15:20:00', '2', '1', '0', 'd1', '淇″懠寮鍙戝洟闃', '0', '绠$悊鍛', null, '1', '2020-07-08 13:21:04', '1', null, null, null, null, null, '0', '1', null, null); INSERT INTO `xinhu_meet` VALUES ('5', '浼氬瀹', '鍏充簬鍥藉簡鏀惧亣閫氱煡', '2020-07-07 11:15:00', '2020-07-07 16:15:00', '2', '1', '0', 'd1', '淇″懠寮鍙戝洟闃', '0', '绠$悊鍛', null, '1', '2020-06-30 11:13:57', '1', null, null, null, null, null, '0', '1', null, null); +INSERT INTO `xinhu_meet` VALUES ('8', '浼氬瀹', '鍏充簬寮浼氫娇鐢', '2022-09-09 15:59:00', '2022-09-09 16:31:00', '2', '1', '0', 'd2', '寮鍙戦儴', '0', '绠$悊鍛', null, '1', '2022-09-09 15:31:30', '1', '杩欐槸涓涓祴璇曚細璁', null, null, null, null, '0', '1', null, null); +INSERT INTO `xinhu_meet` VALUES ('9', null, '鍏充簬寮浼氫娇鐢', null, null, '0', '1', '2', 'd2', null, '8', '绠$悊鍛', null, '1', '2022-09-09 16:31:19', '1', null, null, null, null, '涓嶉敊涓嶉敊', '0', '1', null, null); -- ---------------------------- -- Table structure for `xinhu_menu` @@ -6082,7 +6155,7 @@ CREATE TABLE `xinhu_menu` ( `types` tinyint(1) DEFAULT '0', PRIMARY KEY (`id`), KEY `pid` (`pid`,`status`) -) ENGINE=MyISAM AUTO_INCREMENT=411 DEFAULT CHARSET=utf8 COMMENT='绯荤粺鑿滃崟'; +) ENGINE=MyISAM AUTO_INCREMENT=417 DEFAULT CHARSET=utf8 COMMENT='绯荤粺鑿滃崟'; -- ---------------------------- -- Records of xinhu_menu @@ -6216,7 +6289,7 @@ INSERT INTO `xinhu_menu` VALUES ('133', '鎴戜笂浼犺繃鐨勬枃浠', '39', '6', 'sys INSERT INTO `xinhu_menu` VALUES ('134', '鐭ヨ瘑淇℃伅绠$悊', '19', '21', 'system,infor,zhishi', null, null, null, '1', '1', null, '0', '0', '0', '0'); INSERT INTO `xinhu_menu` VALUES ('135', '鐭ヨ瘑棰樺簱绠$悊', '19', '22', 'system,infor,tiku', null, null, null, '1', '1', null, '0', '0', '0', '0'); INSERT INTO `xinhu_menu` VALUES ('136', '鐭ヨ瘑棰樺簱瀛︿範', '19', '24', 'system,infor,tikuxx', null, null, null, '0', '1', null, '0', '0', '0', '0'); -INSERT INTO `xinhu_menu` VALUES ('137', '鍥哄畾璧勪骇', '140', '11', 'flow,page,assetm,atype=all,pnum=all', 'laptop', null, null, '1', '1', null, '0', '0', '0', '0'); +INSERT INTO `xinhu_menu` VALUES ('137', '鍥哄畾璧勪骇鍒楄〃', '411', '11', 'flow,page,assetm,atype=all,pnum=all', null, null, null, '1', '1', null, '0', '0', '0', '0'); INSERT INTO `xinhu_menu` VALUES ('138', '杞﹁締绠$悊', '140', '21', null, 'truck', null, null, '1', '1', null, '0', '0', '0', '0'); INSERT INTO `xinhu_menu` VALUES ('139', '鍥句功绠$悊', '140', '41', null, 'book', null, null, '1', '1', null, '0', '0', '0', '0'); INSERT INTO `xinhu_menu` VALUES ('140', '琛屾斂', '0', '7', null, null, null, null, '1', '1', null, '0', '0', '0', '0'); @@ -6401,6 +6474,12 @@ INSERT INTO `xinhu_menu` VALUES ('407', '宸ヤ綔璁″垝鎺堟潈鏌ョ湅', '410', '21', INSERT INTO `xinhu_menu` VALUES ('408', '鎴戠殑宸ヤ綔璁″垝', '410', '6', 'flow,page,planm,atype=my', 'time', null, 'myplan', '0', '1', null, '0', '0', '0', '0'); INSERT INTO `xinhu_menu` VALUES ('409', '鎵鏈夊伐浣滆鍒', '410', '30', 'flow,page,planm,atype=all,pnum=all', null, null, null, '1', '1', null, '0', '0', '0', '0'); INSERT INTO `xinhu_menu` VALUES ('410', '宸ヤ綔璁″垝', '38', '20', null, null, null, null, '1', '1', null, '0', '0', '0', '0'); +INSERT INTO `xinhu_menu` VALUES ('411', '鍥哄畾璧勪骇', '140', '12', null, 'laptop', null, null, '1', '1', null, '0', '0', '0', '0'); +INSERT INTO `xinhu_menu` VALUES ('412', '鍥哄畾璧勪骇棰嗙敤', '411', '20', 'flow,page,assetmly,atype=all,pnum=all', null, null, null, '1', '1', null, '0', '0', '0', '0'); +INSERT INTO `xinhu_menu` VALUES ('413', '缁翠慨鎶ヤ慨鏌ョ湅', '411', '30', 'flow,page,repair,atype=all,pnum=all', null, null, null, '1', '1', null, '0', '0', '0', '0'); +INSERT INTO `xinhu_menu` VALUES ('414', '淇℃伅鏀堕泦', '140', '10', null, null, null, null, '1', '1', null, '0', '0', '0', '0'); +INSERT INTO `xinhu_menu` VALUES ('415', '淇℃伅鏀堕泦绠$悊', '414', '0', 'flow,page,collectm,atype=all,pnum=all', null, null, null, '1', '1', null, '0', '0', '0', '0'); +INSERT INTO `xinhu_menu` VALUES ('416', '淇℃伅鏀堕泦琛', '414', '0', 'flow,page,collects,atype=all,pnum=all', null, null, null, '1', '1', null, '0', '0', '0', '0'); -- ---------------------------- -- Table structure for `xinhu_news` @@ -6512,7 +6591,7 @@ CREATE TABLE `xinhu_option` ( PRIMARY KEY (`id`), KEY `num` (`num`), KEY `pid` (`pid`) -) ENGINE=MyISAM AUTO_INCREMENT=774 DEFAULT CHARSET=utf8 COMMENT='绯荤粺閫夐」'; +) ENGINE=MyISAM AUTO_INCREMENT=775 DEFAULT CHARSET=utf8 COMMENT='绯荤粺閫夐」'; -- ---------------------------- -- Records of xinhu_option @@ -6971,15 +7050,22 @@ CREATE TABLE `xinhu_planm` ( `runren` varchar(500) DEFAULT NULL COMMENT '鎵ц浜', `runrenid` varchar(500) DEFAULT NULL COMMENT '鎵ц浜虹殑ID', `state` smallint(6) DEFAULT '0', + `type` smallint(6) DEFAULT '0', PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='宸ヤ綔璁″垝'; +) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=utf8 COMMENT='宸ヤ綔璁″垝'; -- ---------------------------- -- Records of xinhu_planm -- ---------------------------- -INSERT INTO `xinhu_planm` VALUES ('1', '1', '2022-09-01 20:38:05', '1', '绠$悊鍛', '2022-09-01', null, '1', '1', '1', '2022骞09鏈堜唤绗1鍛ㄥ伐浣滆鍒', '4', '2022-09-01 20:13:15', '2022-09-01 20:13:19', '澶т箶', '4', '寮鍙戦儴,璐㈠姟閮', 'd2,d3', '1'); -INSERT INTO `xinhu_planm` VALUES ('2', '1', '2022-09-02 15:07:31', '1', '绠$悊鍛', '2022-09-02', null, '1', '1', '1', '2022骞09鏈堜唤宸ヤ綔璁″垝', '3', '2022-09-02 15:03:00', '2022-09-30 15:06:00', null, null, '琛屾斂浜轰簨閮', 'd4', '1'); -INSERT INTO `xinhu_planm` VALUES ('3', '4', '2022-09-04 12:17:25', '4', '澶т箶', '2022-09-04', null, '1', '1', '2', '2022绗3瀛e害宸ヤ綔璁″垝', '2', '2022-09-04 12:16:24', '2022-09-15 12:17:00', null, null, '璐㈠姟閮', 'd3', '2'); +INSERT INTO `xinhu_planm` VALUES ('1', '1', '2022-09-01 20:38:05', '1', '绠$悊鍛', '2022-09-01', null, '1', '1', '1', '2022骞09鏈堜唤绗1鍛ㄥ伐浣滆鍒', '4', '2022-09-01 20:13:15', '2022-09-01 20:13:19', '澶т箶', '4', '寮鍙戦儴,璐㈠姟閮', 'd2,d3', '1', '0'); +INSERT INTO `xinhu_planm` VALUES ('2', '1', '2022-09-02 15:07:31', '1', '绠$悊鍛', '2022-09-02', null, '1', '1', '1', '2022骞09鏈堜唤宸ヤ綔璁″垝', '3', '2022-09-02 15:03:00', '2022-09-30 15:06:00', null, null, '琛屾斂浜轰簨閮', 'd4', '1', '0'); +INSERT INTO `xinhu_planm` VALUES ('3', '4', '2022-09-04 12:17:25', '4', '澶т箶', '2022-09-04', null, '1', '1', '2', '2022绗3瀛e害宸ヤ綔璁″垝', '2', '2022-09-04 12:16:24', '2022-09-15 12:17:00', null, null, '璐㈠姟閮', 'd3', '2', '0'); +INSERT INTO `xinhu_planm` VALUES ('6', '1', '2022-09-16 12:15:17', '1', '绠$悊鍛', '2022-09-16', null, '1', '1', '1', null, '0', '2022-09-16 14:28:00', null, null, null, '琛屾斂浜轰簨閮', 'd4', '1', '1'); +INSERT INTO `xinhu_planm` VALUES ('5', '1', '2022-09-16 10:37:03', '1', '绠$悊鍛', '2022-09-16', null, '1', '1', '1', null, '0', '2022-09-16 10:36:00', null, null, null, '寮鍙戦儴', 'd2', '2', '1'); +INSERT INTO `xinhu_planm` VALUES ('7', '1', '2022-09-21 19:26:19', '1', '绠$悊鍛', '2022-09-21', null, '1', '1', '1', '鐤儏闃叉帶浣撴俯鎶ュ', '2', '2022-09-21 19:22:48', '2022-09-22 19:22:48', null, null, '寮犻,绠$悊鍛', 'u6,u1', '1', '2'); +INSERT INTO `xinhu_planm` VALUES ('8', '1', '2022-09-21 19:28:20', '1', '绠$悊鍛', '2022-09-21', null, '1', '1', '1', '鐤儏闃叉帶浣撴俯鎶ュ', '7', '2022-09-21 19:22:48', '2022-09-22 19:22:48', '绠$悊鍛', '1', null, null, '0', '3'); +INSERT INTO `xinhu_planm` VALUES ('9', '6', '2022-09-21 19:27:08', '6', '寮犻', '2022-09-21', null, '0', '0', '1', '鐤儏闃叉帶浣撴俯鎶ュ', '7', '2022-09-21 19:22:48', '2022-09-22 19:22:48', '绠$悊鍛', '1', null, null, '0', '3'); +INSERT INTO `xinhu_planm` VALUES ('13', '1', '2022-09-21 19:54:56', '1', '绠$悊鍛', '2022-09-21', null, '0', '0', '1', '鐤儏闃叉帶浣撴俯鎶ュ', '2', '2022-09-21 19:54:56', '2022-09-22 19:54:56', null, null, '寮犻,绠$悊鍛', 'u6,u1', '0', '2'); -- ---------------------------- -- Table structure for `xinhu_plans` @@ -6994,22 +7080,49 @@ CREATE TABLE `xinhu_plans` ( `zxren` varchar(500) DEFAULT NULL COMMENT '鎵ц浜', `zxrenid` varchar(500) DEFAULT NULL COMMENT '鎵ц浜虹殑ID', `zxtime` datetime DEFAULT NULL COMMENT '鎵ц鏃堕棿', + `itemid` int(11) DEFAULT '0', PRIMARY KEY (`id`), KEY `mid` (`mid`) -) ENGINE=MyISAM AUTO_INCREMENT=10 DEFAULT CHARSET=utf8; +) ENGINE=MyISAM AUTO_INCREMENT=82 DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of xinhu_plans -- ---------------------------- -INSERT INTO `xinhu_plans` VALUES ('1', '1', '0', '1', '9鏈堥攢鍞杈惧埌600涓', '寮鍙戦儴', 'd2', null); -INSERT INTO `xinhu_plans` VALUES ('2', '1', '1', '1', '鎵╁睍鏂板鎴', '璐㈠姟閮,琛屾斂浜轰簨閮', 'd3,d4', null); -INSERT INTO `xinhu_plans` VALUES ('3', '1', '2', '1', '瀛︿範鏂版妧鑳', '寮犻', 'u6', '2022-09-02 23:02:44'); -INSERT INTO `xinhu_plans` VALUES ('4', '2', '0', '1', '寮鍙戠エ', '澶т箶', 'u4', '2022-09-03 18:51:00'); -INSERT INTO `xinhu_plans` VALUES ('5', '2', '1', '1', '鎶ョ◣', '澶т箶', 'u4', '2022-09-03 19:42:55'); -INSERT INTO `xinhu_plans` VALUES ('6', '2', '2', '1', '鐢虫姤绀句繚', '澶т箶', 'u4', '2022-09-29 19:42:00'); -INSERT INTO `xinhu_plans` VALUES ('7', '3', '0', '2', '璐㈠姟鐩爣瀛︿範1', '灏忎箶', 'u3', null); -INSERT INTO `xinhu_plans` VALUES ('8', '3', '1', '2', '璐㈠姟鐩爣瀛︿範2', null, null, null); -INSERT INTO `xinhu_plans` VALUES ('9', '3', '2', '2', '璐㈠姟鐩爣瀛︿範3', null, null, null); +INSERT INTO `xinhu_plans` VALUES ('1', '1', '0', '1', '9鏈堥攢鍞杈惧埌600涓', '寮鍙戦儴', 'd2', null, '0'); +INSERT INTO `xinhu_plans` VALUES ('2', '1', '1', '1', '鎵╁睍鏂板鎴', '璐㈠姟閮,琛屾斂浜轰簨閮', 'd3,d4', null, '0'); +INSERT INTO `xinhu_plans` VALUES ('3', '1', '2', '1', '瀛︿範鏂版妧鑳', '寮犻', 'u6', '2022-09-02 23:02:44', '0'); +INSERT INTO `xinhu_plans` VALUES ('4', '2', '0', '1', '寮鍙戠エ', '澶т箶', 'u4', '2022-09-03 18:51:00', '0'); +INSERT INTO `xinhu_plans` VALUES ('5', '2', '1', '1', '鎶ョ◣', '澶т箶', 'u4', '2022-09-03 19:42:55', '0'); +INSERT INTO `xinhu_plans` VALUES ('6', '2', '2', '1', '鐢虫姤绀句繚', '澶т箶', 'u4', '2022-09-29 19:42:00', '0'); +INSERT INTO `xinhu_plans` VALUES ('7', '3', '0', '2', '璐㈠姟鐩爣瀛︿範1', '灏忎箶', 'u3', null, '0'); +INSERT INTO `xinhu_plans` VALUES ('8', '3', '1', '2', '璐㈠姟鐩爣瀛︿範2', null, null, null, '0'); +INSERT INTO `xinhu_plans` VALUES ('9', '3', '2', '2', '璐㈠姟鐩爣瀛︿範3', null, null, null, '0'); +INSERT INTO `xinhu_plans` VALUES ('11', '5', '0', '1', '鍏敤澶嶅嵃鏈(FYJ-001)', null, null, null, '2'); +INSERT INTO `xinhu_plans` VALUES ('12', '6', '0', '1', '鍏敤澶嶅嵃鏈(FYJ-001)', null, null, null, '2'); +INSERT INTO `xinhu_plans` VALUES ('45', '7', '5', '1', '鍚岄殢浜哄憳', 'changeusercheck', null, null, '0'); +INSERT INTO `xinhu_plans` VALUES ('44', '7', '4', '1', '鍥炴潵鏃堕棿', 'datetime', null, null, '0'); +INSERT INTO `xinhu_plans` VALUES ('43', '7', '3', '1', '澶栧嚭鍦扮偣', 'text', null, null, '0'); +INSERT INTO `xinhu_plans` VALUES ('55', '9', '3', '1', '澶栧嚭鍦扮偣', null, null, null, '43'); +INSERT INTO `xinhu_plans` VALUES ('57', '9', '5', '1', '鍚岄殢浜哄憳', null, null, null, '45'); +INSERT INTO `xinhu_plans` VALUES ('56', '9', '4', '1', '鍥炴潵鏃堕棿', null, null, null, '44'); +INSERT INTO `xinhu_plans` VALUES ('54', '9', '2', '1', '鏄惁鍑哄競', null, null, null, '42'); +INSERT INTO `xinhu_plans` VALUES ('53', '9', '1', '1', '鍋ュ悍琛岀▼鐮', null, null, null, '41'); +INSERT INTO `xinhu_plans` VALUES ('42', '7', '2', '1', '鏄惁鍑哄競', 'select', '鍚,鏄', null, '0'); +INSERT INTO `xinhu_plans` VALUES ('40', '7', '0', '1', '浣撴俯', 'text', null, null, '1'); +INSERT INTO `xinhu_plans` VALUES ('41', '7', '1', '1', '鍋ュ悍琛岀▼鐮', 'uploadfile', null, null, '0'); +INSERT INTO `xinhu_plans` VALUES ('50', '8', '4', '1', '鍥炴潵鏃堕棿', '2022-09-21 19:28:00', null, null, '44'); +INSERT INTO `xinhu_plans` VALUES ('49', '8', '3', '1', '澶栧嚭鍦扮偣', '鍘﹂棬', null, null, '43'); +INSERT INTO `xinhu_plans` VALUES ('48', '8', '2', '1', '鏄惁鍑哄競', '鏄', null, null, '42'); +INSERT INTO `xinhu_plans` VALUES ('47', '8', '1', '1', '鍋ュ悍琛岀▼鐮', '14', null, null, '41'); +INSERT INTO `xinhu_plans` VALUES ('46', '8', '0', '1', '浣撴俯', '36.2', null, null, '40'); +INSERT INTO `xinhu_plans` VALUES ('52', '9', '0', '1', '浣撴俯', null, null, null, '40'); +INSERT INTO `xinhu_plans` VALUES ('51', '8', '5', '1', '鍚岄殢浜哄憳', '绠$悊鍛,寮犻', null, null, '45'); +INSERT INTO `xinhu_plans` VALUES ('81', '13', '1', '1', '鍋ュ悍琛岀▼鐮', 'uploadfile', null, null, '0'); +INSERT INTO `xinhu_plans` VALUES ('80', '13', '0', '1', '浣撴俯', 'text', null, null, '1'); +INSERT INTO `xinhu_plans` VALUES ('79', '13', '2', '1', '鏄惁鍑哄競', 'select', '鍚,鏄', null, '0'); +INSERT INTO `xinhu_plans` VALUES ('78', '13', '3', '1', '澶栧嚭鍦扮偣', 'text', null, null, '0'); +INSERT INTO `xinhu_plans` VALUES ('77', '13', '4', '1', '鍥炴潵鏃堕棿', 'datetime', null, null, '0'); +INSERT INTO `xinhu_plans` VALUES ('76', '13', '5', '1', '鍚岄殢浜哄憳', 'changeusercheck', null, null, '0'); -- ---------------------------- -- Table structure for `xinhu_project` @@ -7242,7 +7355,7 @@ CREATE TABLE `xinhu_schedule` ( `comid` smallint(6) DEFAULT '0' COMMENT '瀵瑰簲鍗曚綅id', `isdai` tinyint(1) DEFAULT '0' COMMENT '鏄惁鍒涘缓鏃ョ▼寰呭姙', PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8 COMMENT='鏃ョ▼'; +) ENGINE=MyISAM AUTO_INCREMENT=10 DEFAULT CHARSET=utf8 COMMENT='鏃ョ▼'; -- ---------------------------- -- Records of xinhu_schedule @@ -7364,7 +7477,7 @@ CREATE TABLE `xinhu_subscribe` ( -- ---------------------------- -- Records of xinhu_subscribe -- ---------------------------- -INSERT INTO `xinhu_subscribe` VALUES ('1', '鑰冨嫟缁熻绠琛({month-1})', '{month-1}鏈堜唤浜哄憳鑰冨嫟缁熻绠琛', '璁㈤槄涓婃湀鑰冨嫟缁熻琛', '1', '绠$悊鍛', '2017-09-03 20:11:24', '1', 'aW5kZXgucGhwP2E9cHVibGljc3RvcmUmbT1rYW9xaW4mZD1tYWluJmFqYXhib29sPXRydWUmcm5kPTY0NjM0OQ::', 'dGFibGVuYW1lX2FiYz11c2VyaW5mbyZsb2FkY2k9MSZzdG9yZWJlZm9yZWFjdGlvbj1rcXRvdGFsYmVmb3Jlc2hvdyZzdG9yZWFmdGVyYWN0aW9uPWtxdG90YWxhZnRlcnNob3cmc3RhcnQ9MCZsaW1pdD0xMDAwMCZhdHlwZT1hbGwmZXhlY2xkb3duPXRydWUmZXhjZWx0aXRsZT3ogIPli6Tnu5.orqHnroDooagmZXhjZWxmaWVsZHM9ZGVwdG5hbWUsbmFtZSxyYW5raW5nLHN0YXRlLHN0YXRlMCxzdGF0ZTEsc3RhdGUyLGppYWJhbixvdXRjaSxlcnJjaSxzYmRheSx5c2JkYXksd2VpZGsmZXhjZWxoZWFkZXI96YOo6ZeoLOWnk!WQjSzogYzkvY0s5Lq65ZGY54q25oCBLOato!W4uCzov5.liLAs5pep6YCALOWKoOePrSjml7YpLOWkluWHuijmrKEpLOW8guW4uCjmrKEpLOW6lOS4iuePrSjlpKkpLOW3suS4iuePrSjlpKkpLOacquaJk!WNoSZtb250aD17bW9udGgtMX0:', '2020-10-01 21:26:32', null, null, '0'); +INSERT INTO `xinhu_subscribe` VALUES ('1', '鑰冨嫟缁熻绠琛({month-1})', '{month-1}鏈堜唤浜哄憳鑰冨嫟缁熻绠琛', '璁㈤槄涓婃湀鑰冨嫟缁熻琛', '1', '绠$悊鍛', '2017-09-03 20:11:24', '1', 'aW5kZXgucGhwP2E9cHVibGljc3RvcmUmbT1rYW9xaW4mZD1tYWluJmFqYXhib29sPXRydWUmcm5kPTY0NjM0OQ::', 'dGFibGVuYW1lX2FiYz11c2VyaW5mbyZsb2FkY2k9MSZzdG9yZWJlZm9yZWFjdGlvbj1rcXRvdGFsYmVmb3Jlc2hvdyZzdG9yZWFmdGVyYWN0aW9uPWtxdG90YWxhZnRlcnNob3cmc3RhcnQ9MCZsaW1pdD0xMDAwMCZhdHlwZT1hbGwmZXhlY2xkb3duPXRydWUmZXhjZWx0aXRsZT3ogIPli6Tnu5.orqHnroDooagmZXhjZWxmaWVsZHM9ZGVwdG5hbWUsbmFtZSxyYW5raW5nLHN0YXRlLHN0YXRlMCxzdGF0ZTEsc3RhdGUyLGppYWJhbixvdXRjaSxlcnJjaSxzYmRheSx5c2JkYXksd2VpZGsmZXhjZWxoZWFkZXI96YOo6ZeoLOWnk!WQjSzogYzkvY0s5Lq65ZGY54q25oCBLOato!W4uCzov5.liLAs5pep6YCALOWKoOePrSjml7YpLOWkluWHuijmrKEpLOW8guW4uCjmrKEpLOW6lOS4iuePrSjlpKkpLOW3suS4iuePrSjlpKkpLOacquaJk!WNoSZtb250aD17bW9udGgtMX0:', '2022-09-18 11:15:48', null, null, '0'); -- ---------------------------- -- Table structure for `xinhu_subscribeinfo` @@ -7381,12 +7494,13 @@ CREATE TABLE `xinhu_subscribeinfo` ( `recename` varchar(200) DEFAULT NULL COMMENT '瀵瑰簲浜', `comid` smallint(6) DEFAULT '0' COMMENT '瀵瑰簲鍗曚綅id', PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='璁㈤槄鍐呭淇℃伅'; +) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COMMENT='璁㈤槄鍐呭淇℃伅'; -- ---------------------------- -- Records of xinhu_subscribeinfo -- ---------------------------- INSERT INTO `xinhu_subscribeinfo` VALUES ('5', '1', '鑰冨嫟缁熻绠琛(2020-09)', '2020-09鏈堜唤浜哄憳鑰冨嫟缁熻绠琛', '2020-10-01 21:26:32', 'upload/logs/2020-10/鑰冨嫟缁熻绠琛(2020-09)_01_212632.html', '1', '绠$悊鍛', '0'); +INSERT INTO `xinhu_subscribeinfo` VALUES ('6', '1', '鑰冨嫟缁熻绠琛(2022-08)', '2022-08鏈堜唤浜哄憳鑰冨嫟缁熻绠琛', '2022-09-18 11:15:48', 'upload/logs/2022-09/鑰冨嫟缁熻绠琛(2022-08)_18_111549.html', '1', '绠$悊鍛', '0'); -- ---------------------------- -- Table structure for `xinhu_task` @@ -7419,7 +7533,7 @@ CREATE TABLE `xinhu_task` ( INSERT INTO `xinhu_task` VALUES ('1', '娴佺▼浠庢柊鍖归厤', '绯荤粺', 'flow,pipei', 'd,d', '00:10:00,12:10:00', '姣忓ぉ0,12鐐', '1', '0', null, null, '0', null, null, null, null, null); INSERT INTO `xinhu_task` VALUES ('2', '鏁版嵁澶囦唤', '绯荤粺', 'sys,beifen', 'd', '00:20:00', '姣忓ぉ鍑屾櫒00:20', '1', '0', null, null, '0', null, null, null, null, null); INSERT INTO `xinhu_task` VALUES ('3', '绯荤粺鍗囩骇鎻愰啋', '绯荤粺', 'sys,upgtx', 'd', '00:25:00', '姣忓ぉ鍑屾櫒00:25', '0', '0', null, null, '0', null, null, null, '1,8', '绠$悊鍛,淇″懠瀹㈡湇'); -INSERT INTO `xinhu_task` VALUES ('4', '5鍒嗛挓杩愯1娆', '绯荤粺', 'minute5,run', 'i5', '00', '姣5鍒嗛挓杩愯涓娆', '1', '1', '2022-09-05 15:20:01', null, '0', null, 'success', '杩欎釜鏄繀椤荤殑锛屼笉鍙垹闄ゅ仠鐢', null, null); +INSERT INTO `xinhu_task` VALUES ('4', '5鍒嗛挓杩愯1娆', '绯荤粺', 'minute5,run', 'i5', '00', '姣5鍒嗛挓杩愯涓娆', '1', '0', null, null, '0', null, null, '杩欎釜鏄繀椤荤殑锛屼笉鍙垹闄ゅ仠鐢', null, null); INSERT INTO `xinhu_task` VALUES ('5', '鑰冨嫟淇℃伅鎻愰啋', '鑰冨嫟', 'kaoqin,todo', 'd', '09:25:00', '姣忓ぉ9鐐', '1', '0', null, null, '21', null, null, '鍦ㄦā鍧椼愯冨嫟淇℃伅銆戜笅璁剧疆鎻愰啋鍒板摢浜涘钩鍙般', null, null); INSERT INTO `xinhu_task` VALUES ('6', '鐢ㄦ埛鏁版嵁鏇存柊', '鐢ㄦ埛', 'sys,dataup', 'd', '00:10:00', '姣忓ぉ', '1', '0', null, null, '1', null, null, null, null, null); INSERT INTO `xinhu_task` VALUES ('7', '鑰冨嫟鍒嗘瀽', '鑰冨嫟', 'kaoqin,anay', 'd', '02:15:00', '姣忓ぉ2鐐', '1', '0', null, null, '22', null, null, '鍒嗘瀽鍏ㄤ綋浜哄憳鏄ㄥぉ鐨勮冨嫟', null, null); diff --git a/webmain/main/fwork/fworkAction.php b/webmain/main/fwork/fworkAction.php index c9800bf..7b099e8 100644 --- a/webmain/main/fwork/fworkAction.php +++ b/webmain/main/fwork/fworkAction.php @@ -112,17 +112,20 @@ class fworkClassAction extends Action //鎶勯佺殑 if($lx=='chaosview'){ $where =' and 1=2'; - $crows = $this->db->getall("select * from `[Q]flow_chao` where ".$this->rock->dbinstr('csnameid', $uid).""); + $where1= $this->rock->dbinstr('csnameid', $uid); + if($modeid>0)$where1.=' and `modeid`='.$modeid.''; + $crows = $this->db->getall("select * from `[Q]flow_chao` where $where1"); $this->modeids = '0'; if($crows){ $modeids = ''; - $mids = ''; + $modeidsa= array(); foreach($crows as $k1=>$rs1){ $modeids.=','.$rs1['modeid'].''; - $mids.=','.$rs1['mid'].''; + $modeidsa[$rs1['modeid']][] = $rs1['mid']; } $this->modeids = substr($modeids,1); - $where = " and a.`isturn`=1 and a.`modeid` in(".$this->modeids.") and a.`mid` in(".substr($mids,1).")"; + foreach($modeidsa as $mkid=>$mids)$wherea[]='(a.`modeid` = '.$mkid.' and a.`mid` in('.join(',', $mids).'))'; + $where = ' and a.`isturn`=1 and ( '.join(' or ', $wherea).' )'; } } diff --git a/webmain/model/fileModel.php b/webmain/model/fileModel.php index 4993736..e3e9b34 100644 --- a/webmain/model/fileModel.php +++ b/webmain/model/fileModel.php @@ -329,11 +329,12 @@ class fileClassModel extends Model header('location:'.$filepath.''); return; } - ob_clean();flush();readfile($filepath);return; - if($filesize > 5*1024*1024){ + + if($filesize > 10*1024*1024 && 1==1){ header('location:'.$filepath.''); }else{ - echo file_get_contents($filepath); + //echo file_get_contents($filepath); + ob_clean();flush();readfile($filepath); } } } diff --git a/webmain/model/flow/assetmModel.php b/webmain/model/flow/assetmModel.php index e05684d..699226c 100644 --- a/webmain/model/flow/assetmModel.php +++ b/webmain/model/flow/assetmModel.php @@ -6,7 +6,7 @@ class flow_assetmClassModel extends flowModel $this->statearr = c('array')->strtoarray('blue|闂茬疆,#ff6600|鍦ㄧ敤,red|缁翠慨,gray|鎶ュ簾,gray|涓㈠け'); } - public function flowrsreplace($rs) + public function flowrsreplace($rs,$lx=0) { if(isset($rs['typeid']))$rs['typeid'] = $this->db->getmou('[Q]option','name',"`id`='".$rs['typeid']."'"); if(isset($rs['ckid']) && $rs['ckid']>0){ @@ -21,6 +21,16 @@ class flow_assetmClassModel extends flowModel $rs['state'] = ''.$b[1].''; } if(isset($rs['fengmian']) && !isempt($rs['fengmian']))$rs['fengmian'] = ''; + + if($lx==1){ + $rows = $this->db->getall('select a.runren,a.id,a.optdt from `[Q]planm` a left join `[Q]plans` b on a.id=b.mid where b.itemid='.$rs['id'].' and a.`type`=1'); + $str = ''; + foreach($rows as $k1=>$rs1){ + $url = $this->getxiangurl('assetmly', $rs1['id'],'auto'); + $str.=''.$rs1['runren'].'('.$rs1['optdt'].') 鏌ョ湅
'; + } + $rs['lycount'] = $str; + } return $rs; } diff --git a/webmain/model/flow/assetmlyModel.php b/webmain/model/flow/assetmlyModel.php new file mode 100644 index 0000000..fa7a9bc --- /dev/null +++ b/webmain/model/flow/assetmlyModel.php @@ -0,0 +1,97 @@ +db->getall('select `pitem` from `[Q]plans` where `mid`='.$rs['id'].''); + $s = ''; + foreach($rows as $k1=>$rs1)$s.=''.$rs1['pitem'].';'; + $rs['contentlist'] = $s; + } + + $state = $rs['state']; + if($state!='2'){ + if($rs['status']==1)$state = 1; + } + if($state != $rs['state'])$this->update('`state`='.$state.'', $rs['id']); + + if($state=='0')$rs['state']='寰呴鍙'; + if($state=='1')$rs['state']='宸查鍙'; + if($state=='2')$rs['state']='宸插綊杩'; + + + return $rs; + } + + + //鑷畾涔夊鏍镐汉璇诲彇 + protected function flowcheckname($num){ + $sid = ''; + $sna = ''; + if($num=='queren'){ + $ssid = ''; + $runrenid = $this->rs['runrenid']; + if(!isempt($runrenid)){ + $dbs = m('dept'); + $runa = explode(',', $runrenid); + foreach($runa as $id1){ + $id1d = str_replace(array('d','u'),'', $id1); + if(contain($id1,'d')){ + $drs = $dbs->getone($id1d); + if($drs && !isempt($drs['headid']))$ssid.=','.$drs['headid'].''; + }else{ + $ssid.=','.$id1d.''; + } + } + } + if($ssid){ + $ssid = substr($ssid, 1); + $rows = $this->adminmodel->getall('id in('.$ssid.') and `status`=1'); + if($rows){ + foreach($rows as $k=>$rs){ + $sid.=','.$rs['id'].''; + $sna.=','.$rs['name'].''; + } + $sid = substr($sid, 1); + $sna = substr($sna, 1); + } + } + } + return array($sid, $sna); + } + + //瀹℃壒瀹屾垚鏇存柊棰嗙敤 + protected function flowcheckfinsh($zt) + { + if($zt==1){ + $rows = m('plans')->getall('`mid`='.$this->id.''); + foreach($rows as $k=>$rs){ + m('assetm')->update(array( + 'useid' => $this->rs['runrenid'], + 'usename' => $this->rs['runren'], + 'state' => 1 + ),$rs['itemid']); + } + $this->update('`state`=1', $this->id); + } + } + + //褰掕繕 + protected function flowoptmenu($ors, $crs) + { + if($ors['num']=='guihainoup'){ + $rows = m('plans')->getall('`mid`='.$this->id.''); + foreach($rows as $k=>$rs){ + m('assetm')->update(array( + 'useid' => '', + 'usename' => '', + 'state' => 0 + ),$rs['itemid']); + } + $this->update('`state`=2', $this->id); + } + } +} \ No newline at end of file diff --git a/webmain/model/flow/flow.php b/webmain/model/flow/flow.php index 9c5956f..8511759 100644 --- a/webmain/model/flow/flow.php +++ b/webmain/model/flow/flow.php @@ -12,4 +12,4 @@
'.$this->urs['name'].'('.$this->urs['ranking'].')
'.$this->urs['deptallname'].'
-
'; unset($fields['base_name']); unset($fields['base_deptname']); } $contvimr .= '
'; foreach($fields as $f=>$n){ $vs = arrvalue($data, $f); if(!isempt($vs)){ if(substr($f,0,7)=='subdata'){ $contvimr .= ''; }else{ $contvimr .= ''; } } } $contvimr .= '
'.$n.'
'.$vs.'
'.str_replace(' ','
',$n).'
'.$vs.'
'; } if(isempt($contview))$contview = $contvimr; $contview = str_replace('$contview$',$contvimr, $contview); } unset($farrobj); $arr['contview'] = $contview; $arr['readarr'] = m('log')->getreadarr($this->mtable, $this->id); $arr['isedit'] = $this->iseditqx(); $arr['isdel'] = $this->isdeleteqx(); $arr['isflow'] = $this->isflow; $arr['modename'] = $this->modename; $arr['ischehui'] = $this->ischehui(); $arr['statustext'] = $ztass[4]; $arr['statuscolor'] = $ztass[1]; $arr['optmenu'] = $this->getoptmenu(1); $arr['isgbjl'] = (int)$this->rock->arrvalue($this->moders,'isgbjl','0'); $arr['isgbcy'] = (int)$this->rock->arrvalue($this->moders,'isgbcy','0'); $receiptrs = false; $receiptrow = m('receipt')->getall("`modenum`='$this->modenum' and `mid`='$this->id' and `status`=1"); foreach($receiptrow as $k=>$hrs){ $uid1 = ','.$this->adminid.','; if(!contain(','.$hrs['receid'].',', $uid1))continue; if(!contain(','.$hrs['receids'].',', $uid1)){ $receiptrs = array( 'id' => $hrs['id'], 'optname' => $hrs['optname'], ); break; } } $arr['flowinfor'] = array(); $arr['readunarr'] = array(); $arr['receiptrs'] = $receiptrs; if($this->isflow>0){ $arr['flowinfor']= $this->getflowinfor(); if($arr['flowinfor']['ischeck']==1){ $arr['isplview']='0'; } } if(isset($data['title']))$arr['title'] = $data['title']; $_oarr = $this->flowdatalog($arr); if(is_array($_oarr))foreach($_oarr as $k=>$v)$arr[$k]=$v; $conta = $this->rock->matcharr($contview,2); $edbof = false; foreach($conta as $fids){ $thnr = ''; $contview = str_replace('`'.$fids.'`', $thnr, $contview); } $arr['contview'] = $contview; return $arr; } private function getsubdata($xu, $rows, $lx=0) { $iscz = 0; $iszb = $xu+1; $fields = 'subdata'.$xu.''; $subrows = $this->db->getrows('[Q]flow_element','`mid`='.$this->modeid.' and `iszb`='.$iszb.' and `iszs`=1','`fields`,`name`,`isalign`','`sort`'); $cont = ''; if($this->db->count > 0){ $iscz = 1; $headstr = '@xuhaos,,center'; $colorbb = getconfig('bcolorxiang', '#cccccc'); foreach($subrows as $k=>$rs){ $headstr.='@'.$rs['fields'].','.$rs['name'].''; if($rs['isalign']=='1')$headstr.=',left'; if($rs['isalign']=='2')$headstr.=',right'; } foreach($rows as $k=>$rs)$rows[$k]['xuhaos'] = $k+1; $slex = ($lx==0) ? 'noborder':''; if($this->subsubdatastyle!='')$slex = $this->subsubdatastyle; $cont = c('html')->createrows($rows, substr($headstr,1), $colorbb, $slex); } return $cont; } public function ischehui() { $is = 0; if($this->rs['status']==1 || $this->isflow==3)return $is; $where = "".$this->mwhere." and `valid`=1 order by `id` desc"; $rs = $this->flogmodel->getone($where); $sj = (int)getconfig('flowchehuitime','2'); $time = time()-$sj*3600; if($rs && $rs['status']=='1' && $rs['checkid']==$this->adminid && strtotime($rs['optdt'])>$time && ($rs['courseid']>0 || $rs['iszb']=='1' )) $is = $rs['id']; return $is; } public function chehui($sm='') { return $this->bd6('5peg5L!h5ZG8562!5o6I5peg5q2k5Yqf6IO9'); } public function bd6($str) { return $this->rock->jm->base64dencode($str); } public function getdataedit() { $fobj = m('file'); $arr['data'] = $this->flowrsreplaceedit($this->rssust); $arr['table'] = $this->mtable; $arr['tables'] = $this->moders['tables']; $arr['modeid'] = $this->modeid; $arr['isedit'] = $this->iseditqx(); $arr['isflow'] = $this->isflow; $arr['user'] = $this->urs; $arr['status'] = $this->rs['status']; $filers = $fobj->getfile($this->mtable,$this->id); foreach($filers as $fk=>$frs1)$filers[$fk]['thumbpath']=$fobj->getthumbpath($frs1); $arr['filers'] = $filers; $arr['subdata'] = $this->getsuballdata(); $filearr = array(); $fileids = ''; foreach($this->fieldsarr as $k=>$rs){ $fid = $rs['fields']; $flx = $rs['fieldstype']; if($flx=='uploadfile'){ $fval = arrvalue($this->rssust, $fid); if(!isempt($fval))$fileids.=','.$fval.''; } if($flx=='uploadimg'){ $arr['data'][''.$fid.'_view'] = $this->rock->gethttppath($arr['data'][$fid]); } } if($fileids!=''){ $frows = $fobj->getall('`id` in('.substr($fileids, 1).')','filename,id,filesizecn,fileext,optname,thumbpath,thumbplat'); foreach($frows as $k1=>$rs1){ $rs1['thumbpath'] = $fobj->getthumbpath($rs1); $filearr['f'.$rs1['id'].''] = $rs1; } } $arr['filearr'] = $filearr; $ztarr = $this->getnowstatus(); $arr['statustext'] = $ztarr[0]; $arr['statuscolor'] = $ztarr[1]; return $arr; } public function getflowinfor() { $ischeck = 0; $ischange= 0; $str = ''; $arr = $this->getflow(); if($arr['nowcheckid'] != $this->billrs['nowcheckid'])$this->getflowsave($arr, true); $nstatus = $this->rs['status']; $isturn = $this->rs['isturn']; $nowcheckid = ','.$arr['nowcheckid'].','; if($isturn==1 && $nstatus !=1 && contain($nowcheckid, ','.$this->adminid.',') && !in_array($nstatus, array(2,5))){ $ischeck = 1; } $logarr = $this->getlog(); $nowcur = $this->nowcourse; if(arrvalue($this->nextcourse,'checktype')=='change'){ $ischange = 1; } $sarr['ischeck'] = $ischeck; $sarr['ischange'] = $ischange; $sarr['nowcourse'] = $nowcur; $sarr['iszhuanban'] = 0; $sarr['ischao'] = 0; $sarr['nextcourse'] = $this->nextcourse; $sarr['nstatustext'] = $arr['nstatustext']; if($isturn==0)$sarr['nstatustext'] = '寰呮彁浜'; $_checkfields = arrvalue($nowcur,'checkfields'); $checkfields = array(); if($ischeck == 1 && !isempt($_checkfields)){ $_checkfieldsa = explode('|', $_checkfields); $_checkfields = join(',',$_checkfieldsa); $_checkxuant = arrvalue($_checkfieldsa, 1); $inputobj = c('input'); $inputobj->flow = $this; $inputobj->mid = $this->id; $inputobj->urs = $this->urs; $elwswhere = "`mid`='$this->modeid' and `iszb`=0 and instr(',$_checkfields,', concat(',',`fields`,','))>0"; $infeidss = $inputobj->initFields($elwswhere); foreach($infeidss as $_fs=>$fsva){ $_sfes = $fsva['fields']; $_type = $fsva['fieldstype']; $showinpus = 1; $isbt = 1; if($_checkxuant && contain(','.$_checkxuant.',',','.$_sfes.','))$isbt=0; if($_type=='hidden' || $_type=='fixed')$showinpus=2; $_val = arrvalue($this->rssust, $_sfes); $cheo = (substr($_type,0,6)=='change' && !isempt($fsva['data'])); if($cheo)$_val.='|'.arrvalue($this->rssust, $fsva['data']).''; $checkfields[$_sfes] = array( 'inputstr' => $inputobj->getfieldcontval($_sfes, $_val), 'name' => $fsva['name'], 'isbt' => $isbt, 'fieldstype'=> $_type, 'fieldsarr' => $fsva, 'showinpus' => $showinpus ); if($cheo){ $_sfes = $fsva['data']; $checkfields[$_sfes] = array( 'inputstr' => '', 'isbt' => $isbt, 'name' => $fsva['name'].'id', 'fieldstype'=> $_type, 'fieldsarr' => false, 'showinpus' => 2 ); } } } $sarr['checkfields'] = $checkfields; if($nstatus==2)$sarr['nstatustext'] ='寰呮彁浜や汉澶勭悊('.$this->urs['name'].')'; $loglen = count($logarr); foreach($logarr as $k=>$rs){ if($rs['courseid']>0){ $sty = ''; $col = $rs['color']; if($str!='')$str.=' 鈫 '; $str.=''.$rs['actname'].'('.$rs['name'].''.$rs['statusname'].')'; } } if($nstatus=='2'){ if($str!='')$str.=' 鈫 '; $str.= $sarr['nstatustext']; }else if($nstatus=='5'){ if($str!='')$str.=' 鈫 '; $sarr['nstatustext'] = '宸蹭綔搴'; $str.= '宸蹭綔搴'; }else{ foreach($this->flowarr as $k=>$rs){ if($rs['ischeck']==0){ $sty = 'color:#888888'; if($rs['isnow']==1)$sty='font-weight:bold;color:#800000'; if($str!='')$str.=' '; $str.=''.$rs['name'].''; if(!isempt($rs['nowcheckname']))$str.='('.$rs['nowcheckname'].')'; $str.=''; } } } $sarr['flowcoursestr'] = $str; if($nstatus==1)$sarr['nstatustext'] = $this->getnowstatus(1); $actstr = ',鍚屾剰|green,涓嶅悓鎰弢red'; if(isset($nowcur['courseact']) ){ $actstrt = $nowcur['courseact']; if(!isempt($actstrt))$actstr = ','.$actstrt; } $act = c('array')->strtoarray($actstr); foreach($act as $k=>$as1)if($k>0 && $as1[0]==$as1[1])$act[$k][1]=''; if(arrvalue($this->moders,'isys')=='1' && (int)arrvalue($nowcur,'mid','0')>=0){ $act[25]= array('鍓嶅姞绛','',''); $act[26]= array('鍚庡姞绛','',''); } $sarr['courseact'] = $act; $nowstatus = $this->rs['status']; if($this->isflow>0 && $this->rs['isturn']==0)$nowstatus=3; $sarr['nowstatus'] = $nowstatus; $step = $this->rock->arrvalue($nowcur, 'step','0'); $tuicourse = $this->flogmodel->getall($this->mwhere.' and `courseid`>0 and `valid`=1 and `status`=1 and `step`<'.$step.'','`id`,`checkname`,`name`','`step` desc'); $sarr['tuicourse'] = $tuicourse; return $sarr; } public function updatestatus($zt) { $this->update('`status`='.$zt.'', $this->id); $this->billmodel->update('`status`='.$zt.'', $this->mwhere); } public function getstatusarr() { return $this->getstatus(null, '','',2); } public function getstatus($rs, $statusstr='',$other='', $glx=0) { $statustext = $statuscolor = ''; if($statusstr=='')$statusstr=$this->rock->arrvalue($this->moders,'statusstr'); $statusara = array(); $colorsa = array('blue','green','red','#ff6600','#526D08','#888888','','','','','','','','','','','','',''); if(isempt($statusstr)){ $statussst = '涓嶅悓鎰'; $statusstr = '寰?澶勭悊|blue,宸插鏍竱green,'.$statussst.'|red'; } $nowcheckname= arrvalue($rs,'nowcheckname', arrvalue($this->billrs,'nowcheckname')); if(isempt($other))$other = $nowcheckname; $statusar = c('array')->strtoarray($statusstr); foreach($statusar as $k=>$v){ if($v[0]==$v[1])$v[1]= arrvalue($colorsa, $k); $statusara[$k] = $v; } $statusara[5] = array('宸蹭綔搴','#888888'); $statusara[23] = array('閫鍥','#17B2B7'); if($glx==2)return $statusara; $isturn = -1; if(isset($rs['isturn']))$isturn = (int)$rs['isturn']; $zt = $this->rock->arrvalue($rs, 'status'); if($isturn==0){ $statustext = '寰呮彁浜'; $statuscolor= '#ff6600'; }elseif(!isempt($zt)){ if(isset($statusara[$zt])){ $statustext = $statusara[$zt][0]; $statuscolor = $statusara[$zt][1]; } } if(contain($statustext,'?')){ $statusstr = str_replace('?', ''.$other.'', $statustext); }else{ $statusstr = ''.$statustext.''; } if($glx==1){ return $statusstr; } return array(str_replace('?', $other, $statustext), $statuscolor, $zt, $statusstr, str_replace('?', '', $statustext)); } public function getstatusstr($rs) { return $this->getstatus($rs, '','', 1); } public function getnowstatus($glx=0) { return $this->getstatus($this->rs, '','', $glx); } private $getlogrows = array(); public function getlog($lx=0) { if(isset($this->getlogrows[$lx]))return $this->getlogrows[$lx]; $rows = $this->flogmodel->getrows($this->mwhere, '`checkname` as `name`,`checkid`,`name` as actname,`optdt`,`status`,`explain`,`statusname`,`valid`,`courseid`,`color`,`id`,`qmimg`','`id` asc'); $uids = $idss = ''; $dts = c('date'); $fo = m('file'); $editarrs = array(); foreach($rows as $k=>$rs){ $uids.=','.$rs['checkid'].''; $idss.=','.$rs['id'].''; $col = $rs['color']; if(isempt($col))$col='green'; if(contain($rs['statusname'],'涓') || $rs['status']=='2')$col='red'; $rows[$k]['color'] = $col; $rows[$k]['checkdt'] = $rs['optdt']; $rows[$k]['sm'] = str_replace("\n",'
', $rs['explain']); $rows[$k]['explain'] = $rows[$k]['sm']; if(!isempt($rs['qmimg'])){ if(!contain($rs['qmimg'],'.')){ $qmimg = ''.UPDIR.'/'.date('Y-m').'/qmimg'.$rs['id'].'.png'; $bo = true; if(!file_exists($qmimg)){ $bar= explode(',', $rs['qmimg']); $bo = $this->rock->createtxt($qmimg, base64_decode($bar[1])); } if(!$bo){ $qmimg = $rs['qmimg']; }else{ $qmimg = ''.URL.''.$qmimg.''; } }else{ $qmimg = $rs['qmimg']; if(!file_exists($qmimg)){ $qmimg = ''; }else{ $qmimg = ''.URL.''.$qmimg.''; } } $rows[$k]['qmimg'] = $qmimg; if(!isempt($qmimg))$rows[$k]['explain']= ''.$rs['explain'].''; } } if($idss!=''){ $farr = $fo->getfile('flow_log', substr($idss, 1)); if($farr)foreach($rows as $k=>$rs){ $fstr = $fo->getallstr($farr, $rs['id'],2); $rows[$k]['explain']= $this->strappend($rs['explain'], $fstr, '
'); } } if($uids!=''){ $rows = m('admin')->getadmininfor($rows, substr($uids, 1), 'checkid'); } $this->getlogrows[$lx] = $rows; return $rows; } public function addlog($arr=array()) { $addarr = array( 'table' => $this->mtable, 'mid' => $this->id, 'checkname' => $this->adminname, 'checkid' => $this->adminid, 'optdt' => $this->rock->now, 'courseid' => '0', 'status' => '1', 'ip' => $this->rock->ip, 'web' => $this->rock->web, 'modeid' => $this->modeid ); foreach($arr as $k=>$v)$addarr[$k]=$v; if(isset($addarr['explain']))$addarr['explain']= htmlspecialchars($addarr['explain']); $this->flogmodel->insert($addarr); $ssid = $this->db->insert_id(); $fileid = $this->rock->post('fileid'); if($fileid!='')m('file')->addfile($fileid, 'flow_log', $ssid, $this->modenum.'|'.$this->id); $logfileid = $this->rock->post('logfileid'); if($logfileid!='')m('file')->addfile($logfileid, 'flow_log', $ssid, $this->modenum.'|'.$this->id); $addarr['id'] = $ssid; $this->flowaddlog($addarr); $this->getlogrows = array(); return $ssid; } public function submit($na='', $sm='') { if($na=='')$na='鎻愪氦'; $isturn = 1; if($na=='淇濆瓨')$isturn = 0; $this->addlog(array( 'name' => $na, 'explain' => $sm )); if($this->isflow>0){ $marr['isturn'] = $isturn; $marr['status'] = 0; $this->rs['status'] = 0; $this->update($marr, $this->id); if(arrvalue($this->moders,'isflowlx')=='1' || $this->isflow>=3){ $this->checksmodel->delete($this->mwhere); $this->flogmodel->update('`valid`=0', ''.$this->mwhere.' and `courseid`>0 and `valid`=1'); } $farr = $this->getflow(); if($farr['nowcourseid']>0){ $sysnextoptid = $this->rock->post('sysnextoptid'); $sysnextopt = $this->rock->post('sysnextopt'); $sysnextcustidid = (int)$this->rock->post('sysnextcustidid'); if($sysnextcustidid == $farr['nowcourseid'] && !isempt($sysnextoptid) && !isempt($sysnextopt)){ $this->addcheckname($sysnextcustidid, $sysnextoptid, $sysnextopt, true, 1); $farr = $this->getflow(); } } $farr['status'] = 0; $this->savebill($farr); if($isturn == 1){ $this->nexttodo($farr['nowcheckid'],'submit'); } } $this->flowsubmit($na, $sm); $this->savecsname( $this->rock->post('syschaosongid'), $this->rock->post('syschaosong'), $this->adminid,0,$isturn,$na); if($na=='缂栬緫'){ $this->gettodosend('boedit'); }else{ $this->gettodosend('boturn'); } } private function savecsname($csnameid,$csname,$uid,$type,$isturn, $na) { if(!isempt($csnameid)){ $where = $this->mwhere.' and `type`='.$type.''; if($type>0)$where.=' and `uid`='.$uid.''; $csid = (int)$this->chaomodel->getmou('id', $where); if($csid==0)$where = ''; $this->chaomodel->record(array( 'modeid' => $this->modeid, 'table' => $this->mtable, 'mid' => $this->id, 'uid' => $uid, 'type' => $type, 'csname' => $csname, 'csnameid' => $csnameid, ),$where); if($isturn==1)$this->nexttodo($csnameid,'chao', $na); } } public function getcsname($id=0) { if($id>0){ $where= "`table`='$this->mtable' and `mid`='$id' and `type`=0"; }else{ $where= "`modeid`={$this->modeid} and `uid`={$this->adminid} and `type`=0"; $iscs = (int)$this->moders['iscs']; } $ors = $this->chaomodel->getone($where,'*','`id` desc'); $csname = $csnameid = ''; if($ors){ $csname = $ors['csname']; $csnameid = $ors['csnameid']; } return array( 'csname' => $csname, 'csnameid' => $csnameid, 'id' => $id, ); } public function zhuijiaexplain($sm='') { $this->addlog(array( 'explain' => $sm, 'name' => '杩藉姞璇存槑', 'status' => 1, )); $zt = $this->rs['status']; if($zt==2 && $this->isflow>0 && $this->adminid==$this->uid){ $marr['status'] = 0; $this->rs['status'] = 0; $this->update($marr, $this->id); $farr = $this->getflow(); $farr['status'] = 0; $this->savebill($farr); $this->nexttodo($farr['nowcheckid'],'zhui', $sm); } $this->gettodosend('bozhui','', $sm); } public function chuiban($sm='') { $this->addlog(array( 'explain' => $sm, 'name' => '鍌姙', 'status' => 1, )); $farr = $this->getflow(true); $this->nexttodo($farr['nowcheckid'],'cuiban', $sm); $this->gettodosend('cuiban','', $sm); } public function getyushen($rows) { return $rows; } private function getyushenss($id, $rows, $xu, $isq) { if($xu==0)$this->_tempauoe = array(); if(isset($rows[$id])){ $_tars = $rows[$id]; if($isq==1)$this->getyushenss($_tars['id'], $rows, $xu+1, $isq); $this->_tempauoe[] = $_tars; if($isq==0)$this->getyushenss($_tars['id'], $rows, $xu+1, $isq); } return $this->_tempauoe; } public function getflowpipei($uid=0) { $urs = $this->urs; if(!$urs)$urs = $uid; if(!is_array($urs))$urs = $this->db->getone('[Q]admin', "`id`='$urs'", '`deptid`,`deptpath`,`id`'); $coursedb = m('flowcourse'); $barr = $coursedb->pipeiCourse($this->modeid); $rows = $barr['rows']; $this->pipeiCoursearrc = $barr['rowd']; $this->pipeiCoursearrs = array(); $this->pipeiCoursearr = array(); $kqobj = m('kaoqin'); $this->getflowpipeis($rows, $urs, $kqobj); unset($this->pipeiCoursearrs); unset($this->pipeiCoursearrc); return $this->getyushen($this->pipeiCoursearr); } private function getflowpipeis($rows,$urs, $kqobj) { $shiyong = array(); $defix = $xuhao = 0; $uid = arrvalue($urs,'id',0); $zshu = count($rows); foreach($rows as $k=>$rs){ $whereid = (int)$rs['whereid']; $receid = $rs['receid']; $wherestr= arrvalue($rs, 'where'); if($rs['status']=='0')continue; if(!isempt($wherestr)){ $wherestr = m('base')->strreplace($this->rock->jm->base64decode($wherestr), $uid); $to = $this->rows("`id`='$this->id' and $wherestr "); if($to==0)continue; } if($whereid > 0){ $bo = $this->wheremanzhu($whereid); if(!$bo)continue; } if(!isempt($rs['num'])){ $bo = $this->flowcoursejudge($rs['num'], $rs); if(is_bool($bo) && !$bo)continue; } $xuhao++; if($defix==0 && (isempt($receid) || contain($receid,'all'))){ $defix = $xuhao; } if(isempt($receid) && (!isempt($wherestr) || $whereid > 0)){ $defix = $xuhao; } $rs['xuhao'] = $xuhao; $shiyong[] = $rs; } $pboss = false; if($shiyong){ $gxuha = $kqobj->getpipeimid($urs, $shiyong, 'xuhao', $defix); if($gxuha>0){ $pboss = true; $gxuha = $gxuha-1; $prs = $shiyong[$gxuha]; $this->getflowpipeisss($prs, $urs, $kqobj); } } if(!$pboss && $zshu==1 && $rows[0]['childshu']>0){ $this->getflowpipeis($rows[0]['children'], $urs, $kqobj); } } private function getflowpipeisss($prsnrs, $urs, $kqobj) { $prs = $prsnrs; unset($prs['children']); $this->pipeiCoursearrs[]= $prs['id']; $this->pipeiCoursearr[] = $prs; if($prs['childshu']>0){ $this->getflowpipeis($prsnrs['children'], $urs, $kqobj); }else{ $nid = arrvalue($prs,'nid','0'); if($nid>0 && !in_array($nid, $this->pipeiCoursearrs) && isset($this->pipeiCoursearrc, $nid)){ $this->getflowpipeis(array($this->pipeiCoursearrc[$nid]), $urs, $kqobj); } } } public function getflow($sbo=false) { $this->flowarr = array(); $allcheckid = $nowcheckid = $nowcheckname = $nstatustext = ''; $allcheckids = array(); $nowcourseid = 0; $nstatus = $this->rs['status']; $this->nowcourse = array(); $this->nextcourse = array(); $this->flowisend = 0; $curs = $this->flogmodel->getrows($this->mwhere,'checkid,checkname,courseid,`valid`,`status`,`statusname`,`name`,`iszb`','id desc'); $cufss = $ztnas = $chesarr = array(); foreach($curs as $k=>$rs){ if($rs['iszb']=='1' && !in_array($rs['checkid'], $allcheckids))$allcheckids[] = $rs['checkid']; if($rs['courseid']=='0')continue; $_su = ''.$rs['courseid'].''; $_su1 = ''.$rs['courseid'].'_'.$rs['checkid'].''; if($rs['valid']==1 && in_array($rs['status'], $this->flowstatusarr)){ if(!isset($cufss[$_su]))$cufss[$_su]=0; $cufss[$_su]++; $chesarr[$_su1] = 1; } if(!in_array($rs['checkid'], $allcheckids))$allcheckids[] = $rs['checkid']; if($nstatustext=='' && $rs['courseid']>0){ $nstatustext = ''.$rs['checkname'].'澶勭悊'.$rs['statusname'].''; $nstatus = $rs['status']; } $ztnas[$rs['courseid']] = ''.$rs['checkname'].''.$rs['statusname'].''; } $nowstep = $zongsetp = -1; $isend = 0; $czt = $this->rs['status']; $coutye = 0; $rows = ($czt==1 || $czt==5)? array() : $this->getflowpipei($this->uid); if($rows){ $checksa = $this->checksmodel->getrows($this->mwhere.' and `addlx`=3'); $coursea = $nrows = array(); foreach($checksa as $k=>$rs)$coursea[$rs['courseid']]='1'; $nrows = array(); $allcheckid = ''; $isoptsuperbo = false; foreach($rows as $k=>$rs){ $uarr = $this->getcheckname($rs); $rows[$k]['checkid'] = $uarr[0]; $rows[$k]['checkname'] = $uarr[1]; $allcheckid .= ','.$uarr[0].''; if($rs['checktype']=='optsuper' && isempt($uarr[0]))$isoptsuperbo=true; } if($isoptsuperbo)foreach($rows as $k=>$rs){ if($rs['checktype']=='optsuper'){ $_k1 = $k-1; $_uid = $this->optid; if($_k1>=0){ $ours = $this->flogmodel->getone($this->mwhere.' and `courseid`='.$rows[$_k1]['id'].' and `valid`=1 ','`checkid`','`id` desc'); if(!$ours){ $_uid = (int)$rows[$_k1]['checkid']; }else{ $_uid = $ours['checkid']; } } $uarr = $this->adminmodel->getsuperman($_uid); if($uarr){ $rows[$k]['checkid'] = $uarr[0]; $rows[$k]['checkname'] = $uarr[1]; } } } foreach($rows as $k=>$rs){ $nrows[] = $rs; if($rs['checktype']=='superall'){ $ids1 = $rs['id']; $suparr = $this->adminmodel->getsuperarr($this->uid); if($suparr){ $logdsar = $this->getlog(); foreach($logdsar as $k1=>$rs1){ if($rs1['courseid']>0 && $rs1['status']=='1' && $rs1['valid']=='1')$allcheckid .= ','.$rs1['checkid'].''; } foreach($suparr as $k1=>$surs){ if(!contain(','.$allcheckid.',', ','.$surs['id'].',')){ $rs['oldid'] = $ids1; $rs['id'] = $ids1 * 99999 + $surs['id']; $rs['checkid'] = $surs['id']; $rs['checkname'] = $surs['name']; $rs['iszf'] = 0; $nrows[] = $rs; $allcheckid .= ','.$surs['id'].''; } } } } } $yisheh = ''; if($this->isflow==2){ $logdsar = $this->getlog(); foreach($logdsar as $k1=>$rs1) if($rs1['courseid']>0 && $rs1['status']==1 && $rs1['valid']==1)$yisheh .= ','.$rs1['checkid'].''; } foreach($nrows as $k=>$rs){ $whereid = (int)$rs['whereid']; $checkshu = $rs['checkshu']; $checkid = $rs['checkid']; $checkname = $rs['checkname']; $checktype = $rs['checktype']; if($this->isflow==2 && !isempt($checkid) && isempt($rs['checkfields'])){ if(($checkid==$this->uid || $checkid==$this->optid) )continue; $k2 = $k+1; $ntype = 'yes'; if(isset($nrows[$k2])){ if($nrows[$k2]['checktype']=='change')$ntype='no'; } if($ntype=='yes' && contain(','.$yisheh.',',','.$checkid.','))continue; } if(!isempt($checkid))$yisheh .= ','.$checkid.''; $zongsetp++; $ischeck = 0; $checkids = $checknames = ''; $_su = ''.$rs['id'].''; $nowshu = 0; if(isset($cufss[$_su]))$nowshu = $cufss[$_su]; if(!$this->isempt($checkid)){ $checkida = explode(',', $checkid); $checkidna = explode(',', $checkname); $_chid = $_chna = ''; foreach($checkida as $k1=>$chkid){ $_su1 = ''.$rs['id'].'_'.$chkid.''; if(!in_array($chkid, $allcheckids))$allcheckids[] = $chkid; if(!isset($chesarr[$_su1])){ $_chid.=','.$chkid.''; $_chna.=','.arrvalue($checkidna, $k1).''; } } if($_chid!='')$_chid = substr($_chid, 1); if($_chna!='')$_chna = substr($_chna, 1); if($_chid==''){ $ischeck = 1; }else{ if($checkshu>0&&$nowshu>=$checkshu)$ischeck = 1; } $checkids = $_chid; $checknames = $_chna; }else{ if($checkshu>0&&$nowshu>=$checkshu)$ischeck = 1; if($checkshu == 0 && $nowshu>0)$ischeck = 1; } if($ischeck==0 && $coutye==0){ if((int)arrvalue($rs,'coursetype','0')>0)$coutye = 1; } $rs['ischeck'] = $ischeck; $rs['islast'] = 0; $rs['checkid'] = $checkid; $rs['checkname'] = $checkname; $rs['nowcheckid'] = $checkids; $rs['nowcheckname'] = $checknames; $rs['isnow'] = 0; $rs['nowstep'] = $zongsetp; $rs['step'] = $k+1; if($ischeck==0 && $nowstep==-1){ $rs['isnow']= 1; $nowstep = $zongsetp; $this->nowcourse = $rs; $nowcourseid = $rs['id']; $nowcheckid = $checkids; $nowcheckname = $checknames; } if($nowstep>-1 && $zongsetp==$nowstep+1)$this->nextcourse = $rs; $this->flowarr[]= $rs; } } if($zongsetp>-1)$this->flowarr[$zongsetp]['islast']=1; if($nowstep == -1){ $isend = 1; }else{ $nstatustext = '寰'.$nowcheckname.'澶勭悊'; } $this->flowisend = $isend; $allcheckid = join(',', $allcheckids); $arrbill['allcheckid'] = $allcheckid; $arrbill['nowcourseid'] = $nowcourseid; $arrbill['nowcheckid'] = $nowcheckid; $arrbill['nowcheckname'] = $nowcheckname; $arrbill['nstatustext'] = $nstatustext; $arrbill['nstatus'] = $nstatus; $arrbill['status'] = $this->rs['status']; $arrbill['isturn'] = $this->rs['isturn']; if($sbo)$this->getflowsave($arrbill); return $arrbill; } public function wheremanzhu($id) { $uid = $this->uid; $ser = $this->wheremodel->getflowwhere($id, $uid); if(!$ser)return true; $str = $ser['ntr']; if(!isempt($str)){ $to = $this->db->rows('[Q]admin',"`id`='$uid' and ($str)"); if($to>0)return false; } $str = $ser['str']; if(!isempt($str)){ $str= str_replace('{asqom}','', $str); $to = $this->rows("`id`='$this->id' and $str"); if($to==0)return false; } $str = $ser['utr']; if(!isempt($str)){ $to = $this->db->rows('[Q]admin',"`id`='$uid' and $str"); if($to==0)return false; } return true; } public function getflowsave($sarr, $suvu=false) { if(!$sarr)return; if($suvu)$sarr['updt'] = $this->rock->now; $this->billmodel->update($sarr, $this->mwhere); } private function getcheckname($crs) { $type = $crs['checktype']; $cuid = $name = ''; $courseid= $crs['id']; $cheorws = $this->checksmodel->getall($this->mwhere.' and `courseid`='.$courseid.'','checkid,checkname'); if($cheorws){ foreach($cheorws as $k=>$rs){ $lxss = $rs['checkid']; if(isempt($lxss) || $lxss=='0')continue; $cuid.=','.$lxss.''; $name.=','.$rs['checkname'].''; } if($cuid != ''){ $cuid = substr($cuid, 1); $name = substr($name, 1); return array($cuid, $name); } } if(!$this->isempt($crs['num'])){ $uarr = $this->flowcheckname($crs['num']); if(is_array($uarr)){ if(!$this->isempt($uarr[0]))return $uarr; } } if($type=='super' || $type=='superall'){ $cuid = $this->urs['superid']; $name = $this->urs['superman']; } if($type=='dept' || $type=='super' || $type=='superall'){ if($this->isempt($cuid) && $this->drs){ $cuid = $this->drs['headid']; $name = $this->drs['headman']; } } if($type=='apply'){ $cuid = $this->urs['id']; $name = $this->urs['name']; } if($type=='opt'){ $cuid = $this->rs['optid']; $name = $this->rs['optname']; if(isempt($cuid)){ $cuid = $this->urs['id']; $name = $this->urs['name']; } } if($type=='user'){ $cuid = $crs['checktypeid']; $name = $crs['checktypename']; } if($type=='rank'){ $rank = $crs['checktypename']; if(!$this->isempt($rank)){ $wheer1 = $this->adminmodel->getcompanywhere(5,'',$this->companyid); $rnurs = $this->db->getrows('[Q]admin',"`status`=1 and `ranking`='$rank' ".$wheer1."",'id,name','sort'); foreach($rnurs as $k=>$rns){ $cuid.=','.$rns['id'].''; $name.=','.$rns['name'].''; } if($cuid != ''){ $cuid = substr($cuid, 1); $name = substr($name, 1); } } } if($type=='cname'){ $cnbar = $this->cnamemodel->getcheckname($crs['checktypeid'], $this->uid); $cuid = arrvalue($cnbar, 0); $name = arrvalue($cnbar, 1); } if($type=='field'){ $fids = $crs['checktypeid']; if(!isempt($fids)){ $vals = ''; $farrs= explode(',', $fids); foreach($farrs as $fid){ $vid = arrvalue($this->rs, $fid); if(!isempt($vid))$vals.=','.$vid.''; } if($vals!=''){ $vals = substr($vals, 1); $uarr = $this->adminmodel->getrows('`status`=1 and `id` in('.$vals.')','id,name','FIELD(`id`,'.$vals.')'); foreach($uarr as $k=>$rs){ $cuid.=','.$rs['id'].''; $name.=','.$rs['name'].''; } if($cuid != ''){ $cuid = substr($cuid, 1); $name = substr($name, 1); } } } } $cuid = $this->rock->repempt($cuid); $name = $this->rock->repempt($name); return array($cuid, $name); } public function createbianhao($num, $fid, $wshu=3) { if(isempt($num))$num=''.$this->modenum.'-'; @$appdt = $this->rs['applydt']; if(isempt($appdt))$appdt = $this->rock->date; $apdt = str_replace('-','', substr($appdt,0,10)); $num = str_replace('Ymd',$apdt,$num); return $this->db->sericnum($num,'[Q]'.$this->mtable.'', $fid, $wshu); } public function createinputnum($num, $fid) { $acta = ''; if(method_exists($this, $num)){ $acta = $num; }else{ if(contain($num, ',')){ $arra = explode(',', $num); $acta = $arra[0]; $num = $arra[1]; } } if($acta && method_exists($this, $acta)){ $barr = $this->$acta($num); if(is_array($barr)){ $qom = arrvalue($barr, 'qom', $num); $wshu= arrvalue($barr, 'wshu', 3); $bom = arrvalue($barr, 'bom'); $fields = arrvalue($barr, 'fields', $fid); return $this->createbianhao($qom, $fields, $wshu).$bom; }else{ if(isempt($barr))$barr = $num; return $this->createbianhao($barr, $fid); } }else{ return $this->createbianhao($num, $fid); } } public function createnum() { $num = $this->moders['sericnum']; if($num=='鏃'||$this->isempt($num))$num='TM-Ymd-'; @$appdt = $this->rs['applydt']; if(isempt($appdt))$appdt = $this->rock->date; $apdt = str_replace('-','', $appdt); $num = str_replace('Ymd',$apdt,$num); return $this->db->sericnum($num,'[Q]flow_bill', 'sericnum', 3); } public function savebill($oarr=array()) { $dbs = $this->billmodel; $whes= $this->mwhere; $birs= $dbs->getone($whes); $arr = array( 'table' => $this->mtable, 'mid' => $this->id, 'optdt' => isset($this->rs['optdt']) ? $this->rs['optdt'] : $this->rock->now, 'optname' => $this->adminname, 'optid' => $this->adminid, 'modeid' => $this->modeid, 'updt' => $this->rock->now, 'isturn' => $this->rs['isturn'], 'nstatus' => $this->rs['status'], 'applydt' => $this->rs['applydt'], 'modename' => $this->modename, 'uname' => $this->rs['base_name'], 'udeptname' => $this->rs['base_deptname'], 'uid' => $this->uid, 'isdel' => '0', ); foreach($oarr as $k=>$v)$arr[$k]=$v; if(!$birs){ $arr['status'] = $arr['nstatus']; $arr['createdt']= $arr['optdt']; $arr['sericnum']= $this->createnum(); $arr['udeptid'] = $this->rock->post('sysudeptid', $this->urs['deptid']); $whes = ''; $this->sericnum = $arr['sericnum']; }else{ $udeptid = $birs['udeptid']; if($udeptid==0)$arr['udeptid']=$this->urs['deptid']; } $dbs->record($arr, $whes); return $arr; } public function getsummary() { return $this->rock->reparr($this->moders['summary'], $this->rs); } public function addcheckname($courseid, $uid, $uname, $onbo=false, $addlx=0) { if(isempt($uid)){$uid = '0';$uname= 'auto';} $uida = explode(',', ''.$uid.''); $uidan = explode(',', $uname); if($onbo)$this->checksmodel->delete($this->mwhere.' and `courseid`='.$courseid.''); if($uida)foreach($uida as $k=>$uid){ $uname = $this->rock->arrvalue($uidan, $k); $zyarr = array( 'table' => $this->mtable, 'mid' => $this->id, 'modeid' => $this->modeid, 'courseid' => $courseid, 'optid' => $this->adminid, 'optname' => $this->adminname, 'addlx' => $addlx, 'optdt' => $this->rock->now, 'status' => 0 ); $this->checksmodel->delete($this->mwhere.' and `checkid`='.$uid.' and `courseid`='.$courseid.''); $zyarr['checkid'] = $uid; $zyarr['checkname'] = $uname; $this->checksmodel->insert($zyarr); } if($addlx==4)$this->checksmodel->delete($this->mwhere.' and `checkid`='.$this->adminid.' and `courseid`='.$courseid.''); } public function savedatastr($fval, $farr, $data=array()) { $str = ''; if(!$farr)return $str; $savewhere = $farr['savewhere']; $name = $farr['name']; $types = $farr['fieldstype']; if(isempt($savewhere) || isempt($fval))return $str; $savewhere = str_replace(array('{0}','{date}','{now}'), array($name, $this->rock->date,$this->rock->now), $savewhere); $savewhere = $this->rock->reparr($savewhere, $data); $saees = explode(',', $savewhere); if($types=='date' || $types=='datetime')$fval = strtotime($fval); if($types=='number')$fval = floatval($fval); foreach($saees as $saeess){ $fsaed = explode('|', $saeess); $msg = isset($fsaed[2]) ? $fsaed[2] : ''.$name.'鏁版嵁涓嶇鍙'; $val = isset($fsaed[1]) ? $fsaed[1] : ''; $lfs = $fsaed[0]; if($val != ''){ if($types=='date' || $types=='datetime')$val = strtotime($val); if($types=='number')$val = floatval($val); if($lfs=='gt'){$bo = $fval>$val;if(!$bo)return $msg;} if($lfs=='egt'){$bo = $fval>=$val;if(!$bo)return $msg;} if($lfs=='lt'){$bo = $fval<$val;if(!$bo)return $msg;} if($lfs=='elt'){$bo = $fval<=$val;if(!$bo)return $msg;} if($lfs=='eg'){$bo = $fval==$val;if(!$bo)return $msg;} if($lfs=='neg'){$bo = $fval!=$val;if(!$bo)return $msg;} } } return $str; } public function update($arr, $where) { if(is_array($arr)){ foreach($arr as $k=>$v)$this->rs[$k]=$v; } return parent::update($arr,$where); } public function updatelogvalid($whe) { $this->flogmodel->update('valid=0', $this->mwhere.' '.$whe); } public function strappend($sm, $str, $fh=',') { if(isempt($str))return $sm; if(!isempt($sm))$sm.=$fh; $sm.=$str; return $sm; } public function checkerror($lx=1,$sm='') { if($sm=='')$sm='鍗曟嵁寮傚父绠$悊鍛樺鐞'; $msg = $this->check($lx, $sm, 1); return $msg; } public function check($zt, $sm='', $lx=0) { if($this->rs['status']==1)return '娴佺▼宸插鐞嗗畬鎴,鏃犻渶鎿嶄綔'; $arr = $this->getflow(); $flowinfor = $this->getflowinfor(); if($flowinfor['ischeck']==0 && $lx==0)return '褰撳墠鏄痆'.$arr['nowcheckname'].']澶勭悊'; $nowcourse = $this->nowcourse; if($lx==1){ if($arr['nowcourseid']!=0)return '褰撳墠鏈夊鏍告楠D鏄瓨鍦ㄧ殑涓嶈兘鐩存帴鏍囪瘑宸插畬鎴'; $to = $this->flogmodel->rows($this->mwhere.' and `courseid`>0 and `status`=1'); if($to==0)return '璇ュ崟鎹病鏈変换浣曢氳繃瀹℃牳澶勭悊涓嶈兘鐩存帴鏍囪瘑宸插畬鎴愭垨宸插鏍'; $nowcourse = array('id'=>66666,'name'=>'寮傚父澶勭悊','step'=>0); } $nextcourse = $this->nextcourse; $zynameid = $this->rock->post('zynameid'); $zyname = $this->rock->post('zyname'); $csnameid = ''; $csname = ''; $nextname = $this->rock->post('nextname'); $nextnameid = $this->rock->post('nextnameid'); $qmimgstr = $this->rock->post('qmimgstr'); $tuiid = (int)$this->rock->post('tuiid'); $iszhuanyi = $ischangenext = 0; if($zt==1 && $this->isflow!=3 && isempt($zynameid) && arrvalue($nextcourse,'checktype')=='change'){ $ischangenext = 1; } if($zt!=2)$tuiid = 0; $istongyi = in_array($zt, $this->flowstatusarr); if($zynameid!='' && $istongyi){ if($zynameid==$this->adminid)return '涓嶈兘杞粰鑷繁'; $sm = $this->strappend($sm, '杞粰锛'.$zyname.''); $iszhuanyi = 1; $this->rs['syszb_name'] = $zyname; $this->rs['syszb_nameid'] = $zynameid; } if($nextnameid=='' && $ischangenext==1)return '璇烽夋嫨涓嬩竴姝ュ鐞嗕汉'; $ufied = array(); if($iszhuanyi == 0 && $zt!=2){ foreach($flowinfor['checkfields'] as $chef=>$chefv){ $ufied[$chef] = $_val = $this->rock->post('cfields_'.$chef.''); if(isempt($_val) && $chefv['isbt']=='1')$this->echomsg(''.$chefv['name'].'涓嶈兘涓虹┖'); $_stype = arrvalue($chefv, 'fieldstype'); if($_stype=='graph')$ufied[$chef] = c('input')->createqianming($_val); $_str = $this->savedatastr($_val, $chefv['fieldsarr'], $this->rs); if($_str!='')$this->echomsg($_str); } } $this->checkiszhuanyi = $iszhuanyi; $barr = $this->flowcheckbefore($zt, $ufied, $sm); $msg = ''; if(is_array($barr) && isset($barr['msg']))$msg = $barr['msg']; if(is_array($barr) && isset($barr['update'])){ foreach($barr['update'] as $_k=>$_v)$ufied[$_k] = $_v; } if(is_string($barr))$msg = $barr; if(!isempt($msg))return $msg; if($ufied){ $bo = $this->update($ufied, $this->id); if(!$bo)return 'dberr:'.$this->db->error(); } $courseact = $flowinfor['courseact']; $act = $courseact[$zt]; $statusname = $act[0]; $statuscolor= $act[1]; $nzt = $act[2]; $courseid = $nowcourse['id']; $this->checksmodel->update('`status`='.$zt.'', $this->mwhere.' and `checkid`='.$this->adminid.' and `courseid`='.$courseid.''); if($iszhuanyi == 1){ $this->addcheckname($courseid, $zynameid, $zyname, false, 4); $nowcourse['id'] = 0; } if($ischangenext==1){ $this->addcheckname($nextcourse['id'], $nextnameid, $nextname, true, 1); } $tuirs = array(); if($tuiid > 0)$tuirs = $this->flogmodel->getone($tuiid); if(!$tuirs)$tuiid = 0; if($tuiid>0){ $sm = $this->strappend($sm, '閫鍥炲埌['.$tuirs['name'].'('.$tuirs['checkname'].')]'); $statusname = '閫鍥'; $statuscolor = '#17B2B7'; } $this->checkistui = $tuiid; $logsm = $sm; if($iszhuanyi==0 && $csname)$logsm = $this->strappend($logsm,'鎶勯佺粰锛'.$csname.''); $this->lastlogid = $this->addlog(array( 'courseid' => $nowcourse['id'], 'name' => $nowcourse['name'], 'step' => $nowcourse['step'], 'status' => $zt, 'statusname'=> $statusname, 'color' => $statuscolor, 'explain' => $logsm, 'iszb' => $iszhuanyi, 'qmimg' => $qmimgstr )); if($tuiid > 0){ $this->addcheckname($tuirs['courseid'], $tuirs['checkid'], $tuirs['checkname'], true, 3); $this->updatelogvalid('and `courseid`>0 and `status`=1 and `step`>='.$tuirs['step'].''); } $lzt = $this->rock->repempt($nzt, $zt); $uparr = $nexttodoarr = $nexttodoarc = array(); $bsarr = $this->getflow(); $bsarr['tuiid'] = $tuiid; $nextcheckid = $bsarr['nowcheckid']; if($istongyi){ if($iszhuanyi==0){ $uparr['status']= $this->rock->repempt($nzt,'0'); } $nexttodoarr = array($nextcheckid, 'next', $sm, $statusname); }else{ if($tuiid>0){ $lzt = 23; $nexttodoarr = array($nextcheckid, 'tui', $sm, $statusname); }elseif($zt==2){ $nexttodoarr = array($this->optid, 'nothrough', $sm, $statusname); } $uparr['status'] = $lzt; } $this->flowcheckafter($zt, $sm, $nowcourse); $bsarr['nstatus'] = $lzt; $bsarr['checksm'] = $sm; if(!$this->nowcourse){ $uparr['status'] = $lzt; $nexttodoarc = array($this->optid, 'finish', $sm, ''); } if($uparr){ $this->update($uparr, $this->id); } if(!$this->nowcourse){ $this->flowcheckfinsh($zt); if($istongyi){ $this->checksmodel->delete($this->mwhere); } } $bsarr['status'] = $this->rs['status']; $this->getflowsave($bsarr, true); if($this->db->backsql()){ $bos = ($courseid == arrvalue($this->nowcourse, 'id') && $istongyi); if($nexttodoarr && (!$bos || $iszhuanyi==1))$this->nexttodo($nexttodoarr[0],$nexttodoarr[1],$nexttodoarr[2],$nexttodoarr[3]); if($nexttodoarc)$this->nexttodo($nexttodoarc[0],$nexttodoarc[1],$nexttodoarc[2],$nexttodoarc[3]); } if($iszhuanyi == 1){ $this->gettodosend('bozhuan','', $sm, 0, ''.$this->adminname.'灏哰'.$nowcourse['name'].']杞粰:'.$zyname.''); }else{ if($istongyi)$this->gettodosend('botong', $statusname, $sm, $nowcourse['id']); if($zt==2)$this->gettodosend('bobutong',$statusname, $sm, $nowcourse['id']); if(!$this->nowcourse && $istongyi)$this->gettodosend('bofinish', '', $sm); } if($iszhuanyi==0){ $sm1 = '鍦ㄢ'.$nowcourse['name'].'鈥濆鐞'.$statusname.''; $this->savecsname($csnameid,$csname,$this->adminid,$nowcourse['id'],1, $sm1); } return 'ok'; } public function pushs($receid, $cont, $title='', $params=array()) { return $this->push($receid,'', $cont, $title, 0, $params); } public function getxiangurl($num='', $id=0, $lx='x') { if($num=='')$num = $this->modenum; if($id==0)$id = $this->id; $url = URL; if($lx=='auto')$lx = ($this->ismobile==1)?'x':'p'; if($lx=='x' || $lx=='a')$url = $this->rock->getouturl(); $url = ''.$url.'task.php?a='.$lx.'&num='.$num.'&mid='.$id.''; if(COMPANYNUM)$url.='&dwnum='.COMPANYNUM.''; return $url; } public function getxiangurlx($num='',$id=0){return $this->getxiangurl($num,$id,'x');} public function push($receid, $gname='', $cont='', $title='', $wkal=0, $params=array()) { if(isempt($receid) && $wkal==1)$receid='all'; if(isempt($receid))return false; if(contain(','.$receid.',', ',d1,'))$receid='all'; $modenum = arrvalue($params, 'modenum', $this->modenum); $modename = arrvalue($params, 'modename', $this->modename); $id = (int)arrvalue($params, 'id', $this->id); $moders = arrvalue($params, 'moders'); if(!is_array($moders))$moders = $this->moders; if($gname=='')$gname = $modename; $reim = m('reim'); $url = $this->getxiangurl($modenum, $id, 'p'); $wxurl = $this->getxiangurl($modenum, $id, 'x'); $emurl = $this->getxiangurl($modenum, $id, 'a'); if($id==0){ $url = '';$wxurl = '';$emurl=''; } $url = arrvalue($params, 'url', $url); $wxurl = arrvalue($params, 'wxurl', $wxurl); $emurl = arrvalue($params, 'emurl', $emurl); $slx = 0; $pctx = $moders['pctx']; $mctx = $moders['mctx']; $wxtx = $moders['wxtx']; $ddtx = $moders['ddtx']; $emtx = $moders['emtx']; if($pctx==0 && $mctx==1)$slx=2; if($pctx==1 && $mctx==0)$slx=1; if($pctx==0 && $mctx==0)$slx=3; $this->rs['now_adminname'] = $this->adminname; $this->rs['now_modename'] = $modename; $cont = $this->rock->reparr($cont, $this->rs); $receido= $receid; $receid = $this->adminmodel->gjoins($receid); $uids = m('todo')->addtodo($receid, $modename, $cont, $modenum, $id); if($uids!='' && $moders['type'] != '绯荤粺' && $id > 0)$this->todosmodel->addtotouids($uids, array( 'table' => $moders['table'], 'mid' => $id, 'modename' => $modename, 'modenum' => $modenum, )); $title = $this->rock->reparr($title, $this->rs); $reim->pushagent($uids, $gname, $cont, $title, $url, $wxurl, $slx, ''.$modenum.'|'.$id.''); $this->flowchangetodo($uids, $gname); if(isempt($title))$title = $modename; $this->flowweixinarr=array(); return $receid; } public function nexttodo($nuid, $type, $sm='', $act='') { $cont = ''; $tit = ''; $gname = '娴佺▼寰呭姙'; $summary= $this->getsummary(); if($type=='submit' || $type=='next' || $type == 'cuiban'){ $cont = '浣犳湁['.$this->uname.']鐨刐'.$this->modename.',鍗曞彿:'.$this->sericnum.']闇瑕佸鐞'; if($sm!='')$cont.='锛岃鏄:'.$sm.''; $tit = ''.$this->uname.'鐨'.$this->modename.''; if($type != 'cuiban'){ $txnum = $this->option->getval('sms_txnum'); if(!isempt($txnum)){ $mknum = $this->option->getval('sms_mknum'); if($mknum=='all' || contain(','.$mknum.',',','.$this->modenum.',')){ $wxurl = $this->getxiangurlx(); $barr = c('xinhuapi')->sendsms($nuid, '', $txnum, array( 'modename' => $this->modename, 'sericnum' => $this->sericnum, 'applyname'=> $this->uname, 'deptname' => $this->rs['base_deptname'], ),$wxurl); } } } $type = 'daiban'; } if($type == 'nothrough'){ $cont = '浣犳彁浜'.$this->modename.',鍗曞彿:'.$this->sericnum.']'.$this->adminname.'澶勭悊['.$act.']锛屽師鍥:['.$sm.']'; $gname= '娴佺▼鐢宠'; $tit = ''.$this->modename.'澶勭悊'.$act.''; } if($type == 'finish'){ $cont = '浣犳彁浜ょ殑['.$this->modename.',鍗曞彿:'.$this->sericnum.']宸插叏閮ㄥ鐞嗗畬鎴'; $gname= '娴佺▼鐢宠'; $tit = ''.$this->modename.'鍏ㄩ儴澶勭悊瀹屾垚'; } if($type == 'zhui'){ $cont = ''.$this->adminname.'杩藉姞鍗曟嵁璇存槑['.$this->modename.',鍗曞彿:'.$this->sericnum.']锛岃鏄:['.$sm.']'; } if($type == 'tui'){ $cont = '['.$this->adminname.']閫鍥炲崟鎹甗'.$this->modename.',鍗曞彿:'.$this->sericnum.']鍒颁綘杩欒鍙婃椂澶勭悊锛岃鏄:'.$sm.''; } if($type == 'chao'){ $cont = ''.$this->adminname.''.$sm.'浜嗏'.$this->modename.'鈥'; if(!isempt($summary))$cont.='锛屾憳瑕佲'.$summary.'鈥'; if($this->isflow>0)$cont.='锛屽崟鍙封'.$this->sericnum.'鈥'; $gname= ''; $tit = ''.$this->modename.'鐨勫崟鎹妱閫'; } if($type=='pinglun'){ $cont = ''.$this->adminname.''.$act.'浣犵殑['.$this->modename.']鍗曟嵁锛岃鏄:'.$sm.''; $gname = ''; $tit = ''.$this->modename.'璇勮'; } if($type=='receipt'){ $cont = ''.$this->adminname.''.$act.'['.$this->modename.']鐨勫崟鎹'; if($sm!='')$cont.='锛岃鏄:'.$sm.''; $gname = '鍥炴墽纭'; $tit = ''.$this->modename.'鍥炴墽纭'; } $nbis = $this->flownexttodo($type); if($nbis){ if(is_string($nbis))$cont = $nbis; if(is_array($nbis)){ $tit = arrvalue($nbis, 'title', $tit); $gname = arrvalue($nbis, 'gname', $gname); $cont = arrvalue($nbis, 'cont', $cont); } } if($cont!='')$this->push($nuid, $gname, $cont, $tit); } public function getwxurl($num='') { if($num=='')$num = $this->modenum; $url = $this->rock->getouturl(); $str = ''.$url.'?m=ying&d=we&num='.$num.''; return $str; } public function getweurl($num='') { if($num=='')$num = $this->modenum; $url = $this->rock->getouturl(); $str = ''.$url.'?m=ying&d=we&mnum='.$num.''; return $str; } public function deletebill($sm='', $qxpd=true) { if(getconfig('systype')=='demo')return '婕旂ず璇峰嬁鍒犻櫎'; if($qxpd){ $is = $this->isdeleteqx(); if($is==0)return '鏃犳潈鍒犻櫎'; } if(method_exists($this,'flowdeletebillbefore')){ $bstr = $this->flowdeletebillbefore($sm); if(!isempt($bstr))return $bstr; } $modewhere = "`modenum`='".$this->modenum."' and `mid`=".$this->id.""; $this->flogmodel->delete($this->mwhere); m('reads')->delete($this->mwhere); m('file')->delfiles($this->mtable, $this->id); $tables = $this->moders['tables']; if(!isempt($tables)){ $arrse = explode(',', $tables); foreach($arrse as $arrses)m($arrses)->delete('mid='.$this->id.''); } $this->billmodel->delete($this->mwhere); $this->todosmodel->delete($this->mwhere); $this->checksmodel->delete($this->mwhere); $this->chaomodel->delete($this->mwhere); m('remind')->delete($this->mwhere); m('todo')->delete($this->mwhere); m('todo')->delete($modewhere); m('receipt')->delete($this->mwhere); m('im_history')->delete("`xgurl`='".$this->modenum."|".$this->id."'"); $this->delete($this->id); $this->flowdeletebill($sm); $this->flowzuofeibill($sm); $this->gettodosend('bodel','', $sm); $dels = '鍒犻櫎妯″潡['.$this->modename.']id涓'.$this->id.'鐨勫崟鎹'; $ztss = arrvalue($this->rs,'base_summary'); if(!isempt($ztss))$dels.=',鎽樿['.$ztss.']'; if(!isempt($sm))$dels.=',璇存槑:'.$sm.''; m('log')->addlogs('鍒犻櫎鍗曟嵁', $dels, 3); foreach($this->wherejoin as $num=>$fields){ $this->deletebilljoin($num, "`$fields`='$this->id'", $sm); } return 'ok'; } public function deletebilljoin($num, $where, $sm='') { $flow = m('flow')->initflow($num); $rows = $flow->getall($where); foreach($rows as $k1=>$rs1){ $mid = $rs1['id']; $flow->loaddata($mid, false); $flow->deletebill($sm, false); } } public function zuofeibilljoin($num, $where, $sm='') { $flow = m('flow')->initflow($num); $rows = $flow->getall($where); foreach($rows as $k1=>$rs1){ $mid = $rs1['id']; $flow->loaddata($mid, false); $flow->zuofeibill($sm); } } public function zuofeibill($sm='') { $this->addlog(array( 'explain' => $sm, 'name' => '浣滃簾', 'status' => 1, )); $this->update('`status`=5', $this->id); $zfarr = array( 'status' => 5, 'nstatus' => 5, 'checksm' => '浣滃簾锛'.$sm.'', 'nowcheckid' => '', 'nowcheckname' => '', 'nstatustext' => '浣滃簾', 'updt' => $this->rock->now, ); $this->billmodel->update($zfarr, $this->mwhere); $tables = $this->moders['tables']; if(!isempt($tables)){ $arrse = explode(',', $tables); foreach($arrse as $arrses)m($arrses)->delete('mid='.$this->id.''); } $this->flowzuofeibill($sm); $this->gettodosend('bozuofei','', $sm); foreach($this->wherejoin as $num=>$fields){ $this->zuofeibilljoin($num, "`$fields`='$this->id'", $sm); } return 'ok'; } public function openxiang() { $xiangdata = $btndata = array(); $data = $this->flowrsreplace($this->rs,4); foreach($this->fieldsarra as $k=>$rs){ if($rs['iszs']=='1'){ $xiangdata[] = array( 'name' => $rs['name'], 'fields'=> $rs['fields'], 'value' => $this->rock->repempt(arrvalue($data,$rs['fields'])) ); } } $barr['xiangdata'] = $xiangdata; $btnrows = $this->db->getrows('[Q]flow_menu',"`setid`='$this->modeid' and `status`=1 and `num` like 'open%'",'id,wherestr,name,num,issm,type','`sort`'); foreach($btnrows as $k=>$rs){ $wherestr = $rs['wherestr']; $bo = false; if(isempt($wherestr)){ $bo = true; }else{ $ewet = $this->wheremodel->getstrwhere($this->rock->jm->base64decode($wherestr)); $ewet = str_replace(array('{asqom}','1=2 and'),'', $ewet); $tos = $this->rows("`id`='$this->id' and $ewet"); if($tos>0)$bo = true; } if($bo)$btndata[] = array( 'id' => $rs['id'], 'name' => $rs['name'], 'issm' => $rs['issm'], ); } $barr['btndata'] = $btndata; if(method_exists($this,'flowopenxiang')){ $lbarr = $this->flowopenxiang($data,$xiangdata,$btndata); if(is_array($lbarr))foreach($lbarr as $k=>$v)$barr[$k]=$v; } return $barr; } public function smschuiban($sm='') { if($this->isflow>0 && $this->adminid==$this->uid){ $farr = $this->getflow(true); $nowcheckid = $farr['nowcheckid']; $tplnum = $this->option->getval('sms_cbnum','defnum'); $wxurl = $this->getxiangurlx(); $barr = c('xinhuapi')->sendsms($nowcheckid, '', $tplnum, array( 'modename' => $this->modename, 'sericnum' => $this->sericnum, 'applyname'=> $this->uname, 'deptname' => $this->rs['base_deptname'], ),$wxurl, false, false); if(!$barr['success'])return $barr['msg']; $this->addlog(array( 'explain' => $sm, 'name' => '鐭俊鍌姙', 'status' => 1, )); } return 'ok'; } public function addschedule($sm='') { $txdt = $this->rock->post('txdt'); if(isempt($sm))return '璇存槑涓嶈兘涓虹┖'; if(isempt($txdt))return '鎻愰啋鏃堕棿涓嶈兘涓虹┖'; $barr['title'] = $sm; $barr['startdt'] = $txdt; $barr['uid'] = $this->adminid; $barr['optdt'] = $this->rock->now; $barr['optname']= $this->adminname; $barr['txsj'] = 1; m('schedule')->insert($barr); return 'ok'; } public function getoptmenu($flx=0) { $where = ''; if($flx==1)$where='and `iszs`=1'; $rows = $this->db->getrows('[Q]flow_menu',"`setid`='$this->modeid' ".$where." and `status`=1",'id,wherestr,name,statuscolor,statusvalue,num,islog,issm,type,upgcont','`sort`'); $arr = array(); $bfrom = $this->rock->post('bfrom'); if($flx==0)$arr[] = array('lx'=>0,'name'=>$this->rock->jm->base64decode('5pyq562!5o6I5peg5rOV5pi!56S66I!c5Y2V5aaC5bey562!5o6I5Y675Y2H57qn'),'optmenuid'=>0,'color'=>'red'); if($flx==1)return $arr; $status = (int)arrvalue($this->rs,'status','0'); $isturn = (int)arrvalue($this->rs, 'isturn','0'); $ismy = ($this->uid == $this->adminid or $this->optid == $this->adminid); $isreadbo = $this->isreadqx(1); if($this->isflow>0 && $isturn==1){ } if($status != 5 && arrvalue($this->moders,'ispl','1')=='1' && $isreadbo){ $arr[] = array('name'=>'璇勮','lx'=>15,'nup'=>1,'issm'=>1,'optmenuid'=>-15); } if($ismy && arrvalue($this->moders,'ishz')=='1' && $status==1){ $smcont = $this->getsummary(); $mid = (int)m('receipt')->getmou('id',"`uid`='$this->adminid' and `modenum`='$this->modenum' and `mid`='$this->id'"); $namess = '鍥炴墽纭璁剧疆'; if($mid>0)$namess = '鍥炴墽纭缂栬緫'; $arr[] = array('name'=>$namess,'djmid'=>$mid,'optnum'=>'receipt','lx'=>'18','optmenuid'=>-18,'modename'=>$this->modename,'smcont'=>$smcont); } if($isreadbo && arrvalue($this->moders,'istxset','1')=='1' && $this->modenum != 'remind' && !in_array($status, array(2,5))){ $smcont = ''.$this->modename.'锛'.$this->getsummary(); $mid = (int)m('remind')->getmou('id',"`uid`='$this->adminid' and `modenum`='$this->modenum' and `mid`='$this->id'"); $namess = '锛嬫坊鍔犳彁閱掕缃'; if($mid>0)$namess = '鎻愰啋璁剧疆缂栬緫'; $arr[] = array('name'=>$namess,'djmid'=>$mid,'smcont'=>$smcont,'issm'=>1,'optnum'=>'tixing','lx'=>'14','optmenuid'=>-14); } if($this->iseditqx()==1 && $isreadbo){ $arr[] = array('name'=>'缂栬緫','optnum'=>'edit','lx'=>'11','optmenuid'=>-11); } if($this->isdeleteqx()==1){ $arr[] = array('name'=>'鍒犻櫎','color'=>'red','optnum'=>'del','nup'=>1,'issm'=>0,'islog'=>0,'statusvalue'=>9,'lx'=>'9','optmenuid'=>-9); } if(method_exists($this,'flowgetoptmenuarr')){ $lbarr = $this->flowgetoptmenuarr($flx); if(is_array($lbarr))foreach($lbarr as $k=>$v)$arr[]=$v; } return $arr; } public function optmenu($czid, $zt, $sm='') { $msg = ''; $cname = $this->rock->post('changename'); $cnameid = $this->rock->post('changenameid'); $cdate = $this->rock->post('changedate'); $darr = array( 'cname' => $cname, 'cnameid' => $cnameid, 'cdate' => $cdate, 'sm' => $sm, ); if($czid==-9){ $msg = $this->deletebill($sm); }else if($czid==-10){ $msg = $this->check($zt, $sm); if(contain($msg,'鎴愬姛'))$msg = 'ok'; }else if($czid==-12){ $this->zhuijiaexplain($sm); }else if($czid==-13){ $this->chuiban($sm); }else if($czid==-14){ $msg = $this->addschedule($sm); }else if($czid==-15){ $actname = $this->rock->post('name'); $this->addlog(array( 'explain' => $sm, 'name' => $actname, )); $uids = arrvalue($this->rs,'uid','0'); if(isset($this->rs['optid']))$uids.=','.$this->rs['optid'].''; $this->nexttodo($uids, 'pinglun', $sm, $actname); $this->gettodosend('boping','', $sm); }else if($czid==-16){ $this->zuofeibill($sm); }else if($czid==-17){ $msg = $this->smschuiban($sm); }else if($czid==-18){ $msg = $this->jiankongzb($darr); }else{ } if($msg=='')$msg='ok'; return $msg; } public function jiankongzb($darr) { return $this->bd6('5peg5L!h5ZG8562!5o6I5peg5q2k5Yqf6IO9'); } public function billwhere($uid, $lx) { $arr['table'] = $this->mtable; $arr['tableleft'] = ''; $arr['fields'] = ''; $arr['order'] = ''; $arr['group'] = ''; $arr['keywhere']= ''; $arr['asqom'] = ''; $arr['onlywhere'] = ''; $arr['companywhere']= ''; $this->atype = $lx; $nas = $this->flowbillwhere($uid, $lx); $inwhere = ''; if(substr($lx,0,5)=='grant'){ $inwhere = $this->viewmodel->viewwhere($this->moders, $this->adminid, $this->flowviewufieds, 1); } if($lx=='chaos'){ $inwhere = "and {asqom}`id` in(select `mid` from `[Q]flow_chao` where `table`='{$this->mtable}' and ".$this->rock->dbinstr('csnameid', $this->adminid).")"; } if($lx=='mychuli'){ $inwhere = "and {asqom}`id` in(select bill.`mid` from `[Q]flow_bill` as `bill` where bill.`modeid`='{$this->modeid}' and ".$this->rock->dbinstr('bill.`allcheckid`', $this->adminid).")"; } $_wehs = ''; if(is_array($nas)){ if(isset($nas['where']))$_wehs = $nas['where']; $ftears = explode(',','asqom,order,fields,fieldsleft,table,group,companywhere,onlywhere,keywhere,tableleft'); foreach($ftears as $fid)if(isset($nas[$fid]))$arr[$fid] = $nas[$fid]; }else{ $_wehs = $nas; } $fwhere = $this->getflowwhere($uid, $lx); $path = ''.P.'/flow/page/rock_page_'.$this->modenum.'.php'; $table = $arr['table']; $temsao = 0; if(!contain($table, ' ') && $this->isflow>0){ $arr['table'] = '`[Q]'.$this->mtable.'` a left join `[Q]flow_bill` b on a.`id`=b.`mid` and b.`table`=\''.$this->mtable.'\''; if(!isempt($arr['tableleft']))$arr['table'].=' left join '.$arr['tableleft'].''; $arr['asqom'] = 'a.'; $arr['fields']= 'a.*,b.`uname` as base_name,b.`udeptname` as base_deptname,b.`sericnum`,b.`nowcheckname`'; if(isset($arr['fieldsleft']) && $arr['fieldsleft'])$arr['fields'].=','.$arr['fieldsleft'].''; if($arr['order']=='')$arr['order'] = 'a.`optdt` desc'; $temsao = 1; if($this->defaultorder){ $defa = explode(',', $this->defaultorder); $desc = arrvalue($defa, 1, 'desc'); $arr['order'] = 'a.`'.$defa[0].'` '.$desc.''; } } if(isempt($arr['order'])){ $arr['order'] = '{asqom}`id` desc'; if($this->defaultorder){ $defa = explode(',', $this->defaultorder); $desc = arrvalue($defa, 1, 'desc'); $arr['order'] = '{asqom}`'.$defa[0].'` '.$desc.''; } } if(isempt($fwhere) && isempt($inwhere) && $this->moders['isscl']==1){ $fwhere = 'and 1=2'; } $where = $inwhere; $wherestr = $this->moders['where']; if(!isempt($wherestr)){ $wherestr = $this->rock->covexec($wherestr); $where .= ' and {asqom}'.$wherestr; } if($fwhere!='')$where .= ' '.$fwhere; if($_wehs!='')$where .= ' '.$_wehs; $highwhere = $this->gethighwhere(); $allfields = array(); $key = $this->rock->post('key'); $pnum = $this->rock->post('pnum'); $status = $this->rock->post('keystatus'); $ztfields = arrvalue($nas, 'ztfields', 'status'); $xhlikea = array('like','=','>=','<=', 'not like'); $xhfields = $this->rock->post('xhfields'); $xhlike = (int)$this->rock->post('xhlike','0'); $xhkeygj = $this->rock->jm->base64decode($this->rock->post('xhkeygj')); if(!isempt($xhkeygj) && $xhfields){ if(substr($xhfields,0,2)=='zb'){ $xu = substr($xhfields,2,1); $zbasr = explode(',', $this->moders['tables']); $zbts = arrvalue($zbasr,$xu); $xhfields = substr($xhfields,4); $wher1 = "`$xhfields` ".$xhlikea[$xhlike].""; if($xhlike==0 || $xhlike==4)$wher1.=" '%".$xhkeygj."%'"; if($xhlike==1 || $xhlike==2 || $xhlike==3)$wher1.=" '$xhkeygj'"; $wher1 = " and {asqom}`id` in(select `mid` from `[Q]".$zbts."` where ".$wher1.")"; $where.= $wher1; }else{ $wher1 = " and {asqom}`$xhfields` ".$xhlikea[$xhlike].""; if($xhlike==0 || $xhlike==4)$wher1.=" '%".$xhkeygj."%'"; if($xhlike==1 || $xhlike==2 || $xhlike==3)$wher1.=" '$xhkeygj'"; $where.= $wher1; } } if(!isempt($status))$where .= ' and {asqom}`'.$ztfields.'`='.$status.''; if(!isempt($key) && isempt($arr['keywhere'])){ $check = c('check'); $allfields = $this->db->getallfields('[Q]'.$this->mtable.''); $_kearr = array(); if($check->isdate($key) || $check->ismonth($key)){ $skeay = array('date','datetime','month'); foreach($this->fieldsarra as $k=>$rs){ $flx = $rs['fieldstype']; $fid = $rs['fields']; if($rs['issou']==1 && in_array($flx, $skeay) && in_array($fid, $allfields)){ if($check->isdate($key)){ if($flx=='date')$_kearr[] = "{asqom}`".$fid."`='$key'"; if($flx=='datetime')$_kearr[] = "{asqom}`".$fid."` like '$key%'"; if($flx=='month')$_kearr[] = "{asqom}`".$fid."`='".substr($key,0,7)."'"; if($temsao==1){ $_kearr[] = "b.`applydt`='$key'"; } } if($check->ismonth($key)){ if($flx=='month'){ $_kearr[] = "{asqom}`".$fid."`='$key'"; }else{ $_kearr[] = "{asqom}`".$fid."` like '$key%'"; } if($temsao==1){ $_kearr[] = "b.`applydt` like '$key%'"; } } } } } if(!$_kearr){ $skeay = array('text','textarea','htmlediter','changeuser','changeusercheck','changedept','changedeptusercheck','selectdatafalse','selectdatatrue','num'); $xiakk = array('rockcombo','select'); foreach($this->fieldsarra as $k=>$rs){ if($rs['issou']==1 && in_array($rs['fields'], $allfields) && substr($rs['fields'],-2) != 'dt'){ if(in_array($rs['fieldstype'], $skeay))$_kearr[] = "{asqom}`".$rs['fields']."` like '%".$key."%'"; } } if($temsao==1){ $_kearr[] = "b.`uname` like '%".$key."%'"; $_kearr[] = "b.`udeptname` like '%".$key."%'"; $_kearr[] = "b.`sericnum` = '$key'"; $_kearr[] = "b.`nowcheckname` = '$key'"; } if(isset($nas['orlikefields'])){ $owhee = explode(',', $nas['orlikefields']); foreach($owhee as $owhees){ $_owhees = explode('@', $owhees); $sle = arrvalue($_owhees, 1); if($sle=='1'){ $_kearr[] = "".$_owhees[0]." ='$key'"; }else{ $_kearr[] = "".$_owhees[0]." like '%".$key."%'"; } } } } if($_kearr && $arr['onlywhere']=='')$arr['keywhere'] = "and (".join(' or ',$_kearr).")"; } if(!isempt($arr['companywhere']) && getconfig('companymode'))$where .= ' '.$arr['companywhere']; if(!isempt($arr['onlywhere']))$where .= ' '.$arr['onlywhere']; if(!isempt($arr['keywhere']))$where .= ' '.$arr['keywhere']; if($highwhere!='')$where .= ' '.$highwhere; $where = str_replace('{asqom}', $arr['asqom'], $where); $arr['order'] = str_replace('{asqom}', $arr['asqom'], $arr['order']); $where = str_replace('[A]', $arr['asqom'], $where); $fields = $arr['fields']; if($this->flowfieldstype==1 && (isempt($fields) || $fields=='*') && $this->moders['isscl']==1){ if(!$allfields)$allfields = $this->db->getallfields('[Q]'.$this->mtable.''); $fields = '{asqom}`id`'; $odlvs = $this->option->getval('columns_'.$this->modenum.'_'.$pnum.''); if(isempt($odlvs)){ foreach($this->fieldsarra as $k=>$rs){ if($rs['islb']==1 && in_array($rs['fields'],$allfields)){ $fields.=',{asqom}`'.$rs['fields'].'`'; } } }else{ $odlvsa = explode(',', $odlvs); foreach($odlvsa as $odlvs1){ if(in_array($odlvs1, $allfields)){ $fields.=',{asqom}`'.$odlvs1.'`'; } } } if($this->isflow>0){ if(!contain($fields,'`status`'))$fields.=',{asqom}`status`'; } $fields = str_replace('{asqom}', $arr['asqom'], $fields); $arr['fields'] = $fields; } $fields = $arr['fields']; if(!isempt($fields) && $fields!='*'){ $fieldsa = explode(',', $fields); $fieldss = ''; foreach($fieldsa as $fieldsas){ if(contain($fieldsas,'`') || contain($fieldsas,'.') || contain($fieldsas,' ') || contain($fieldsas,'(')){ $fieldss.=','.$fieldsas.''; }else{ $fieldss.=',`'.$fieldsas.'`'; } } $arr['fields'] = substr($fieldss, 1); } $arr['where'] = str_replace('{asqom}','', $where); return $arr; } public function gethighwhere() { $s = ''; return $s; } public function getflowwhere($uid, $num) { $where = ''; $rs = $this->wheremodel->getone("`setid`='$this->modeid' and `num`='$num'"); if(!$rs)return $where; $where = $this->wheremodel->getwherestr($rs, $uid, $this->flowviewufieds); return $where; } public function getflowrows($uid, $lx, $limit=5, $swher='') { $nas = $this->billwhere($uid, $lx); $table = $nas['table']; if(!contain($table,' '))$table='[Q]'.$table.''; if(isempt($nas['fields']))$nas['fields'] = '*'; $swher = str_replace('{asqom}',$nas['asqom'], $swher); $where = '1=1 '.$nas['where'].' '.$swher.''; if($limit==0)return $this->db->rows($table, $where ); $rows = $this->db->getrows($table, $where , $nas['fields'], $nas['order'], $limit); foreach($rows as $k=>$rs){ $rows[$k] = $this->flowrsreplace($rs, 2); } return $rows; } public function gettodorows($whereid) { $where = $this->wheremodel->getwherestr($whereid, $this->adminid, $this->flowviewufieds); $wherestr = $this->moders['where']; if(!isempt($wherestr)){ $wherestr = $this->rock->covexec($wherestr); $where .= ' and '.$wherestr; } $where = str_replace('{asqom}','', $where); $rows = $this->getall('2=2 '.$where.''); foreach($rows as $k=>$rs){ $rows[$k] = $this->flowrsreplace($rs, 1); } return $rows; } public function printexecl($event) { $arr['moders'] = $this->moders; $arr['fields'] = $this->getfields(); $cell = 1; foreach($arr['fields'] as $k=>$v)$cell++; $arr['cell'] = $cell; $where = '1=1'; $str1 = $this->moders['where']; if(!isempt($str1)){ $str1 = $this->rock->covexec($str1); $where = $str1; } $vwhere = $this->viewmodel->viewwhere($this->moders, $this->adminid); $rows = $this->getrows(''.$where.' '.$vwhere.'', '*', 'id desc', 100); $arr['rows'] = $this->flowprintrows($rows); $arr['count'] = $this->db->count; return $arr; } public function getsuballdata($lx=0, $mid=0) { $tabless = $this->moders['tables']; $subdata = array(); if($mid==0)$mid = $this->id; if(!isempt($tabless)){ $tablessa = explode(',', $tabless); $namessa = explode(',', $this->moders['names']); $tabless1 = '['.str_replace(',','],[', $tabless).']'; foreach($tablessa as $zbx=>$tables){ $cis = substr_count($tabless1, '['.$tables.']'); $whes = ''; if($cis>1)$whes=' and `sslx`='.$zbx.''; $data = m($tables)->getall('mid='.$mid.''.$whes.'','*','`sort`'); $data = $this->flowsubdata($data, $lx, $zbx); if($lx == 0){ $subdata['subdata'.$zbx.''] = $data; }else{ $subdata[$zbx] = array( 'data' => $data, 'fields'=> 'subdata'.$zbx.'', 'name' => $this->rock->arrvalue($namessa, $zbx) ); } } } return $subdata; } private $gettodolistarr = null; public function gettodolist($act) { if(is_array($act))return $act; if($this->gettodolistarr === null){ $rows = $this->todomodel->getrows("`setid`='".$this->modeid."' and `status`=1"); $barr = array(); foreach($rows as $k=>$rs){ $whereid = (int)$rs['whereid']; if($whereid > 0){ $bo = $this->wheremanzhu($whereid); if(!$bo)continue; } $barr[] = $rs; } $this->gettodolistarr = $barr; }else{ $barr = $this->gettodolistarr; } $garr = array(); if($barr)foreach($barr as $k=>$rs){ if(arrvalue($rs,$act)=='1')$garr[] = $rs; } return $garr; } public function gettodosend($act, $actname='',$sm='', $courseid=0, $conts='') { $barr = $this->gettodolist($act); if(!$barr)return; $changearr = array('boturn'=>'鎻愪氦','boedit'=>'缂栬緫','bozhuan'=>'杞姙','bochang'=>'淇敼瀛楁','bodel'=>'鍒犻櫎','bozuofei'=>'浣滃簾','botong'=>'澶勭悊鍚屾剰','bobutong'=>'澶勭悊涓嶅悓鎰','bofinish'=>'鍏ㄩ儴澶勭悊瀹屾垚','bozhui'=>'杩藉姞璇存槑','boping'=>'璇勮','bohuiz'=>'鍥炴墽纭'); if($actname=='' && is_string($act))$actname = arrvalue($changearr, $act); if(isempt($actname))return; $cheo = c('check'); foreach($barr as $k=>$rs){ $receid = $rs['receid']; if($act=='botong' || $act=='bobutong'){ $changewe = $rs['changecourse']; if(!isempt($changewe) && !contain(','.$changewe.',',','.$courseid.','))continue; } if($rs['toturn']==1)$receid.=','.$this->uid.''; if(arrvalue($rs,'tosuper')=='1'){ $supar = $this->adminmodel->getsuperman($this->uid); $shnej = arrvalue($supar, 0); if(!isempt($shnej))$receid.=','.$shnej.''; } if($rs['tocourse']==1 && $this->billrs){ $allcheckid = $this->billrs['allcheckid']; if(!isempt($allcheckid))$receid.=','.$allcheckid.''; } $todofields = $rs['todofields']; if(!isempt($todofields)){ $toad = explode(',', $todofields); foreach($toad as $toads){ $ttv = arrvalue($this->rs, $toads); if(!isempt($ttv) && $cheo->isinnumber($ttv))$receid.=','.$ttv.''; } } if(isempt($receid))continue; if(substr($receid,0,1)==',')$receid = substr($receid, 1); $cont = $rs['summary']; if(isempt($cont))$cont = $conts; if(isempt($cont)){ $cont = ''.$this->adminname.''.$actname.'['.$this->modename.',鍗曞彿:'.$this->sericnum.']'; if($sm!='')$cont.=',璇存槑:'.$sm.''; } $this->push($receid, '', $cont, $this->rock->repempt($rs['name'])); } } public function numtodosend($num, $actname='',$sm='') { $rows = $this->todomodel->getrows("`setid`='".$this->modeid."' and `num`='$num' and `status`=1"); if(!$rows)return; $this->gettodosend($rows, $actname, $sm); } public function flowtotal($fields='', $type='') { if($fields=='')$fields = $this->rock->post('total_fields'); if($type=='')$type = $this->rock->post('total_type','jls'); $typea = explode('|', $type); $typefields = ''; $type = $typea[0]; $typefields = arrvalue($typea, 1); $rowa = array(); $rowa[] = array( 'name' => '鏆傛棤鏁版嵁', 'value' => 0, 'bili' => '' ); $tofiels= 'count(1)'; if($type=='sum')$tofiels = 'sum([A]`'.$typefields.'`)'; if($type=='avg')$tofiels = 'avg([A]`'.$typefields.'`)'; $atype = $this->rock->post('atype'); $table = '[Q]'.$this->mtable.''; $narr = $this->billwhere($this->adminid, $atype); $where = $narr['where']; $table = $narr['table']; if(!contain($table,' '))$table = '[Q]'.$table.''; $gwhere = $this->rock->post('where'); if(!isempt($gwhere)){ $gwhere = $this->rock->jm->uncrypt($this->rock->iconvsql($gwhere)); $where .= ' '.$gwhere.''; } $sql = 'select '.$fields.' as `name`,'.$tofiels.' as value from '.$table.' where 1=1 '.$where.' group by '.$fields.''; $sql = str_replace('[A]', $narr['asqom'], $sql); $rows = $this->db->getall($sql); $total = 0; if($rows){ foreach($rows as $k=>$rs)$total+=floatval($rs['value']); if($total>0)foreach($rows as $k=>$rs){ $rows[$k]['bili'] = $this->rock->number($rs['value']*100/$total).'%'; } if($type!='avg' && count($rows)>1)$rows[] = array('name' => '鍚堣','value' => $total,'bili' => ''); }else{ $rows = $rowa; } return $rows; } public function receiptcheck($hid, $sm) { return 'ok'; } public function getrowstable($atype, $where, $limit=100) { $rows = $this->getflowrows($this->adminid,$atype,$limit,$where); $headstr = '@xuhaos,,center'; foreach($this->fieldsarra as $k=>$rs){ if($rs['islb']==1 && $rs['iszb']=='0') $headstr.='@'.$rs['fields'].','.$rs['name'].''; } if($this->isflow>0){ $headstr.='@statustext,鐘舵'; if(is_array($rows))foreach($rows as $k=>$rs){ $rows[$k]['statustext'] = $this->getstatusstr($rs); } } $cont = c('html')->createrows($rows, substr($headstr, 1),'#cccccc','noborder'); return $cont; } public function viewjinfields($rows) { if(!$rows)return $rows; return $rows; } public function daochusubtable($rows) { return $rows; } } \ No newline at end of file + '; unset($fields['base_name']); unset($fields['base_deptname']); } $contvimr .= '
'; foreach($fields as $f=>$n){ $vs = arrvalue($data, $f); if(!isempt($vs)){ if(substr($f,0,7)=='subdata'){ $contvimr .= ''; }else{ $contvimr .= ''; } } } $contvimr .= '
'.$n.'
'.$vs.'
'.str_replace(' ','
',$n).'
'.$vs.'
'; } if(isempt($contview))$contview = $contvimr; $contview = str_replace('$contview$',$contvimr, $contview); } unset($farrobj); $arr['contview'] = $contview; $arr['readarr'] = m('log')->getreadarr($this->mtable, $this->id); $arr['isedit'] = $this->iseditqx(); $arr['isdel'] = $this->isdeleteqx(); $arr['isflow'] = $this->isflow; $arr['modename'] = $this->modename; $arr['ischehui'] = $this->ischehui(); $arr['statustext'] = $ztass[4]; $arr['statuscolor'] = $ztass[1]; $arr['optmenu'] = $this->getoptmenu(1); $arr['isgbjl'] = (int)$this->rock->arrvalue($this->moders,'isgbjl','0'); $arr['isgbcy'] = (int)$this->rock->arrvalue($this->moders,'isgbcy','0'); $receiptrs = false; $receiptrow = m('receipt')->getall("`modenum`='$this->modenum' and `mid`='$this->id' and `status`=1"); foreach($receiptrow as $k=>$hrs){ $uid1 = ','.$this->adminid.','; if(!contain(','.$hrs['receid'].',', $uid1))continue; if(!contain(','.$hrs['receids'].',', $uid1)){ $receiptrs = array( 'id' => $hrs['id'], 'optname' => $hrs['optname'], ); break; } } $arr['flowinfor'] = array(); $arr['readunarr'] = array(); $arr['receiptrs'] = $receiptrs; if($this->isflow>0){ $arr['flowinfor']= $this->getflowinfor(); if($arr['flowinfor']['ischeck']==1){ $arr['isplview']='0'; } } if(isset($data['title']))$arr['title'] = $data['title']; $_oarr = $this->flowdatalog($arr); if(is_array($_oarr))foreach($_oarr as $k=>$v)$arr[$k]=$v; $conta = $this->rock->matcharr($contview,2); $edbof = false; foreach($conta as $fids){ $thnr = ''; $contview = str_replace('`'.$fids.'`', $thnr, $contview); } $arr['contview'] = $contview; return $arr; } private function getsubdata($xu, $rows, $lx=0) { $iscz = 0; $iszb = $xu+1; $fields = 'subdata'.$xu.''; $subrows = $this->db->getrows('[Q]flow_element','`mid`='.$this->modeid.' and `iszb`='.$iszb.' and `iszs`=1','`fields`,`name`,`isalign`','`sort`'); $cont = ''; if($this->db->count > 0){ $iscz = 1; $headstr = '@xuhaos,,center'; $colorbb = getconfig('bcolorxiang', '#cccccc'); foreach($subrows as $k=>$rs){ $headstr.='@'.$rs['fields'].','.$rs['name'].''; if($rs['isalign']=='1')$headstr.=',left'; if($rs['isalign']=='2')$headstr.=',right'; } foreach($rows as $k=>$rs)$rows[$k]['xuhaos'] = $k+1; $slex = ($lx==0) ? 'noborder':''; if($this->subsubdatastyle!='')$slex = $this->subsubdatastyle; $cont = c('html')->createrows($rows, substr($headstr,1), $colorbb, $slex); } return $cont; } public function ischehui() { $is = 0; if($this->rs['status']==1 || $this->isflow==3)return $is; $where = "".$this->mwhere." and `valid`=1 order by `id` desc"; $rs = $this->flogmodel->getone($where); $sj = (int)getconfig('flowchehuitime','2'); $time = time()-$sj*3600; if($rs && $rs['status']=='1' && $rs['checkid']==$this->adminid && strtotime($rs['optdt'])>$time && ($rs['courseid']>0 || $rs['iszb']=='1' )) $is = $rs['id']; return $is; } public function chehui($sm='') { return $this->bd6('5peg5L!h5ZG8562!5o6I5peg5q2k5Yqf6IO9'); } public function bd6($str) { return $this->rock->jm->base64dencode($str); } public function getdataedit() { $fobj = m('file'); $arr['data'] = $this->flowrsreplaceedit($this->rssust); $arr['table'] = $this->mtable; $arr['tables'] = $this->moders['tables']; $arr['modeid'] = $this->modeid; $arr['isedit'] = $this->iseditqx(); $arr['isflow'] = $this->isflow; $arr['user'] = $this->urs; $arr['status'] = $this->rs['status']; $filers = $fobj->getfile($this->mtable,$this->id); foreach($filers as $fk=>$frs1)$filers[$fk]['thumbpath']=$fobj->getthumbpath($frs1); $arr['filers'] = $filers; $arr['subdata'] = $this->getsuballdata(); $filearr = array(); $fileids = ''; foreach($this->fieldsarr as $k=>$rs){ $fid = $rs['fields']; $flx = $rs['fieldstype']; if($flx=='uploadfile'){ $fval = arrvalue($this->rssust, $fid); if(!isempt($fval))$fileids.=','.$fval.''; } if($flx=='uploadimg'){ $arr['data'][''.$fid.'_view'] = $this->rock->gethttppath($arr['data'][$fid]); } } if($fileids!=''){ $frows = $fobj->getall('`id` in('.substr($fileids, 1).')','filename,id,filesizecn,fileext,optname,thumbpath,thumbplat'); foreach($frows as $k1=>$rs1){ $rs1['thumbpath'] = $fobj->getthumbpath($rs1); $filearr['f'.$rs1['id'].''] = $rs1; } } $arr['filearr'] = $filearr; $ztarr = $this->getnowstatus(); $arr['statustext'] = $ztarr[0]; $arr['statuscolor'] = $ztarr[1]; return $arr; } public function getflowinfor() { $ischeck = 0; $ischange= 0; $str = ''; $arr = $this->getflow(); if($arr['nowcheckid'] != $this->billrs['nowcheckid'])$this->getflowsave($arr, true); $nstatus = $this->rs['status']; $isturn = $this->rs['isturn']; $nowcheckid = ','.$arr['nowcheckid'].','; if($isturn==1 && $nstatus !=1 && contain($nowcheckid, ','.$this->adminid.',') && !in_array($nstatus, array(2,5))){ $ischeck = 1; } $logarr = $this->getlog(); $nowcur = $this->nowcourse; if(arrvalue($this->nextcourse,'checktype')=='change'){ $ischange = 1; } $sarr['ischeck'] = $ischeck; $sarr['ischange'] = $ischange; $sarr['nowcourse'] = $nowcur; $sarr['iszhuanban'] = 0; $sarr['ischao'] = 0; $sarr['nextcourse'] = $this->nextcourse; $sarr['nstatustext'] = $arr['nstatustext']; if($isturn==0)$sarr['nstatustext'] = '寰呮彁浜'; $_checkfields = arrvalue($nowcur,'checkfields'); $checkfields = array(); if($ischeck == 1 && !isempt($_checkfields)){ $_checkfieldsa = explode('|', $_checkfields); $_checkfields = join(',',$_checkfieldsa); $_checkxuant = arrvalue($_checkfieldsa, 1); $inputobj = c('input'); $inputobj->flow = $this; $inputobj->mid = $this->id; $inputobj->urs = $this->urs; $elwswhere = "`mid`='$this->modeid' and `iszb`=0 and instr(',$_checkfields,', concat(',',`fields`,','))>0"; $infeidss = $inputobj->initFields($elwswhere); foreach($infeidss as $_fs=>$fsva){ $_sfes = $fsva['fields']; $_type = $fsva['fieldstype']; $showinpus = 1; $isbt = 1; if($_checkxuant && contain(','.$_checkxuant.',',','.$_sfes.','))$isbt=0; if($_type=='hidden' || $_type=='fixed')$showinpus=2; $_val = arrvalue($this->rssust, $_sfes); $cheo = (substr($_type,0,6)=='change' && !isempt($fsva['data'])); if($cheo)$_val.='|'.arrvalue($this->rssust, $fsva['data']).''; $checkfields[$_sfes] = array( 'inputstr' => $inputobj->getfieldcontval($_sfes, $_val), 'name' => $fsva['name'], 'isbt' => $isbt, 'fieldstype'=> $_type, 'fieldsarr' => $fsva, 'showinpus' => $showinpus ); if($cheo){ $_sfes = $fsva['data']; $checkfields[$_sfes] = array( 'inputstr' => '', 'isbt' => $isbt, 'name' => $fsva['name'].'id', 'fieldstype'=> $_type, 'fieldsarr' => false, 'showinpus' => 2 ); } } } $sarr['checkfields'] = $checkfields; if($nstatus==2)$sarr['nstatustext'] ='寰呮彁浜や汉澶勭悊('.$this->urs['name'].')'; $loglen = count($logarr); foreach($logarr as $k=>$rs){ if($rs['courseid']>0){ $sty = ''; $col = $rs['color']; if($str!='')$str.=' 鈫 '; $str.=''.$rs['actname'].'('.$rs['name'].''.$rs['statusname'].')'; } } if($nstatus=='2'){ if($str!='')$str.=' 鈫 '; $str.= $sarr['nstatustext']; }else if($nstatus=='5'){ if($str!='')$str.=' 鈫 '; $sarr['nstatustext'] = '宸蹭綔搴'; $str.= '宸蹭綔搴'; }else{ foreach($this->flowarr as $k=>$rs){ if($rs['ischeck']==0){ $sty = 'color:#888888'; if($rs['isnow']==1)$sty='font-weight:bold;color:#800000'; if($str!='')$str.=' '; $str.=''.$rs['name'].''; if(!isempt($rs['nowcheckname']))$str.='('.$rs['nowcheckname'].')'; $str.=''; } } } $sarr['flowcoursestr'] = $str; if($nstatus==1)$sarr['nstatustext'] = $this->getnowstatus(1); $actstr = ',鍚屾剰|green,涓嶅悓鎰弢red'; if(isset($nowcur['courseact']) ){ $actstrt = $nowcur['courseact']; if(!isempt($actstrt))$actstr = ','.$actstrt; } $act = c('array')->strtoarray($actstr); foreach($act as $k=>$as1)if($k>0 && $as1[0]==$as1[1])$act[$k][1]=''; if(arrvalue($this->moders,'isys')=='1' && (int)arrvalue($nowcur,'mid','0')>=0){ $act[25]= array('鍓嶅姞绛','',''); $act[26]= array('鍚庡姞绛','',''); } $sarr['courseact'] = $act; $nowstatus = $this->rs['status']; if($this->isflow>0 && $this->rs['isturn']==0)$nowstatus=3; $sarr['nowstatus'] = $nowstatus; $step = $this->rock->arrvalue($nowcur, 'step','0'); $tuicourse = $this->flogmodel->getall($this->mwhere.' and `courseid`>0 and `valid`=1 and `status`=1 and `step`<'.$step.'','`id`,`checkname`,`name`','`step` desc'); $sarr['tuicourse'] = $tuicourse; return $sarr; } public function updatestatus($zt) { $this->update('`status`='.$zt.'', $this->id); $this->billmodel->update('`status`='.$zt.'', $this->mwhere); } public function getstatusarr() { return $this->getstatus(null, '','',2); } public function getstatus($rs, $statusstr='',$other='', $glx=0) { $statustext = $statuscolor = ''; if($statusstr=='')$statusstr=$this->rock->arrvalue($this->moders,'statusstr'); $statusara = array(); $colorsa = array('blue','green','red','#ff6600','#526D08','#888888','','','','','','','','','','','','',''); if(isempt($statusstr)){ $statussst = '涓嶅悓鎰'; $statusstr = '寰?澶勭悊|blue,宸插鏍竱green,'.$statussst.'|red'; } $nowcheckname= arrvalue($rs,'nowcheckname', arrvalue($this->billrs,'nowcheckname')); if(isempt($other))$other = $nowcheckname; $statusar = c('array')->strtoarray($statusstr); foreach($statusar as $k=>$v){ if($v[0]==$v[1])$v[1]= arrvalue($colorsa, $k); $statusara[$k] = $v; } $statusara[5] = array('宸蹭綔搴','#888888'); $statusara[23] = array('閫鍥','#17B2B7'); if($glx==2)return $statusara; $isturn = -1; if(isset($rs['isturn']))$isturn = (int)$rs['isturn']; $zt = $this->rock->arrvalue($rs, 'status'); if($isturn==0){ $statustext = '寰呮彁浜'; $statuscolor= '#ff6600'; }elseif(!isempt($zt)){ if(isset($statusara[$zt])){ $statustext = $statusara[$zt][0]; $statuscolor = $statusara[$zt][1]; } } if(contain($statustext,'?')){ $statusstr = str_replace('?', ''.$other.'', $statustext); }else{ $statusstr = ''.$statustext.''; } if($glx==1){ return $statusstr; } return array(str_replace('?', $other, $statustext), $statuscolor, $zt, $statusstr, str_replace('?', '', $statustext)); } public function getstatusstr($rs) { return $this->getstatus($rs, '','', 1); } public function getnowstatus($glx=0) { return $this->getstatus($this->rs, '','', $glx); } private $getlogrows = array(); public function getlog($lx=0) { if(isset($this->getlogrows[$lx]))return $this->getlogrows[$lx]; $rows = $this->flogmodel->getrows($this->mwhere, '`checkname` as `name`,`checkid`,`name` as actname,`optdt`,`status`,`explain`,`statusname`,`valid`,`courseid`,`color`,`id`,`qmimg`','`id` asc'); $uids = $idss = ''; $dts = c('date'); $fo = m('file'); $editarrs = array(); foreach($rows as $k=>$rs){ $uids.=','.$rs['checkid'].''; $idss.=','.$rs['id'].''; $col = $rs['color']; if(isempt($col))$col='green'; if(contain($rs['statusname'],'涓') || $rs['status']=='2')$col='red'; $rows[$k]['color'] = $col; $rows[$k]['checkdt'] = $rs['optdt']; $rows[$k]['sm'] = str_replace("\n",'
', $rs['explain']); $rows[$k]['explain'] = $rows[$k]['sm']; if(!isempt($rs['qmimg'])){ if(!contain($rs['qmimg'],'.')){ $qmimg = ''.UPDIR.'/'.date('Y-m').'/qmimg'.$rs['id'].'.png'; $bo = true; if(!file_exists($qmimg)){ $bar= explode(',', $rs['qmimg']); $bo = $this->rock->createtxt($qmimg, base64_decode($bar[1])); } if(!$bo){ $qmimg = $rs['qmimg']; }else{ $qmimg = ''.URL.''.$qmimg.''; } }else{ $qmimg = $rs['qmimg']; if(!file_exists($qmimg)){ $qmimg = ''; }else{ $qmimg = ''.URL.''.$qmimg.''; } } $rows[$k]['qmimg'] = $qmimg; if(!isempt($qmimg))$rows[$k]['explain']= ''.$rs['explain'].''; } } if($idss!=''){ $farr = $fo->getfile('flow_log', substr($idss, 1)); if($farr)foreach($rows as $k=>$rs){ $fstr = $fo->getallstr($farr, $rs['id'],2); $rows[$k]['explain']= $this->strappend($rs['explain'], $fstr, '
'); } } if($uids!=''){ $rows = m('admin')->getadmininfor($rows, substr($uids, 1), 'checkid'); } $this->getlogrows[$lx] = $rows; return $rows; } public function addlog($arr=array()) { $addarr = array( 'table' => $this->mtable, 'mid' => $this->id, 'checkname' => $this->adminname, 'checkid' => $this->adminid, 'optdt' => $this->rock->now, 'courseid' => '0', 'status' => '1', 'ip' => $this->rock->ip, 'web' => $this->rock->web, 'modeid' => $this->modeid ); foreach($arr as $k=>$v)$addarr[$k]=$v; if(isset($addarr['explain']))$addarr['explain']= htmlspecialchars($addarr['explain']); $this->flogmodel->insert($addarr); $ssid = $this->db->insert_id(); $fileid = $this->rock->post('fileid'); if($fileid!='')m('file')->addfile($fileid, 'flow_log', $ssid, $this->modenum.'|'.$this->id); $logfileid = $this->rock->post('logfileid'); if($logfileid!='')m('file')->addfile($logfileid, 'flow_log', $ssid, $this->modenum.'|'.$this->id); $addarr['id'] = $ssid; $this->flowaddlog($addarr); $this->getlogrows = array(); return $ssid; } public function submit($na='', $sm='') { if($na=='')$na='鎻愪氦'; $isturn = 1; if($na=='淇濆瓨')$isturn = 0; $this->addlog(array( 'name' => $na, 'explain' => $sm )); if($this->isflow>0){ $marr['isturn'] = $isturn; $marr['status'] = 0; $this->rs['status'] = 0; $this->update($marr, $this->id); if(arrvalue($this->moders,'isflowlx')=='1' || $this->isflow>=3){ $this->checksmodel->delete($this->mwhere); $this->flogmodel->update('`valid`=0', ''.$this->mwhere.' and `courseid`>0 and `valid`=1'); } $farr = $this->getflow(); if($farr['nowcourseid']>0){ $sysnextoptid = $this->rock->post('sysnextoptid'); $sysnextopt = $this->rock->post('sysnextopt'); $sysnextcustidid = (int)$this->rock->post('sysnextcustidid'); if($sysnextcustidid == $farr['nowcourseid'] && !isempt($sysnextoptid) && !isempt($sysnextopt)){ $this->addcheckname($sysnextcustidid, $sysnextoptid, $sysnextopt, true, 1); $farr = $this->getflow(); } } $farr['status'] = 0; $this->savebill($farr); if($isturn == 1){ $this->nexttodo($farr['nowcheckid'],'submit'); } } $this->flowsubmit($na, $sm); $this->savecsname( $this->rock->post('syschaosongid'), $this->rock->post('syschaosong'), $this->adminid,0,$isturn,$na); if($na=='缂栬緫'){ $this->gettodosend('boedit'); }else{ $this->gettodosend('boturn'); } } private function savecsname($csnameid,$csname,$uid,$type,$isturn, $na) { if(!isempt($csnameid)){ $where = $this->mwhere.' and `type`='.$type.''; if($type>0)$where.=' and `uid`='.$uid.''; $csid = (int)$this->chaomodel->getmou('id', $where); if($csid==0)$where = ''; $this->chaomodel->record(array( 'modeid' => $this->modeid, 'table' => $this->mtable, 'mid' => $this->id, 'uid' => $uid, 'type' => $type, 'csname' => $csname, 'csnameid' => $csnameid, ),$where); if($isturn==1)$this->nexttodo($csnameid,'chao', $na); } } public function getcsname($id=0) { if($id>0){ $where= "`table`='$this->mtable' and `mid`='$id' and `type`=0"; }else{ $where= "`modeid`={$this->modeid} and `uid`={$this->adminid} and `type`=0"; $iscs = (int)$this->moders['iscs']; } $ors = $this->chaomodel->getone($where,'*','`id` desc'); $csname = $csnameid = ''; if($ors){ $csname = $ors['csname']; $csnameid = $ors['csnameid']; } return array( 'csname' => $csname, 'csnameid' => $csnameid, 'id' => $id, ); } public function zhuijiaexplain($sm='') { $this->addlog(array( 'explain' => $sm, 'name' => '杩藉姞璇存槑', 'status' => 1, )); $zt = $this->rs['status']; if($zt==2 && $this->isflow>0 && $this->adminid==$this->uid){ $marr['status'] = 0; $this->rs['status'] = 0; $this->update($marr, $this->id); $farr = $this->getflow(); $farr['status'] = 0; $this->savebill($farr); $this->nexttodo($farr['nowcheckid'],'zhui', $sm); } $this->gettodosend('bozhui','', $sm); } public function chuiban($sm='') { $this->addlog(array( 'explain' => $sm, 'name' => '鍌姙', 'status' => 1, )); $farr = $this->getflow(true); $this->nexttodo($farr['nowcheckid'],'cuiban', $sm); $this->gettodosend('cuiban','', $sm); } public function getyushen($rows) { return $rows; } private function getyushenss($id, $rows, $xu, $isq) { if($xu==0)$this->_tempauoe = array(); if(isset($rows[$id])){ $_tars = $rows[$id]; if($isq==1)$this->getyushenss($_tars['id'], $rows, $xu+1, $isq); $this->_tempauoe[] = $_tars; if($isq==0)$this->getyushenss($_tars['id'], $rows, $xu+1, $isq); } return $this->_tempauoe; } public function getflowpipei($uid=0) { $urs = $this->urs; if(!$urs)$urs = $uid; if(!is_array($urs))$urs = $this->db->getone('[Q]admin', "`id`='$urs'", '`deptid`,`deptpath`,`id`'); $coursedb = m('flowcourse'); $barr = $coursedb->pipeiCourse($this->modeid); $rows = $barr['rows']; $this->pipeiCoursearrc = $barr['rowd']; $this->pipeiCoursearrs = array(); $this->pipeiCoursearr = array(); $kqobj = m('kaoqin'); $this->getflowpipeis($rows, $urs, $kqobj); unset($this->pipeiCoursearrs); unset($this->pipeiCoursearrc); return $this->getyushen($this->pipeiCoursearr); } private function getflowpipeis($rows,$urs, $kqobj) { $shiyong = array(); $defix = $xuhao = 0; $uid = arrvalue($urs,'id',0); $zshu = count($rows); foreach($rows as $k=>$rs){ $whereid = (int)$rs['whereid']; $receid = $rs['receid']; $wherestr= arrvalue($rs, 'where'); if($rs['status']=='0')continue; if(!isempt($wherestr)){ $wherestr = m('base')->strreplace($this->rock->jm->base64decode($wherestr), $uid); $to = $this->rows("`id`='$this->id' and $wherestr "); if($to==0)continue; } if($whereid > 0){ $bo = $this->wheremanzhu($whereid); if(!$bo)continue; } if(!isempt($rs['num'])){ $bo = $this->flowcoursejudge($rs['num'], $rs); if(is_bool($bo) && !$bo)continue; } $xuhao++; if($defix==0 && (isempt($receid) || contain($receid,'all'))){ $defix = $xuhao; } if(isempt($receid) && (!isempt($wherestr) || $whereid > 0)){ $defix = $xuhao; } $rs['xuhao'] = $xuhao; $shiyong[] = $rs; } $pboss = false; if($shiyong){ $gxuha = $kqobj->getpipeimid($urs, $shiyong, 'xuhao', $defix); if($gxuha>0){ $pboss = true; $gxuha = $gxuha-1; $prs = $shiyong[$gxuha]; $this->getflowpipeisss($prs, $urs, $kqobj); } } if(!$pboss && $zshu==1 && $rows[0]['childshu']>0){ $this->getflowpipeis($rows[0]['children'], $urs, $kqobj); } } private function getflowpipeisss($prsnrs, $urs, $kqobj) { $prs = $prsnrs; unset($prs['children']); $this->pipeiCoursearrs[]= $prs['id']; $this->pipeiCoursearr[] = $prs; if($prs['childshu']>0){ $this->getflowpipeis($prsnrs['children'], $urs, $kqobj); }else{ $nid = arrvalue($prs,'nid','0'); if($nid>0 && !in_array($nid, $this->pipeiCoursearrs) && isset($this->pipeiCoursearrc, $nid)){ $this->getflowpipeis(array($this->pipeiCoursearrc[$nid]), $urs, $kqobj); } } } public function getflow($sbo=false) { $this->flowarr = array(); $allcheckid = $nowcheckid = $nowcheckname = $nstatustext = ''; $allcheckids = array(); $nowcourseid = 0; $nstatus = $this->rs['status']; $this->nowcourse = array(); $this->nextcourse = array(); $this->flowisend = 0; $curs = $this->flogmodel->getrows($this->mwhere,'checkid,checkname,courseid,`valid`,`status`,`statusname`,`name`,`iszb`','id desc'); $cufss = $ztnas = $chesarr = array(); foreach($curs as $k=>$rs){ if($rs['iszb']=='1' && !in_array($rs['checkid'], $allcheckids))$allcheckids[] = $rs['checkid']; if($rs['courseid']=='0')continue; $_su = ''.$rs['courseid'].''; $_su1 = ''.$rs['courseid'].'_'.$rs['checkid'].''; if($rs['valid']==1 && in_array($rs['status'], $this->flowstatusarr)){ if(!isset($cufss[$_su]))$cufss[$_su]=0; $cufss[$_su]++; $chesarr[$_su1] = 1; } if(!in_array($rs['checkid'], $allcheckids))$allcheckids[] = $rs['checkid']; if($nstatustext=='' && $rs['courseid']>0){ $nstatustext = ''.$rs['checkname'].'澶勭悊'.$rs['statusname'].''; $nstatus = $rs['status']; } $ztnas[$rs['courseid']] = ''.$rs['checkname'].''.$rs['statusname'].''; } $nowstep = $zongsetp = -1; $isend = 0; $czt = $this->rs['status']; $coutye = 0; $rows = ($czt==1 || $czt==5)? array() : $this->getflowpipei($this->uid); if($rows){ $checksa = $this->checksmodel->getrows($this->mwhere.' and `addlx`=3'); $coursea = $nrows = array(); foreach($checksa as $k=>$rs)$coursea[$rs['courseid']]='1'; $nrows = array(); $allcheckid = ''; $isoptsuperbo = false; foreach($rows as $k=>$rs){ $uarr = $this->getcheckname($rs); $rows[$k]['checkid'] = $uarr[0]; $rows[$k]['checkname'] = $uarr[1]; $allcheckid .= ','.$uarr[0].''; if($rs['checktype']=='optsuper' && isempt($uarr[0]))$isoptsuperbo=true; } if($isoptsuperbo)foreach($rows as $k=>$rs){ if($rs['checktype']=='optsuper'){ $_k1 = $k-1; $_uid = $this->optid; if($_k1>=0){ $ours = $this->flogmodel->getone($this->mwhere.' and `courseid`='.$rows[$_k1]['id'].' and `valid`=1 ','`checkid`','`id` desc'); if(!$ours){ $_uid = (int)$rows[$_k1]['checkid']; }else{ $_uid = $ours['checkid']; } } $uarr = $this->adminmodel->getsuperman($_uid); if($uarr){ $rows[$k]['checkid'] = $uarr[0]; $rows[$k]['checkname'] = $uarr[1]; } } } foreach($rows as $k=>$rs){ $nrows[] = $rs; if($rs['checktype']=='superall'){ $ids1 = $rs['id']; $suparr = $this->adminmodel->getsuperarr($this->uid); if($suparr){ $logdsar = $this->getlog(); foreach($logdsar as $k1=>$rs1){ if($rs1['courseid']>0 && $rs1['status']=='1' && $rs1['valid']=='1')$allcheckid .= ','.$rs1['checkid'].''; } foreach($suparr as $k1=>$surs){ if(!contain(','.$allcheckid.',', ','.$surs['id'].',')){ $rs['oldid'] = $ids1; $rs['id'] = $ids1 * 99999 + $surs['id']; $rs['checkid'] = $surs['id']; $rs['checkname'] = $surs['name']; $rs['iszf'] = 0; $nrows[] = $rs; $allcheckid .= ','.$surs['id'].''; } } } } } $yisheh = ''; if($this->isflow==2){ $logdsar = $this->getlog(); foreach($logdsar as $k1=>$rs1) if($rs1['courseid']>0 && $rs1['status']==1 && $rs1['valid']==1)$yisheh .= ','.$rs1['checkid'].''; } foreach($nrows as $k=>$rs){ $whereid = (int)$rs['whereid']; $checkshu = $rs['checkshu']; $checkid = $rs['checkid']; $checkname = $rs['checkname']; $checktype = $rs['checktype']; if($this->isflow==2 && !isempt($checkid) && isempt($rs['checkfields'])){ if(($checkid==$this->uid || $checkid==$this->optid) )continue; $k2 = $k+1; $ntype = 'yes'; if(isset($nrows[$k2])){ if($nrows[$k2]['checktype']=='change')$ntype='no'; } if($ntype=='yes' && contain(','.$yisheh.',',','.$checkid.','))continue; } if(!isempt($checkid))$yisheh .= ','.$checkid.''; $zongsetp++; $ischeck = 0; $checkids = $checknames = ''; $_su = ''.$rs['id'].''; $nowshu = 0; if(isset($cufss[$_su]))$nowshu = $cufss[$_su]; if(!$this->isempt($checkid)){ $checkida = explode(',', $checkid); $checkidna = explode(',', $checkname); $_chid = $_chna = ''; foreach($checkida as $k1=>$chkid){ $_su1 = ''.$rs['id'].'_'.$chkid.''; if(!in_array($chkid, $allcheckids))$allcheckids[] = $chkid; if(!isset($chesarr[$_su1])){ $_chid.=','.$chkid.''; $_chna.=','.arrvalue($checkidna, $k1).''; } } if($_chid!='')$_chid = substr($_chid, 1); if($_chna!='')$_chna = substr($_chna, 1); if($_chid==''){ $ischeck = 1; }else{ if($checkshu>0&&$nowshu>=$checkshu)$ischeck = 1; } $checkids = $_chid; $checknames = $_chna; }else{ if($checkshu>0&&$nowshu>=$checkshu)$ischeck = 1; if($checkshu == 0 && $nowshu>0)$ischeck = 1; } if($ischeck==0 && $coutye==0){ if((int)arrvalue($rs,'coursetype','0')>0)$coutye = 1; } $rs['ischeck'] = $ischeck; $rs['islast'] = 0; $rs['checkid'] = $checkid; $rs['checkname'] = $checkname; $rs['nowcheckid'] = $checkids; $rs['nowcheckname'] = $checknames; $rs['isnow'] = 0; $rs['nowstep'] = $zongsetp; $rs['step'] = $k+1; if($ischeck==0 && $nowstep==-1){ $rs['isnow']= 1; $nowstep = $zongsetp; $this->nowcourse = $rs; $nowcourseid = $rs['id']; $nowcheckid = $checkids; $nowcheckname = $checknames; } if($nowstep>-1 && $zongsetp==$nowstep+1)$this->nextcourse = $rs; $this->flowarr[]= $rs; } } if($zongsetp>-1)$this->flowarr[$zongsetp]['islast']=1; if($nowstep == -1){ $isend = 1; }else{ $nstatustext = '寰'.$nowcheckname.'澶勭悊'; } $this->flowisend = $isend; $allcheckid = join(',', $allcheckids); $arrbill['allcheckid'] = $allcheckid; $arrbill['nowcourseid'] = $nowcourseid; $arrbill['nowcheckid'] = $nowcheckid; $arrbill['nowcheckname'] = $nowcheckname; $arrbill['nstatustext'] = $nstatustext; $arrbill['nstatus'] = $nstatus; $arrbill['status'] = $this->rs['status']; $arrbill['isturn'] = $this->rs['isturn']; if($sbo)$this->getflowsave($arrbill); return $arrbill; } public function wheremanzhu($id) { $uid = $this->uid; $ser = $this->wheremodel->getflowwhere($id, $uid); if(!$ser)return true; $str = $ser['ntr']; if(!isempt($str)){ $to = $this->db->rows('[Q]admin',"`id`='$uid' and ($str)"); if($to>0)return false; } $str = $ser['str']; if(!isempt($str)){ $str= str_replace('{asqom}','', $str); $to = $this->rows("`id`='$this->id' and $str"); if($to==0)return false; } $str = $ser['utr']; if(!isempt($str)){ $to = $this->db->rows('[Q]admin',"`id`='$uid' and $str"); if($to==0)return false; } return true; } public function getflowsave($sarr, $suvu=false) { if(!$sarr)return; if($suvu)$sarr['updt'] = $this->rock->now; $this->billmodel->update($sarr, $this->mwhere); } private function getcheckname($crs) { $type = $crs['checktype']; $cuid = $name = ''; $courseid= $crs['id']; $cheorws = $this->checksmodel->getall($this->mwhere.' and `courseid`='.$courseid.'','checkid,checkname'); if($cheorws){ foreach($cheorws as $k=>$rs){ $lxss = $rs['checkid']; if(isempt($lxss) || $lxss=='0')continue; $cuid.=','.$lxss.''; $name.=','.$rs['checkname'].''; } if($cuid != ''){ $cuid = substr($cuid, 1); $name = substr($name, 1); return array($cuid, $name); } } if(!$this->isempt($crs['num'])){ $uarr = $this->flowcheckname($crs['num']); if(is_array($uarr)){ if(!$this->isempt($uarr[0]))return $uarr; } } if($type=='super' || $type=='superall'){ $cuid = $this->urs['superid']; $name = $this->urs['superman']; } if($type=='dept' || $type=='super' || $type=='superall'){ if($this->isempt($cuid) && $this->drs){ $cuid = $this->drs['headid']; $name = $this->drs['headman']; } } if($type=='apply'){ $cuid = $this->urs['id']; $name = $this->urs['name']; } if($type=='opt'){ $cuid = $this->rs['optid']; $name = $this->rs['optname']; if(isempt($cuid)){ $cuid = $this->urs['id']; $name = $this->urs['name']; } } if($type=='user'){ $cuid = $crs['checktypeid']; $name = $crs['checktypename']; } if($type=='rank'){ $rank = $crs['checktypename']; if(!$this->isempt($rank)){ $wheer1 = $this->adminmodel->getcompanywhere(5,'',$this->companyid); $rnurs = $this->db->getrows('[Q]admin',"`status`=1 and `ranking`='$rank' ".$wheer1."",'id,name','sort'); foreach($rnurs as $k=>$rns){ $cuid.=','.$rns['id'].''; $name.=','.$rns['name'].''; } if($cuid != ''){ $cuid = substr($cuid, 1); $name = substr($name, 1); } } } if($type=='cname'){ $cnbar = $this->cnamemodel->getcheckname($crs['checktypeid'], $this->uid); $cuid = arrvalue($cnbar, 0); $name = arrvalue($cnbar, 1); } if($type=='field'){ $fids = $crs['checktypeid']; if(!isempt($fids)){ $vals = ''; $farrs= explode(',', $fids); foreach($farrs as $fid){ $vid = arrvalue($this->rs, $fid); if(!isempt($vid))$vals.=','.$vid.''; } if($vals!=''){ $vals = substr($vals, 1); $uarr = $this->adminmodel->getrows('`status`=1 and `id` in('.$vals.')','id,name','FIELD(`id`,'.$vals.')'); foreach($uarr as $k=>$rs){ $cuid.=','.$rs['id'].''; $name.=','.$rs['name'].''; } if($cuid != ''){ $cuid = substr($cuid, 1); $name = substr($name, 1); } } } } $cuid = $this->rock->repempt($cuid); $name = $this->rock->repempt($name); return array($cuid, $name); } public function createbianhao($num, $fid, $wshu=3) { if(isempt($num))$num=''.$this->modenum.'-'; @$appdt = $this->rs['applydt']; if(isempt($appdt))$appdt = $this->rock->date; $apdt = str_replace('-','', substr($appdt,0,10)); $num = str_replace('Ymd',$apdt,$num); return $this->db->sericnum($num,'[Q]'.$this->mtable.'', $fid, $wshu); } public function createinputnum($num, $fid) { $acta = ''; if(method_exists($this, $num)){ $acta = $num; }else{ if(contain($num, ',')){ $arra = explode(',', $num); $acta = $arra[0]; $num = $arra[1]; } } if($acta && method_exists($this, $acta)){ $barr = $this->$acta($num); if(is_array($barr)){ $qom = arrvalue($barr, 'qom', $num); $wshu= arrvalue($barr, 'wshu', 3); $bom = arrvalue($barr, 'bom'); $fields = arrvalue($barr, 'fields', $fid); return $this->createbianhao($qom, $fields, $wshu).$bom; }else{ if(isempt($barr))$barr = $num; return $this->createbianhao($barr, $fid); } }else{ return $this->createbianhao($num, $fid); } } public function createnum() { $num = $this->moders['sericnum']; if($num=='鏃'||$this->isempt($num))$num='TM-Ymd-'; @$appdt = $this->rs['applydt']; if(isempt($appdt))$appdt = $this->rock->date; $apdt = str_replace('-','', $appdt); $num = str_replace('Ymd',$apdt,$num); return $this->db->sericnum($num,'[Q]flow_bill', 'sericnum', 3); } public function savebill($oarr=array()) { $dbs = $this->billmodel; $whes= $this->mwhere; $birs= $dbs->getone($whes); $arr = array( 'table' => $this->mtable, 'mid' => $this->id, 'optdt' => isset($this->rs['optdt']) ? $this->rs['optdt'] : $this->rock->now, 'optname' => arrvalue($this->rs,'optname', $this->adminname), 'optid' => arrvalue($this->rs,'optid', $this->adminid), 'modeid' => $this->modeid, 'updt' => $this->rock->now, 'isturn' => $this->rs['isturn'], 'nstatus' => $this->rs['status'], 'applydt' => $this->rs['applydt'], 'modename' => $this->modename, 'uname' => $this->rs['base_name'], 'udeptname' => $this->rs['base_deptname'], 'uid' => $this->uid, 'isdel' => '0', ); foreach($oarr as $k=>$v)$arr[$k]=$v; if(!$birs){ $arr['status'] = $arr['nstatus']; $arr['createdt']= $arr['optdt']; $arr['sericnum']= $this->createnum(); $arr['udeptid'] = $this->rock->post('sysudeptid', $this->urs['deptid']); $whes = ''; $this->sericnum = $arr['sericnum']; }else{ $udeptid = $birs['udeptid']; if($udeptid==0)$arr['udeptid']=$this->urs['deptid']; } $dbs->record($arr, $whes); return $arr; } public function getsummary() { return $this->rock->reparr($this->moders['summary'], $this->rs); } public function addcheckname($courseid, $uid, $uname, $onbo=false, $addlx=0) { if(isempt($uid)){$uid = '0';$uname= 'auto';} $uida = explode(',', ''.$uid.''); $uidan = explode(',', $uname); if($onbo)$this->checksmodel->delete($this->mwhere.' and `courseid`='.$courseid.''); if($uida)foreach($uida as $k=>$uid){ $uname = $this->rock->arrvalue($uidan, $k); $zyarr = array( 'table' => $this->mtable, 'mid' => $this->id, 'modeid' => $this->modeid, 'courseid' => $courseid, 'optid' => $this->adminid, 'optname' => $this->adminname, 'addlx' => $addlx, 'optdt' => $this->rock->now, 'status' => 0 ); $this->checksmodel->delete($this->mwhere.' and `checkid`='.$uid.' and `courseid`='.$courseid.''); $zyarr['checkid'] = $uid; $zyarr['checkname'] = $uname; $this->checksmodel->insert($zyarr); } if($addlx==4)$this->checksmodel->delete($this->mwhere.' and `checkid`='.$this->adminid.' and `courseid`='.$courseid.''); } public function savedatastr($fval, $farr, $data=array()) { $str = ''; if(!$farr)return $str; $savewhere = $farr['savewhere']; $name = $farr['name']; $types = $farr['fieldstype']; if(isempt($savewhere) || isempt($fval))return $str; $savewhere = str_replace(array('{0}','{date}','{now}'), array($name, $this->rock->date,$this->rock->now), $savewhere); $savewhere = $this->rock->reparr($savewhere, $data); $saees = explode(',', $savewhere); if($types=='date' || $types=='datetime')$fval = strtotime($fval); if($types=='number')$fval = floatval($fval); foreach($saees as $saeess){ $fsaed = explode('|', $saeess); $msg = isset($fsaed[2]) ? $fsaed[2] : ''.$name.'鏁版嵁涓嶇鍙'; $val = isset($fsaed[1]) ? $fsaed[1] : ''; $lfs = $fsaed[0]; if($val != ''){ if($types=='date' || $types=='datetime')$val = strtotime($val); if($types=='number')$val = floatval($val); if($lfs=='gt'){$bo = $fval>$val;if(!$bo)return $msg;} if($lfs=='egt'){$bo = $fval>=$val;if(!$bo)return $msg;} if($lfs=='lt'){$bo = $fval<$val;if(!$bo)return $msg;} if($lfs=='elt'){$bo = $fval<=$val;if(!$bo)return $msg;} if($lfs=='eg'){$bo = $fval==$val;if(!$bo)return $msg;} if($lfs=='neg'){$bo = $fval!=$val;if(!$bo)return $msg;} } } return $str; } public function update($arr, $where) { if(is_array($arr)){ foreach($arr as $k=>$v)$this->rs[$k]=$v; } return parent::update($arr,$where); } public function updatelogvalid($whe) { $this->flogmodel->update('valid=0', $this->mwhere.' '.$whe); } public function strappend($sm, $str, $fh=',') { if(isempt($str))return $sm; if(!isempt($sm))$sm.=$fh; $sm.=$str; return $sm; } public function checkerror($lx=1,$sm='') { if($sm=='')$sm='鍗曟嵁寮傚父绠$悊鍛樺鐞'; $msg = $this->check($lx, $sm, 1); return $msg; } public function check($zt, $sm='', $lx=0) { if($this->rs['status']==1)return '娴佺▼宸插鐞嗗畬鎴,鏃犻渶鎿嶄綔'; $arr = $this->getflow(); $flowinfor = $this->getflowinfor(); if($flowinfor['ischeck']==0 && $lx==0)return '褰撳墠鏄痆'.$arr['nowcheckname'].']澶勭悊'; $nowcourse = $this->nowcourse; if($lx==1){ if($arr['nowcourseid']!=0)return '褰撳墠鏈夊鏍告楠D鏄瓨鍦ㄧ殑涓嶈兘鐩存帴鏍囪瘑宸插畬鎴'; $to = $this->flogmodel->rows($this->mwhere.' and `courseid`>0 and `status`=1'); if($to==0)return '璇ュ崟鎹病鏈変换浣曢氳繃瀹℃牳澶勭悊涓嶈兘鐩存帴鏍囪瘑宸插畬鎴愭垨宸插鏍'; $nowcourse = array('id'=>66666,'name'=>'寮傚父澶勭悊','step'=>0); } $nextcourse = $this->nextcourse; $zynameid = $this->rock->post('zynameid'); $zyname = $this->rock->post('zyname'); $csnameid = ''; $csname = ''; $nextname = $this->rock->post('nextname'); $nextnameid = $this->rock->post('nextnameid'); $qmimgstr = $this->rock->post('qmimgstr'); $tuiid = (int)$this->rock->post('tuiid'); $iszhuanyi = $ischangenext = 0; if($zt==1 && $this->isflow!=3 && isempt($zynameid) && arrvalue($nextcourse,'checktype')=='change'){ $ischangenext = 1; } if($zt!=2)$tuiid = 0; $istongyi = in_array($zt, $this->flowstatusarr); if($zynameid!='' && $istongyi){ if($zynameid==$this->adminid)return '涓嶈兘杞粰鑷繁'; $sm = $this->strappend($sm, '杞粰锛'.$zyname.''); $iszhuanyi = 1; $this->rs['syszb_name'] = $zyname; $this->rs['syszb_nameid'] = $zynameid; } if($nextnameid=='' && $ischangenext==1)return '璇烽夋嫨涓嬩竴姝ュ鐞嗕汉'; $ufied = array(); if($iszhuanyi == 0 && $zt!=2){ foreach($flowinfor['checkfields'] as $chef=>$chefv){ $ufied[$chef] = $_val = $this->rock->post('cfields_'.$chef.''); if(isempt($_val) && $chefv['isbt']=='1')$this->echomsg(''.$chefv['name'].'涓嶈兘涓虹┖'); $_stype = arrvalue($chefv, 'fieldstype'); if($_stype=='graph')$ufied[$chef] = c('input')->createqianming($_val); $_str = $this->savedatastr($_val, $chefv['fieldsarr'], $this->rs); if($_str!='')$this->echomsg($_str); } } $this->checkiszhuanyi = $iszhuanyi; $barr = $this->flowcheckbefore($zt, $ufied, $sm); $msg = ''; if(is_array($barr) && isset($barr['msg']))$msg = $barr['msg']; if(is_array($barr) && isset($barr['update'])){ foreach($barr['update'] as $_k=>$_v)$ufied[$_k] = $_v; } if(is_string($barr))$msg = $barr; if(!isempt($msg))return $msg; if($ufied){ $bo = $this->update($ufied, $this->id); if(!$bo)return 'dberr:'.$this->db->error(); } $courseact = $flowinfor['courseact']; $act = $courseact[$zt]; $statusname = $act[0]; $statuscolor= $act[1]; $nzt = $act[2]; $courseid = $nowcourse['id']; $this->checksmodel->update('`status`='.$zt.'', $this->mwhere.' and `checkid`='.$this->adminid.' and `courseid`='.$courseid.''); if($iszhuanyi == 1){ $this->addcheckname($courseid, $zynameid, $zyname, false, 4); $nowcourse['id'] = 0; } if($ischangenext==1){ $this->addcheckname($nextcourse['id'], $nextnameid, $nextname, true, 1); } $tuirs = array(); if($tuiid > 0)$tuirs = $this->flogmodel->getone($tuiid); if(!$tuirs)$tuiid = 0; if($tuiid>0){ $sm = $this->strappend($sm, '閫鍥炲埌['.$tuirs['name'].'('.$tuirs['checkname'].')]'); $statusname = '閫鍥'; $statuscolor = '#17B2B7'; } $this->checkistui = $tuiid; $logsm = $sm; if($iszhuanyi==0 && $csname)$logsm = $this->strappend($logsm,'鎶勯佺粰锛'.$csname.''); $this->lastlogid = $this->addlog(array( 'courseid' => $nowcourse['id'], 'name' => $nowcourse['name'], 'step' => $nowcourse['step'], 'status' => $zt, 'statusname'=> $statusname, 'color' => $statuscolor, 'explain' => $logsm, 'iszb' => $iszhuanyi, 'qmimg' => $qmimgstr )); if($tuiid > 0){ $this->addcheckname($tuirs['courseid'], $tuirs['checkid'], $tuirs['checkname'], true, 3); $this->updatelogvalid('and `courseid`>0 and `status`=1 and `step`>='.$tuirs['step'].''); } $lzt = $this->rock->repempt($nzt, $zt); $uparr = $nexttodoarr = $nexttodoarc = array(); $bsarr = $this->getflow(); $bsarr['tuiid'] = $tuiid; $nextcheckid = $bsarr['nowcheckid']; if($istongyi){ if($iszhuanyi==0){ $uparr['status']= $this->rock->repempt($nzt,'0'); } $nexttodoarr = array($nextcheckid, 'next', $sm, $statusname); }else{ if($tuiid>0){ $lzt = 23; $nexttodoarr = array($nextcheckid, 'tui', $sm, $statusname); }elseif($zt==2){ $nexttodoarr = array($this->optid, 'nothrough', $sm, $statusname); } $uparr['status'] = $lzt; } $this->flowcheckafter($zt, $sm, $nowcourse); $bsarr['nstatus'] = $lzt; $bsarr['checksm'] = $sm; if(!$this->nowcourse){ $uparr['status'] = $lzt; $nexttodoarc = array($this->optid, 'finish', $sm, ''); } if($uparr){ $this->update($uparr, $this->id); } if(!$this->nowcourse){ $this->flowcheckfinsh($zt); if($istongyi){ $this->checksmodel->delete($this->mwhere); } } $bsarr['status'] = $this->rs['status']; $this->getflowsave($bsarr, true); if($this->db->backsql()){ $bos = ($courseid == arrvalue($this->nowcourse, 'id') && $istongyi); if($nexttodoarr && (!$bos || $iszhuanyi==1))$this->nexttodo($nexttodoarr[0],$nexttodoarr[1],$nexttodoarr[2],$nexttodoarr[3]); if($nexttodoarc)$this->nexttodo($nexttodoarc[0],$nexttodoarc[1],$nexttodoarc[2],$nexttodoarc[3]); } if($iszhuanyi == 1){ $this->gettodosend('bozhuan','', $sm, 0, ''.$this->adminname.'灏哰'.$nowcourse['name'].']杞粰:'.$zyname.''); }else{ if($istongyi)$this->gettodosend('botong', $statusname, $sm, $nowcourse['id']); if($zt==2)$this->gettodosend('bobutong',$statusname, $sm, $nowcourse['id']); if(!$this->nowcourse && $istongyi)$this->gettodosend('bofinish', '', $sm); } if($iszhuanyi==0){ $sm1 = '鍦ㄢ'.$nowcourse['name'].'鈥濆鐞'.$statusname.''; $this->savecsname($csnameid,$csname,$this->adminid,$nowcourse['id'],1, $sm1); } return 'ok'; } public function pushs($receid, $cont, $title='', $params=array()) { return $this->push($receid,'', $cont, $title, 0, $params); } public function getxiangurl($num='', $id=0, $lx='x') { if($num=='')$num = $this->modenum; if($id==0)$id = $this->id; $url = URL; if($lx=='auto')$lx = ($this->ismobile==1)?'x':'p'; if($lx=='x' || $lx=='a')$url = $this->rock->getouturl(); $url = ''.$url.'task.php?a='.$lx.'&num='.$num.'&mid='.$id.''; if(COMPANYNUM)$url.='&dwnum='.COMPANYNUM.''; return $url; } public function getxiangurlx($num='',$id=0){return $this->getxiangurl($num,$id,'x');} public function push($receid, $gname='', $cont='', $title='', $wkal=0, $params=array()) { if(isempt($receid) && $wkal==1)$receid='all'; if(isempt($receid))return false; if(contain(','.$receid.',', ',d1,'))$receid='all'; $modenum = arrvalue($params, 'modenum', $this->modenum); $modename = arrvalue($params, 'modename', $this->modename); $id = (int)arrvalue($params, 'id', $this->id); $moders = arrvalue($params, 'moders'); if(!is_array($moders))$moders = $this->moders; if($gname=='')$gname = $modename; $reim = m('reim'); $url = $this->getxiangurl($modenum, $id, 'p'); $wxurl = $this->getxiangurl($modenum, $id, 'x'); $emurl = $this->getxiangurl($modenum, $id, 'a'); if($id==0){ $url = '';$wxurl = '';$emurl=''; } $url = arrvalue($params, 'url', $url); $wxurl = arrvalue($params, 'wxurl', $wxurl); $emurl = arrvalue($params, 'emurl', $emurl); $slx = 0; $pctx = $moders['pctx']; $mctx = $moders['mctx']; $wxtx = $moders['wxtx']; $ddtx = $moders['ddtx']; $emtx = $moders['emtx']; if($pctx==0 && $mctx==1)$slx=2; if($pctx==1 && $mctx==0)$slx=1; if($pctx==0 && $mctx==0)$slx=3; $this->rs['now_adminname'] = $this->adminname; $this->rs['now_modename'] = $modename; $cont = $this->rock->reparr($cont, $this->rs); $receido= $receid; $receid = $this->adminmodel->gjoins($receid); $uids = m('todo')->addtodo($receid, $modename, $cont, $modenum, $id); if($uids!='' && $moders['type'] != '绯荤粺' && $id > 0)$this->todosmodel->addtotouids($uids, array( 'table' => $moders['table'], 'mid' => $id, 'modename' => $modename, 'modenum' => $modenum, )); $title = $this->rock->reparr($title, $this->rs); $reim->pushagent($uids, $gname, $cont, $title, $url, $wxurl, $slx, ''.$modenum.'|'.$id.''); $this->flowchangetodo($uids, $gname); if(isempt($title))$title = $modename; $this->flowweixinarr=array(); return $receid; } public function nexttodo($nuid, $type, $sm='', $act='') { $cont = ''; $tit = ''; $gname = '娴佺▼寰呭姙'; $summary= $this->getsummary(); if($type=='submit' || $type=='next' || $type == 'cuiban'){ $cont = '浣犳湁['.$this->uname.']鐨刐'.$this->modename.',鍗曞彿:'.$this->sericnum.']闇瑕佸鐞'; if($sm!='')$cont.='锛岃鏄:'.$sm.''; $tit = ''.$this->uname.'鐨'.$this->modename.''; if($type != 'cuiban'){ $txnum = $this->option->getval('sms_txnum'); if(!isempt($txnum)){ $mknum = $this->option->getval('sms_mknum'); if($mknum=='all' || contain(','.$mknum.',',','.$this->modenum.',')){ $wxurl = $this->getxiangurlx(); $barr = c('xinhuapi')->sendsms($nuid, '', $txnum, array( 'modename' => $this->modename, 'sericnum' => $this->sericnum, 'applyname'=> $this->uname, 'deptname' => $this->rs['base_deptname'], ),$wxurl); } } } $type = 'daiban'; } if($type == 'nothrough'){ $cont = '浣犳彁浜'.$this->modename.',鍗曞彿:'.$this->sericnum.']'.$this->adminname.'澶勭悊['.$act.']锛屽師鍥:['.$sm.']'; $gname= '娴佺▼鐢宠'; $tit = ''.$this->modename.'澶勭悊'.$act.''; } if($type == 'finish'){ $cont = '浣犳彁浜ょ殑['.$this->modename.',鍗曞彿:'.$this->sericnum.']宸插叏閮ㄥ鐞嗗畬鎴'; $gname= '娴佺▼鐢宠'; $tit = ''.$this->modename.'鍏ㄩ儴澶勭悊瀹屾垚'; } if($type == 'zhui'){ $cont = ''.$this->adminname.'杩藉姞鍗曟嵁璇存槑['.$this->modename.',鍗曞彿:'.$this->sericnum.']锛岃鏄:['.$sm.']'; } if($type == 'tui'){ $cont = '['.$this->adminname.']閫鍥炲崟鎹甗'.$this->modename.',鍗曞彿:'.$this->sericnum.']鍒颁綘杩欒鍙婃椂澶勭悊锛岃鏄:'.$sm.''; } if($type == 'chao'){ $cont = ''.$this->adminname.''.$sm.'浜嗏'.$this->modename.'鈥'; if(!isempt($summary))$cont.='锛屾憳瑕佲'.$summary.'鈥'; if($this->isflow>0)$cont.='锛屽崟鍙封'.$this->sericnum.'鈥'; $gname= ''; $tit = ''.$this->modename.'鐨勫崟鎹妱閫'; } if($type=='pinglun'){ $cont = ''.$this->adminname.''.$act.'浣犵殑['.$this->modename.']鍗曟嵁锛岃鏄:'.$sm.''; $gname = ''; $tit = ''.$this->modename.'璇勮'; } if($type=='receipt'){ $cont = ''.$this->adminname.''.$act.'['.$this->modename.']鐨勫崟鎹'; if($sm!='')$cont.='锛岃鏄:'.$sm.''; $gname = '鍥炴墽纭'; $tit = ''.$this->modename.'鍥炴墽纭'; } $nbis = $this->flownexttodo($type); if($nbis){ if(is_string($nbis))$cont = $nbis; if(is_array($nbis)){ $tit = arrvalue($nbis, 'title', $tit); $gname = arrvalue($nbis, 'gname', $gname); $cont = arrvalue($nbis, 'cont', $cont); } } if($cont!='')$this->push($nuid, $gname, $cont, $tit); } public function getwxurl($num='') { if($num=='')$num = $this->modenum; $url = $this->rock->getouturl(); $str = ''.$url.'?m=ying&d=we&num='.$num.''; return $str; } public function getweurl($num='') { if($num=='')$num = $this->modenum; $url = $this->rock->getouturl(); $str = ''.$url.'?m=ying&d=we&mnum='.$num.''; return $str; } public function deletebill($sm='', $qxpd=true) { if(getconfig('systype')=='demo')return '婕旂ず璇峰嬁鍒犻櫎'; if($qxpd){ $is = $this->isdeleteqx(); if($is==0)return '鏃犳潈鍒犻櫎'; } if(method_exists($this,'flowdeletebillbefore')){ $bstr = $this->flowdeletebillbefore($sm); if(!isempt($bstr))return $bstr; } $modewhere = "`modenum`='".$this->modenum."' and `mid`=".$this->id.""; $this->flogmodel->delete($this->mwhere); m('reads')->delete($this->mwhere); m('file')->delfiles($this->mtable, $this->id); $tables = $this->moders['tables']; if(!isempt($tables)){ $arrse = explode(',', $tables); foreach($arrse as $arrses)m($arrses)->delete('mid='.$this->id.''); } $this->billmodel->delete($this->mwhere); $this->todosmodel->delete($this->mwhere); $this->checksmodel->delete($this->mwhere); $this->chaomodel->delete($this->mwhere); m('remind')->delete($this->mwhere); m('todo')->delete($this->mwhere); m('todo')->delete($modewhere); m('receipt')->delete($this->mwhere); m('im_history')->delete("`xgurl`='".$this->modenum."|".$this->id."'"); $this->delete($this->id); $this->flowdeletebill($sm); $this->flowzuofeibill($sm); $this->gettodosend('bodel','', $sm); $dels = '鍒犻櫎妯″潡['.$this->modename.']id涓'.$this->id.'鐨勫崟鎹'; $ztss = arrvalue($this->rs,'base_summary'); if(!isempt($ztss))$dels.=',鎽樿['.$ztss.']'; if(!isempt($sm))$dels.=',璇存槑:'.$sm.''; m('log')->addlogs('鍒犻櫎鍗曟嵁', $dels, 3); foreach($this->wherejoin as $num=>$fields){ $this->deletebilljoin($num, "`$fields`='$this->id'", $sm); } return 'ok'; } public function deletebilljoin($num, $where, $sm='') { $flow = m('flow')->initflow($num); $rows = $flow->getall($where); foreach($rows as $k1=>$rs1){ $mid = $rs1['id']; $flow->loaddata($mid, false); $flow->deletebill($sm, false); } } public function zuofeibilljoin($num, $where, $sm='') { $flow = m('flow')->initflow($num); $rows = $flow->getall($where); foreach($rows as $k1=>$rs1){ $mid = $rs1['id']; $flow->loaddata($mid, false); $flow->zuofeibill($sm); } } public function zuofeibill($sm='') { $this->addlog(array( 'explain' => $sm, 'name' => '浣滃簾', 'status' => 1, )); $this->update('`status`=5', $this->id); $zfarr = array( 'status' => 5, 'nstatus' => 5, 'checksm' => '浣滃簾锛'.$sm.'', 'nowcheckid' => '', 'nowcheckname' => '', 'nstatustext' => '浣滃簾', 'updt' => $this->rock->now, ); $this->billmodel->update($zfarr, $this->mwhere); $tables = $this->moders['tables']; if(!isempt($tables)){ $arrse = explode(',', $tables); foreach($arrse as $arrses)m($arrses)->delete('mid='.$this->id.''); } $this->flowzuofeibill($sm); $this->gettodosend('bozuofei','', $sm); foreach($this->wherejoin as $num=>$fields){ $this->zuofeibilljoin($num, "`$fields`='$this->id'", $sm); } return 'ok'; } public function openxiang() { $xiangdata = $btndata = array(); $data = $this->flowrsreplace($this->rs,4); foreach($this->fieldsarra as $k=>$rs){ if($rs['iszs']=='1'){ $xiangdata[] = array( 'name' => $rs['name'], 'fields'=> $rs['fields'], 'value' => $this->rock->repempt(arrvalue($data,$rs['fields'])) ); } } $barr['xiangdata'] = $xiangdata; $btnrows = $this->db->getrows('[Q]flow_menu',"`setid`='$this->modeid' and `status`=1 and `num` like 'open%'",'id,wherestr,name,num,issm,type','`sort`'); foreach($btnrows as $k=>$rs){ $wherestr = $rs['wherestr']; $bo = false; if(isempt($wherestr)){ $bo = true; }else{ $ewet = $this->wheremodel->getstrwhere($this->rock->jm->base64decode($wherestr)); $ewet = str_replace(array('{asqom}','1=2 and'),'', $ewet); $tos = $this->rows("`id`='$this->id' and $ewet"); if($tos>0)$bo = true; } if($bo)$btndata[] = array( 'id' => $rs['id'], 'name' => $rs['name'], 'issm' => $rs['issm'], ); } $barr['btndata'] = $btndata; if(method_exists($this,'flowopenxiang')){ $lbarr = $this->flowopenxiang($data,$xiangdata,$btndata); if(is_array($lbarr))foreach($lbarr as $k=>$v)$barr[$k]=$v; } return $barr; } public function smschuiban($sm='') { if($this->isflow>0 && $this->adminid==$this->uid){ $farr = $this->getflow(true); $nowcheckid = $farr['nowcheckid']; $tplnum = $this->option->getval('sms_cbnum','defnum'); $wxurl = $this->getxiangurlx(); $barr = c('xinhuapi')->sendsms($nowcheckid, '', $tplnum, array( 'modename' => $this->modename, 'sericnum' => $this->sericnum, 'applyname'=> $this->uname, 'deptname' => $this->rs['base_deptname'], ),$wxurl, false, false); if(!$barr['success'])return $barr['msg']; $this->addlog(array( 'explain' => $sm, 'name' => '鐭俊鍌姙', 'status' => 1, )); } return 'ok'; } public function addschedule($sm='') { $txdt = $this->rock->post('txdt'); if(isempt($sm))return '璇存槑涓嶈兘涓虹┖'; if(isempt($txdt))return '鎻愰啋鏃堕棿涓嶈兘涓虹┖'; $barr['title'] = $sm; $barr['startdt'] = $txdt; $barr['uid'] = $this->adminid; $barr['optdt'] = $this->rock->now; $barr['optname']= $this->adminname; $barr['txsj'] = 1; m('schedule')->insert($barr); return 'ok'; } public function getoptmenu($flx=0) { $where = ''; if($flx==1)$where='and `iszs`=1'; $rows = $this->db->getrows('[Q]flow_menu',"`setid`='$this->modeid' ".$where." and `status`=1",'id,wherestr,name,statuscolor,statusvalue,num,islog,issm,type,upgcont','`sort`'); $arr = array(); $bfrom = $this->rock->post('bfrom'); if($flx==0)$arr[] = array('lx'=>0,'name'=>$this->rock->jm->base64decode('5pyq562!5o6I5peg5rOV5pi!56S66I!c5Y2V5aaC5bey562!5o6I5Y675Y2H57qn'),'optmenuid'=>0,'color'=>'red'); if($flx==1)return $arr; $status = (int)arrvalue($this->rs,'status','0'); $isturn = (int)arrvalue($this->rs, 'isturn','0'); $ismy = ($this->uid == $this->adminid or $this->optid == $this->adminid); $isreadbo = $this->isreadqx(1); if($this->isflow>0 && $isturn==1){ } if($status != 5 && arrvalue($this->moders,'ispl','1')=='1' && $isreadbo){ $arr[] = array('name'=>'璇勮','lx'=>15,'nup'=>1,'issm'=>1,'optmenuid'=>-15); } if($ismy && arrvalue($this->moders,'ishz')=='1' && $status==1){ $smcont = $this->getsummary(); $mid = (int)m('receipt')->getmou('id',"`uid`='$this->adminid' and `modenum`='$this->modenum' and `mid`='$this->id'"); $namess = '鍥炴墽纭璁剧疆'; if($mid>0)$namess = '鍥炴墽纭缂栬緫'; $arr[] = array('name'=>$namess,'djmid'=>$mid,'optnum'=>'receipt','lx'=>'18','optmenuid'=>-18,'modename'=>$this->modename,'smcont'=>$smcont); } if($isreadbo && arrvalue($this->moders,'istxset','1')=='1' && $this->modenum != 'remind' && !in_array($status, array(2,5))){ $smcont = ''.$this->modename.'锛'.$this->getsummary(); $mid = (int)m('remind')->getmou('id',"`uid`='$this->adminid' and `modenum`='$this->modenum' and `mid`='$this->id'"); $namess = '锛嬫坊鍔犳彁閱掕缃'; if($mid>0)$namess = '鎻愰啋璁剧疆缂栬緫'; $arr[] = array('name'=>$namess,'djmid'=>$mid,'smcont'=>$smcont,'issm'=>1,'optnum'=>'tixing','lx'=>'14','optmenuid'=>-14); } if($this->iseditqx()==1 && $isreadbo){ $arr[] = array('name'=>'缂栬緫','optnum'=>'edit','lx'=>'11','optmenuid'=>-11); } if($this->isdeleteqx()==1){ $arr[] = array('name'=>'鍒犻櫎','color'=>'red','optnum'=>'del','nup'=>1,'issm'=>0,'islog'=>0,'statusvalue'=>9,'lx'=>'9','optmenuid'=>-9); } if(method_exists($this,'flowgetoptmenuarr')){ $lbarr = $this->flowgetoptmenuarr($flx); if(is_array($lbarr))foreach($lbarr as $k=>$v)$arr[]=$v; } return $arr; } public function optmenu($czid, $zt, $sm='') { $msg = ''; $cname = $this->rock->post('changename'); $cnameid = $this->rock->post('changenameid'); $cdate = $this->rock->post('changedate'); $darr = array( 'cname' => $cname, 'cnameid' => $cnameid, 'cdate' => $cdate, 'sm' => $sm, ); if($czid==-9){ $msg = $this->deletebill($sm); }else if($czid==-10){ $msg = $this->check($zt, $sm); if(contain($msg,'鎴愬姛'))$msg = 'ok'; }else if($czid==-12){ $this->zhuijiaexplain($sm); }else if($czid==-13){ $this->chuiban($sm); }else if($czid==-14){ $msg = $this->addschedule($sm); }else if($czid==-15){ $actname = $this->rock->post('name'); $this->addlog(array( 'explain' => $sm, 'name' => $actname, )); $uids = arrvalue($this->rs,'uid','0'); if(isset($this->rs['optid']))$uids.=','.$this->rs['optid'].''; $this->nexttodo($uids, 'pinglun', $sm, $actname); $this->gettodosend('boping','', $sm); }else if($czid==-16){ $this->zuofeibill($sm); }else if($czid==-17){ $msg = $this->smschuiban($sm); }else if($czid==-18){ $msg = $this->jiankongzb($darr); }else{ } if($msg=='')$msg='ok'; return $msg; } public function jiankongzb($darr) { return $this->bd6('5peg5L!h5ZG8562!5o6I5peg5q2k5Yqf6IO9'); } public function billwhere($uid, $lx) { $arr['table'] = $this->mtable; $arr['tableleft'] = ''; $arr['fields'] = ''; $arr['order'] = ''; $arr['group'] = ''; $arr['keywhere']= ''; $arr['asqom'] = ''; $arr['onlywhere'] = ''; $arr['companywhere']= ''; $this->atype = $lx; $nas = $this->flowbillwhere($uid, $lx); $inwhere = ''; if(substr($lx,0,5)=='grant'){ $inwhere = $this->viewmodel->viewwhere($this->moders, $this->adminid, $this->flowviewufieds, 1); } if($lx=='chaos'){ $inwhere = "and {asqom}`id` in(select `mid` from `[Q]flow_chao` where `table`='{$this->mtable}' and ".$this->rock->dbinstr('csnameid', $this->adminid).")"; } if($lx=='mychuli'){ $inwhere = "and {asqom}`id` in(select bill.`mid` from `[Q]flow_bill` as `bill` where bill.`modeid`='{$this->modeid}' and ".$this->rock->dbinstr('bill.`allcheckid`', $this->adminid).")"; } $_wehs = ''; if(is_array($nas)){ if(isset($nas['where']))$_wehs = $nas['where']; $ftears = explode(',','asqom,order,fields,fieldsleft,table,group,companywhere,onlywhere,keywhere,tableleft'); foreach($ftears as $fid)if(isset($nas[$fid]))$arr[$fid] = $nas[$fid]; }else{ $_wehs = $nas; } $fwhere = $this->getflowwhere($uid, $lx); $path = ''.P.'/flow/page/rock_page_'.$this->modenum.'.php'; $table = $arr['table']; $temsao = 0; if(!contain($table, ' ') && $this->isflow>0){ $arr['table'] = '`[Q]'.$this->mtable.'` a left join `[Q]flow_bill` b on a.`id`=b.`mid` and b.`table`=\''.$this->mtable.'\''; if(!isempt($arr['tableleft']))$arr['table'].=' left join '.$arr['tableleft'].''; $arr['asqom'] = 'a.'; $arr['fields']= 'a.*,b.`uname` as base_name,b.`udeptname` as base_deptname,b.`sericnum`,b.`nowcheckname`'; if(isset($arr['fieldsleft']) && $arr['fieldsleft'])$arr['fields'].=','.$arr['fieldsleft'].''; if($arr['order']=='')$arr['order'] = 'a.`optdt` desc'; $temsao = 1; if($this->defaultorder){ $defa = explode(',', $this->defaultorder); $desc = arrvalue($defa, 1, 'desc'); $arr['order'] = 'a.`'.$defa[0].'` '.$desc.''; } } if(isempt($arr['order'])){ $arr['order'] = '{asqom}`id` desc'; if($this->defaultorder){ $defa = explode(',', $this->defaultorder); $desc = arrvalue($defa, 1, 'desc'); $arr['order'] = '{asqom}`'.$defa[0].'` '.$desc.''; } } if(isempt($fwhere) && isempt($inwhere) && $this->moders['isscl']==1){ $fwhere = 'and 1=2'; } $where = $inwhere; $wherestr = $this->moders['where']; if(!isempt($wherestr)){ $wherestr = $this->rock->covexec($wherestr); $where .= ' and {asqom}'.$wherestr; } if($fwhere!='')$where .= ' '.$fwhere; if($_wehs!='')$where .= ' '.$_wehs; $highwhere = $this->gethighwhere(); $allfields = array(); $key = $this->rock->post('key'); $pnum = $this->rock->post('pnum'); $status = $this->rock->post('keystatus'); $ztfields = arrvalue($nas, 'ztfields', 'status'); $xhlikea = array('like','=','>=','<=', 'not like'); $xhfields = $this->rock->post('xhfields'); $xhlike = (int)$this->rock->post('xhlike','0'); $xhkeygj = $this->rock->jm->base64decode($this->rock->post('xhkeygj')); if(!isempt($xhkeygj) && $xhfields){ if(substr($xhfields,0,2)=='zb'){ $xu = substr($xhfields,2,1); $zbasr = explode(',', $this->moders['tables']); $zbts = arrvalue($zbasr,$xu); $xhfields = substr($xhfields,4); $wher1 = "`$xhfields` ".$xhlikea[$xhlike].""; if($xhlike==0 || $xhlike==4)$wher1.=" '%".$xhkeygj."%'"; if($xhlike==1 || $xhlike==2 || $xhlike==3)$wher1.=" '$xhkeygj'"; $wher1 = " and {asqom}`id` in(select `mid` from `[Q]".$zbts."` where ".$wher1.")"; $where.= $wher1; }else{ $wher1 = " and {asqom}`$xhfields` ".$xhlikea[$xhlike].""; if($xhlike==0 || $xhlike==4)$wher1.=" '%".$xhkeygj."%'"; if($xhlike==1 || $xhlike==2 || $xhlike==3)$wher1.=" '$xhkeygj'"; $where.= $wher1; } } if(!isempt($status))$where .= ' and {asqom}`'.$ztfields.'`='.$status.''; if(!isempt($key) && isempt($arr['keywhere'])){ $check = c('check'); $allfields = $this->db->getallfields('[Q]'.$this->mtable.''); $_kearr = array(); if($check->isdate($key) || $check->ismonth($key)){ $skeay = array('date','datetime','month'); foreach($this->fieldsarra as $k=>$rs){ $flx = $rs['fieldstype']; $fid = $rs['fields']; if($rs['issou']==1 && in_array($flx, $skeay) && in_array($fid, $allfields)){ if($check->isdate($key)){ if($flx=='date')$_kearr[] = "{asqom}`".$fid."`='$key'"; if($flx=='datetime')$_kearr[] = "{asqom}`".$fid."` like '$key%'"; if($flx=='month')$_kearr[] = "{asqom}`".$fid."`='".substr($key,0,7)."'"; if($temsao==1){ $_kearr[] = "b.`applydt`='$key'"; } } if($check->ismonth($key)){ if($flx=='month'){ $_kearr[] = "{asqom}`".$fid."`='$key'"; }else{ $_kearr[] = "{asqom}`".$fid."` like '$key%'"; } if($temsao==1){ $_kearr[] = "b.`applydt` like '$key%'"; } } } } } if(!$_kearr){ $skeay = array('text','textarea','htmlediter','changeuser','changeusercheck','changedept','changedeptusercheck','selectdatafalse','selectdatatrue','num'); $xiakk = array('rockcombo','select'); foreach($this->fieldsarra as $k=>$rs){ if($rs['issou']==1 && in_array($rs['fields'], $allfields) && substr($rs['fields'],-2) != 'dt'){ if(in_array($rs['fieldstype'], $skeay))$_kearr[] = "{asqom}`".$rs['fields']."` like '%".$key."%'"; } } if($temsao==1){ $_kearr[] = "b.`uname` like '%".$key."%'"; $_kearr[] = "b.`udeptname` like '%".$key."%'"; $_kearr[] = "b.`sericnum` = '$key'"; $_kearr[] = "b.`nowcheckname` = '$key'"; } if(isset($nas['orlikefields'])){ $owhee = explode(',', $nas['orlikefields']); foreach($owhee as $owhees){ $_owhees = explode('@', $owhees); $sle = arrvalue($_owhees, 1); if($sle=='1'){ $_kearr[] = "".$_owhees[0]." ='$key'"; }else{ $_kearr[] = "".$_owhees[0]." like '%".$key."%'"; } } } } if($_kearr && $arr['onlywhere']=='')$arr['keywhere'] = "and (".join(' or ',$_kearr).")"; } if(!isempt($arr['companywhere']) && getconfig('companymode'))$where .= ' '.$arr['companywhere']; if(!isempt($arr['onlywhere']))$where .= ' '.$arr['onlywhere']; if(!isempt($arr['keywhere']))$where .= ' '.$arr['keywhere']; if($highwhere!='')$where .= ' '.$highwhere; $where = str_replace('{asqom}', $arr['asqom'], $where); $arr['order'] = str_replace('{asqom}', $arr['asqom'], $arr['order']); $where = str_replace('[A]', $arr['asqom'], $where); $fields = $arr['fields']; if($this->flowfieldstype==1 && (isempt($fields) || $fields=='*') && $this->moders['isscl']==1){ if(!$allfields)$allfields = $this->db->getallfields('[Q]'.$this->mtable.''); $fields = '{asqom}`id`'; $odlvs = $this->option->getval('columns_'.$this->modenum.'_'.$pnum.''); if(isempt($odlvs)){ foreach($this->fieldsarra as $k=>$rs){ if($rs['islb']==1 && in_array($rs['fields'],$allfields)){ $fields.=',{asqom}`'.$rs['fields'].'`'; } } }else{ $odlvsa = explode(',', $odlvs); foreach($odlvsa as $odlvs1){ if(in_array($odlvs1, $allfields)){ $fields.=',{asqom}`'.$odlvs1.'`'; } } } if($this->isflow>0){ if(!contain($fields,'`status`'))$fields.=',{asqom}`status`'; } $fields = str_replace('{asqom}', $arr['asqom'], $fields); $arr['fields'] = $fields; } $fields = $arr['fields']; if(!isempt($fields) && $fields!='*'){ $fieldsa = explode(',', $fields); $fieldss = ''; foreach($fieldsa as $fieldsas){ if(contain($fieldsas,'`') || contain($fieldsas,'.') || contain($fieldsas,' ') || contain($fieldsas,'(')){ $fieldss.=','.$fieldsas.''; }else{ $fieldss.=',`'.$fieldsas.'`'; } } $arr['fields'] = substr($fieldss, 1); } $arr['where'] = str_replace('{asqom}','', $where); return $arr; } public function gethighwhere() { $s = ''; return $s; } public function getflowwhere($uid, $num) { $where = ''; $rs = $this->wheremodel->getone("`setid`='$this->modeid' and `num`='$num'"); if(!$rs)return $where; $where = $this->wheremodel->getwherestr($rs, $uid, $this->flowviewufieds); return $where; } public function getflowrows($uid, $lx, $limit=5, $swher='') { $nas = $this->billwhere($uid, $lx); $table = $nas['table']; if(!contain($table,' '))$table='[Q]'.$table.''; if(isempt($nas['fields']))$nas['fields'] = '*'; $swher = str_replace('{asqom}',$nas['asqom'], $swher); $where = '1=1 '.$nas['where'].' '.$swher.''; if($limit==0)return $this->db->rows($table, $where ); $rows = $this->db->getrows($table, $where , $nas['fields'], $nas['order'], $limit); foreach($rows as $k=>$rs){ $rows[$k] = $this->flowrsreplace($rs, 2); } return $rows; } public function gettodorows($whereid) { $where = $this->wheremodel->getwherestr($whereid, $this->adminid, $this->flowviewufieds); $wherestr = $this->moders['where']; if(!isempt($wherestr)){ $wherestr = $this->rock->covexec($wherestr); $where .= ' and '.$wherestr; } $where = str_replace('{asqom}','', $where); $rows = $this->getall('2=2 '.$where.''); foreach($rows as $k=>$rs){ $rows[$k] = $this->flowrsreplace($rs, 1); } return $rows; } public function printexecl($event) { $arr['moders'] = $this->moders; $arr['fields'] = $this->getfields(); $cell = 1; foreach($arr['fields'] as $k=>$v)$cell++; $arr['cell'] = $cell; $where = '1=1'; $str1 = $this->moders['where']; if(!isempt($str1)){ $str1 = $this->rock->covexec($str1); $where = $str1; } $vwhere = $this->viewmodel->viewwhere($this->moders, $this->adminid); $rows = $this->getrows(''.$where.' '.$vwhere.'', '*', 'id desc', 100); $arr['rows'] = $this->flowprintrows($rows); $arr['count'] = $this->db->count; return $arr; } public function getsuballdata($lx=0, $mid=0) { $tabless = $this->moders['tables']; $subdata = array(); if($mid==0)$mid = $this->id; if(!isempt($tabless)){ $tablessa = explode(',', $tabless); $namessa = explode(',', $this->moders['names']); $tabless1 = '['.str_replace(',','],[', $tabless).']'; foreach($tablessa as $zbx=>$tables){ $cis = substr_count($tabless1, '['.$tables.']'); $whes = ''; if($cis>1)$whes=' and `sslx`='.$zbx.''; $data = m($tables)->getall('mid='.$mid.''.$whes.'','*','`sort`'); $data = $this->flowsubdata($data, $lx, $zbx); if($lx == 0){ $subdata['subdata'.$zbx.''] = $data; }else{ $subdata[$zbx] = array( 'data' => $data, 'fields'=> 'subdata'.$zbx.'', 'name' => $this->rock->arrvalue($namessa, $zbx) ); } } } return $subdata; } private $gettodolistarr = null; public function gettodolist($act) { if(is_array($act))return $act; if($this->gettodolistarr === null){ $rows = $this->todomodel->getrows("`setid`='".$this->modeid."' and `status`=1"); $barr = array(); foreach($rows as $k=>$rs){ $whereid = (int)$rs['whereid']; if($whereid > 0){ $bo = $this->wheremanzhu($whereid); if(!$bo)continue; } $barr[] = $rs; } $this->gettodolistarr = $barr; }else{ $barr = $this->gettodolistarr; } $garr = array(); if($barr)foreach($barr as $k=>$rs){ if(arrvalue($rs,$act)=='1')$garr[] = $rs; } return $garr; } public function gettodosend($act, $actname='',$sm='', $courseid=0, $conts='') { $barr = $this->gettodolist($act); if(!$barr)return; $changearr = array('boturn'=>'鎻愪氦','boedit'=>'缂栬緫','bozhuan'=>'杞姙','bochang'=>'淇敼瀛楁','bodel'=>'鍒犻櫎','bozuofei'=>'浣滃簾','botong'=>'澶勭悊鍚屾剰','bobutong'=>'澶勭悊涓嶅悓鎰','bofinish'=>'鍏ㄩ儴澶勭悊瀹屾垚','bozhui'=>'杩藉姞璇存槑','boping'=>'璇勮','bohuiz'=>'鍥炴墽纭'); if($actname=='' && is_string($act))$actname = arrvalue($changearr, $act); if(isempt($actname))return; $cheo = c('check'); foreach($barr as $k=>$rs){ $receid = $rs['receid']; if($act=='botong' || $act=='bobutong'){ $changewe = $rs['changecourse']; if(!isempt($changewe) && !contain(','.$changewe.',',','.$courseid.','))continue; } if($rs['toturn']==1)$receid.=','.$this->uid.''; if(arrvalue($rs,'tosuper')=='1'){ $supar = $this->adminmodel->getsuperman($this->uid); $shnej = arrvalue($supar, 0); if(!isempt($shnej))$receid.=','.$shnej.''; } if($rs['tocourse']==1 && $this->billrs){ $allcheckid = $this->billrs['allcheckid']; if(!isempt($allcheckid))$receid.=','.$allcheckid.''; } $todofields = $rs['todofields']; if(!isempt($todofields)){ $toad = explode(',', $todofields); foreach($toad as $toads){ $ttv = arrvalue($this->rs, $toads); if(!isempt($ttv) && $cheo->isinnumber($ttv))$receid.=','.$ttv.''; } } if(isempt($receid))continue; if(substr($receid,0,1)==',')$receid = substr($receid, 1); $cont = $rs['summary']; if(isempt($cont))$cont = $conts; if(isempt($cont)){ $cont = ''.$this->adminname.''.$actname.'['.$this->modename.',鍗曞彿:'.$this->sericnum.']'; if($sm!='')$cont.=',璇存槑:'.$sm.''; } $this->push($receid, '', $cont, $this->rock->repempt($rs['name'])); } } public function numtodosend($num, $actname='',$sm='') { $rows = $this->todomodel->getrows("`setid`='".$this->modeid."' and `num`='$num' and `status`=1"); if(!$rows)return; $this->gettodosend($rows, $actname, $sm); } public function flowtotal($fields='', $type='') { if($fields=='')$fields = $this->rock->post('total_fields'); if($type=='')$type = $this->rock->post('total_type','jls'); $typea = explode('|', $type); $typefields = ''; $type = $typea[0]; $typefields = arrvalue($typea, 1); $rowa = array(); $rowa[] = array( 'name' => '鏆傛棤鏁版嵁', 'value' => 0, 'bili' => '' ); $tofiels= 'count(1)'; if($type=='sum')$tofiels = 'sum([A]`'.$typefields.'`)'; if($type=='avg')$tofiels = 'avg([A]`'.$typefields.'`)'; $atype = $this->rock->post('atype'); $table = '[Q]'.$this->mtable.''; $narr = $this->billwhere($this->adminid, $atype); $where = $narr['where']; $table = $narr['table']; if(!contain($table,' '))$table = '[Q]'.$table.''; $gwhere = $this->rock->post('where'); if(!isempt($gwhere)){ $gwhere = $this->rock->jm->uncrypt($this->rock->iconvsql($gwhere)); $where .= ' '.$gwhere.''; } $sql = 'select '.$fields.' as `name`,'.$tofiels.' as value from '.$table.' where 1=1 '.$where.' group by '.$fields.''; $sql = str_replace('[A]', $narr['asqom'], $sql); $rows = $this->db->getall($sql); $total = 0; if($rows){ foreach($rows as $k=>$rs)$total+=floatval($rs['value']); if($total>0)foreach($rows as $k=>$rs){ $rows[$k]['bili'] = $this->rock->number($rs['value']*100/$total).'%'; } if($type!='avg' && count($rows)>1)$rows[] = array('name' => '鍚堣','value' => $total,'bili' => ''); }else{ $rows = $rowa; } return $rows; } public function receiptcheck($hid, $sm) { return 'ok'; } public function getrowstable($atype, $where, $limit=100) { $rows = $this->getflowrows($this->adminid,$atype,$limit,$where); $headstr = '@xuhaos,,center'; foreach($this->fieldsarra as $k=>$rs){ if($rs['islb']==1 && $rs['iszb']=='0') $headstr.='@'.$rs['fields'].','.$rs['name'].''; } if($this->isflow>0){ $headstr.='@statustext,鐘舵'; if(is_array($rows))foreach($rows as $k=>$rs){ $rows[$k]['statustext'] = $this->getstatusstr($rs); } } $cont = c('html')->createrows($rows, substr($headstr, 1),'#cccccc','noborder'); return $cont; } public function viewjinfields($rows) { if(!$rows)return $rows; return $rows; } public function daochusubtable($rows) { return $rows; } } \ No newline at end of file diff --git a/webmain/model/flow/planmModel.php b/webmain/model/flow/planmModel.php index a5746fb..c598570 100644 --- a/webmain/model/flow/planmModel.php +++ b/webmain/model/flow/planmModel.php @@ -167,7 +167,7 @@ class flow_planmClassModel extends flowModel public function getwwctotals($uid) { $where = m('admin')->getjoinstr('runrenid', $uid,0,1); - $where = "`status`=1 and `state`<>1 and `startdt`<'{$this->rock->now}' $where"; + $where = "`status`=1 and `state`<>1 and `startdt`<'{$this->rock->now}' and `type`=0 $where"; return m('planm')->rows($where); } } \ No newline at end of file diff --git a/webmain/model/flow/scheduleModel.php b/webmain/model/flow/scheduleModel.php index 3a22e6b..4a64cf0 100644 --- a/webmain/model/flow/scheduleModel.php +++ b/webmain/model/flow/scheduleModel.php @@ -36,7 +36,7 @@ class flow_scheduleClassModel extends flowModel $rate = $rs['rate']; if(isset($this->ratearr[$rate])){ if($rate=='w')$rate='姣忓懆'.$rs['rateval'].''; - if($rate=='d')$rate='姣忓ぉ'; + if($rate=='d')$rate='姣'.$rs['rateval'].'澶'; if($rate=='m')$rate='姣忔湀'.$rs['rateval'].'鍙'; $rs['rate'] = $rate; } diff --git a/webmain/model/flowbillModel.php b/webmain/model/flowbillModel.php index 6b1da71..00e70b4 100644 --- a/webmain/model/flowbillModel.php +++ b/webmain/model/flowbillModel.php @@ -88,15 +88,18 @@ class flowbillClassModel extends Model //鎶勯 if($lx=='flow_chaos'){ $where ='1=2'; - $crows = $this->db->getall("select * from `[Q]flow_chao` where ".$this->rock->dbinstr('csnameid', $uid).""); + $where1= $this->rock->dbinstr('csnameid', $uid); + if($modeid>0)$where1.=' and `modeid`='.$modeid.''; + $crows = $this->db->getall("select * from `[Q]flow_chao` where $where1"); if($crows){ $modeids = ''; - $mids = ''; + $modeidsa= array(); foreach($crows as $k1=>$rs1){ $modeids.=','.$rs1['modeid'].''; - $mids.=','.$rs1['mid'].''; + $modeidsa[$rs1['modeid']][] = $rs1['mid']; } - $where = "`isturn`=1 and `modeid` in(".substr($modeids,1).") and `mid` in(".substr($mids,1).")"; + foreach($modeidsa as $mkid=>$mids)$wherea[]='(`modeid` = '.$mkid.' and `mid` in('.join(',', $mids).'))'; + $where = '`isturn`=1 and ( '.join(' or ', $wherea).' )'; } } diff --git a/webmain/model/modeModel.php b/webmain/model/modeModel.php index 78eda17..3634a5d 100644 --- a/webmain/model/modeModel.php +++ b/webmain/model/modeModel.php @@ -81,8 +81,8 @@ class modeClassModel extends Model $farr[] = array('name'=>arrvalue($chufarr, 'base_sericnum', '鍗曞彿'),'fields'=>'sericnum'); $farrs = m('flow_element')->getall("`mid`='$modeid'",'`fields`,`name`,`fieldstype`,`ispx`,`isalign`,`iszb`,`islb`,`issou`,`data`','`iszb`,`sort`'); $inpub = c('input'); - $zbarr = array(); - $zbnamea = explode(',', $mors['names']); + $zbarr = $zbnamea = array(); + if(!isempt($mors['names']))$zbnamea = explode(',', $mors['names']); foreach($farrs as $k=>$rs){ if($glx==1 && $rs['issou']=='1' && ($rs['fieldstype']=='select' || $rs['fieldstype']=='rockcombo')){ $rs['store'] =$inpub->getdatastore($rs['fieldstype'],$inrs,$rs['data']); diff --git a/webmain/model/reimModel.php b/webmain/model/reimModel.php index 026640b..6da7d57 100644 --- a/webmain/model/reimModel.php +++ b/webmain/model/reimModel.php @@ -1075,6 +1075,7 @@ class reimClassModel extends Model }else if(in_array($rs['cfrom'], array('nppandroid','nppios'))){//2019-11-25鏈鏂版柊app $nestr = ''.$rs['token'].'|'.$rs['web'].'|'.$_uid.'|'; if(contain($rs['web'],'huawei') && !contain($rs['ip'],'.'))$nestr.=''.$rs['ip'].''; + if(contain($rs['web'],'xiaomi'))$nestr.=''.$rs['pushtoken'].''; $alias2019[] = $nestr; $uid2019[] = $_uid; }else if(substr($_web,0,4)=='app_'){ diff --git a/webmain/model/scheduleModel.php b/webmain/model/scheduleModel.php index 17699d1..b80db32 100644 --- a/webmain/model/scheduleModel.php +++ b/webmain/model/scheduleModel.php @@ -55,7 +55,12 @@ class scheduleClassModel extends Model $dts = $rs['time']; $time = ''; if($rate=='d'){ + $pinv = $rs['rateval']; + if(isempt($pinv))$pinv = 1; + $pinv = (int)($pinv); + $jgsj = $this->dtobj->datediff('d',$rs['startdt'], $dt); $time = ''.$dt.' '.$dts[3].':'.$dts[4].':00'; + if($pinv>1 && $jgsj % $pinv!=0)$time=''; }else if($rate=='m'){ if(contain($ratev,','.$_d.',')){ $time = ''.$dt.' '.$dts[3].':'.$dts[4].':00'; @@ -73,6 +78,7 @@ class scheduleClassModel extends Model 'title' => $rs['title'], 'optname'=>$rs['optname'], 'receid' =>$rs['receid'], + 'explain' =>$rs['explain'], 'txsj' =>$rs['txsj'], 'isdai' =>arrvalue($rs, 'isdai'), 'week' =>$this->dtobj->cnweek($dt), @@ -116,7 +122,11 @@ class scheduleClassModel extends Model if(!isempt($rs['receid'])){ $receid = 'u'.$receid.','.$rs['receid'].''; } - if($rs['txsj']=='1')$flow->push($receid, '', $rs['title'], '鏃ョ▼鎻愰啋'); + if($rs['txsj']=='1'){ + $cont = '绫诲瀷锛氭棩绋嬫彁閱抃n璁颁簨浜猴細'.$rs['optname'].'\n鏃堕棿锛'.$rs['time'].''; + if(!isempt($rs['explain']))$cont.='\n璇存槑锛'.$rs['explain'].''; + $flow->push($receid, '', $cont, ''.$rs['title'].''); + } //鍐欏叆鍒版棩绋嬪緟鍔為噷 $this->insertdaiban($rs); diff --git a/webmain/model/taskModel.php b/webmain/model/taskModel.php index 73aef7e..cce2aaa 100644 --- a/webmain/model/taskModel.php +++ b/webmain/model/taskModel.php @@ -262,7 +262,11 @@ class taskClassModel extends Model $barr = c('rockqueue')->push($url, array('rtype'=>'queue','dwnum'=>'dev','nolog'=>'1','runtime'=>$runtime), $runtime, $len); if(!COMPANYNUM && getconfig('platdwnum')){ $creaar = m('company')->getall('`iscreate`=1'); - foreach($creaar as $k=>$rs)$barr = c('rockqueue')->push($url, array('dwnum'=>$rs['num'],'nolog'=>'1','runtime'=>$runtime), $runtime, $len+1+$k); + foreach($creaar as $k=>$rs){ + $url1 = $url; + if(substr($url,0,4)=='http' && !isempt($rs['yuming']))$url1 = $this->tihuanurl($url1, $rs['yuming']); + $barr = c('rockqueue')->push($url1, array('dwnum'=>$rs['num'],'nolog'=>'1','runtime'=>$runtime), $runtime, $len+1+$k); + } } }else{ $url = ''.$turl.'task.php?m=runt&a=getlist'; @@ -272,6 +276,14 @@ class taskClassModel extends Model } return $barr; } + private function tihuanurl($url1, $yj) + { + $str = str_replace('/','@',str_replace('//', '@', $url1)); + $urla = explode('@', $str); + $nhur = $urla[1]; + $url1 = str_replace('/'.$nhur.'/', '/'.$yj.'/', $url1); + return $url1; + } /** * 寮鍚鍒掍换鍔(鑷繁鏈嶅姟绔) diff --git a/webmain/system/schedule/rock_schedule_calendar.php b/webmain/system/schedule/rock_schedule_calendar.php index 53e338a..e37aec7 100644 --- a/webmain/system/schedule/rock_schedule_calendar.php +++ b/webmain/system/schedule/rock_schedule_calendar.php @@ -26,7 +26,7 @@ $(document).ready(function(){ },'json'); }, guanli:function(){ - addtabs({num:'guanlieschedule',url:'{dir},{mode},guan',name:'鏃ョ▼绠$悊'}); + addtabs({num:'guanlieschedule',url:'flow,page,schedule,atype=my',name:'鏃ョ▼绠$悊'}); }, ricdaibn:function(){ addtabs({num:'scheduld',url:'flow,page,scheduld,atype=my',name:'鏃ョ▼寰呭姙'}); diff --git a/webmain/task/api/indexAction.php b/webmain/task/api/indexAction.php index f6fa5a6..fe18536 100644 --- a/webmain/task/api/indexAction.php +++ b/webmain/task/api/indexAction.php @@ -122,7 +122,9 @@ class indexClassAction extends apiAction { $hwtoken = $this->get('hwtoken'); $pushtoken = $this->get('pushtoken'); + $appver = $this->get('appversion'); $ispush = (int)$this->get('ispush','0'); + if($appver)$pushtoken.='_'.$appver.''; $uarr['ispush'] = $ispush; $uarr['pushtoken'] = $pushtoken; $uarr['moddt'] = $this->now;