| 
							
							
							
						 |  |  | @ -1,38 +1,41 @@ | 
		
	
		
			
				|  |  |  |  | package tqq9.lc123.cloud.app.plugin.form.conm; | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | import kd.bos.bill.BillShowParameter; | 
		
	
		
			
				|  |  |  |  | import kd.bos.bill.OperationStatus; | 
		
	
		
			
				|  |  |  |  | import kd.bos.dataentity.entity.DynamicObject; | 
		
	
		
			
				|  |  |  |  | import kd.bos.dataentity.entity.DynamicObjectCollection; | 
		
	
		
			
				|  |  |  |  | import kd.bos.dataentity.utils.StringUtils; | 
		
	
		
			
				|  |  |  |  | import kd.bos.entity.datamodel.IDataModel; | 
		
	
		
			
				|  |  |  |  | import kd.bos.entity.datamodel.ListSelectedRow; | 
		
	
		
			
				|  |  |  |  | import kd.bos.entity.datamodel.ListSelectedRowCollection; | 
		
	
		
			
				|  |  |  |  | import kd.bos.form.CloseCallBack; | 
		
	
		
			
				|  |  |  |  | import kd.bos.form.FormShowParameter; | 
		
	
		
			
				|  |  |  |  | import kd.bos.form.IFormView; | 
		
	
		
			
				|  |  |  |  | import kd.bos.form.ShowType; | 
		
	
		
			
				|  |  |  |  | import kd.bos.entity.datamodel.events.BeforeDeleteRowEventArgs; | 
		
	
		
			
				|  |  |  |  | import kd.bos.form.*; | 
		
	
		
			
				|  |  |  |  | import kd.bos.form.control.Control; | 
		
	
		
			
				|  |  |  |  | import kd.bos.form.control.EntryGrid; | 
		
	
		
			
				|  |  |  |  | import kd.bos.form.control.events.BeforeItemClickEvent; | 
		
	
		
			
				|  |  |  |  | import kd.bos.form.control.events.ItemClickEvent; | 
		
	
		
			
				|  |  |  |  | import kd.bos.form.events.ClosedCallBackEvent; | 
		
	
		
			
				|  |  |  |  | import kd.bos.form.events.HyperLinkClickEvent; | 
		
	
		
			
				|  |  |  |  | import kd.bos.form.events.HyperLinkClickListener; | 
		
	
		
			
				|  |  |  |  | import kd.bos.form.plugin.AbstractFormPlugin; | 
		
	
		
			
				|  |  |  |  | import kd.bos.logging.Log; | 
		
	
		
			
				|  |  |  |  | import kd.bos.logging.LogFactory; | 
		
	
		
			
				|  |  |  |  | import kd.bos.orm.query.QCP; | 
		
	
		
			
				|  |  |  |  | import kd.bos.orm.query.QFilter; | 
		
	
		
			
				|  |  |  |  | import kd.bos.servicehelper.BusinessDataServiceHelper; | 
		
	
		
			
				|  |  |  |  | import kd.bos.servicehelper.operation.DeleteServiceHelper; | 
		
	
		
			
				|  |  |  |  | import kd.bos.servicehelper.operation.SaveServiceHelper; | 
		
	
		
			
				|  |  |  |  | import kd.sdk.plugin.Plugin; | 
		
	
		
			
				|  |  |  |  | import scala.annotation.meta.param; | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | import java.math.BigDecimal; | 
		
	
		
			
				|  |  |  |  | import java.util.Date; | 
		
	
		
			
				|  |  |  |  | import java.util.EventObject; | 
		
	
		
			
				|  |  |  |  | import java.util.HashMap; | 
		
	
		
			
				|  |  |  |  | import java.util.Map; | 
		
	
		
			
				|  |  |  |  | import java.util.*; | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | /** | 
		
	
		
			
				|  |  |  |  |  * 采购合同表单插件 | 
		
	
		
			
				|  |  |  |  |  * 点击按钮新增返利规则 | 
		
	
		
			
				|  |  |  |  |  */ | 
		
	
		
			
				|  |  |  |  | public class purconmAddRebateRulesPlugin extends AbstractFormPlugin implements Plugin { | 
		
	
		
			
				|  |  |  |  | public class purconmAddRebateRulesPlugin extends AbstractFormPlugin implements HyperLinkClickListener { | 
		
	
		
			
				|  |  |  |  |     private final static Log logger = LogFactory.getLog(purconmAddRebateRulesPlugin.class); | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
	
		
			
				
					|  |  |  | @ -41,8 +44,36 @@ public class purconmAddRebateRulesPlugin extends AbstractFormPlugin implements P | 
		
	
		
			
				|  |  |  |  |         super.registerListener(e); | 
		
	
		
			
				|  |  |  |  |         this.addItemClickListeners("tbmain"); | 
		
	
		
			
				|  |  |  |  |         this.addItemClickListeners("tqq9_rebatetoolbarap"); | 
		
	
		
			
				|  |  |  |  |         this.addClickListeners(new String[]{"tqq9_paybillno"}); | 
		
	
		
			
				|  |  |  |  |         EntryGrid preEntry = (EntryGrid) this.getView().getControl("tqq9_entryentity"); | 
		
	
		
			
				|  |  |  |  |         preEntry.addHyperClickListener(this); | 
		
	
		
			
				|  |  |  |  |     } | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |     @Override | 
		
	
		
			
				|  |  |  |  |     public void beforeDeleteRow(BeforeDeleteRowEventArgs e) { | 
		
	
		
			
				|  |  |  |  |         super.beforeDeleteRow(e); | 
		
	
		
			
				|  |  |  |  |         int[] selectRows = e.getRowIndexs(); | 
		
	
		
			
				|  |  |  |  |         DynamicObjectCollection tqq9_entryentity = this.getModel().getDataEntity(true).getDynamicObjectCollection("tqq9_entryentity"); | 
		
	
		
			
				|  |  |  |  |         List<Long> rebate = new ArrayList<>(); | 
		
	
		
			
				|  |  |  |  |         StringBuilder stringBuilder = new StringBuilder(); | 
		
	
		
			
				|  |  |  |  |         for (int i = 0; i < selectRows.length; i++) { | 
		
	
		
			
				|  |  |  |  |             int selectRow = selectRows[i]; | 
		
	
		
			
				|  |  |  |  |             DynamicObject dynamicObject = tqq9_entryentity.get(selectRow); | 
		
	
		
			
				|  |  |  |  |             DynamicObject tqq9_pur_rebate = dynamicObject.getDynamicObject("tqq9_pur_rebate"); | 
		
	
		
			
				|  |  |  |  |             if (tqq9_pur_rebate != null) { | 
		
	
		
			
				|  |  |  |  |                 String name = dynamicObject.getString("tqq9_rulename"); | 
		
	
		
			
				|  |  |  |  |                 if (tqq9_pur_rebate.getString("status").equals("A")) { | 
		
	
		
			
				|  |  |  |  |                     rebate.add(tqq9_pur_rebate.getLong("id")); | 
		
	
		
			
				|  |  |  |  |                 } else { | 
		
	
		
			
				|  |  |  |  |                     this.getView().showMessage("名称为:'" + name + "'的返利规则为非暂存状态,无法删除"); | 
		
	
		
			
				|  |  |  |  |                     e.setCancel(true); | 
		
	
		
			
				|  |  |  |  |                     return; | 
		
	
		
			
				|  |  |  |  |                 } | 
		
	
		
			
				|  |  |  |  |             } | 
		
	
		
			
				|  |  |  |  |         } | 
		
	
		
			
				|  |  |  |  |         DeleteServiceHelper.delete("tqq9_pur_rebate", new QFilter[]{new QFilter("id", QCP.in, rebate)}); | 
		
	
		
			
				|  |  |  |  |         this.getView().showMessage("返利规则删除成功"); | 
		
	
		
			
				|  |  |  |  |     } | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |     @Override | 
		
	
		
			
				|  |  |  |  |     public void itemClick(ItemClickEvent evt) { | 
		
	
	
		
			
				
					|  |  |  | @ -58,6 +89,71 @@ public class purconmAddRebateRulesPlugin extends AbstractFormPlugin implements P | 
		
	
		
			
				|  |  |  |  |             param.getOpenStyle().setShowType(ShowType.Modal); | 
		
	
		
			
				|  |  |  |  |             this.getView().showForm(param); | 
		
	
		
			
				|  |  |  |  |         } | 
		
	
		
			
				|  |  |  |  | //        else if (StringUtils.equals("tqq9_rebate_deleterow", itemKey)) { | 
		
	
		
			
				|  |  |  |  | //            EntryGrid entryGrid = this.getControl("tqq9_entryentity"); | 
		
	
		
			
				|  |  |  |  | //            int[] selectRows = entryGrid.getSelectRows(); | 
		
	
		
			
				|  |  |  |  | //            DynamicObjectCollection tqq9_entryentity = this.getModel().getDataEntity(true).getDynamicObjectCollection("tqq9_entryentity"); | 
		
	
		
			
				|  |  |  |  | //            List<Long> rebate = new ArrayList<>(); | 
		
	
		
			
				|  |  |  |  | //            StringBuilder stringBuilder = new StringBuilder(); | 
		
	
		
			
				|  |  |  |  | //            for (int i = 0; i < selectRows.length; i++) { | 
		
	
		
			
				|  |  |  |  | //                int selectRow = selectRows[i]; | 
		
	
		
			
				|  |  |  |  | //                DynamicObject dynamicObject = tqq9_entryentity.get(selectRow); | 
		
	
		
			
				|  |  |  |  | //                DynamicObject tqq9_pur_rebate = dynamicObject.getDynamicObject("tqq9_pur_rebate"); | 
		
	
		
			
				|  |  |  |  | //                if (tqq9_pur_rebate != null) { | 
		
	
		
			
				|  |  |  |  | //                    String name = dynamicObject.getString("name"); | 
		
	
		
			
				|  |  |  |  | //                    if (tqq9_pur_rebate.getString("status").equals("A")) { | 
		
	
		
			
				|  |  |  |  | //                        rebate.add(tqq9_pur_rebate.getLong("id")); | 
		
	
		
			
				|  |  |  |  | //                    } else { | 
		
	
		
			
				|  |  |  |  | //                        stringBuilder.append(",").append("名称为:'" + name + "'的返利规则为非暂存状态,无法删除"); | 
		
	
		
			
				|  |  |  |  | //                    } | 
		
	
		
			
				|  |  |  |  | //                } | 
		
	
		
			
				|  |  |  |  | //            } | 
		
	
		
			
				|  |  |  |  | //            DeleteServiceHelper.delete("tqq9_pur_rebate", new QFilter[]{new QFilter("id", QCP.in, rebate)}); | 
		
	
		
			
				|  |  |  |  | //            if (stringBuilder.length() > 0) { | 
		
	
		
			
				|  |  |  |  | //                this.getView().showMessage(stringBuilder.substring(1)); | 
		
	
		
			
				|  |  |  |  | //            } else { | 
		
	
		
			
				|  |  |  |  | //                this.getView().showMessage("选择编码规则均为暂存状态,删除成功"); | 
		
	
		
			
				|  |  |  |  | //            } | 
		
	
		
			
				|  |  |  |  | // | 
		
	
		
			
				|  |  |  |  | //        } | 
		
	
		
			
				|  |  |  |  |     } | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | //    @Override | 
		
	
		
			
				|  |  |  |  | //    public void click(EventObject evt) { | 
		
	
		
			
				|  |  |  |  | //        Control c = (Control) evt.getSource(); | 
		
	
		
			
				|  |  |  |  | //        String key = c.getKey().toLowerCase(); | 
		
	
		
			
				|  |  |  |  | //        if ("tqq9_rulename".equals(key)) { | 
		
	
		
			
				|  |  |  |  | //            BillShowParameter param = new BillShowParameter(); | 
		
	
		
			
				|  |  |  |  | //            param.setFormId("tqq9_pur_rebate"); | 
		
	
		
			
				|  |  |  |  | //            param.setCustomParam("purcontract_billno", this.getModel().getValue("billno")); | 
		
	
		
			
				|  |  |  |  | //            param.setCustomParam("purcontract_supplier", this.getModel().getValue("supplier")); | 
		
	
		
			
				|  |  |  |  | //            param.setCustomParam("purcontract_tqq9_dxpp", this.getModel().getValue("tqq9_dxpp")); | 
		
	
		
			
				|  |  |  |  | //            param.setCloseCallBack(new CloseCallBack(this, "entry_rebateSync_click")); | 
		
	
		
			
				|  |  |  |  | //            param.getOpenStyle().setShowType(ShowType.Modal); | 
		
	
		
			
				|  |  |  |  | //            this.getView().showForm(param); | 
		
	
		
			
				|  |  |  |  | //        } | 
		
	
		
			
				|  |  |  |  | //    } | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |     @Override | 
		
	
		
			
				|  |  |  |  |     public void hyperLinkClick(HyperLinkClickEvent hyperLinkClickEvent) { | 
		
	
		
			
				|  |  |  |  |         int rowIndex = hyperLinkClickEvent.getRowIndex(); | 
		
	
		
			
				|  |  |  |  |         String tqq9_rulename = (String) this.getModel().getValue("tqq9_rulename", rowIndex); | 
		
	
		
			
				|  |  |  |  |         DynamicObject tqq9_pur_rebate = BusinessDataServiceHelper.loadSingle("tqq9_pur_rebate", new QFilter[]{new QFilter("name", QCP.equals, tqq9_rulename)}); | 
		
	
		
			
				|  |  |  |  |         if (tqq9_pur_rebate != null) { | 
		
	
		
			
				|  |  |  |  |             Long id = tqq9_pur_rebate.getLong("id"); | 
		
	
		
			
				|  |  |  |  |             BillShowParameter formshowParameter = new BillShowParameter(); | 
		
	
		
			
				|  |  |  |  |             formshowParameter.setFormId("tqq9_pur_rebate"); | 
		
	
		
			
				|  |  |  |  |             formshowParameter.getOpenStyle().setInlineStyleCss(new StyleCss()); | 
		
	
		
			
				|  |  |  |  |             formshowParameter.setPkId(id); | 
		
	
		
			
				|  |  |  |  |             formshowParameter.getOpenStyle().setShowType(ShowType.Modal); | 
		
	
		
			
				|  |  |  |  |             formshowParameter.setCustomParam("purcontract_billno", this.getModel().getValue("billno")); | 
		
	
		
			
				|  |  |  |  |             formshowParameter.setCustomParam("purcontract_supplier", this.getModel().getValue("supplier")); | 
		
	
		
			
				|  |  |  |  |             formshowParameter.setCustomParam("purcontract_tqq9_dxpp", this.getModel().getValue("tqq9_dxpp")); | 
		
	
		
			
				|  |  |  |  |             formshowParameter.setCloseCallBack(new CloseCallBack(this, "entry_rebateSync_click")); | 
		
	
		
			
				|  |  |  |  |             this.getView().showForm(formshowParameter); | 
		
	
		
			
				|  |  |  |  |         } else { | 
		
	
		
			
				|  |  |  |  |             this.getView().showErrorNotification("名称为:'" + tqq9_rulename + "'的返利规则不存在或者已删除,请删除该分录后重新编辑"); | 
		
	
		
			
				|  |  |  |  |         } | 
		
	
		
			
				|  |  |  |  |     } | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
	
		
			
				
					|  |  |  | @ -131,10 +227,76 @@ public class purconmAddRebateRulesPlugin extends AbstractFormPlugin implements P | 
		
	
		
			
				|  |  |  |  |                 model.setValue("tqq9_creatdate", createtime, size - 1);//创建时间 | 
		
	
		
			
				|  |  |  |  |                 model.setValue("tqq9_lastdate", tqq9_lastdate, size - 1);//最后一次执行时间 | 
		
	
		
			
				|  |  |  |  |                 model.setValue("tqq9_pur_rebate", dynamicObject, size - 1);//返利规则 | 
		
	
		
			
				|  |  |  |  |             } else if ("entry_rebateSync_click".equals(actionId)) { | 
		
	
		
			
				|  |  |  |  |                 DynamicObjectCollection tqq9_entryentity = this.getModel().getDataEntity(true).getDynamicObjectCollection("tqq9_entryentity"); | 
		
	
		
			
				|  |  |  |  |                 int size = 0; | 
		
	
		
			
				|  |  |  |  |                 DynamicObject dynamicObject = (DynamicObject) ((HashMap) returnData).get("tqq9_pur_rebate"); | 
		
	
		
			
				|  |  |  |  |                 String name = dynamicObject.getString("name"); | 
		
	
		
			
				|  |  |  |  |                 String id = dynamicObject.getString("id"); | 
		
	
		
			
				|  |  |  |  |                 for (int i = 0; i < tqq9_entryentity.size(); i++) { | 
		
	
		
			
				|  |  |  |  |                     if (StringUtils.equals(tqq9_entryentity.get(i).getString("tqq9_pur_rebate.id"), id)) { | 
		
	
		
			
				|  |  |  |  |                         size = i; | 
		
	
		
			
				|  |  |  |  |                     } | 
		
	
		
			
				|  |  |  |  |                 } | 
		
	
		
			
				|  |  |  |  |                 DynamicObjectCollection tqq9_rebatebrand = dynamicObject.getDynamicObjectCollection("tqq9_rebatebrand");//品牌 | 
		
	
		
			
				|  |  |  |  |                 DynamicObjectCollection tqq9_supplier = dynamicObject.getDynamicObjectCollection("tqq9_supplier");//供应商 | 
		
	
		
			
				|  |  |  |  |                 Date tqq9_startdate = dynamicObject.getDate("tqq9_startdate");//返利开始时间 | 
		
	
		
			
				|  |  |  |  |                 Date tqq9_enddate = dynamicObject.getDate("tqq9_enddate");//返利结束时间 | 
		
	
		
			
				|  |  |  |  |                 String tqq9_status = dynamicObject.getString("tqq9_status");//返利状态 | 
		
	
		
			
				|  |  |  |  |                 DynamicObject creator = dynamicObject.getDynamicObject("creator");//创建人 | 
		
	
		
			
				|  |  |  |  |                 Date createtime = dynamicObject.getDate("createtime");//创建时间 | 
		
	
		
			
				|  |  |  |  |                 Date tqq9_lastdate = dynamicObject.getDate("tqq9_lastdate");//最后一次执行时间 | 
		
	
		
			
				|  |  |  |  |                 String tqq9_rebatesub = dynamicObject.getString("tqq9_rebatesub");//返利主体 | 
		
	
		
			
				|  |  |  |  |                 StringBuilder stringBuilder = new StringBuilder(); | 
		
	
		
			
				|  |  |  |  |                 if (StringUtils.equals("A", tqq9_rebatesub)) { | 
		
	
		
			
				|  |  |  |  |                     Boolean tqq9_shanghailici = dynamicObject.getBoolean("tqq9_shanghailici"); | 
		
	
		
			
				|  |  |  |  |                     if (tqq9_shanghailici) { | 
		
	
		
			
				|  |  |  |  |                         stringBuilder.append(",").append("上海励齿"); | 
		
	
		
			
				|  |  |  |  |                     } | 
		
	
		
			
				|  |  |  |  |                     Boolean tqq9_beijinglichi = dynamicObject.getBoolean("tqq9_beijinglichi"); | 
		
	
		
			
				|  |  |  |  |                     if (tqq9_beijinglichi) { | 
		
	
		
			
				|  |  |  |  |                         stringBuilder.append(",").append("北京励齿"); | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |                     } | 
		
	
		
			
				|  |  |  |  |                     Boolean tqq9_guangzhoulici = dynamicObject.getBoolean("tqq9_guangzhoulici"); | 
		
	
		
			
				|  |  |  |  |                     if (tqq9_guangzhoulici) { | 
		
	
		
			
				|  |  |  |  |                         stringBuilder.append(",").append("广州励齿"); | 
		
	
		
			
				|  |  |  |  |                     } | 
		
	
		
			
				|  |  |  |  |                 } else if (StringUtils.equals("B", tqq9_rebatesub)) { | 
		
	
		
			
				|  |  |  |  |                     BigDecimal tqq9_shlcbl = dynamicObject.getBigDecimal("tqq9_shlcbl"); | 
		
	
		
			
				|  |  |  |  |                     if (tqq9_shlcbl.compareTo(BigDecimal.ZERO) == 0) { | 
		
	
		
			
				|  |  |  |  |                         stringBuilder.append(",").append("上海励齿"); | 
		
	
		
			
				|  |  |  |  |                     } | 
		
	
		
			
				|  |  |  |  |                     BigDecimal tqq9_bjlcbl = dynamicObject.getBigDecimal("tqq9_bjlcbl"); | 
		
	
		
			
				|  |  |  |  |                     if (tqq9_bjlcbl.compareTo(BigDecimal.ZERO) == 0) { | 
		
	
		
			
				|  |  |  |  |                         stringBuilder.append(",").append("北京励齿"); | 
		
	
		
			
				|  |  |  |  |                     } | 
		
	
		
			
				|  |  |  |  |                     BigDecimal tqq9_gzlcbl = dynamicObject.getBigDecimal("tqq9_gzlcbl"); | 
		
	
		
			
				|  |  |  |  |                     if (tqq9_gzlcbl.compareTo(BigDecimal.ZERO) == 0) { | 
		
	
		
			
				|  |  |  |  |                         stringBuilder.append(",").append("广州励齿"); | 
		
	
		
			
				|  |  |  |  |                     } | 
		
	
		
			
				|  |  |  |  |                 } | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |                 model.setValue("tqq9_rulename", name, size);//规则名称 | 
		
	
		
			
				|  |  |  |  |                 if (stringBuilder.length() > 0) { | 
		
	
		
			
				|  |  |  |  |                     model.setValue("tqq9_company", stringBuilder.substring(1), size);//主体 | 
		
	
		
			
				|  |  |  |  |                 } | 
		
	
		
			
				|  |  |  |  |                 model.setValue("tqq9_brand", tqq9_rebatebrand, size);//品牌 | 
		
	
		
			
				|  |  |  |  |                 model.setValue("tqq9_supplier", tqq9_supplier, size);//供应商 | 
		
	
		
			
				|  |  |  |  |                 model.setValue("tqq9_startdate", tqq9_startdate, size);//返利开始时间 | 
		
	
		
			
				|  |  |  |  |                 model.setValue("tqq9_enddate", tqq9_enddate, size);//返利结束时间 | 
		
	
		
			
				|  |  |  |  |                 model.setValue("tqq9_status", tqq9_status, size);//返利状态 | 
		
	
		
			
				|  |  |  |  |                 model.setValue("tqq9_creatuser", creator, size);//创建人 | 
		
	
		
			
				|  |  |  |  |                 model.setValue("tqq9_creatdate", createtime, size);//创建时间 | 
		
	
		
			
				|  |  |  |  |                 model.setValue("tqq9_lastdate", tqq9_lastdate, size);//最后一次执行时间 | 
		
	
		
			
				|  |  |  |  |                 model.setValue("tqq9_pur_rebate", dynamicObject, size);//返利规则 | 
		
	
		
			
				|  |  |  |  |             } | 
		
	
		
			
				|  |  |  |  |         } | 
		
	
		
			
				|  |  |  |  |         this.getView().updateView(); | 
		
	
		
			
				|  |  |  |  |     } | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
	
		
			
				
					| 
							
							
							
						 |  |  | 
 |