uo_jgdscrp.sru 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257
  1. $PBExportHeader$uo_jgdscrp.sru
  2. forward
  3. global type uo_jgdscrp from nonvisualobject
  4. end type
  5. end forward
  6. global type uo_jgdscrp from nonvisualobject
  7. end type
  8. global uo_jgdscrp uo_jgdscrp
  9. forward prototypes
  10. public function integer del_jgdscrp (long arg_jgdscrpid, boolean arg_ifcommit, ref string arg_msg)
  11. public function integer save_jgdscrpmx (long arg_jgdscrpmxid, long arg_jgdscrpid, string arg_jgdscrpmxcode, string arg_jgdscrpmxname, boolean arg_ifcommit, ref string arg_msg)
  12. public function integer del_jgdscrpmx (long arg_jgdscrpmxid, boolean arg_ifcommit, ref string arg_msg)
  13. public function integer save_jgdscrp (long arg_jgdscrpid, string arg_code, string arg_name, boolean arg_ifcommit, ref string arg_msg)
  14. end prototypes
  15. public function integer del_jgdscrp (long arg_jgdscrpid, boolean arg_ifcommit, ref string arg_msg);Long rslt = 1
  16. Long cnt = 0
  17. SELECT count(*)
  18. INTO :cnt
  19. FROM u_jgdscrp INNER JOIN
  20. u_jgdscrpmx ON u_jgdscrp.jgdscrpid = u_jgdscrpmx.jgdscrpid INNER JOIN
  21. u_mtrl_jgdscrp ON u_jgdscrpmx.jgdscrpmxid = u_mtrl_jgdscrp.jgdscrpmxid
  22. Where u_jgdscrp.jgdscrpid = :arg_jgdscrpid Using sqlca;
  23. IF sqlca.SQLCode <> 0 THEN
  24. rslt = 0
  25. arg_msg = '查询操作失败!'+sqlca.SQLErrText
  26. GOTO ext
  27. END IF
  28. IF cnt > 0 THEN
  29. rslt = 0
  30. arg_msg = '该项目已经用于物料,不能删除'
  31. GOTO ext
  32. END IF
  33. DELETE From u_jgdscrpmx Where jgdscrpid = :arg_jgdscrpid;
  34. IF sqlca.SQLCode <> 0 THEN
  35. rslt = 0
  36. arg_msg = '删除加工工艺明细操作失败'+sqlca.SQLErrText
  37. GOTO ext
  38. END IF
  39. DELETE From u_jgdscrp Where jgdscrpid = :arg_jgdscrpid;
  40. IF sqlca.SQLCode <> 0 THEN
  41. rslt = 0
  42. arg_msg = '删除加工项目操作失败'+sqlca.SQLErrText
  43. GOTO ext
  44. END IF
  45. ext:
  46. IF rslt = 0 THEN
  47. ROLLBACK Using sqlca;
  48. ELSEIF rslt = 1 And arg_ifcommit THEN
  49. COMMIT Using sqlca;
  50. END IF
  51. RETURN rslt
  52. end function
  53. 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
  54. Long ls_newid
  55. IF IsNull(arg_jgdscrpmxcode) THEN arg_jgdscrpmxcode = ''
  56. IF IsNull(arg_jgdscrpmxname) THEN arg_jgdscrpmxname = ''
  57. IF IsNull(arg_jgdscrpmxid) THEN arg_jgdscrpmxid = 0
  58. IF IsNull(arg_jgdscrpid) THEN arg_jgdscrpid = 0
  59. IF arg_jgdscrpid <= 0 THEN
  60. rslt = 0
  61. arg_msg = '没有加工项目!'
  62. GOTO ext
  63. END IF
  64. IF Trim(arg_jgdscrpmxcode) = '' OR IsNull(arg_jgdscrpmxname) THEN
  65. rslt = 0
  66. arg_msg = '没有编号或名称'
  67. GOTO ext
  68. END IF
  69. IF arg_jgdscrpmxid = 0 THEN
  70. ls_newid = f_sys_scidentity(0,"u_jgdscrpmx","jgdscrpmxid",arg_msg,FALSE,sqlca)
  71. IF ls_newid < 0 THEN
  72. rslt = 0
  73. GOTO ext
  74. END IF
  75. INSERT INTO u_jgdscrpmx
  76. (jgdscrpmxid,jgdscrpid,jgdscrpmxcode,jgdscrpmxname )
  77. Values (:ls_newid,:arg_jgdscrpid, :arg_jgdscrpmxcode,:arg_jgdscrpmxname ) ;
  78. IF sqlca.SQLCode <> 0 THEN
  79. rslt = 0
  80. arg_msg = '新建加工工艺"'+arg_jgdscrpmxname+'"失败,可能是名称已经存在或网络故障!'
  81. GOTO ext
  82. END IF
  83. ELSE
  84. UPDATE u_jgdscrpmx
  85. SET jgdscrpmxcode = :arg_jgdscrpmxcode,
  86. jgdscrpmxname = :arg_jgdscrpmxname
  87. Where jgdscrpmxid = :arg_jgdscrpmxid AND jgdscrpid = :arg_jgdscrpid;
  88. IF sqlca.SQLCode <> 0 THEN
  89. rslt = 0
  90. arg_msg = '更新加工工艺"'+arg_jgdscrpmxname+'"失败,可能是名称已经存在或网络故障!'
  91. GOTO ext
  92. END IF
  93. UPDATE u_mtrldef SET jgdscrp =
  94. RTRIM(LTRIM(ISNULL(u_jgdscrp.jgdscrpcode, '')))
  95. + RTRIM(LTRIM(ISNULL(u_jgdscrp.jgdscrpname, '')))
  96. +RTRIM((LTRIM(ISNULL(u_jgdscrpmx.jgdscrpmxcode, ''))) )
  97. + RTRIM(LTRIM(ISNULL(u_jgdscrpmx.jgdscrpmxname, '')))
  98. FROM u_jgdscrpmx INNER JOIN
  99. u_jgdscrp ON u_jgdscrpmx.jgdscrpid = u_jgdscrp.jgdscrpid INNER JOIN
  100. u_mtrl_jgdscrp INNER JOIN
  101. u_mtrldef ON u_mtrl_jgdscrp.mtrlid = u_mtrldef.mtrlid ON
  102. u_jgdscrpmx.jgdscrpmxid = u_mtrl_jgdscrp.jgdscrpmxid
  103. Where u_mtrl_jgdscrp.jgdscrpmxid = :arg_jgdscrpmxid;
  104. IF sqlca.SQLCode <> 0 THEN
  105. rslt = 0
  106. arg_msg = '更新产品资料加工工艺"'+arg_jgdscrpmxname+'"失败,可能是名称已经存在或网络故障!'
  107. GOTO ext
  108. END IF
  109. END IF
  110. ext:
  111. IF rslt = 0 THEN
  112. ROLLBACK USING sqlca;
  113. ELSEIF rslt = 1 AND arg_ifcommit THEN
  114. COMMIT USING sqlca;
  115. END IF
  116. RETURN rslt
  117. end function
  118. public function integer del_jgdscrpmx (long arg_jgdscrpmxid, boolean arg_ifcommit, ref string arg_msg);Long rslt = 1
  119. Long cnt = 0
  120. SELECT count(*)
  121. INTO :cnt
  122. FROM u_jgdscrpmx INNER JOIN
  123. u_mtrl_jgdscrp ON u_jgdscrpmx.jgdscrpmxid = u_mtrl_jgdscrp.jgdscrpmxid
  124. Where u_jgdscrpmx.jgdscrpmxid = :arg_jgdscrpmxid Using sqlca;
  125. IF sqlca.SQLCode <> 0 THEN
  126. rslt = 0
  127. arg_msg = '查询操作失败!'+sqlca.SQLErrText
  128. GOTO ext
  129. END IF
  130. IF cnt > 0 THEN
  131. rslt = 0
  132. arg_msg = '该项目已经用于物料,不能删除'
  133. GOTO ext
  134. END IF
  135. DELETE From u_jgdscrpmx Where jgdscrpmxid = :arg_jgdscrpmxid;
  136. IF sqlca.SQLCode <> 0 THEN
  137. rslt = 0
  138. arg_msg = '删除加工工艺明细操作失败'+sqlca.SQLErrText
  139. GOTO ext
  140. END IF
  141. ext:
  142. IF rslt = 0 THEN
  143. ROLLBACK Using sqlca;
  144. ELSEIF rslt = 1 And arg_ifcommit THEN
  145. COMMIT Using sqlca;
  146. END IF
  147. RETURN rslt
  148. end function
  149. public function integer save_jgdscrp (long arg_jgdscrpid, string arg_code, string arg_name, boolean arg_ifcommit, ref string arg_msg);Long rslt = 1
  150. Long ls_newid
  151. IF IsNull(arg_code) THEN arg_code = ''
  152. IF IsNull(arg_name) THEN arg_name = ''
  153. IF Trim(arg_code) = '' OR IsNull(arg_name) THEN
  154. rslt = 0
  155. arg_msg = '没有编号或名称'
  156. GOTO ext
  157. END IF
  158. IF arg_jgdscrpid = 0 THEN
  159. ls_newid = f_sys_scidentity(0,"u_jgdscrp","jgdscrpid",arg_msg,FALSE,sqlca)
  160. IF ls_newid < 0 THEN
  161. rslt = 0
  162. GOTO ext
  163. END IF
  164. INSERT INTO u_jgdscrp
  165. (jgdscrpid,jgdscrpcode,jgdscrpname )
  166. Values (:ls_newid, :arg_code,:arg_name ) ;
  167. IF sqlca.SQLCode <> 0 THEN
  168. rslt = 0
  169. arg_msg = '新建加工项目"'+arg_name+'"失败,可能是名称已经存在或网络故障!'+sqlca.SQLErrText
  170. GOTO ext
  171. END IF
  172. ELSE
  173. UPDATE u_jgdscrp SET
  174. jgdscrpcode = :arg_code,
  175. jgdscrpname = :arg_name
  176. Where jgdscrpid = :arg_jgdscrpid;
  177. IF sqlca.SQLCode <> 0 THEN
  178. rslt = 0
  179. arg_msg = '更新加工项目"'+arg_name+'"失败,可能是名称已经存在或网络故障!'+sqlca.SQLErrText
  180. GOTO ext
  181. END IF
  182. UPDATE u_mtrldef SET jgdscrp =
  183. RTRIM(LTRIM(ISNULL(u_jgdscrp.jgdscrpcode, '')))
  184. + RTRIM(LTRIM(ISNULL(u_jgdscrp.jgdscrpname, '')))
  185. +RTRIM((LTRIM(ISNULL(u_jgdscrpmx.jgdscrpmxcode, ''))) )
  186. + RTRIM(LTRIM(ISNULL(u_jgdscrpmx.jgdscrpmxname, '')))
  187. FROM u_jgdscrpmx INNER JOIN
  188. u_jgdscrp ON u_jgdscrpmx.jgdscrpid = u_jgdscrp.jgdscrpid INNER JOIN
  189. u_mtrl_jgdscrp INNER JOIN
  190. u_mtrldef ON u_mtrl_jgdscrp.mtrlid = u_mtrldef.mtrlid ON
  191. u_jgdscrpmx.jgdscrpmxid = u_mtrl_jgdscrp.jgdscrpmxid
  192. Where u_jgdscrp.jgdscrpid = :arg_jgdscrpid;
  193. IF sqlca.SQLCode <> 0 THEN
  194. rslt = 0
  195. arg_msg = '更新产品资料加工工艺"'+arg_name+'"失败,可能是名称已经存在或网络故障!'
  196. GOTO ext
  197. END IF
  198. END IF
  199. ext:
  200. IF rslt = 0 THEN
  201. ROLLBACK USING sqlca;
  202. ELSEIF rslt = 1 AND arg_ifcommit THEN
  203. COMMIT USING sqlca;
  204. END IF
  205. RETURN rslt
  206. end function
  207. on uo_jgdscrp.create
  208. call super::create
  209. TriggerEvent( this, "constructor" )
  210. end on
  211. on uo_jgdscrp.destroy
  212. TriggerEvent( this, "destructor" )
  213. call super::destroy
  214. end on