w_sc_workgroup.srw 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290
  1. $PBExportHeader$w_sc_workgroup.srw
  2. forward
  3. global type w_sc_workgroup from w_publ_edit_choice
  4. end type
  5. end forward
  6. global type w_sc_workgroup from w_publ_edit_choice
  7. integer width = 3611
  8. integer height = 2380
  9. string title = "工组"
  10. boolean minbox = true
  11. windowtype windowtype = popup!
  12. end type
  13. global w_sc_workgroup w_sc_workgroup
  14. on w_sc_workgroup.create
  15. call super::create
  16. end on
  17. on w_sc_workgroup.destroy
  18. call super::destroy
  19. end on
  20. event retrieve_uc;call super::retrieve_uc;datawindowchild childdw
  21. dw_uc.SetTransObject(sqlca)
  22. dw_uc.GetChild("storageid",childdw)
  23. childdw.SetTransObject(sqlca)
  24. childdw.InsertRow(0)
  25. end event
  26. type cb_func from w_publ_edit_choice`cb_func within w_sc_workgroup
  27. end type
  28. type cb_exit from w_publ_edit_choice`cb_exit within w_sc_workgroup
  29. end type
  30. type cb_add from w_publ_edit_choice`cb_add within w_sc_workgroup
  31. end type
  32. event cb_add::clicked;call super::clicked;IF NOT f_power_ind(1350) THEN
  33. MessageBox(publ_operator,'你没有使用权限!')
  34. RETURN
  35. END IF
  36. Long ll_newid,i
  37. String errmsg
  38. IF dw_edit_mode THEN
  39. dw_uc.AcceptText()
  40. IF dw_uc.GetNextModified(0, Primary!) = 0 THEN
  41. MessageBox(publ_operator,'没有任何修改,不可以保存!')
  42. RETURN
  43. END IF
  44. dw_uc.Object.wrkgrpcode[dw_uc.GetRow()] = Trim(dw_uc.Object.wrkgrpcode[dw_uc.GetRow()])
  45. dw_uc.Object.wrkGrpName[dw_uc.GetRow()] = Trim(dw_uc.Object.wrkGrpName[dw_uc.GetRow()])
  46. IF dw_uc.Object.wrkgrpcode[dw_uc.GetRow()] = '' THEN
  47. MessageBox(publ_operator,'请输入工组号!')
  48. RETURN
  49. END IF
  50. IF dw_uc.Object.wrkGrpName[dw_uc.GetRow()] = '' THEN
  51. MessageBox(publ_operator,'请输入工组名称!')
  52. RETURN
  53. END IF
  54. IF dw_uc.Object.storageid[dw_uc.GetRow()] = 0 THEN
  55. MessageBox(publ_operator,'请选择对应车间!')
  56. RETURN
  57. END IF
  58. IF dw_uc.Object.ifprint[dw_uc.GetRow()] = 0 AND dw_uc.Object.ifjj[dw_uc.GetRow()] = 1 THEN
  59. MessageBox(publ_operator,'参加计划打印确认请选择为参加生产计划进度!')
  60. RETURN
  61. END IF
  62. IF dw_uc.Object.wrkGrpid[dw_uc.GetRow()] = 0 THEN
  63. ll_newid = f_sys_scidentity(0,"u_sc_workgroup","wrkGrpid",errmsg,FALSE,sqlca)
  64. IF ll_newid <= 0 THEN
  65. MessageBox(publ_operator,errmsg)
  66. RETURN
  67. ELSE
  68. dw_uc.Object.wrkGrpid[dw_uc.GetRow()] = ll_newid
  69. END IF
  70. dw_uc.Object.opemp[dw_uc.GetRow()] = publ_operator
  71. ELSE
  72. dw_uc.Object.modemp[dw_uc.GetRow()] = publ_operator
  73. dw_uc.Object.moddate[dw_uc.GetRow()] = DateTime(Today(),Now())
  74. END IF
  75. END IF
  76. IF dw_edit_mode THEN
  77. String ls_errmsg
  78. dw_uc.AcceptText()
  79. IF dw_uc.Update() = -1 THEN
  80. IF Pos(ins_sqlerrtext,"Cannot insert duplicate key row") > 0 THEN
  81. ls_errmsg = "关键内容重复"
  82. ELSE
  83. ls_errmsg = "因为网络或其他原因>"+ins_sqlerrtext
  84. END IF
  85. ROLLBACK;
  86. MessageBox (publ_operator,ls_errmsg+",保存操作失败!",Exclamation!,OK!)
  87. LS_UPDATE_FLAG = FALSE
  88. RETURN
  89. ELSE
  90. COMMIT;
  91. FOR i = 1 TO 7
  92. dw_uc.SetTabOrder ( i, 0 )
  93. NEXT
  94. LS_UPDATE_FLAG = TRUE
  95. END IF
  96. ins_sqlerrtext = ""
  97. ELSE
  98. Long li_row, li_cur_row
  99. li_cur_row = dw_uc.GetRow()
  100. li_row = dw_uc.InsertRow (0)
  101. FOR i = 1 TO 7
  102. dw_uc.SetTabOrder ( i, i*10 )
  103. NEXT
  104. dw_uc.SelectRow(0,FALSE)
  105. dw_uc.ScrollToRow (li_row)
  106. dw_uc.SelectRow(li_row,TRUE)
  107. dw_uc.SetFocus()
  108. modifyrow_no = li_row
  109. END IF
  110. dw_edit_mode = NOT dw_edit_mode
  111. WF_FACE_CHANGE()
  112. end event
  113. type cb_edit from w_publ_edit_choice`cb_edit within w_sc_workgroup
  114. end type
  115. event cb_edit::clicked;call super::clicked;IF NOT f_power_ind(1350) THEN
  116. MessageBox(publ_operator,'你没有使用权限!')
  117. RETURN
  118. END IF
  119. Long i
  120. IF dw_edit_mode THEN
  121. IF dw_uc.GetItemStatus(dw_uc.GetRow(), 0, Primary!) = NewModified! OR dw_uc.GetItemStatus(dw_uc.GetRow(), 0, Primary!) = New! THEN
  122. dw_uc.DeleteRow(dw_uc.GetRow())
  123. ELSE
  124. dw_uc.ReselectRow(dw_uc.GetRow())
  125. END IF
  126. FOR i = 1 TO 7
  127. dw_uc.SetTabOrder ( i, 0 )
  128. NEXT
  129. modifyrow_no = 0
  130. ELSE
  131. modifyrow_no = dw_uc.GetRow()
  132. FOR i = 1 TO 7
  133. dw_uc.SetTabOrder ( i, i*10 )
  134. NEXT
  135. dw_uc.SetFocus()
  136. dw_uc.SelectRow(0,FALSE)
  137. dw_uc.ScrollToRow (modifyrow_no)
  138. dw_uc.SelectRow(modifyrow_no,TRUE)
  139. END IF
  140. dw_edit_mode = NOT dw_edit_mode
  141. WF_FACE_CHANGE()
  142. end event
  143. type cb_delet from w_publ_edit_choice`cb_delet within w_sc_workgroup
  144. end type
  145. event cb_delet::clicked;call super::clicked;IF NOT f_power_ind(1350) THEN
  146. MessageBox(publ_operator,'你没有使用权限!')
  147. RETURN
  148. END IF
  149. IF MessageBox (publ_operator,"是否确定要删除当前记录?(选择确定后记录将不可恢复)",question!,yesno! ) = 2 THEN
  150. RETURN
  151. END IF
  152. Long ls_id
  153. Long ls_long = 0
  154. String ls_code,arg_msg
  155. IF dw_uc.GetRow() <= 0 THEN
  156. MessageBox('','没有操作目标记录!')
  157. RETURN
  158. END IF
  159. ls_id = dw_uc.Object.wrkgrpid[dw_uc.GetRow()]
  160. SELECT count(*) INTO :ls_long FROM u_sc_workprice
  161. Where u_sc_workprice.wrkgrpid = :ls_id ;
  162. IF sqlca.SQLCode <> 0 THEN
  163. MessageBox (publ_operator,"数据查询操作失败!(请重试!)",exclamation!,ok!)
  164. RETURN
  165. END IF
  166. IF ls_long > 0 THEN
  167. MessageBox (publ_operator,"该资料已经使用于工价表,不可以删除!",exclamation!,ok!)
  168. RETURN
  169. END IF
  170. ls_long = 0
  171. SELECT count(*) INTO :ls_long FROM u_prdpf
  172. Where u_prdpf.wrkgrpid = :ls_id ;
  173. IF sqlca.SQLCode <> 0 THEN
  174. MessageBox (publ_operator,"数据查询操作失败!(请重试!)",exclamation!,ok!)
  175. RETURN
  176. END IF
  177. IF ls_long > 0 THEN
  178. MessageBox (publ_operator,"该资料已经使用于物料清单,不可以删除!",exclamation!,ok!)
  179. RETURN
  180. END IF
  181. //ls_long = 0
  182. //SELECT count(*) INTO :ls_long FROM u_mtrl_wkp
  183. // Where u_mtrl_wkp.swkpid = :ls_id OR u_mtrl_wkp.owkpid = :ls_id ;
  184. //IF sqlca.SQLCode <> 0 THEN
  185. // MessageBox (publ_operator,"数据查询操作失败!(请重试!)",exclamation!,ok!)
  186. // RETURN
  187. //END IF
  188. //IF ls_long > 0 THEN
  189. // MessageBox (publ_operator,"该资料已经使用于物料工组进度,不可以删除!",exclamation!,ok!)
  190. // RETURN
  191. //END IF
  192. //ls_long = 0
  193. //SELECT count(*) INTO :ls_long FROM u_ordermtrl_workgroup
  194. // Where u_ordermtrl_workgroup.wrkgrpid = :ls_id ;
  195. //IF sqlca.SQLCode <> 0 THEN
  196. // MessageBox (publ_operator,"数据查询操作失败!(请重试!)",exclamation!,ok!)
  197. // RETURN
  198. //END IF
  199. //IF ls_long > 0 THEN
  200. // MessageBox (publ_operator,"该资料已经使用于生产计划工组进度,不可以删除!",exclamation!,ok!)
  201. // RETURN
  202. //END IF
  203. dw_uc.SetRedraw (FALSE)
  204. dw_uc.DeleteRow (0)
  205. dw_uc.TriggerEvent (RowFocusChanged!)
  206. IF dw_uc.Update() = -1 THEN
  207. ROLLBACK;
  208. MessageBox (publ_operator,"删除记录操作失败!",exclamation!,ok!)
  209. ELSE
  210. COMMIT;
  211. END IF
  212. dw_uc.SetRedraw (TRUE)
  213. end event
  214. type cb_choice from w_publ_edit_choice`cb_choice within w_sc_workgroup
  215. boolean enabled = false
  216. end type
  217. type dw_uc from w_publ_edit_choice`dw_uc within w_sc_workgroup
  218. integer width = 3543
  219. integer height = 2060
  220. string dataobject = "dw_sc_workgroup_index"
  221. boolean hscrollbar = true
  222. end type
  223. type cb_rtr from w_publ_edit_choice`cb_rtr within w_sc_workgroup
  224. end type
  225. type cb_help from w_publ_edit_choice`cb_help within w_sc_workgroup
  226. end type
  227. type ln_bar from w_publ_edit_choice`ln_bar within w_sc_workgroup
  228. end type
  229. type ln_bar2 from w_publ_edit_choice`ln_bar2 within w_sc_workgroup
  230. end type
  231. type r_bar from w_publ_edit_choice`r_bar within w_sc_workgroup
  232. end type