YwclF7ListtenerFromPlugin.java 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423
  1. package fi.em.formPlugin;
  2. import kd.bos.bill.AbstractBillPlugIn;
  3. import kd.bos.dataentity.entity.DynamicObject;
  4. import kd.bos.entity.datamodel.events.ChangeData;
  5. import kd.bos.entity.datamodel.events.PropertyChangedArgs;
  6. import kd.bos.exception.KDBizException;
  7. import kd.bos.form.field.BasedataEdit;
  8. import kd.bos.form.field.events.BeforeF7SelectEvent;
  9. import kd.bos.form.field.events.BeforeF7SelectListener;
  10. import kd.bos.list.ListShowParameter;
  11. import kd.bos.orm.query.QCP;
  12. import kd.bos.orm.query.QFilter;
  13. import kd.bos.servicehelper.BusinessDataServiceHelper;
  14. import kd.sdk.plugin.Plugin;
  15. import org.apache.commons.lang.StringUtils;
  16. import java.math.BigDecimal;
  17. import java.util.*;
  18. public class YwclF7ListtenerFromPlugin extends AbstractBillPlugIn implements Plugin, BeforeF7SelectListener {
  19. private final static String nckd_orgv="nckd_orgv";//收款资金组织
  20. private final static String nckd_skzh="nckd_skzh";//收款账户
  21. private final static String nckd_orgvs="nckd_orgvs";//付款资金组织
  22. private final static String nckd_skzhs="nckd_skzhs";//付款账户
  23. private final static String nckd_payeraccbanknum="nckd_payeraccbanknum";//调拨付款账户
  24. private final static String nckd_payeeaccbanknum="nckd_payeeaccbanknum";//调拨收款账户
  25. private final static String nckd_payeebanknumlb="nckd_payeebanknumlb";//收款信息修改付款账号
  26. private final static String nckd_payeebanknumlbs="nckd_payeebanknumlbs";//付款信息修改收款账号
  27. private final static String nckd_basedatafield="nckd_basedatafield";//资产报废编号
  28. private final static String nckd_basedatafield5="nckd_basedatafield5";//资产编号
  29. private final static String nckd_orgfield4="nckd_orgfield4";//付款信息修改收款账号111
  30. private final static String nckd_basedatafield16="nckd_basedatafield16";//财务事物卡片
  31. private final static String nckd_basedatafield19="nckd_basedatafield19";//被拆分资产
  32. private final static String nckd_orgfield6="nckd_orgfield6";//被拆分资产使用部门
  33. private final static String nckd_basedatafield14="nckd_basedatafield14";//转出资产明细
  34. private final static String nckd_basedatafield13="nckd_basedatafield13";//转入资产明细
  35. private final static String nckd_basedatafield18="nckd_basedatafield18";//资产盘点
  36. private final static String nckd_basedatafield21="nckd_basedatafield21";//资产变更明细
  37. private final static String nckd_orgfield8="nckd_orgfield8";//资产变更明细使用后部门
  38. private final static String nckd_basedatafield6="nckd_basedatafield6";//资产变更明细财务
  39. //业务处理单基础资料过滤插件
  40. @Override
  41. public void registerListener(EventObject e) {
  42. super.registerListener(e);
  43. // 侦听基础资料字段的事件
  44. BasedataEdit fieldEdit1 = this.getView().getControl(nckd_skzh);
  45. fieldEdit1.addBeforeF7SelectListener(this);
  46. BasedataEdit fieldEdit2 = this.getView().getControl(nckd_skzhs);
  47. fieldEdit2.addBeforeF7SelectListener(this);
  48. BasedataEdit fieldEdit3 = this.getView().getControl(nckd_payeraccbanknum);
  49. fieldEdit3.addBeforeF7SelectListener(this);
  50. BasedataEdit fieldEdit4 = this.getView().getControl(nckd_payeeaccbanknum);
  51. fieldEdit4.addBeforeF7SelectListener(this);
  52. BasedataEdit fieldEdit5 = this.getView().getControl(nckd_payeebanknumlb);
  53. fieldEdit5.addBeforeF7SelectListener(this);
  54. BasedataEdit fieldEdit6 = this.getView().getControl(nckd_payeebanknumlbs);
  55. fieldEdit6.addBeforeF7SelectListener(this);
  56. BasedataEdit fieldEdit7 = this.getView().getControl(nckd_basedatafield);
  57. fieldEdit7.addBeforeF7SelectListener(this);
  58. BasedataEdit fieldEdit8 = this.getView().getControl(nckd_basedatafield5);
  59. fieldEdit8.addBeforeF7SelectListener(this);
  60. BasedataEdit fieldEdit9 = this.getView().getControl(nckd_orgfield4);
  61. fieldEdit9.addBeforeF7SelectListener(this);
  62. BasedataEdit fieldEdit10 = this.getView().getControl(nckd_basedatafield16);
  63. fieldEdit10.addBeforeF7SelectListener(this);
  64. BasedataEdit fieldEdit11 = this.getView().getControl(nckd_basedatafield19);
  65. fieldEdit11.addBeforeF7SelectListener(this);
  66. BasedataEdit fieldEdit12 = this.getView().getControl(nckd_orgfield6);
  67. fieldEdit12.addBeforeF7SelectListener(this);
  68. BasedataEdit fieldEdit13 = this.getView().getControl(nckd_basedatafield14);
  69. fieldEdit13.addBeforeF7SelectListener(this);
  70. BasedataEdit fieldEdit14 = this.getView().getControl(nckd_basedatafield13);
  71. fieldEdit14.addBeforeF7SelectListener(this);
  72. BasedataEdit fieldEdit15 = this.getView().getControl(nckd_basedatafield18);
  73. fieldEdit15.addBeforeF7SelectListener(this);
  74. BasedataEdit fieldEdit16 = this.getView().getControl(nckd_basedatafield21);
  75. fieldEdit16.addBeforeF7SelectListener(this);
  76. BasedataEdit fieldEdit17 = this.getView().getControl(nckd_orgfield8);
  77. fieldEdit17.addBeforeF7SelectListener(this);
  78. BasedataEdit fieldEdit18 = this.getView().getControl(nckd_basedatafield6);
  79. fieldEdit18.addBeforeF7SelectListener(this);
  80. BasedataEdit fieldEdit19 = this.getView().getControl(nckd_orgv);
  81. fieldEdit19.addBeforeF7SelectListener(this);
  82. BasedataEdit fieldEdit20 = this.getView().getControl(nckd_orgvs);
  83. fieldEdit20.addBeforeF7SelectListener(this);
  84. }
  85. @Override
  86. public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
  87. String fieldKey = beforeF7SelectEvent.getProperty().getName();
  88. int row = beforeF7SelectEvent.getRow();
  89. if (StringUtils.equals(fieldKey, nckd_skzh)){
  90. this.getQFilter(beforeF7SelectEvent,nckd_skzh);
  91. }
  92. if (StringUtils.equals(fieldKey, nckd_skzhs)){
  93. this.getQFilter(beforeF7SelectEvent,nckd_skzhs);
  94. }
  95. if (StringUtils.equals(fieldKey, nckd_payeraccbanknum)){
  96. this.getQFilters(beforeF7SelectEvent,nckd_payeraccbanknum);
  97. }
  98. if (StringUtils.equals(fieldKey, nckd_payeeaccbanknum)){
  99. this.getQFilters(beforeF7SelectEvent,nckd_payeeaccbanknum);
  100. }
  101. if (StringUtils.equals(fieldKey, nckd_basedatafield)){
  102. this.getQFiltersbf(beforeF7SelectEvent,nckd_basedatafield);
  103. }
  104. if (StringUtils.equals(fieldKey, nckd_basedatafield5)){
  105. this.getQFilterdczc(beforeF7SelectEvent,nckd_basedatafield5);
  106. }
  107. if (StringUtils.equals(fieldKey, nckd_orgfield4)){
  108. this.getQFilterdrzc(beforeF7SelectEvent,nckd_orgfield4);
  109. }
  110. if (StringUtils.equals(fieldKey, nckd_basedatafield16)){
  111. this.getQFilterdczc(beforeF7SelectEvent,nckd_basedatafield16);
  112. }
  113. if (StringUtils.equals(fieldKey, nckd_basedatafield19)){
  114. this.getQFilterdczc(beforeF7SelectEvent,nckd_basedatafield19);
  115. }
  116. if (StringUtils.equals(fieldKey, nckd_orgfield6)){
  117. this.getQFilterdrzc(beforeF7SelectEvent,nckd_orgfield6);
  118. }
  119. if (StringUtils.equals(fieldKey, nckd_basedatafield14)){
  120. this.getQFilterdczc(beforeF7SelectEvent,nckd_basedatafield14);
  121. }
  122. if (StringUtils.equals(fieldKey, nckd_basedatafield13)){
  123. this.getQFilterdczc(beforeF7SelectEvent,nckd_basedatafield13);
  124. }
  125. if (StringUtils.equals(fieldKey, nckd_basedatafield18)){
  126. this.getQFilterdczc(beforeF7SelectEvent,nckd_basedatafield18);
  127. }
  128. if (StringUtils.equals(fieldKey, nckd_basedatafield21)){
  129. this.getQFilterdczc(beforeF7SelectEvent,nckd_basedatafield21);
  130. }
  131. if (StringUtils.equals(fieldKey, nckd_orgfield8)){
  132. this.getQFilterdrzc(beforeF7SelectEvent,nckd_orgfield8);
  133. }
  134. if (StringUtils.equals(fieldKey, nckd_basedatafield6)){
  135. this.getQFilterdczc(beforeF7SelectEvent,nckd_basedatafield6);
  136. }
  137. if (StringUtils.equals(fieldKey, nckd_orgv)){
  138. this.getQFilter(beforeF7SelectEvent,nckd_orgv);
  139. }
  140. if (StringUtils.equals(fieldKey, nckd_orgvs)){
  141. this.getQFilter(beforeF7SelectEvent,nckd_orgvs);
  142. }
  143. }
  144. private void getQFilter(BeforeF7SelectEvent arg0, String type) {
  145. DynamicObject data = (DynamicObject)this.getModel().getValue(nckd_orgv) ;
  146. if(type.equals(nckd_skzh)){
  147. DynamicObject skdata = (DynamicObject)this.getModel().getValue(nckd_orgv) ;
  148. if(skdata ==null){
  149. throw new KDBizException("收款信息资金组织为空!");
  150. }
  151. long orgid = skdata.getLong("id");
  152. QFilter nckd_skzjFilter = new QFilter("id", QCP.equals,orgid);
  153. data= BusinessDataServiceHelper.loadSingle("bos_org","id",new QFilter[] {nckd_skzjFilter});
  154. } else if (type.equals(nckd_orgvs)) {
  155. DynamicObject fkdata = (DynamicObject)this.getModel().getValue("nckd_orgfield") ;
  156. if(fkdata ==null){
  157. throw new KDBizException("核算组织为空!");
  158. }
  159. long orgid = fkdata.getLong("id");
  160. QFilter banks = new QFilter("toorg.id", QCP.equals, orgid);
  161. Map<Object, DynamicObject> nckd_cas_arbilMap = BusinessDataServiceHelper.loadFromCache("bos_org_orgrelation", new QFilter[]{banks});
  162. HashSet<Long> objects = new HashSet<>();
  163. for (Object idkey:nckd_cas_arbilMap.keySet()) {
  164. //当前单头
  165. DynamicObject dynamicObject = nckd_cas_arbilMap.get(idkey);
  166. long fromorg = dynamicObject.getLong("fromorg");
  167. objects.add(fromorg);
  168. }
  169. QFilter nckd_skzjFilter = new QFilter("id", QCP.in,objects);
  170. data= BusinessDataServiceHelper.loadSingle("bos_org","id",new QFilter[] {nckd_skzjFilter});
  171. }else if (type.equals(nckd_orgv)) {
  172. DynamicObject fkdata = (DynamicObject)this.getModel().getValue("nckd_orgfield") ;
  173. if(fkdata ==null){
  174. throw new KDBizException("核算组织为空!");
  175. }
  176. long orgid = fkdata.getLong("id");
  177. QFilter banks = new QFilter("toorg.id", QCP.equals, orgid);
  178. Map<Object, DynamicObject> nckd_cas_arbilMap = BusinessDataServiceHelper.loadFromCache("bos_org_orgrelation", new QFilter[]{banks});
  179. HashSet<Long> objects = new HashSet<>();
  180. for (Object idkey:nckd_cas_arbilMap.keySet()) {
  181. //当前单头
  182. DynamicObject dynamicObject = nckd_cas_arbilMap.get(idkey);
  183. long fromorg = dynamicObject.getLong("fromorg");
  184. objects.add(fromorg);
  185. }
  186. QFilter nckd_skzjFilter = new QFilter("id", QCP.in,objects);
  187. data= BusinessDataServiceHelper.loadSingle("bos_org","id",new QFilter[] {nckd_skzjFilter});
  188. }else if (type.equals(nckd_skzhs)) {
  189. DynamicObject fkdata = (DynamicObject)this.getModel().getValue(nckd_orgvs) ;
  190. if(fkdata ==null){
  191. throw new KDBizException("付款信息资金组织为空!");
  192. }
  193. long orgid = fkdata.getLong("id");
  194. QFilter nckd_skzjFilter = new QFilter("id", QCP.equals,orgid);
  195. data= BusinessDataServiceHelper.loadSingle("bos_org","id",new QFilter[] {nckd_skzjFilter});
  196. }
  197. QFilter filter;
  198. //给基础资料添加过滤
  199. filter = new QFilter("acctstatus", QCP.equals, "normal");
  200. filter.and("company.id", QCP.equals,data.getLong("id"));
  201. ListShowParameter showParameter = (ListShowParameter)arg0.getFormShowParameter();
  202. showParameter.getListFilterParameter().setFilter(filter);
  203. }
  204. private void getQFilters(BeforeF7SelectEvent arg0, String type) {
  205. DynamicObject data = (DynamicObject)this.getModel().getValue("nckd_costcompany") ;
  206. if(type.equals(nckd_payeraccbanknum)){
  207. DynamicObject skdata = (DynamicObject)this.getModel().getValue("nckd_payorg") ;
  208. if(skdata ==null){
  209. throw new KDBizException("调拨明细付款组织为空!");
  210. }
  211. long orgid = skdata.getLong("id");
  212. QFilter nckd_skzjFilter = new QFilter("id", QCP.equals,orgid);
  213. data= BusinessDataServiceHelper.loadSingle("bos_org","id",new QFilter[] {nckd_skzjFilter});
  214. } else if (type.equals(nckd_payeeaccbanknum)) {
  215. DynamicObject fkdata = (DynamicObject)this.getModel().getValue("nckd_payee") ;
  216. if(fkdata ==null){
  217. throw new KDBizException("调拨明细收款组织为空!");
  218. }
  219. long orgid = fkdata.getLong("id");
  220. QFilter nckd_skzjFilter = new QFilter("id", QCP.equals,orgid);
  221. data= BusinessDataServiceHelper.loadSingle("bos_org","id",new QFilter[] {nckd_skzjFilter});
  222. }
  223. QFilter filter;
  224. //给基础资料添加过滤
  225. filter = new QFilter("acctstatus", QCP.equals, "normal");
  226. filter.and("company.id", QCP.equals,data.getLong("id"));
  227. ListShowParameter showParameter = (ListShowParameter)arg0.getFormShowParameter();
  228. showParameter.getListFilterParameter().setFilter(filter);
  229. }
  230. private void getQFiltersfk(BeforeF7SelectEvent arg0, String type) {
  231. DynamicObject data = (DynamicObject)this.getModel().getValue("nckd_costcompany") ;
  232. if(type.equals(nckd_payeebanknumlb)){
  233. DynamicObject skdata = (DynamicObject)this.getModel().getValue("nckd_payeenamev") ;
  234. if(skdata ==null){
  235. throw new KDBizException("收款信息付款人为空!");
  236. }
  237. long orgid = skdata.getLong("id");
  238. QFilter nckd_skzjFilter = new QFilter("id", QCP.equals,orgid);
  239. data= BusinessDataServiceHelper.loadSingle("bd_supplier","id",new QFilter[] {nckd_skzjFilter});
  240. } else if (type.equals(nckd_payeebanknumlbs)) {
  241. DynamicObject fkdata = (DynamicObject)this.getModel().getValue("nckd_payeenamevs") ;
  242. if(fkdata ==null){
  243. throw new KDBizException("付款信息付款人为空!");
  244. }
  245. long orgid = fkdata.getLong("id");
  246. QFilter nckd_skzjFilter = new QFilter("id", QCP.equals,orgid);
  247. data= BusinessDataServiceHelper.loadSingle("bd_supplier","id",new QFilter[] {nckd_skzjFilter});
  248. }
  249. QFilter filter;
  250. //给基础资料添加过滤
  251. filter = new QFilter("nckd_id", QCP.equals, data.getLong("id"));
  252. ListShowParameter showParameter = (ListShowParameter)arg0.getFormShowParameter();
  253. showParameter.getListFilterParameter().setFilter(filter);
  254. }
  255. private void getQFiltersbf(BeforeF7SelectEvent arg0, String type) {
  256. DynamicObject data = (DynamicObject)this.getModel().getValue("nckd_orgfield") ;
  257. if(data ==null){
  258. throw new KDBizException("核算组织为空!");
  259. }
  260. String number = data.getString("number");
  261. QFilter filter;
  262. //给基础资料添加过滤
  263. filter = new QFilter("assetunit.number", QCP.equals, number);
  264. ListShowParameter showParameter = (ListShowParameter)arg0.getFormShowParameter();
  265. showParameter.getListFilterParameter().setFilter(filter);
  266. }
  267. private void getQFilterdczc(BeforeF7SelectEvent arg0, String type) {
  268. String nckdDetailtype = this.getModel().getValue("nckd_detailtype").toString();
  269. if("E".equals(nckdDetailtype)) {
  270. DynamicObject data = (DynamicObject)this.getModel().getValue("nckd_orgfield1") ;
  271. if(data ==null){
  272. throw new KDBizException("调出组织为空!");
  273. }
  274. String number = data.getString("number");
  275. QFilter filter;
  276. //给基础资料添加过滤
  277. filter = new QFilter("assetunit.number", QCP.equals, number);
  278. ListShowParameter showParameter = (ListShowParameter)arg0.getFormShowParameter();
  279. showParameter.getListFilterParameter().setFilter(filter);
  280. }else if ("N".equals(nckdDetailtype)) {
  281. DynamicObject data = (DynamicObject)this.getModel().getValue("nckd_orgfield");
  282. if(data ==null){
  283. throw new KDBizException("核算组织为空!");
  284. }
  285. String number = data.getString("number");
  286. QFilter filter;
  287. //给基础资料添加过滤
  288. filter = new QFilter("org.number", QCP.equals, number);
  289. ListShowParameter showParameter = (ListShowParameter)arg0.getFormShowParameter();
  290. showParameter.getListFilterParameter().setFilter(filter);
  291. }else if ("P".equals(nckdDetailtype)) {
  292. DynamicObject data = (DynamicObject)this.getModel().getValue("nckd_orgfield");
  293. if(data ==null){
  294. throw new KDBizException("核算组织为空!");
  295. }
  296. String number = data.getString("number");
  297. QFilter filter;
  298. //给基础资料添加过滤
  299. filter = new QFilter("org.number", QCP.equals, number);
  300. ListShowParameter showParameter = (ListShowParameter)arg0.getFormShowParameter();
  301. showParameter.getListFilterParameter().setFilter(filter);
  302. }else if ("T".equals(nckdDetailtype)) {
  303. DynamicObject data = (DynamicObject)this.getModel().getValue("nckd_orgfield");
  304. if(data ==null){
  305. throw new KDBizException("核算组织为空!");
  306. }
  307. String number = data.getString("number");
  308. QFilter filter;
  309. //给基础资料添加过滤
  310. filter = new QFilter("org.number", QCP.equals, number);
  311. ListShowParameter showParameter = (ListShowParameter)arg0.getFormShowParameter();
  312. showParameter.getListFilterParameter().setFilter(filter);
  313. }else if ("S".equals(nckdDetailtype)) {
  314. DynamicObject data = (DynamicObject)this.getModel().getValue("nckd_orgfield");
  315. if(data ==null){
  316. throw new KDBizException("核算组织为空!");
  317. }
  318. String number = data.getString("number");
  319. QFilter filter;
  320. //给基础资料添加过滤
  321. filter = new QFilter("org.number", QCP.equals, number);
  322. ListShowParameter showParameter = (ListShowParameter)arg0.getFormShowParameter();
  323. showParameter.getListFilterParameter().setFilter(filter);
  324. }else if ("Q".equals(nckdDetailtype)) {
  325. DynamicObject data = (DynamicObject)this.getModel().getValue("nckd_orgfield");
  326. if(data ==null){
  327. throw new KDBizException("核算组织为空!");
  328. }
  329. String number = data.getString("number");
  330. QFilter filter;
  331. //给基础资料添加过滤
  332. filter = new QFilter("org.number", QCP.equals, number);
  333. ListShowParameter showParameter = (ListShowParameter)arg0.getFormShowParameter();
  334. showParameter.getListFilterParameter().setFilter(filter);
  335. }else if ("K".equals(nckdDetailtype)) {
  336. DynamicObject data = (DynamicObject)this.getModel().getValue("nckd_orgfield");
  337. if(data ==null){
  338. throw new KDBizException("核算组织为空!");
  339. }
  340. String number = data.getString("number");
  341. QFilter filter;
  342. //给基础资料添加过滤
  343. filter = new QFilter("org.number", QCP.equals, number);
  344. ListShowParameter showParameter = (ListShowParameter)arg0.getFormShowParameter();
  345. showParameter.getListFilterParameter().setFilter(filter);
  346. }
  347. }
  348. private void getQFilterdrzc(BeforeF7SelectEvent arg0, String type) {
  349. String nckdDetailtype = this.getModel().getValue("nckd_detailtype").toString();
  350. if("E".equals(nckdDetailtype)){
  351. DynamicObject data = (DynamicObject)this.getModel().getValue("nckd_orgfield2") ;
  352. if(data ==null){
  353. throw new KDBizException("调入组织为空!");
  354. }
  355. long id = data.getLong("id");
  356. QFilter nckd_orgamountFilter = new QFilter("fromorg.id", QCP.equals, id);
  357. Map<Object, DynamicObject> nckd_cas_arbilMap = BusinessDataServiceHelper.loadFromCache("bos_org_orgrelation_dept", new QFilter[]{nckd_orgamountFilter});
  358. HashSet<Long> objects = new HashSet<>();
  359. for (Object idkey:nckd_cas_arbilMap.keySet()) {
  360. //当前单头
  361. DynamicObject dynamicObject = nckd_cas_arbilMap.get(idkey);
  362. Long id1 = dynamicObject.getLong("toorg.id");
  363. objects.add(id1);
  364. }
  365. QFilter filter = new QFilter("id",QCP.in,objects);
  366. //给基础资料添加过滤
  367. ListShowParameter showParameter = (ListShowParameter) arg0.getFormShowParameter();
  368. showParameter.getListFilterParameter().setFilter(filter);
  369. }else if ("N".equals(nckdDetailtype)) {
  370. DynamicObject data = (DynamicObject)this.getModel().getValue("nckd_orgfield") ;
  371. if(data ==null){
  372. throw new KDBizException("核算组织为空!");
  373. }
  374. long id = data.getLong("id");
  375. QFilter nckd_orgamountFilter = new QFilter("fromorg.id", QCP.equals, id);
  376. Map<Object, DynamicObject> nckd_cas_arbilMap = BusinessDataServiceHelper.loadFromCache("bos_org_orgrelation_dept", new QFilter[]{nckd_orgamountFilter});
  377. HashSet<Long> objects = new HashSet<>();
  378. for (Object idkey:nckd_cas_arbilMap.keySet()) {
  379. //当前单头
  380. DynamicObject dynamicObject = nckd_cas_arbilMap.get(idkey);
  381. Long id1 = dynamicObject.getLong("toorg.id");
  382. objects.add(id1);
  383. }
  384. QFilter filter = new QFilter("id",QCP.in,objects);
  385. //给基础资料添加过滤
  386. ListShowParameter showParameter = (ListShowParameter) arg0.getFormShowParameter();
  387. showParameter.getListFilterParameter().setFilter(filter);
  388. }else if ("T".equals(nckdDetailtype)) {
  389. DynamicObject data = (DynamicObject)this.getModel().getValue("nckd_orgfield") ;
  390. if(data ==null){
  391. throw new KDBizException("核算组织为空!");
  392. }
  393. long id = data.getLong("id");
  394. QFilter nckd_orgamountFilter = new QFilter("fromorg.id", QCP.equals, id);
  395. Map<Object, DynamicObject> nckd_cas_arbilMap = BusinessDataServiceHelper.loadFromCache("bos_org_orgrelation_dept", new QFilter[]{nckd_orgamountFilter});
  396. HashSet<Long> objects = new HashSet<>();
  397. for (Object idkey:nckd_cas_arbilMap.keySet()) {
  398. //当前单头
  399. DynamicObject dynamicObject = nckd_cas_arbilMap.get(idkey);
  400. Long id1 = dynamicObject.getLong("toorg.id");
  401. objects.add(id1);
  402. }
  403. QFilter filter = new QFilter("id",QCP.in,objects);
  404. //给基础资料添加过滤
  405. ListShowParameter showParameter = (ListShowParameter) arg0.getFormShowParameter();
  406. showParameter.getListFilterParameter().setFilter(filter);
  407. }
  408. }
  409. }