소스 검색

会议第三方接口联动

q 1 년 전
부모
커밋
c4015def2f

+ 2 - 1
.gitignore

@@ -3,4 +3,5 @@
 .idea
 nginx.htaccess
 .htaccess
-base_db.gz
+base_db.gz
+/webmain/webmainConfig.php~Stashed changes

+ 0 - 1
.user.ini

@@ -1 +0,0 @@
-open_basedir=/www/wwwroot/zq.oa.nxjiewei.com/:/tmp/

+ 84 - 0
include/Model.php

@@ -120,6 +120,46 @@ abstract class Model{
 		}
 		return $this->db->insert($this->table, substr($name, 1),'values '.$values.'', true);
 	}
+
+    /*
+     * $colArr 字段名
+     * $valArr 插入的值
+     * $checkColArr 检查用的字段
+     * */
+    public function insertOrUpdate($valArr, $checkColArr){
+
+        if ($valArr == null) {
+            return '错误:数据有误!';
+        }
+
+        $sqlStrFirst = "INSERT INTO `$this->table` (";
+        $sqlStr = "";
+        for ($i = 0; $i < count($valArr); $i++) {
+            $valArrChild = $valArr[$i];
+            $j = 0;
+            $sqlStr .= "(";
+            foreach ($valArrChild as $key=>$val) {
+                if ($i == 0) {
+                    $sqlStrFirst .= "`$key`";
+                    $sqlStrFirst .= $j != count($valArrChild)-1 ? ',' : ') VALUES ';
+                }
+                $val = $valArrChild[$key];
+                $sqlStr .= "'".$val."'";
+                $sqlStr .= $j++ == count($valArrChild)-1 ? ' ' : ',';
+            }
+            $sqlStr .= ")";
+            $sqlStr .= $i+1 == count($valArr) ? ' ' : ',';
+        }
+        $sqlStrFirst .= $sqlStr;
+        $sqlStrFirst .= "ON DUPLICATE KEY UPDATE ";
+        $sqlLast = "";
+        for ($k = 0; $k < count($checkColArr); $k++) {
+            $sqlLast.="`$checkColArr[$k]` = values(`$checkColArr[$k]`)";
+            $sqlLast .= $k+1 == count($checkColArr) ? ';' : ',';
+        }
+        $sqlStr = $sqlStrFirst.$sqlLast;
+        return $this->db->query($sqlStr);
+    }
 	
 	public function getwhere($where='')
 	{
@@ -186,6 +226,50 @@ abstract class Model{
 		$this->tempxinxi[$id] = $rs;
 		return $rs;
 	}
+
+    // Post请求
+    public function sendPostRequest($url, $data, $token='') {
+        // 初始化 cURL
+        $ch = curl_init();
+
+        $url = preg_replace('#(?<!:)//+#', '/', $url);
+
+        // 设置 cURL 选项
+        curl_setopt($ch, CURLOPT_URL, $url);
+        curl_setopt($ch, CURLOPT_POST, 1);
+        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
+        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
+
+        // 添加 Authorization 头部
+        $headers = array(
+            'Authorization:' . $token,
+        );
+        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
+
+        // 忽略 SSL 证书验证
+        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
+        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
+
+        // 执行 cURL 请求
+        $response = curl_exec($ch);
+
+        // 检查 cURL 请求是否出错
+        if(curl_errno($ch)){
+            $error_msg = curl_error($ch);
+            // 返回错误信息
+            $resp = [
+                "code"=> -1,
+                "msg"=> "cURL Error: " . $error_msg,
+                "data"=> null
+            ];
+            return $resp;
+        }
+
+        // 关闭 cURL 资源
+        curl_close($ch);
+
+        return json_decode($response, true);
+    }
 }
 
 class sModel extends Model{}

+ 2 - 1
webmain/.gitignore

@@ -1 +1,2 @@
-webmainConfig.php
+webmainConfig.php
+webmainConfig.php*

+ 7 - 5
webmain/flow/input/inputjs/mode_meet.js

@@ -32,13 +32,15 @@ function initbodys(){
 			}
 		});
 	}
+	// $(form('hyname')).change(function () {
+	// 	console.log(form('hyname').value);
+	// });
+	// 会议室id联动
+	c.onselectdata['hyname']=function (d) {
+		form('meeting_id').value=d.value_id;
+	}
 }
 
