AbstractProjectClockEditUI.java 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585
  1. /**
  2. * output package name
  3. */
  4. package com.kingdee.eas.hr.project.client;
  5. import org.apache.log4j.*;
  6. import java.awt.*;
  7. import java.awt.event.*;
  8. import java.util.*;
  9. import javax.swing.border.*;
  10. import javax.swing.BorderFactory;
  11. import javax.swing.event.*;
  12. import javax.swing.KeyStroke;
  13. import com.kingdee.bos.ctrl.swing.*;
  14. import com.kingdee.bos.ctrl.kdf.table.*;
  15. import com.kingdee.bos.ctrl.kdf.data.event.*;
  16. import com.kingdee.bos.dao.*;
  17. import com.kingdee.bos.dao.query.*;
  18. import com.kingdee.bos.metadata.*;
  19. import com.kingdee.bos.metadata.entity.*;
  20. import com.kingdee.bos.ui.face.*;
  21. import com.kingdee.bos.ui.util.ResourceBundleHelper;
  22. import com.kingdee.bos.util.BOSUuid;
  23. import com.kingdee.bos.service.ServiceContext;
  24. import com.kingdee.jdbc.rowset.IRowSet;
  25. import com.kingdee.util.enums.EnumUtils;
  26. import com.kingdee.bos.ui.face.UIRuleUtil;
  27. import com.kingdee.bos.ctrl.swing.event.*;
  28. import com.kingdee.bos.ctrl.kdf.table.event.*;
  29. import com.kingdee.bos.ctrl.extendcontrols.*;
  30. import com.kingdee.bos.ctrl.kdf.util.render.*;
  31. import com.kingdee.bos.ui.face.IItemAction;
  32. import com.kingdee.eas.framework.batchHandler.RequestContext;
  33. import com.kingdee.bos.ui.util.IUIActionPostman;
  34. import com.kingdee.bos.appframework.client.servicebinding.ActionProxyFactory;
  35. import com.kingdee.bos.appframework.uistatemanage.ActionStateConst;
  36. import com.kingdee.bos.appframework.validator.ValidateHelper;
  37. import com.kingdee.bos.appframework.uip.UINavigator;
  38. /**
  39. * output class name
  40. */
  41. public abstract class AbstractProjectClockEditUI extends com.kingdee.eas.framework.client.EditUI
  42. {
  43. private static final Logger logger = CoreUIObject.getLogger(AbstractProjectClockEditUI.class);
  44. protected com.kingdee.bos.ctrl.swing.KDLabelContainer kDLabelContainer1;
  45. protected com.kingdee.bos.ctrl.swing.KDLabelContainer kDLabelContainer2;
  46. protected com.kingdee.bos.ctrl.swing.KDLabelContainer kDLabelContainer3;
  47. protected com.kingdee.bos.ctrl.swing.KDLabelContainer kDLabelContainer4;
  48. protected com.kingdee.bos.ctrl.swing.KDLabelContainer contproject;
  49. protected com.kingdee.bos.ctrl.swing.KDLabelContainer contstate;
  50. protected com.kingdee.bos.ctrl.swing.KDTextField txtNumber;
  51. protected com.kingdee.bos.ctrl.extendcontrols.KDBizMultiLangBox txtName;
  52. protected com.kingdee.bos.ctrl.swing.KDTextField txtSimpleName;
  53. protected com.kingdee.bos.ctrl.extendcontrols.KDBizMultiLangBox txtDescription;
  54. protected com.kingdee.bos.ctrl.extendcontrols.KDBizPromptBox prmtproject;
  55. protected com.kingdee.bos.ctrl.swing.KDComboBox state;
  56. protected com.kingdee.eas.hr.project.ProjectClockInfo editData = null;
  57. /**
  58. * output class constructor
  59. */
  60. public AbstractProjectClockEditUI() throws Exception
  61. {
  62. super();
  63. this.defaultObjectName = "editData";
  64. jbInit();
  65. initUIP();
  66. }
  67. /**
  68. * output jbInit method
  69. */
  70. private void jbInit() throws Exception
  71. {
  72. this.resHelper = new ResourceBundleHelper(AbstractProjectClockEditUI.class.getName());
  73. this.setUITitle(resHelper.getString("this.title"));
  74. this.kDLabelContainer1 = new com.kingdee.bos.ctrl.swing.KDLabelContainer();
  75. this.kDLabelContainer2 = new com.kingdee.bos.ctrl.swing.KDLabelContainer();
  76. this.kDLabelContainer3 = new com.kingdee.bos.ctrl.swing.KDLabelContainer();
  77. this.kDLabelContainer4 = new com.kingdee.bos.ctrl.swing.KDLabelContainer();
  78. this.contproject = new com.kingdee.bos.ctrl.swing.KDLabelContainer();
  79. this.contstate = new com.kingdee.bos.ctrl.swing.KDLabelContainer();
  80. this.txtNumber = new com.kingdee.bos.ctrl.swing.KDTextField();
  81. this.txtName = new com.kingdee.bos.ctrl.extendcontrols.KDBizMultiLangBox();
  82. this.txtSimpleName = new com.kingdee.bos.ctrl.swing.KDTextField();
  83. this.txtDescription = new com.kingdee.bos.ctrl.extendcontrols.KDBizMultiLangBox();
  84. this.prmtproject = new com.kingdee.bos.ctrl.extendcontrols.KDBizPromptBox();
  85. this.state = new com.kingdee.bos.ctrl.swing.KDComboBox();
  86. this.kDLabelContainer1.setName("kDLabelContainer1");
  87. this.kDLabelContainer2.setName("kDLabelContainer2");
  88. this.kDLabelContainer3.setName("kDLabelContainer3");
  89. this.kDLabelContainer4.setName("kDLabelContainer4");
  90. this.contproject.setName("contproject");
  91. this.contstate.setName("contstate");
  92. this.txtNumber.setName("txtNumber");
  93. this.txtName.setName("txtName");
  94. this.txtSimpleName.setName("txtSimpleName");
  95. this.txtDescription.setName("txtDescription");
  96. this.prmtproject.setName("prmtproject");
  97. this.state.setName("state");
  98. // CoreUI
  99. this.btnPrint.setVisible(false);
  100. this.btnPrintPreview.setVisible(false);
  101. this.menuItemPrint.setVisible(false);
  102. this.menuItemPrintPreview.setVisible(false);
  103. // kDLabelContainer1
  104. this.kDLabelContainer1.setBoundLabelText(resHelper.getString("kDLabelContainer1.boundLabelText"));
  105. this.kDLabelContainer1.setBoundLabelLength(100);
  106. this.kDLabelContainer1.setBoundLabelUnderline(true);
  107. // kDLabelContainer2
  108. this.kDLabelContainer2.setBoundLabelText(resHelper.getString("kDLabelContainer2.boundLabelText"));
  109. this.kDLabelContainer2.setBoundLabelLength(100);
  110. this.kDLabelContainer2.setBoundLabelUnderline(true);
  111. // kDLabelContainer3
  112. this.kDLabelContainer3.setBoundLabelText(resHelper.getString("kDLabelContainer3.boundLabelText"));
  113. this.kDLabelContainer3.setBoundLabelLength(100);
  114. this.kDLabelContainer3.setBoundLabelUnderline(true);
  115. // kDLabelContainer4
  116. this.kDLabelContainer4.setBoundLabelText(resHelper.getString("kDLabelContainer4.boundLabelText"));
  117. this.kDLabelContainer4.setBoundLabelLength(100);
  118. this.kDLabelContainer4.setBoundLabelUnderline(true);
  119. this.kDLabelContainer4.setBoundLabelAlignment(7);
  120. this.kDLabelContainer4.setVisible(true);
  121. // contproject
  122. this.contproject.setBoundLabelText(resHelper.getString("contproject.boundLabelText"));
  123. this.contproject.setBoundLabelLength(100);
  124. this.contproject.setBoundLabelUnderline(true);
  125. this.contproject.setVisible(true);
  126. // contstate
  127. this.contstate.setBoundLabelText(resHelper.getString("contstate.boundLabelText"));
  128. this.contstate.setBoundLabelLength(100);
  129. this.contstate.setBoundLabelUnderline(true);
  130. this.contstate.setVisible(true);
  131. // txtNumber
  132. this.txtNumber.setMaxLength(80);
  133. // txtName
  134. // txtSimpleName
  135. this.txtSimpleName.setMaxLength(80);
  136. // txtDescription
  137. // prmtproject
  138. this.prmtproject.setQueryInfo("com.kingdee.eas.hr.project.app.ProjectManagementQuery");
  139. this.prmtproject.setVisible(true);
  140. this.prmtproject.setEditable(true);
  141. this.prmtproject.setDisplayFormat("$projectName$");
  142. this.prmtproject.setEditFormat("$number$");
  143. this.prmtproject.setCommitFormat("$number$");
  144. this.prmtproject.setRequired(false);
  145. // state
  146. this.state.setVisible(true);
  147. this.state.addItems(EnumUtils.getEnumList("com.kingdee.shr.base.syssetting.BaseItemStateEnum").toArray());
  148. this.state.setRequired(false);
  149. this.setFocusTraversalPolicy(new com.kingdee.bos.ui.UIFocusTraversalPolicy(new java.awt.Component[] {prmtproject,state}));
  150. this.setFocusCycleRoot(true);
  151. //Register control's property binding
  152. registerBindings();
  153. registerUIState();
  154. }
  155. public com.kingdee.bos.ctrl.swing.KDToolBar[] getUIMultiToolBar(){
  156. java.util.List list = new java.util.ArrayList();
  157. com.kingdee.bos.ctrl.swing.KDToolBar[] bars = super.getUIMultiToolBar();
  158. if (bars != null) {
  159. list.addAll(java.util.Arrays.asList(bars));
  160. }
  161. return (com.kingdee.bos.ctrl.swing.KDToolBar[])list.toArray(new com.kingdee.bos.ctrl.swing.KDToolBar[list.size()]);
  162. }
  163. /**
  164. * output initUIContentLayout method
  165. */
  166. public void initUIContentLayout()
  167. {
  168. this.setBounds(new Rectangle(0, 0, 1013, 629));
  169. this.setLayout(null);
  170. kDLabelContainer1.setBounds(new Rectangle(102, 44, 270, 19));
  171. this.add(kDLabelContainer1, null);
  172. kDLabelContainer2.setBounds(new Rectangle(102, 81, 270, 19));
  173. this.add(kDLabelContainer2, null);
  174. kDLabelContainer3.setBounds(new Rectangle(102, 118, 270, 19));
  175. this.add(kDLabelContainer3, null);
  176. kDLabelContainer4.setBounds(new Rectangle(102, 155, 270, 19));
  177. this.add(kDLabelContainer4, null);
  178. contproject.setBounds(new Rectangle(0, 0, 270, 19));
  179. this.add(contproject, null);
  180. contstate.setBounds(new Rectangle(0, 0, 270, 19));
  181. this.add(contstate, null);
  182. //kDLabelContainer1
  183. kDLabelContainer1.setBoundEditor(txtNumber);
  184. //kDLabelContainer2
  185. kDLabelContainer2.setBoundEditor(txtName);
  186. //kDLabelContainer3
  187. kDLabelContainer3.setBoundEditor(txtSimpleName);
  188. //kDLabelContainer4
  189. kDLabelContainer4.setBoundEditor(txtDescription);
  190. //contproject
  191. contproject.setBoundEditor(prmtproject);
  192. //contstate
  193. contstate.setBoundEditor(state);
  194. }
  195. /**
  196. * output initUIMenuBarLayout method
  197. */
  198. public void initUIMenuBarLayout()
  199. {
  200. this.menuBar.add(menuFile);
  201. this.menuBar.add(menuEdit);
  202. this.menuBar.add(MenuService);
  203. this.menuBar.add(menuView);
  204. this.menuBar.add(menuBiz);
  205. this.menuBar.add(menuTool);
  206. this.menuBar.add(menuHelp);
  207. //menuFile
  208. menuFile.add(menuItemAddNew);
  209. menuFile.add(kDSeparator1);
  210. menuFile.add(menuItemCloudFeed);
  211. menuFile.add(menuItemSave);
  212. menuFile.add(menuItemCloudScreen);
  213. menuFile.add(menuItemSubmit);
  214. menuFile.add(menuItemCloudShare);
  215. menuFile.add(menuSubmitOption);
  216. menuFile.add(kdSeparatorFWFile1);
  217. menuFile.add(rMenuItemSubmit);
  218. menuFile.add(rMenuItemSubmitAndAddNew);
  219. menuFile.add(rMenuItemSubmitAndPrint);
  220. menuFile.add(separatorFile1);
  221. menuFile.add(MenuItemAttachment);
  222. menuFile.add(kDSeparator2);
  223. menuFile.add(menuItemPageSetup);
  224. menuFile.add(menuItemPrint);
  225. menuFile.add(menuItemPrintPreview);
  226. menuFile.add(kDSeparator3);
  227. menuFile.add(menuItemExitCurrent);
  228. //menuSubmitOption
  229. menuSubmitOption.add(chkMenuItemSubmitAndAddNew);
  230. menuSubmitOption.add(chkMenuItemSubmitAndPrint);
  231. //menuEdit
  232. menuEdit.add(menuItemCopy);
  233. menuEdit.add(menuItemEdit);
  234. menuEdit.add(menuItemRemove);
  235. menuEdit.add(kDSeparator4);
  236. menuEdit.add(menuItemReset);
  237. //MenuService
  238. MenuService.add(MenuItemKnowStore);
  239. MenuService.add(MenuItemAnwser);
  240. MenuService.add(SepratorService);
  241. MenuService.add(MenuItemRemoteAssist);
  242. //menuView
  243. menuView.add(menuItemFirst);
  244. menuView.add(menuItemPre);
  245. menuView.add(menuItemNext);
  246. menuView.add(menuItemLast);
  247. //menuBiz
  248. menuBiz.add(menuItemCancelCancel);
  249. menuBiz.add(menuItemCancel);
  250. //menuTool
  251. menuTool.add(menuItemMsgFormat);
  252. menuTool.add(menuItemSendMessage);
  253. menuTool.add(menuItemCalculator);
  254. menuTool.add(menuItemToolBarCustom);
  255. //menuHelp
  256. menuHelp.add(menuItemHelp);
  257. menuHelp.add(kDSeparator12);
  258. menuHelp.add(menuItemRegPro);
  259. menuHelp.add(menuItemPersonalSite);
  260. menuHelp.add(helpseparatorDiv);
  261. menuHelp.add(menuitemProductval);
  262. menuHelp.add(kDSeparatorProduct);
  263. menuHelp.add(menuItemAbout);
  264. }
  265. /**
  266. * output initUIToolBarLayout method
  267. */
  268. public void initUIToolBarLayout()
  269. {
  270. this.toolBar.add(btnAddNew);
  271. this.toolBar.add(btnCloud);
  272. this.toolBar.add(btnEdit);
  273. this.toolBar.add(btnXunTong);
  274. this.toolBar.add(btnReset);
  275. this.toolBar.add(kDSeparatorCloud);
  276. this.toolBar.add(btnSave);
  277. this.toolBar.add(btnSubmit);
  278. this.toolBar.add(btnCopy);
  279. this.toolBar.add(btnRemove);
  280. this.toolBar.add(btnAttachment);
  281. this.toolBar.add(separatorFW1);
  282. this.toolBar.add(btnPageSetup);
  283. this.toolBar.add(btnPrint);
  284. this.toolBar.add(btnPrintPreview);
  285. this.toolBar.add(separatorFW2);
  286. this.toolBar.add(btnFirst);
  287. this.toolBar.add(btnPre);
  288. this.toolBar.add(btnNext);
  289. this.toolBar.add(btnLast);
  290. this.toolBar.add(separatorFW3);
  291. this.toolBar.add(btnCancelCancel);
  292. this.toolBar.add(btnCancel);
  293. }
  294. //Regiester control's property binding.
  295. private void registerBindings(){
  296. dataBinder.registerBinding("number", String.class, this.txtNumber, "text");
  297. dataBinder.registerBinding("name", String.class, this.txtName, "_multiLangItem");
  298. dataBinder.registerBinding("simpleName", String.class, this.txtSimpleName, "text");
  299. dataBinder.registerBinding("description", String.class, this.txtDescription, "_multiLangItem");
  300. dataBinder.registerBinding("project", com.kingdee.eas.hr.project.ProjectManagementInfo.class, this.prmtproject, "data");
  301. dataBinder.registerBinding("state", com.kingdee.shr.base.syssetting.BaseItemStateEnum.class, this.state, "selectedItem");
  302. }
  303. //Regiester UI State
  304. private void registerUIState(){
  305. getActionManager().registerUIState(STATUS_ADDNEW, this.txtName, ActionStateConst.ENABLED);
  306. getActionManager().registerUIState(STATUS_ADDNEW, this.txtDescription, ActionStateConst.ENABLED);
  307. getActionManager().registerUIState(STATUS_ADDNEW, this.txtNumber, ActionStateConst.ENABLED);
  308. getActionManager().registerUIState(STATUS_ADDNEW, this.txtSimpleName, ActionStateConst.ENABLED);
  309. getActionManager().registerUIState(STATUS_EDIT, this.txtName, ActionStateConst.ENABLED);
  310. getActionManager().registerUIState(STATUS_EDIT, this.txtDescription, ActionStateConst.ENABLED);
  311. getActionManager().registerUIState(STATUS_EDIT, this.txtNumber, ActionStateConst.ENABLED);
  312. getActionManager().registerUIState(STATUS_EDIT, this.txtSimpleName, ActionStateConst.ENABLED);
  313. getActionManager().registerUIState(STATUS_VIEW, this.txtName, ActionStateConst.DISABLED);
  314. getActionManager().registerUIState(STATUS_VIEW, this.txtDescription, ActionStateConst.DISABLED);
  315. getActionManager().registerUIState(STATUS_VIEW, this.txtNumber, ActionStateConst.DISABLED);
  316. getActionManager().registerUIState(STATUS_VIEW, this.txtSimpleName, ActionStateConst.DISABLED);
  317. }
  318. public String getUIHandlerClassName() {
  319. return "com.kingdee.eas.hr.project.app.ProjectClockEditUIHandler";
  320. }
  321. public IUIActionPostman prepareInit() {
  322. IUIActionPostman clientHanlder = super.prepareInit();
  323. if (clientHanlder != null) {
  324. RequestContext request = new RequestContext();
  325. request.setClassName(getUIHandlerClassName());
  326. clientHanlder.setRequestContext(request);
  327. }
  328. return clientHanlder;
  329. }
  330. public boolean isPrepareInit() {
  331. return false;
  332. }
  333. protected void initUIP() {
  334. super.initUIP();
  335. }
  336. /**
  337. * output onShow method
  338. */
  339. public void onShow() throws Exception
  340. {
  341. super.onShow();
  342. this.prmtproject.requestFocusInWindow();
  343. }
  344. /**
  345. * output setDataObject method
  346. */
  347. public void setDataObject(IObjectValue dataObject)
  348. {
  349. IObjectValue ov = dataObject;
  350. super.setDataObject(ov);
  351. this.editData = (com.kingdee.eas.hr.project.ProjectClockInfo)ov;
  352. }
  353. protected void removeByPK(IObjectPK pk) throws Exception {
  354. IObjectValue editData = this.editData;
  355. super.removeByPK(pk);
  356. recycleNumberByOrg(editData,"NONE",editData.getString("number"));
  357. }
  358. protected void recycleNumberByOrg(IObjectValue editData,String orgType,String number) {
  359. if (!StringUtils.isEmpty(number))
  360. {
  361. try {
  362. String companyID = null;
  363. com.kingdee.eas.base.codingrule.ICodingRuleManager iCodingRuleManager = com.kingdee.eas.base.codingrule.CodingRuleManagerFactory.getRemoteInstance();
  364. if(!com.kingdee.util.StringUtils.isEmpty(orgType) && !"NONE".equalsIgnoreCase(orgType) && com.kingdee.eas.common.client.SysContext.getSysContext().getCurrentOrgUnit(com.kingdee.eas.basedata.org.OrgType.getEnum(orgType))!=null) {
  365. companyID =com.kingdee.eas.common.client.SysContext.getSysContext().getCurrentOrgUnit(com.kingdee.eas.basedata.org.OrgType.getEnum(orgType)).getString("id");
  366. }
  367. else if (com.kingdee.eas.common.client.SysContext.getSysContext().getCurrentOrgUnit() != null) {
  368. companyID = ((com.kingdee.eas.basedata.org.OrgUnitInfo)com.kingdee.eas.common.client.SysContext.getSysContext().getCurrentOrgUnit()).getString("id");
  369. }
  370. if (!StringUtils.isEmpty(companyID) && iCodingRuleManager.isExist(editData, companyID) && iCodingRuleManager.isUseIntermitNumber(editData, companyID)) {
  371. iCodingRuleManager.recycleNumber(editData,companyID,number);
  372. }
  373. }
  374. catch (Exception e)
  375. {
  376. handUIException(e);
  377. }
  378. }
  379. }
  380. protected void setAutoNumberByOrg(String orgType) {
  381. if (editData == null) return;
  382. if (editData.getNumber() == null) {
  383. try {
  384. String companyID = null;
  385. if(!com.kingdee.util.StringUtils.isEmpty(orgType) && !"NONE".equalsIgnoreCase(orgType) && com.kingdee.eas.common.client.SysContext.getSysContext().getCurrentOrgUnit(com.kingdee.eas.basedata.org.OrgType.getEnum(orgType))!=null) {
  386. companyID = com.kingdee.eas.common.client.SysContext.getSysContext().getCurrentOrgUnit(com.kingdee.eas.basedata.org.OrgType.getEnum(orgType)).getString("id");
  387. }
  388. else if (com.kingdee.eas.common.client.SysContext.getSysContext().getCurrentOrgUnit() != null) {
  389. companyID = ((com.kingdee.eas.basedata.org.OrgUnitInfo)com.kingdee.eas.common.client.SysContext.getSysContext().getCurrentOrgUnit()).getString("id");
  390. }
  391. com.kingdee.eas.base.codingrule.ICodingRuleManager iCodingRuleManager = com.kingdee.eas.base.codingrule.CodingRuleManagerFactory.getRemoteInstance();
  392. if (iCodingRuleManager.isExist(editData, companyID)) {
  393. if (iCodingRuleManager.isAddView(editData, companyID)) {
  394. editData.setNumber(iCodingRuleManager.getNumber(editData,companyID));
  395. }
  396. txtNumber.setEnabled(false);
  397. }
  398. }
  399. catch (Exception e) {
  400. handUIException(e);
  401. this.oldData = editData;
  402. com.kingdee.eas.util.SysUtil.abort();
  403. }
  404. }
  405. else {
  406. if (editData.getNumber().trim().length() > 0) {
  407. txtNumber.setText(editData.getNumber());
  408. }
  409. }
  410. }
  411. /**
  412. * output loadFields method
  413. */
  414. public void loadFields()
  415. {
  416. setAutoNumberByOrg("NONE");
  417. dataBinder.loadFields();
  418. }
  419. protected void setOrgF7(KDBizPromptBox f7,com.kingdee.eas.basedata.org.OrgType orgType) throws Exception
  420. {
  421. com.kingdee.eas.basedata.org.client.f7.NewOrgUnitFilterInfoProducer oufip = new com.kingdee.eas.basedata.org.client.f7.NewOrgUnitFilterInfoProducer(orgType);
  422. oufip.getModel().setIsCUFilter(true);
  423. f7.setFilterInfoProducer(oufip);
  424. }
  425. /**
  426. * output storeFields method
  427. */
  428. public void storeFields()
  429. {
  430. dataBinder.storeFields();
  431. }
  432. /**
  433. * ????????§µ??
  434. */
  435. protected void registerValidator() {
  436. getValidateHelper().setCustomValidator( getValidator() );
  437. getValidateHelper().registerBindProperty("number", ValidateHelper.ON_SAVE);
  438. getValidateHelper().registerBindProperty("name", ValidateHelper.ON_SAVE);
  439. getValidateHelper().registerBindProperty("simpleName", ValidateHelper.ON_SAVE);
  440. getValidateHelper().registerBindProperty("description", ValidateHelper.ON_SAVE);
  441. getValidateHelper().registerBindProperty("project", ValidateHelper.ON_SAVE);
  442. getValidateHelper().registerBindProperty("state", ValidateHelper.ON_SAVE);
  443. }
  444. /**
  445. * output setOprtState method
  446. */
  447. public void setOprtState(String oprtType)
  448. {
  449. super.setOprtState(oprtType);
  450. if (STATUS_ADDNEW.equals(this.oprtState)) {
  451. this.txtName.setEnabled(true);
  452. this.txtDescription.setEnabled(true);
  453. this.txtNumber.setEnabled(true);
  454. this.txtSimpleName.setEnabled(true);
  455. } else if (STATUS_EDIT.equals(this.oprtState)) {
  456. this.txtName.setEnabled(true);
  457. this.txtDescription.setEnabled(true);
  458. this.txtNumber.setEnabled(true);
  459. this.txtSimpleName.setEnabled(true);
  460. } else if (STATUS_VIEW.equals(this.oprtState)) {
  461. this.txtName.setEnabled(false);
  462. this.txtDescription.setEnabled(false);
  463. this.txtNumber.setEnabled(false);
  464. this.txtSimpleName.setEnabled(false);
  465. }
  466. }
  467. /**
  468. * output getSelectors method
  469. */
  470. public SelectorItemCollection getSelectors()
  471. {
  472. SelectorItemCollection sic = new SelectorItemCollection();
  473. String selectorAll = System.getProperty("selector.all");
  474. if(StringUtils.isEmpty(selectorAll)){
  475. selectorAll = "true";
  476. }
  477. sic.add(new SelectorItemInfo("number"));
  478. sic.add(new SelectorItemInfo("name"));
  479. sic.add(new SelectorItemInfo("simpleName"));
  480. sic.add(new SelectorItemInfo("description"));
  481. if(selectorAll.equalsIgnoreCase("true"))
  482. {
  483. sic.add(new SelectorItemInfo("project.*"));
  484. }
  485. else{
  486. sic.add(new SelectorItemInfo("project.id"));
  487. sic.add(new SelectorItemInfo("project.number"));
  488. sic.add(new SelectorItemInfo("project.projectName"));
  489. }
  490. sic.add(new SelectorItemInfo("state"));
  491. return sic;
  492. }
  493. /**
  494. * output getMetaDataPK method
  495. */
  496. public IMetaDataPK getMetaDataPK()
  497. {
  498. return new MetaDataPK("com.kingdee.eas.hr.project.client", "ProjectClockEditUI");
  499. }
  500. /**
  501. * output getEditUIName method
  502. */
  503. protected String getEditUIName()
  504. {
  505. return com.kingdee.eas.hr.project.client.ProjectClockEditUI.class.getName();
  506. }
  507. /**
  508. * output getBizInterface method
  509. */
  510. protected com.kingdee.eas.framework.ICoreBase getBizInterface() throws Exception
  511. {
  512. return com.kingdee.eas.hr.project.ProjectClockFactory.getRemoteInstance();
  513. }
  514. /**
  515. * output createNewData method
  516. */
  517. protected IObjectValue createNewData()
  518. {
  519. com.kingdee.eas.hr.project.ProjectClockInfo objectValue = new com.kingdee.eas.hr.project.ProjectClockInfo();
  520. objectValue.setCreator((com.kingdee.eas.base.permission.UserInfo)(com.kingdee.eas.common.client.SysContext.getSysContext().getCurrentUser()));
  521. return objectValue;
  522. }
  523. /**
  524. * output getDetailTable method
  525. */
  526. protected KDTable getDetailTable() {
  527. return null;
  528. }
  529. /**
  530. * output applyDefaultValue method
  531. */
  532. protected void applyDefaultValue(IObjectValue vo) {
  533. vo.put("state",new Integer(0));
  534. }
  535. protected void setFieldsNull(com.kingdee.bos.dao.AbstractObjectValue arg0) {
  536. super.setFieldsNull(arg0);
  537. arg0.put("number",null);
  538. }
  539. }