Compare commits
No commits in common. "b1951284993b13052c0c63043c36ad944097fff0" and "48f9bfb69f31634090c45beb28e60f9b3d4c4315" have entirely different histories.
b195128499
...
48f9bfb69f
|
@ -27,7 +27,6 @@ import kd.bos.orm.query.QFilter;
|
||||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
import kd.bos.servicehelper.QueryServiceHelper;
|
import kd.bos.servicehelper.QueryServiceHelper;
|
||||||
import kd.sdk.plugin.Plugin;
|
import kd.sdk.plugin.Plugin;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
@ -305,7 +304,6 @@ public class DailyreimbursPlugin extends AbstractBillPlugIn implements Plugin,
|
||||||
super.registerListener(e);
|
super.registerListener(e);
|
||||||
BasedataEdit fieldEdit = this.getView().getControl(ACCOUNT_ITEM);
|
BasedataEdit fieldEdit = this.getView().getControl(ACCOUNT_ITEM);
|
||||||
fieldEdit.addBeforeF7SelectListener(this);
|
fieldEdit.addBeforeF7SelectListener(this);
|
||||||
fieldEdit.addAfterF7SelectListener(this);
|
|
||||||
|
|
||||||
BasedataEdit fieldEditExpense = this.getView().getControl(EXPENSE_ITEM);
|
BasedataEdit fieldEditExpense = this.getView().getControl(EXPENSE_ITEM);
|
||||||
fieldEditExpense.addBeforeF7SelectListener(this);
|
fieldEditExpense.addBeforeF7SelectListener(this);
|
||||||
|
@ -317,24 +315,11 @@ public class DailyreimbursPlugin extends AbstractBillPlugIn implements Plugin,
|
||||||
public void afterF7Select(AfterF7SelectEvent afterF7SelectEvent) {
|
public void afterF7Select(AfterF7SelectEvent afterF7SelectEvent) {
|
||||||
String name = ((BasedataEdit) afterF7SelectEvent.getSource()).getKey();
|
String name = ((BasedataEdit) afterF7SelectEvent.getSource()).getKey();
|
||||||
if(ACCOUNT_ITEM.equals(name)){
|
if(ACCOUNT_ITEM.equals(name)){
|
||||||
Long id = null;
|
String id = (String) afterF7SelectEvent.getInputValue();
|
||||||
// 获取选中行
|
QFilter nameQFilter = new QFilter(prefix+"_accounts",QCP.equals,Long.valueOf(id));
|
||||||
ListSelectedRow selectRowList = afterF7SelectEvent.getListSelectedRow();
|
|
||||||
Object inputValue = afterF7SelectEvent.getInputValue();
|
|
||||||
if(selectRowList != null){//弹框选择
|
|
||||||
id = (Long) selectRowList.getPrimaryKeyValue();
|
|
||||||
}else if(inputValue != null){//模糊查询
|
|
||||||
id=Long.valueOf(inputValue.toString());
|
|
||||||
}
|
|
||||||
if(id!=null){
|
|
||||||
QFilter nameQFilter = new QFilter(prefix+"_accounts",QCP.equals,id);
|
|
||||||
DynamicObject dynamicObject1 = BusinessDataServiceHelper.loadSingle(MAP_TABLE, "createorg,zcgj_entryentity,zcgj_entryentity.zcgj_entity_items", new QFilter[]{nameQFilter});
|
DynamicObject dynamicObject1 = BusinessDataServiceHelper.loadSingle(MAP_TABLE, "createorg,zcgj_entryentity,zcgj_entryentity.zcgj_entity_items", new QFilter[]{nameQFilter});
|
||||||
DynamicObject dynamicObject2 = this.getModel().getDataEntity(true).getDynamicObjectCollection(EXPENSE_ENTRY_ENTITY).get(selectRow);
|
Object value = this.getModel().getValue(EXPENSE_ITEM, selectRow);
|
||||||
boolean isEx = false;
|
if(value == null && dynamicObject1!=null&&selectRow!=null){
|
||||||
if(dynamicObject2!=null){
|
|
||||||
isEx = dynamicObject2.get(EXPENSE_ITEM) == null;
|
|
||||||
}
|
|
||||||
if(isEx && dynamicObject1!=null&&selectRow!=null){
|
|
||||||
DynamicObjectCollection zcgjEntryentity = (DynamicObjectCollection) dynamicObject1.get(MAP_ENTRY_ENTITY);
|
DynamicObjectCollection zcgjEntryentity = (DynamicObjectCollection) dynamicObject1.get(MAP_ENTRY_ENTITY);
|
||||||
if(zcgjEntryentity!=null){
|
if(zcgjEntryentity!=null){
|
||||||
DynamicObject dynamicObject = zcgjEntryentity.get(0);
|
DynamicObject dynamicObject = zcgjEntryentity.get(0);
|
||||||
|
@ -342,13 +327,14 @@ public class DailyreimbursPlugin extends AbstractBillPlugIn implements Plugin,
|
||||||
long aLong = itemDynamicObject.getLong("id");
|
long aLong = itemDynamicObject.getLong("id");
|
||||||
System.out.println();
|
System.out.println();
|
||||||
this.getModel().setValue(EXPENSE_ITEM,aLong,selectRow);
|
this.getModel().setValue(EXPENSE_ITEM,aLong,selectRow);
|
||||||
|
}else{
|
||||||
|
// this.getModel().setValue(EXPENSE_ITEM,null,index);
|
||||||
}
|
}
|
||||||
}
|
}else{
|
||||||
|
//this.getModel().setValue(EXPENSE_ITEM,null,index);
|
||||||
}
|
}
|
||||||
}else if(EXPENSE_ITEM.equals(name)){
|
}else if(EXPENSE_ITEM.equals(name)){
|
||||||
Object inputValue = afterF7SelectEvent.getInputValue();
|
String id = (String) afterF7SelectEvent.getInputValue();
|
||||||
if(inputValue!=null){
|
|
||||||
String id = String.valueOf(inputValue) ;
|
|
||||||
QFilter nameQFilter = new QFilter(prefix+"_entryentity.zcgj_entity_items.id", QCP.equals,Long.valueOf(id));
|
QFilter nameQFilter = new QFilter(prefix+"_entryentity.zcgj_entity_items.id", QCP.equals,Long.valueOf(id));
|
||||||
DynamicObject[] load = BusinessDataServiceHelper.load(MAP_TABLE, "createorg,zcgj_accounts", new QFilter[]{nameQFilter});
|
DynamicObject[] load = BusinessDataServiceHelper.load(MAP_TABLE, "createorg,zcgj_accounts", new QFilter[]{nameQFilter});
|
||||||
Object value = this.getModel().getValue(ACCOUNT_ITEM, selectRow);
|
Object value = this.getModel().getValue(ACCOUNT_ITEM, selectRow);
|
||||||
|
@ -358,7 +344,6 @@ public class DailyreimbursPlugin extends AbstractBillPlugIn implements Plugin,
|
||||||
this.getModel().setValue(ACCOUNT_ITEM,aLong,selectRow);
|
this.getModel().setValue(ACCOUNT_ITEM,aLong,selectRow);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -367,21 +352,12 @@ public class DailyreimbursPlugin extends AbstractBillPlugIn implements Plugin,
|
||||||
public void beforeF7Select(BeforeF7SelectEvent arg0) {
|
public void beforeF7Select(BeforeF7SelectEvent arg0) {
|
||||||
String name = arg0.getProperty().getName();
|
String name = arg0.getProperty().getName();
|
||||||
if(name.equals(ACCOUNT_ITEM)){
|
if(name.equals(ACCOUNT_ITEM)){
|
||||||
selectRow = arg0.getRow();
|
if("click".equals(arg0.getSourceMethod())){
|
||||||
/* List<QFilter> qFilterList = new ArrayList<QFilter>();
|
|
||||||
qFilterList.add(new QFilter("number", QCP.like,"Sups%"));
|
|
||||||
arg0.setCustomQFilters(qFilterList);*/
|
|
||||||
|
|
||||||
/*if("click".equals(arg0.getSourceMethod())){
|
|
||||||
arg0.setCancel(true);
|
arg0.setCancel(true);
|
||||||
Object value = this.getModel().getValue("zcgj_accounttable_number");
|
Object value = this.getModel().getValue("zcgj_accounttable_number");
|
||||||
DynamicObject costcompany = (DynamicObject)this.getModel().getValue("costcompany");
|
|
||||||
long costcompanyId = costcompany.getLong("id");
|
|
||||||
//设置自定义F7弹框,增加过滤条件
|
//设置自定义F7弹框,增加过滤条件
|
||||||
List<QFilter> qFilterList = new ArrayList<QFilter>();
|
List<QFilter> qFilterList = new ArrayList<QFilter>();
|
||||||
qFilterList.add(new QFilter("accounttable.number", QCP.equals,value));
|
qFilterList.add(new QFilter("accounttable.number", QCP.equals,value));
|
||||||
//qFilterList.add(new QFilter("createorg", QCP.equals,Long.parseLong(costcompanyId+"")));
|
|
||||||
|
|
||||||
ListFilterParameter listFilterParameter =new ListFilterParameter(qFilterList,null);
|
ListFilterParameter listFilterParameter =new ListFilterParameter(qFilterList,null);
|
||||||
ListShowParameter showParameter = ShowFormHelper.createShowListForm("bd_accountview", true);
|
ListShowParameter showParameter = ShowFormHelper.createShowListForm("bd_accountview", true);
|
||||||
showParameter.setCloseCallBack(new CloseCallBack(this,ACTION_ID));
|
showParameter.setCloseCallBack(new CloseCallBack(this,ACTION_ID));
|
||||||
|
@ -390,10 +366,6 @@ public class DailyreimbursPlugin extends AbstractBillPlugIn implements Plugin,
|
||||||
}else if("setItemByIdFromClient".equals(arg0.getSourceMethod()) ){
|
}else if("setItemByIdFromClient".equals(arg0.getSourceMethod()) ){
|
||||||
selectRow = arg0.getRow();
|
selectRow = arg0.getRow();
|
||||||
((BasedataEdit) arg0.getSource()).addAfterF7SelectListener(this);
|
((BasedataEdit) arg0.getSource()).addAfterF7SelectListener(this);
|
||||||
}*/
|
|
||||||
if("setItemByIdFromClient".equals(arg0.getSourceMethod()) ){
|
|
||||||
selectRow = arg0.getRow();
|
|
||||||
((BasedataEdit) arg0.getSource()).addAfterF7SelectListener(this);
|
|
||||||
}
|
}
|
||||||
}else if(name.equals(EXPENSE_ITEM)){
|
}else if(name.equals(EXPENSE_ITEM)){
|
||||||
if("click".equals(arg0.getSourceMethod())){
|
if("click".equals(arg0.getSourceMethod())){
|
||||||
|
@ -416,7 +388,7 @@ public class DailyreimbursPlugin extends AbstractBillPlugIn implements Plugin,
|
||||||
Object returnData = closedCallBackEvent.getReturnData();
|
Object returnData = closedCallBackEvent.getReturnData();
|
||||||
boolean current= true;
|
boolean current= true;
|
||||||
|
|
||||||
/*if(returnData!=null && actionId.equals(ACTION_ID)){
|
if(returnData!=null && actionId.equals(ACTION_ID)){
|
||||||
//获取选中的索引
|
//获取选中的索引
|
||||||
int index = this.getModel().getEntryCurrentRowIndex(EXPENSE_ENTRY_ENTITY);
|
int index = this.getModel().getEntryCurrentRowIndex(EXPENSE_ENTRY_ENTITY);
|
||||||
//操作的行数据,获取之前的数据
|
//操作的行数据,获取之前的数据
|
||||||
|
@ -473,8 +445,7 @@ public class DailyreimbursPlugin extends AbstractBillPlugIn implements Plugin,
|
||||||
this.getModel().createNewEntryRow(EXPENSE_ENTRY_ENTITY,insertRow);
|
this.getModel().createNewEntryRow(EXPENSE_ENTRY_ENTITY,insertRow);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else */
|
}else if(returnData!=null && actionId.equals(ACTION_ID_EXPENSE)){
|
||||||
if(returnData!=null && actionId.equals(ACTION_ID_EXPENSE)){
|
|
||||||
//获取选中的索引
|
//获取选中的索引
|
||||||
int index = this.getModel().getEntryCurrentRowIndex(EXPENSE_ENTRY_ENTITY);
|
int index = this.getModel().getEntryCurrentRowIndex(EXPENSE_ENTRY_ENTITY);
|
||||||
//操作的行数据,获取之前的数据
|
//操作的行数据,获取之前的数据
|
||||||
|
@ -502,8 +473,8 @@ public class DailyreimbursPlugin extends AbstractBillPlugIn implements Plugin,
|
||||||
}
|
}
|
||||||
current = false;
|
current = false;
|
||||||
}else{
|
}else{
|
||||||
//Object accountItem = this.getModel().getValue(ACCOUNT_ITEM, index);
|
Object accountItem = this.getModel().getValue(ACCOUNT_ITEM, index);
|
||||||
//if(accountItem == null){
|
if(accountItem==null){
|
||||||
QFilter nameQFilter = new QFilter(prefix+"_entryentity.zcgj_entity_items.id", QCP.equals,listSelectedRow.getPrimaryKeyValue());
|
QFilter nameQFilter = new QFilter(prefix+"_entryentity.zcgj_entity_items.id", QCP.equals,listSelectedRow.getPrimaryKeyValue());
|
||||||
DynamicObject[] load = BusinessDataServiceHelper.load(MAP_TABLE, "createorg,zcgj_accounts", new QFilter[]{nameQFilter});
|
DynamicObject[] load = BusinessDataServiceHelper.load(MAP_TABLE, "createorg,zcgj_accounts", new QFilter[]{nameQFilter});
|
||||||
if(load!=null && load.length>0){
|
if(load!=null && load.length>0){
|
||||||
|
@ -516,13 +487,12 @@ public class DailyreimbursPlugin extends AbstractBillPlugIn implements Plugin,
|
||||||
}else{
|
}else{
|
||||||
insertRow.set(ACCOUNT_ITEM,null);
|
insertRow.set(ACCOUNT_ITEM,null);
|
||||||
}
|
}
|
||||||
//}
|
}
|
||||||
//费用项目科目
|
//费用项目科目
|
||||||
QFilter nameQFilterAccItem = new QFilter("id",QCP.equals,listSelectedRow.getPrimaryKeyValue());
|
QFilter nameQFilterAccItem = new QFilter("id",QCP.equals,listSelectedRow.getPrimaryKeyValue());
|
||||||
DynamicObject dynamicObjectAccItem = BusinessDataServiceHelper.loadSingle("er_expenseitemedit", "number,name", new QFilter[]{nameQFilterAccItem});
|
DynamicObject dynamicObjectAccItem = BusinessDataServiceHelper.loadSingle("er_expenseitemedit", "number,name", new QFilter[]{nameQFilterAccItem});
|
||||||
insertRow.set(EXPENSE_ITEM,dynamicObjectAccItem);
|
insertRow.set(EXPENSE_ITEM,dynamicObjectAccItem);
|
||||||
this.getModel().createNewEntryRow(EXPENSE_ENTRY_ENTITY,insertRow);
|
this.getModel().createNewEntryRow(EXPENSE_ENTRY_ENTITY,insertRow);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,8 +6,6 @@ import kd.bos.dataentity.entity.DynamicObject;
|
||||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||||
import kd.bos.entity.datamodel.ListSelectedRow;
|
import kd.bos.entity.datamodel.ListSelectedRow;
|
||||||
import kd.bos.entity.datamodel.ListSelectedRowCollection;
|
import kd.bos.entity.datamodel.ListSelectedRowCollection;
|
||||||
import kd.bos.entity.datamodel.events.ChangeData;
|
|
||||||
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
|
|
||||||
import kd.bos.form.CloseCallBack;
|
import kd.bos.form.CloseCallBack;
|
||||||
import kd.bos.form.ShowFormHelper;
|
import kd.bos.form.ShowFormHelper;
|
||||||
import kd.bos.form.events.ClosedCallBackEvent;
|
import kd.bos.form.events.ClosedCallBackEvent;
|
||||||
|
@ -23,9 +21,7 @@ import kd.bos.logging.LogFactory;
|
||||||
import kd.bos.orm.query.QCP;
|
import kd.bos.orm.query.QCP;
|
||||||
import kd.bos.orm.query.QFilter;
|
import kd.bos.orm.query.QFilter;
|
||||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
import kd.bos.tree.TreeFilterParameter;
|
|
||||||
import kd.sdk.plugin.Plugin;
|
import kd.sdk.plugin.Plugin;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.EventObject;
|
import java.util.EventObject;
|
||||||
|
@ -72,41 +68,15 @@ public class PublicreimbursebillPlugin extends AbstractBillPlugIn implements Plu
|
||||||
fieldEditExpense.addAfterF7SelectListener(this);
|
fieldEditExpense.addAfterF7SelectListener(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void propertyChanged(PropertyChangedArgs e) {
|
|
||||||
super.propertyChanged(e);
|
|
||||||
String name = e.getProperty().getName();
|
|
||||||
if(name.equals(ACCOUNT_ITEM)){
|
|
||||||
ChangeData[] changeSet = e.getChangeSet();
|
|
||||||
DynamicObject dynamicObject = (DynamicObject)changeSet[0].getNewValue();
|
|
||||||
System.out.println();
|
|
||||||
//Object fh = String.valueOf(dynamicObject.get(8));
|
|
||||||
//this.getModel().setValue("ooo0_remark",fh);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterF7Select(AfterF7SelectEvent afterF7SelectEvent) {
|
public void afterF7Select(AfterF7SelectEvent afterF7SelectEvent) {
|
||||||
String name = ((BasedataEdit) afterF7SelectEvent.getSource()).getKey();
|
String name = ((BasedataEdit) afterF7SelectEvent.getSource()).getKey();
|
||||||
if(ACCOUNT_ITEM.equals(name)){
|
if(ACCOUNT_ITEM.equals(name)){
|
||||||
Long id = null;
|
String id = (String) afterF7SelectEvent.getInputValue();
|
||||||
// 获取选中行
|
QFilter nameQFilter = new QFilter(prefix+"_accounts",QCP.equals,Long.valueOf(id));
|
||||||
ListSelectedRow selectRowList = afterF7SelectEvent.getListSelectedRow();
|
|
||||||
Object inputValue = afterF7SelectEvent.getInputValue();
|
|
||||||
if(selectRowList != null){//弹框选择
|
|
||||||
id = (Long) selectRowList.getPrimaryKeyValue();
|
|
||||||
}else if(inputValue != null){//模糊查询
|
|
||||||
id=Long.valueOf(inputValue.toString());
|
|
||||||
}
|
|
||||||
if(id!=null){
|
|
||||||
QFilter nameQFilter = new QFilter(prefix+"_accounts",QCP.equals,id);
|
|
||||||
DynamicObject dynamicObject1 = BusinessDataServiceHelper.loadSingle(MAP_TABLE, "createorg,zcgj_entryentity,zcgj_entryentity.zcgj_entity_items", new QFilter[]{nameQFilter});
|
DynamicObject dynamicObject1 = BusinessDataServiceHelper.loadSingle(MAP_TABLE, "createorg,zcgj_entryentity,zcgj_entryentity.zcgj_entity_items", new QFilter[]{nameQFilter});
|
||||||
DynamicObject dynamicObject2 = this.getModel().getDataEntity(true).getDynamicObjectCollection("expenseentryentity").get(selectRow);
|
Object value = this.getModel().getValue(EXPENSE_ITEM, selectRow);
|
||||||
boolean isEx = false;
|
if(value == null && dynamicObject1!=null&&selectRow!=null){
|
||||||
if(dynamicObject2!=null){
|
|
||||||
isEx = dynamicObject2.get(EXPENSE_ITEM) == null;
|
|
||||||
}
|
|
||||||
if(isEx && dynamicObject1!=null&&selectRow!=null){
|
|
||||||
DynamicObjectCollection zcgjEntryentity = (DynamicObjectCollection) dynamicObject1.get(MAP_ENTRY_ENTITY);
|
DynamicObjectCollection zcgjEntryentity = (DynamicObjectCollection) dynamicObject1.get(MAP_ENTRY_ENTITY);
|
||||||
if(zcgjEntryentity!=null){
|
if(zcgjEntryentity!=null){
|
||||||
DynamicObject dynamicObject = zcgjEntryentity.get(0);
|
DynamicObject dynamicObject = zcgjEntryentity.get(0);
|
||||||
|
@ -114,13 +84,14 @@ public class PublicreimbursebillPlugin extends AbstractBillPlugIn implements Plu
|
||||||
long aLong = itemDynamicObject.getLong("id");
|
long aLong = itemDynamicObject.getLong("id");
|
||||||
System.out.println();
|
System.out.println();
|
||||||
this.getModel().setValue(EXPENSE_ITEM,aLong,selectRow);
|
this.getModel().setValue(EXPENSE_ITEM,aLong,selectRow);
|
||||||
|
}else{
|
||||||
|
// this.getModel().setValue(EXPENSE_ITEM,null,index);
|
||||||
}
|
}
|
||||||
}
|
}else{
|
||||||
|
//this.getModel().setValue(EXPENSE_ITEM,null,index);
|
||||||
}
|
}
|
||||||
}else if(EXPENSE_ITEM.equals(name)){
|
}else if(EXPENSE_ITEM.equals(name)){
|
||||||
Object inputValue = afterF7SelectEvent.getInputValue();
|
String id = (String) afterF7SelectEvent.getInputValue();
|
||||||
if(inputValue!=null){
|
|
||||||
String id = String.valueOf(inputValue) ;
|
|
||||||
QFilter nameQFilter = new QFilter(prefix+"_entryentity.zcgj_entity_items.id", QCP.equals,Long.valueOf(id));
|
QFilter nameQFilter = new QFilter(prefix+"_entryentity.zcgj_entity_items.id", QCP.equals,Long.valueOf(id));
|
||||||
DynamicObject[] load = BusinessDataServiceHelper.load(MAP_TABLE, "createorg,zcgj_accounts", new QFilter[]{nameQFilter});
|
DynamicObject[] load = BusinessDataServiceHelper.load(MAP_TABLE, "createorg,zcgj_accounts", new QFilter[]{nameQFilter});
|
||||||
Object value = this.getModel().getValue(ACCOUNT_ITEM, selectRow);
|
Object value = this.getModel().getValue(ACCOUNT_ITEM, selectRow);
|
||||||
|
@ -133,42 +104,24 @@ public class PublicreimbursebillPlugin extends AbstractBillPlugIn implements Plu
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void beforeF7Select(BeforeF7SelectEvent arg0) {
|
public void beforeF7Select(BeforeF7SelectEvent arg0) {
|
||||||
String name = arg0.getProperty().getName();
|
String name = arg0.getProperty().getName();
|
||||||
if(name.equals(ACCOUNT_ITEM)){
|
if(name.equals(ACCOUNT_ITEM)){
|
||||||
selectRow = arg0.getRow();
|
if("click".equals(arg0.getSourceMethod())){
|
||||||
/*if("click".equals(arg0.getSourceMethod())){
|
|
||||||
arg0.setCancel(true);
|
arg0.setCancel(true);
|
||||||
Object value = this.getModel().getValue("zcgj_accounttable_number");
|
Object value = this.getModel().getValue("zcgj_accounttable_number");
|
||||||
DynamicObject costcompany = (DynamicObject)this.getModel().getValue("costcompany");
|
|
||||||
long costcompanyId = costcompany.getLong("id");
|
|
||||||
//((ListShowParameter)beforeF7SelectEvent.getFormShowParameter()).getTreeFilterParameter().getQFilters().add(new QFilter("name", "=", "长度"))
|
|
||||||
//设置自定义F7弹框,增加过滤条件
|
//设置自定义F7弹框,增加过滤条件
|
||||||
List<QFilter> qFilterList = new ArrayList<QFilter>();
|
List<QFilter> qFilterList = new ArrayList<QFilter>();
|
||||||
qFilterList.add(new QFilter("accounttable.number", QCP.equals,value));
|
qFilterList.add(new QFilter("accounttable.number", QCP.equals,value));
|
||||||
//qFilterList.add(new QFilter("createorg", QCP.equals,Long.parseLong(costcompanyId+"")));
|
|
||||||
ListFilterParameter listFilterParameter =new ListFilterParameter(qFilterList,null);
|
ListFilterParameter listFilterParameter =new ListFilterParameter(qFilterList,null);
|
||||||
ListShowParameter showParameter = ShowFormHelper.createShowListForm("bd_accountview", true);
|
ListShowParameter showParameter = ShowFormHelper.createShowListForm("bd_accountview", true);
|
||||||
showParameter.setCloseCallBack(new CloseCallBack(this,ACTION_ID));
|
showParameter.setCloseCallBack(new CloseCallBack(this,ACTION_ID));
|
||||||
showParameter.setListFilterParameter(listFilterParameter);
|
showParameter.setListFilterParameter(listFilterParameter);
|
||||||
|
|
||||||
List<QFilter> qFilterList1 = new ArrayList<QFilter>();
|
|
||||||
qFilterList1.add(new QFilter("accounttable.number", QCP.equals,value));
|
|
||||||
TreeFilterParameter treeFilterParameter = new TreeFilterParameter();
|
|
||||||
treeFilterParameter.setQFilters(qFilterList1);
|
|
||||||
showParameter.setTreeFilterParameter(treeFilterParameter);
|
|
||||||
|
|
||||||
this.getView().showForm(showParameter);
|
this.getView().showForm(showParameter);
|
||||||
}else if("setItemByIdFromClient".equals(arg0.getSourceMethod()) ){
|
}else if("setItemByIdFromClient".equals(arg0.getSourceMethod()) ){
|
||||||
selectRow = arg0.getRow();
|
selectRow = arg0.getRow();
|
||||||
((BasedataEdit) arg0.getSource()).addAfterF7SelectListener(this);
|
((BasedataEdit) arg0.getSource()).addAfterF7SelectListener(this);
|
||||||
}*/
|
|
||||||
if("setItemByIdFromClient".equals(arg0.getSourceMethod()) ){
|
|
||||||
selectRow = arg0.getRow();
|
|
||||||
((BasedataEdit) arg0.getSource()).addAfterF7SelectListener(this);
|
|
||||||
}
|
}
|
||||||
}else if(name.equals(EXPENSE_ITEM)){
|
}else if(name.equals(EXPENSE_ITEM)){
|
||||||
if("click".equals(arg0.getSourceMethod())){
|
if("click".equals(arg0.getSourceMethod())){
|
||||||
|
@ -190,7 +143,7 @@ public class PublicreimbursebillPlugin extends AbstractBillPlugIn implements Plu
|
||||||
Object returnData = closedCallBackEvent.getReturnData();
|
Object returnData = closedCallBackEvent.getReturnData();
|
||||||
boolean current= true;
|
boolean current= true;
|
||||||
|
|
||||||
/*if(returnData!=null && actionId.equals(ACTION_ID)){
|
if(returnData!=null && actionId.equals(ACTION_ID)){
|
||||||
//获取选中的索引
|
//获取选中的索引
|
||||||
int index = this.getModel().getEntryCurrentRowIndex(EXPENSE_ENTRY_ENTITY);
|
int index = this.getModel().getEntryCurrentRowIndex(EXPENSE_ENTRY_ENTITY);
|
||||||
//操作的行数据,获取之前的数据
|
//操作的行数据,获取之前的数据
|
||||||
|
@ -249,8 +202,7 @@ public class PublicreimbursebillPlugin extends AbstractBillPlugIn implements Plu
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else*/
|
}else if(returnData!=null && actionId.equals(ACTION_ID_EXPENSE)){
|
||||||
if(returnData!=null && actionId.equals(ACTION_ID_EXPENSE)){
|
|
||||||
//获取选中的索引
|
//获取选中的索引
|
||||||
int index = this.getModel().getEntryCurrentRowIndex(EXPENSE_ENTRY_ENTITY);
|
int index = this.getModel().getEntryCurrentRowIndex(EXPENSE_ENTRY_ENTITY);
|
||||||
//操作的行数据,获取之前的数据
|
//操作的行数据,获取之前的数据
|
||||||
|
@ -278,8 +230,8 @@ public class PublicreimbursebillPlugin extends AbstractBillPlugIn implements Plu
|
||||||
}
|
}
|
||||||
current = false;
|
current = false;
|
||||||
}else{
|
}else{
|
||||||
//Object accountItem = this.getModel().getValue(ACCOUNT_ITEM, index);
|
Object accountItem = this.getModel().getValue(ACCOUNT_ITEM, index);
|
||||||
//if(accountItem == null){
|
if(accountItem == null){
|
||||||
QFilter nameQFilter = new QFilter(prefix+"_entryentity.zcgj_entity_items.id", QCP.equals,listSelectedRow.getPrimaryKeyValue());
|
QFilter nameQFilter = new QFilter(prefix+"_entryentity.zcgj_entity_items.id", QCP.equals,listSelectedRow.getPrimaryKeyValue());
|
||||||
DynamicObject[] load = BusinessDataServiceHelper.load(MAP_TABLE, "createorg,zcgj_accounts", new QFilter[]{nameQFilter});
|
DynamicObject[] load = BusinessDataServiceHelper.load(MAP_TABLE, "createorg,zcgj_accounts", new QFilter[]{nameQFilter});
|
||||||
if(load!=null && load.length>0){
|
if(load!=null && load.length>0){
|
||||||
|
@ -292,7 +244,7 @@ public class PublicreimbursebillPlugin extends AbstractBillPlugIn implements Plu
|
||||||
}else{
|
}else{
|
||||||
insertRow.set(ACCOUNT_ITEM,null);
|
insertRow.set(ACCOUNT_ITEM,null);
|
||||||
}
|
}
|
||||||
//}
|
}
|
||||||
//费用项目科目
|
//费用项目科目
|
||||||
QFilter nameQFilterAccItem = new QFilter("id",QCP.equals,listSelectedRow.getPrimaryKeyValue());
|
QFilter nameQFilterAccItem = new QFilter("id",QCP.equals,listSelectedRow.getPrimaryKeyValue());
|
||||||
DynamicObject dynamicObjectAccItem = BusinessDataServiceHelper.loadSingle("er_expenseitemedit", "number,name", new QFilter[]{nameQFilterAccItem});
|
DynamicObject dynamicObjectAccItem = BusinessDataServiceHelper.loadSingle("er_expenseitemedit", "number,name", new QFilter[]{nameQFilterAccItem});
|
||||||
|
|
|
@ -1,76 +0,0 @@
|
||||||
package zcgj.zcdev.zcdev.fs.plugin.form;
|
|
||||||
|
|
||||||
import kd.bos.bill.AbstractBillPlugIn;
|
|
||||||
import kd.bos.dataentity.entity.DynamicObject;
|
|
||||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
|
||||||
import kd.bos.entity.datamodel.IDataModel;
|
|
||||||
import kd.bos.entity.operate.Submit;
|
|
||||||
import kd.bos.form.events.BeforeDoOperationEventArgs;
|
|
||||||
import kd.bos.logging.Log;
|
|
||||||
import kd.bos.logging.LogFactory;
|
|
||||||
import kd.sdk.plugin.Plugin;
|
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 差旅报销单插件
|
|
||||||
*/
|
|
||||||
public class TripreimbursebillPlugin extends AbstractBillPlugIn implements Plugin {
|
|
||||||
|
|
||||||
private static final Log log = LogFactory.getLog(TripreimbursebillPlugin.class);
|
|
||||||
//开发商标识
|
|
||||||
private static final String prefix ="zcgj";
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void beforeDoOperation(BeforeDoOperationEventArgs args) {
|
|
||||||
if((args.getSource() instanceof Submit) ){
|
|
||||||
Submit source = (Submit)args.getSource();
|
|
||||||
if(source.getOperateKey().equals("submit") ){
|
|
||||||
//highseasontripstdshow
|
|
||||||
//提交时校验附件是否必填
|
|
||||||
IDataModel model = this.getModel();
|
|
||||||
String zsKey = String.valueOf(model.getValue("zcgj_zs_key"));
|
|
||||||
boolean isfloating20 = Boolean.parseBoolean(model.getValue("zcgj_isfloating20")+"");
|
|
||||||
|
|
||||||
//获取当前费用为住宿的
|
|
||||||
DynamicObjectCollection tripentryCollection = model.getEntryEntity("tripentry");
|
|
||||||
//tripentry.get(0).getDynamicObjectCollection("entryentity").get(2).getDynamicObject("expenseitem").getString("number");
|
|
||||||
for (DynamicObject tripentry : tripentryCollection) {
|
|
||||||
DynamicObjectCollection entryentityCollection = tripentry.getDynamicObjectCollection("entryentity");
|
|
||||||
for (DynamicObject entryentity : entryentityCollection) {
|
|
||||||
DynamicObject expenseitem = entryentity.getDynamicObject("expenseitem");
|
|
||||||
String zsNumber = expenseitem.getString("number");
|
|
||||||
if(zsKey.equals(zsNumber)){
|
|
||||||
BigDecimal orientryamount = entryentity.getBigDecimal("orientryamount");//报销金额
|
|
||||||
BigDecimal tripstandardamount = entryentity.getBigDecimal("tripstandardamount");//差旅标准金额
|
|
||||||
Integer caldaycount = entryentity.getInt("caldaycount");//标准天数
|
|
||||||
//如果选择了上浮20%,则按照上浮20%进行判断
|
|
||||||
if(isfloating20){
|
|
||||||
BigDecimal multiply = tripstandardamount.multiply(new BigDecimal("1.2")).multiply(new BigDecimal(caldaycount));
|
|
||||||
//-1表示小于,0是等于,1是大于
|
|
||||||
if(orientryamount.compareTo(multiply) > 0){
|
|
||||||
this.getView().showTipNotification("报销住宿超出标准!(上浮20%)");
|
|
||||||
//取消提交操作
|
|
||||||
args.setCancel(true);
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
BigDecimal multiply = tripstandardamount.multiply(new BigDecimal(caldaycount));
|
|
||||||
//-1表示小于,0是等于,1是大于
|
|
||||||
if(orientryamount.compareTo(multiply) > 0){
|
|
||||||
this.getView().showTipNotification("报销住宿超出标准!");
|
|
||||||
//取消提交操作
|
|
||||||
args.setCancel(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//获取当前差旅标准
|
|
||||||
/* Object value = model.getValue("tripstandardamount");
|
|
||||||
this.getView().showTipNotification(value+"");*/
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue