123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257 |
- $PBExportHeader$uo_jgdscrp.sru
- forward
- global type uo_jgdscrp from nonvisualobject
- end type
- end forward
- global type uo_jgdscrp from nonvisualobject
- end type
- global uo_jgdscrp uo_jgdscrp
- forward prototypes
- public function integer del_jgdscrp (long arg_jgdscrpid, boolean arg_ifcommit, ref string arg_msg)
- public function integer save_jgdscrpmx (long arg_jgdscrpmxid, long arg_jgdscrpid, string arg_jgdscrpmxcode, string arg_jgdscrpmxname, boolean arg_ifcommit, ref string arg_msg)
- public function integer del_jgdscrpmx (long arg_jgdscrpmxid, boolean arg_ifcommit, ref string arg_msg)
- public function integer save_jgdscrp (long arg_jgdscrpid, string arg_code, string arg_name, boolean arg_ifcommit, ref string arg_msg)
- end prototypes
- public function integer del_jgdscrp (long arg_jgdscrpid, boolean arg_ifcommit, ref string arg_msg);Long rslt = 1
- Long cnt = 0
- SELECT count(*)
- INTO :cnt
- FROM u_jgdscrp INNER JOIN
- u_jgdscrpmx ON u_jgdscrp.jgdscrpid = u_jgdscrpmx.jgdscrpid INNER JOIN
- u_mtrl_jgdscrp ON u_jgdscrpmx.jgdscrpmxid = u_mtrl_jgdscrp.jgdscrpmxid
- Where u_jgdscrp.jgdscrpid = :arg_jgdscrpid Using sqlca;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询操作失败!'+sqlca.SQLErrText
- GOTO ext
- END IF
- IF cnt > 0 THEN
- rslt = 0
- arg_msg = '该项目已经用于物料,不能删除'
- GOTO ext
- END IF
- DELETE From u_jgdscrpmx Where jgdscrpid = :arg_jgdscrpid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '删除加工工艺明细操作失败'+sqlca.SQLErrText
- GOTO ext
- END IF
- DELETE From u_jgdscrp Where jgdscrpid = :arg_jgdscrpid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '删除加工项目操作失败'+sqlca.SQLErrText
- GOTO ext
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK Using sqlca;
-
- ELSEIF rslt = 1 And arg_ifcommit THEN
- COMMIT Using sqlca;
- END IF
- RETURN rslt
- end function
- public function integer save_jgdscrpmx (long arg_jgdscrpmxid, long arg_jgdscrpid, string arg_jgdscrpmxcode, string arg_jgdscrpmxname, boolean arg_ifcommit, ref string arg_msg);Long rslt = 1
- Long ls_newid
- IF IsNull(arg_jgdscrpmxcode) THEN arg_jgdscrpmxcode = ''
- IF IsNull(arg_jgdscrpmxname) THEN arg_jgdscrpmxname = ''
- IF IsNull(arg_jgdscrpmxid) THEN arg_jgdscrpmxid = 0
- IF IsNull(arg_jgdscrpid) THEN arg_jgdscrpid = 0
- IF arg_jgdscrpid <= 0 THEN
- rslt = 0
- arg_msg = '没有加工项目!'
- GOTO ext
- END IF
- IF Trim(arg_jgdscrpmxcode) = '' OR IsNull(arg_jgdscrpmxname) THEN
- rslt = 0
- arg_msg = '没有编号或名称'
- GOTO ext
- END IF
- IF arg_jgdscrpmxid = 0 THEN
- ls_newid = f_sys_scidentity(0,"u_jgdscrpmx","jgdscrpmxid",arg_msg,FALSE,sqlca)
- IF ls_newid < 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- INSERT INTO u_jgdscrpmx
- (jgdscrpmxid,jgdscrpid,jgdscrpmxcode,jgdscrpmxname )
- Values (:ls_newid,:arg_jgdscrpid, :arg_jgdscrpmxcode,:arg_jgdscrpmxname ) ;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '新建加工工艺"'+arg_jgdscrpmxname+'"失败,可能是名称已经存在或网络故障!'
- GOTO ext
- END IF
- ELSE
- UPDATE u_jgdscrpmx
- SET jgdscrpmxcode = :arg_jgdscrpmxcode,
- jgdscrpmxname = :arg_jgdscrpmxname
- Where jgdscrpmxid = :arg_jgdscrpmxid AND jgdscrpid = :arg_jgdscrpid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '更新加工工艺"'+arg_jgdscrpmxname+'"失败,可能是名称已经存在或网络故障!'
- GOTO ext
- END IF
-
- UPDATE u_mtrldef SET jgdscrp =
- RTRIM(LTRIM(ISNULL(u_jgdscrp.jgdscrpcode, '')))
- + RTRIM(LTRIM(ISNULL(u_jgdscrp.jgdscrpname, '')))
- +RTRIM((LTRIM(ISNULL(u_jgdscrpmx.jgdscrpmxcode, ''))) )
- + RTRIM(LTRIM(ISNULL(u_jgdscrpmx.jgdscrpmxname, '')))
- FROM u_jgdscrpmx INNER JOIN
- u_jgdscrp ON u_jgdscrpmx.jgdscrpid = u_jgdscrp.jgdscrpid INNER JOIN
- u_mtrl_jgdscrp INNER JOIN
- u_mtrldef ON u_mtrl_jgdscrp.mtrlid = u_mtrldef.mtrlid ON
- u_jgdscrpmx.jgdscrpmxid = u_mtrl_jgdscrp.jgdscrpmxid
- Where u_mtrl_jgdscrp.jgdscrpmxid = :arg_jgdscrpmxid;
-
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '更新产品资料加工工艺"'+arg_jgdscrpmxname+'"失败,可能是名称已经存在或网络故障!'
- GOTO ext
- END IF
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK USING sqlca;
-
- ELSEIF rslt = 1 AND arg_ifcommit THEN
- COMMIT USING sqlca;
- END IF
- RETURN rslt
- end function
- public function integer del_jgdscrpmx (long arg_jgdscrpmxid, boolean arg_ifcommit, ref string arg_msg);Long rslt = 1
- Long cnt = 0
- SELECT count(*)
- INTO :cnt
- FROM u_jgdscrpmx INNER JOIN
- u_mtrl_jgdscrp ON u_jgdscrpmx.jgdscrpmxid = u_mtrl_jgdscrp.jgdscrpmxid
- Where u_jgdscrpmx.jgdscrpmxid = :arg_jgdscrpmxid Using sqlca;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询操作失败!'+sqlca.SQLErrText
- GOTO ext
- END IF
- IF cnt > 0 THEN
- rslt = 0
- arg_msg = '该项目已经用于物料,不能删除'
- GOTO ext
- END IF
- DELETE From u_jgdscrpmx Where jgdscrpmxid = :arg_jgdscrpmxid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '删除加工工艺明细操作失败'+sqlca.SQLErrText
- GOTO ext
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK Using sqlca;
-
- ELSEIF rslt = 1 And arg_ifcommit THEN
- COMMIT Using sqlca;
- END IF
- RETURN rslt
- end function
- public function integer save_jgdscrp (long arg_jgdscrpid, string arg_code, string arg_name, boolean arg_ifcommit, ref string arg_msg);Long rslt = 1
- Long ls_newid
- IF IsNull(arg_code) THEN arg_code = ''
- IF IsNull(arg_name) THEN arg_name = ''
- IF Trim(arg_code) = '' OR IsNull(arg_name) THEN
- rslt = 0
- arg_msg = '没有编号或名称'
- GOTO ext
- END IF
- IF arg_jgdscrpid = 0 THEN
- ls_newid = f_sys_scidentity(0,"u_jgdscrp","jgdscrpid",arg_msg,FALSE,sqlca)
- IF ls_newid < 0 THEN
- rslt = 0
- GOTO ext
- END IF
-
- INSERT INTO u_jgdscrp
- (jgdscrpid,jgdscrpcode,jgdscrpname )
- Values (:ls_newid, :arg_code,:arg_name ) ;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '新建加工项目"'+arg_name+'"失败,可能是名称已经存在或网络故障!'+sqlca.SQLErrText
- GOTO ext
- END IF
- ELSE
-
- UPDATE u_jgdscrp SET
- jgdscrpcode = :arg_code,
- jgdscrpname = :arg_name
- Where jgdscrpid = :arg_jgdscrpid;
-
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '更新加工项目"'+arg_name+'"失败,可能是名称已经存在或网络故障!'+sqlca.SQLErrText
- GOTO ext
- END IF
-
- UPDATE u_mtrldef SET jgdscrp =
- RTRIM(LTRIM(ISNULL(u_jgdscrp.jgdscrpcode, '')))
- + RTRIM(LTRIM(ISNULL(u_jgdscrp.jgdscrpname, '')))
- +RTRIM((LTRIM(ISNULL(u_jgdscrpmx.jgdscrpmxcode, ''))) )
- + RTRIM(LTRIM(ISNULL(u_jgdscrpmx.jgdscrpmxname, '')))
- FROM u_jgdscrpmx INNER JOIN
- u_jgdscrp ON u_jgdscrpmx.jgdscrpid = u_jgdscrp.jgdscrpid INNER JOIN
- u_mtrl_jgdscrp INNER JOIN
- u_mtrldef ON u_mtrl_jgdscrp.mtrlid = u_mtrldef.mtrlid ON
- u_jgdscrpmx.jgdscrpmxid = u_mtrl_jgdscrp.jgdscrpmxid
- Where u_jgdscrp.jgdscrpid = :arg_jgdscrpid;
-
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '更新产品资料加工工艺"'+arg_name+'"失败,可能是名称已经存在或网络故障!'
- GOTO ext
- END IF
-
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK USING sqlca;
-
- ELSEIF rslt = 1 AND arg_ifcommit THEN
- COMMIT USING sqlca;
- END IF
- RETURN rslt
- end function
- on uo_jgdscrp.create
- call super::create
- TriggerEvent( this, "constructor" )
- end on
- on uo_jgdscrp.destroy
- TriggerEvent( this, "destructor" )
- call super::destroy
- end on
|