通達OA流程觸發器使用

按網上流傳的方法新建好的觸發器,添加自定義的PHP代碼,可以用於判斷數據正確性

用於流程結束後對上海百勝軟件的ERP2自動新增對應的單據

<script>  
    jQuery.ajaxSetup({  
        type:"POST",  
        dataType:"json",  
        async:false,  
        cache:false  
    });   
      
    function chkSubIsOver_before_callBack_<?php echo $PRCS_KEY_ID;?>(){  
        var run_id=jQuery("input[name='run_id']:eq(0)").val();      //獲取流水號  
        var flow_id=jQuery("input[name='flow_id']:eq(0)").val();    //獲取流程ID號  
        //獲取表單內控件值  如果需要對錶單某個數據做較驗,可以使用以下部份        
      //  var myform=jQuery(window.frames["work_form_data"].document).find("form[name='form1'");  
       // var val=myform.find(":input[name='DATA_2']").val();  
		

/*
        //檢查子件是否結束  
        var chckflag=true;  
        jQuery.ajax({  
            url:"/userext/index.php?c=workflow&m=chkSubisOver",  
            data:{flow_id:flow_id,run_id:run_id},  
            success:function(res){  
                if (!res){   
                    alert("獲取子件數據失敗");  
                    chckflag=false;  
                }  
                if (!res.rescode){  
                    alert("該母件的子件還未結束\r子件流水號:\r"+res.resmsg);  
                    chckflag=false;  
                }  
            }  
        });  
        if (!chckflag){  
           return false;  
        }  */
    }  
</script> 

<?php

	$serverName = "192.168.1.xxx";
    $connectionInfo = array( "Database"=>"y", "UID"=>"", "PWD"=>"");
    $conn = sqlsrv_connect( $serverName, $connectionInfo );


//$run_id=jQuery(window.frames["work_form_data"].document).find("form[name='form1'");
include_once ("inc/auth.inc.php");  
ob_end_clean();  
include_once ("../plugin.inc.php"); 
$RUN_DATA = getRunData($RUN_ID);  
//var_dump($RUN_DATA);
$hostname = gethostbyaddr("127.0.0.1"); 
$spdm=$RUN_DATA['報損明細']['1']['0'];     //商品條碼
$sddm=$RUN_DATA['申請人ID'];			//商店代碼
$data=$RUN_DATA['申請時間'];			//申請日期 
$zsl="-".$RUN_DATA['總件數'];   //報損數量
$id=$RUN_ID;	//流程ID
//var_dump($RUN_DATA['報損明細']);
//echo count($RUN_DATA['報損明細']);
$sql_djh="select djh from DJBHWH WHERE DJMC='CKTZD' AND BMFS='0' AND DM='0'";    //查詢調整單單號
$stmt = sqlsrv_query( $conn, $sql_djh );
$row_djh = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC);

$sql_mxbh="select max(mibh)+1 as  編號 from cktzdmx";    //查詢調整單單號
$stmt = sqlsrv_query( $conn, $sql_mxbh );
$row_mxbh = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC);
$today = date("Y-m-d");