-setTimeout(function () {
-	console.log("bac");
-	console.log($('#process_flow').html());
-},1000);
-
 
 function changesubmit(d){
 	if(d.enddt<=d.startdt)return '截止时间必须大于开始时间';

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 5 - 65
webmain/flow/input/mode_meetAction.php


+ 1 - 1
webmain/flow/page/input_meet.html

@@ -8,7 +8,7 @@
         <td height="34" width="15%" align="right" class="ys1">*申请部门</td>
         <td class="ys2" width="35%">{apply_deptname}</td>
         <td align="right" class="ys1" width="15%">*会议室安排</td>
-        <td class="ys2" width="35%">{hyname}</td>
+        <td class="ys2" width="35%">{hyname}{meeting_id}</td>
     </tr>
     <tr>
         <td height="34" width="15%" align="right" class="ys1">*经办人</td>

+ 0 - 69
webmain/flow/page/view_meet_0.html

@@ -36,72 +36,3 @@
     </tr>
     </tbody>
 </table>
-
-<script>
-    setTimeout(function () {
-
-        $("#check_btn").removeAttr('onclick');
-        // 监听提交按钮的点击事件
-        $("#check_btn").on("click", function() {
-            handleCheckButtonClick();
-        });
-
-        function handleCheckButtonClick() {
-            // 判断是否在最后一个 span 元素中
-            var isLastStep = $("#process_flow span:last").attr("step") == "1";
-            // 检查 radio 输入框是否选择了 "同意"
-            var $radioInput = $("input[name='check_status']:checked");
-
-            if (isLastStep) {
-                if($radioInput.length > 0 && $radioInput.val() === "1") {
-                    // 构建 POST 请求体参数
-                    var requestBody = {
-                        "type": 1,
-                        "subject": "{title}",
-                        "start": "{startdt}",
-                        "end": "{enddt}",
-                        "room_id": 976,
-                    };
-                    var url = geturlact('createMeetingPost');
-                    if($("#imgqianming").length > 0) {
-                        // 发送 POST 请求
-                        console.log('请求接口');
-                        sendPostRequest(url, requestBody);
-                        return;
-                    } else {
-                        js.setmsg('此动作必须手写签名');return;
-                    }
-                }
-                // 执行原提交方法
-                check(0);
-            }
-            // 执行原提交方法
-            check(0);
-        }
-
-        function sendPostRequest(url, data) {
-            $.ajax({
-                type: "POST",
-                url: url,
-                data: JSON.stringify(data),
-                contentType: "application/json",
-                success: function(response) {
-                    var jsonArray = JSON.parse(response);
-                    var code = jsonArray['code'];
-                    if (code === 0) {
-                        console.log('提交方法1');
-                        check(0);
-                    } else {
-                        var msg = jsonArray['msg'];
-                        alert(msg);
-                    }
-                },
-                error: function(xhr, status, error) {
-                    // 处理错误
-                    console.error(error);
-                    alert(error);
-                }
-            });
-        }
-    },300);
-</script>

+ 13 - 3
webmain/model/flow/meetModel.php

@@ -134,11 +134,15 @@ class flow_meetClassModel extends flowModel
 			$this->createmeet($this->id);
 		}
 	}
-	
+
 	//审核完成后发通知
 	protected function flowcheckfinsh($zt)
 	{
-		if($zt==1)$this->tisongtodo();
+		if($zt==1)$this->tisongtodo(); // 发送通知
+
+        // 第三方会议平台同步创建
+        m('meet_sys')->createJoyeeyMeet($this->rs);
+
 	}
 	
 	private function tisongtodo()
@@ -184,12 +188,18 @@ class flow_meetClassModel extends flowModel
 				'startdt' 	=> $this->rs['startdt'],
 				'enddt' 	=> $this->rs['enddt'],
 			));
+            // 第三方会议-取消会议
+            m('meet_sys')->cancelJoyeeyMeet($this->rs);
 		}
 		if($actname == '结束会议'){
 			$this->update('`state`=2', $this->id);
+            // 第三方会议-取消会议
+            m('meet_sys')->cancelJoyeeyMeet($this->rs);
 		}
+
+
 	}
-	
+
 	//发短信提醒
 	public function sendsms($rs, $tplnum, $params)
 	{