//echo $row_djh['djh'];
echo "<br>";
//echo $row_mxbh['編號'];
echo "<br>";
$djh=$row_djh['djh']+1;
switch(strlen($row_djh['djh'])){
	case 4:
		$djbh="KA500".$row_djh['djh'];
		break;
	case 5:
		$djbh="KA50".$row_djh['djh'];
		break;
	case 6:
		$djbh="KA5".$row_djh['djh'];
		break;
}
//echo $id;   //流水號
//插入調整單代碼
$sql_pdd="insert into cktzd(djbh,rq,djxz,dm1,dm2,dm2_1,qddm,ygdm,sl,je,tj,xc,ys,jz,js,sh,shrq,zdr,shr,llr,rq_4,bz,byzd1,byzd2,byzd5,byzd6,byzd12,zs)values ('".$djbh."','".$today."',0,100,'".$sddm."','000','000','000','".$zsl."','-239',0,0,1,0,0,1,'".$today."','".$_SESSION["LOGIN_USER_NAME"]."','".$_SESSION["LOGIN_USER_NAME"]."',0,'".$today."','OA:".$id."','3',0,'".$_SESSION["LOGIN_USER_NAME"]."','".$hostname."',1,0)";
$stmt = sqlsrv_query( $conn, $sql_pdd );
if (!$stmt){
	echo "插入單據號失敗,請檢查!";

}else{
//$row_pdd = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC);
//echo $sql_pdd;
//djh+1更新寫入djbhwh
$sql_djh1="update DJBHWH set djh='".$djh."'  WHERE DJMC='CKTZD' AND BMFS='0' AND DM='0'";

$stmt = sqlsrv_query( $conn, $sql_djh1 );

$mibh=0;
for($x=1;$x<count($RUN_DATA['報損明細']);$x++)
{
	$baosunKeys = array_values( $RUN_DATA['報損明細'][$x] );
	$tm=substr((array_values($baosunKeys)[0]),0,10);
	//$tm='2150509018';
	$ys=substr((array_values($baosunKeys)[0]),-3,2);
	$cm=substr((array_values($baosunKeys)[0]),-1,1);
	$sl="-".(array_values($baosunKeys)[2]);
	$mibh=$mibh+1;
	
	//插入明細數據
$sql_mx="insert into CKTZDmx (djbh,mibh,spdm,gg1dm,gg2dm,sl,byzd1)values('$djbh','$mibh','$tm','$ys','$cm','$sl',1)";
$stmt = sqlsrv_query( $conn, $sql_mx );
if(!$stmt){
	//echo "插入明細數據失敗!請檢查";
echo "<script language=\"JavaScript\">alert(\"插入單據號失敗,請檢查!\");</script>";
	echo "<br>";
	echo $tm."<br>";
	echo $ys."<br>";
	echo $cm."<br>";
	$sql_del="delete from cktzd where djbh='".$djbh."'";   //插入明細數據失敗,則刪除對應的調整單
	
echo $sql_del;
	$stmt = sqlsrv_query( $conn, $sql_del );
}else{
//$row_mx = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC);

//刷新價格
$sql1 = "update CKTZDmx set ckj=(select bzsj from shangpin where shangpin.spdm=CKTZDmx.spdm) where DJBH='".$djbh."';";
$sql2 = "update CKTZDmx set zk='1.0' where DJBH='".$djbh."';";
$sql3 = "update CKTZDmx set dj=ckj,dj_1=ckj where DJBH='".$djbh."';";
$sql4 = "update CKTZDmx set je=sl*(select bzsj from shangpin where shangpin.spdm=CKTZDmx.spdm) where DJBH='".$djbh."';";
$sql5 = "update CKTZDmx set bzje=sl*(select bzsj from shangpin where shangpin.spdm=CKTZDmx.spdm) where DJBH='".$djbh."';";
$sql6 = "update CKTZD set je=(select sum(je) from CKTZDmx where djbh='".$djbh."')  where djbh='".$djbh."';"; 
$sql7 = "update CKTZD set bzje=(select sum(bzje) from CKTZDmx where djbh='".$djbh."')  where djbh='".$djbh."';";	
$stmt = sqlsrv_query( $conn, $sql1 );
$stmt = sqlsrv_query( $conn, $sql2 );
$stmt = sqlsrv_query( $conn, $sql3 );
$stmt = sqlsrv_query( $conn, $sql4 );
$stmt = sqlsrv_query( $conn, $sql5 );
$stmt = sqlsrv_query( $conn, $sql6 );
$stmt = sqlsrv_query( $conn, $sql7 );
echo $djbh."單據添加成功!";

$sql_rz = "INSERT INTO XTRZB(GUID,IP,JQ,DT,CZDX,DJMC,DJBH,YDJH,CZ,ZYMC,MODULE,EXECMODULE) VALUES('','','".$hostname. "',getdate(),'1','cktzd','".$djbh."','','INSERT','".$_SESSION["LOGIN_USER_NAME"]."',0,'分銷')";

$stmt = sqlsrv_query( $conn, $sql_rz );

}
}
}


?>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章