财务共享,我的任务业务单据付款状态校验
This commit is contained in:
parent
93cf520923
commit
7110952a39
|
@ -5,9 +5,11 @@ import com.alibaba.fastjson.JSONObject;
|
|||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import kd.ai.ids.core.utils.JsonUtils;
|
||||
import kd.bos.bill.AbstractBillPlugIn;
|
||||
import kd.bos.dataentity.OperateOption;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.entity.datamodel.ListSelectedRow;
|
||||
import kd.bos.entity.datamodel.ListSelectedRowCollection;
|
||||
import kd.bos.entity.operate.result.OperationResult;
|
||||
import kd.bos.form.ShowType;
|
||||
import kd.bos.form.control.events.ItemClickEvent;
|
||||
import kd.bos.list.BillList;
|
||||
|
@ -24,6 +26,7 @@ import kd.bos.orm.query.QCP;
|
|||
import kd.bos.orm.query.QFilter;
|
||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||
import kd.bos.servicehelper.QueryServiceHelper;
|
||||
import kd.bos.servicehelper.operation.OperationServiceHelper;
|
||||
import kd.sdk.plugin.Plugin;
|
||||
|
||||
import java.util.*;
|
||||
|
@ -112,7 +115,8 @@ public class TaskListBuildVoucherPlugin extends AbstractListPlugin implements Pl
|
|||
}
|
||||
this.getView().showForm(listShowParameter);
|
||||
}
|
||||
}else if("zcgj_deletevoucher".equals(itemKey)){
|
||||
}
|
||||
else if("zcgj_deletevoucher".equals(itemKey)){
|
||||
BillList billList = this.getView().getControl(AbstractListPlugin.BILLLISTID);
|
||||
//获取到选中行的数据
|
||||
ListSelectedRowCollection selectedRows = billList.getSelectedRows();
|
||||
|
@ -185,6 +189,29 @@ public class TaskListBuildVoucherPlugin extends AbstractListPlugin implements Pl
|
|||
this.getView().invokeOperation("refresh");//调用表单的刷新操作
|
||||
|
||||
}
|
||||
/*else if("zcgj_bar_payp".equals(itemKey)){
|
||||
BillList billList = this.getView().getControl(AbstractListPlugin.BILLLISTID);
|
||||
//获取到选中行的数据
|
||||
ListSelectedRowCollection selectedRows = billList.getSelectedRows();
|
||||
if(selectedRows.isEmpty()){
|
||||
this.getView().showTipNotification(String.format("请选择需要付款的数据。"));
|
||||
return;
|
||||
}
|
||||
for (ListSelectedRow selectedRow : selectedRows) {
|
||||
Long pk = (Long) selectedRow.getPrimaryKeyValue();
|
||||
DynamicObject taskobj = BusinessDataServiceHelper.loadSingle(pk, "task_task");
|
||||
DynamicObject billtype = taskobj.getDynamicObject("billtype");
|
||||
DynamicObject bindbill = billtype.getDynamicObject("bindbill"); //源单
|
||||
String entityName = bindbill.getString("number");
|
||||
String billid = taskobj.getString("billid");
|
||||
OperateOption operateOption = OperateOption.create();
|
||||
QFilter accountTableFilter = new QFilter("id", QCP.equals,Long.valueOf(billid));
|
||||
DynamicObject sourceBillObject = BusinessDataServiceHelper.loadSingle(entityName, new QFilter[]{accountTableFilter});
|
||||
OperationResult opResult= OperationServiceHelper.executeOperate("pushpaybill", entityName, new DynamicObject[] {sourceBillObject},operateOption );
|
||||
//OperationResult opResult= OperationServiceHelper.executeOperate("pushpaybill", entityName, new DynamicObject[] {sourceBillObject},operateOption );
|
||||
log.info(opResult.toString());
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,98 @@
|
|||
package zcgj.zcdev.zcdev.fs.plugin.operate;
|
||||
|
||||
import kd.bos.context.RequestContext;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||
import kd.bos.dataentity.entity.LocaleString;
|
||||
import kd.bos.entity.ExtendedDataEntity;
|
||||
import kd.bos.entity.datamodel.events.PackageDataEvent;
|
||||
import kd.bos.entity.list.column.TextColumnDesc;
|
||||
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
|
||||
import kd.bos.entity.plugin.AddValidatorsEventArgs;
|
||||
import kd.bos.entity.plugin.PreparePropertysEventArgs;
|
||||
import kd.bos.entity.validate.AbstractValidator;
|
||||
import kd.bos.form.control.events.ItemClickEvent;
|
||||
import kd.bos.form.events.BeforeCreateListColumnsArgs;
|
||||
import kd.bos.list.ListColumn;
|
||||
import kd.bos.list.plugin.AbstractListPlugin;
|
||||
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.user.UserServiceHelper;
|
||||
import zcgj.zcdev.zcdev.fs.utils.OrgCheckUtils;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 共享任务中心-我的任务-审批时校验是否完成付款
|
||||
*/
|
||||
public class TaskListPayStatusCkOp extends AbstractOperationServicePlugIn {
|
||||
private static final Log log = LogFactory.getLog(TaskListPayStatusCkOp.class);
|
||||
|
||||
@Override
|
||||
public void onPreparePropertys(PreparePropertysEventArgs e) {
|
||||
super.onPreparePropertys(e);
|
||||
e.getFieldKeys().add("sscid"); //共享中心
|
||||
e.getFieldKeys().add("billtype"); //源单类型
|
||||
e.getFieldKeys().add("billtype.bindbill"); //源单类型
|
||||
e.getFieldKeys().add("billid"); //源单id
|
||||
e.getFieldKeys().add("tasktypeid"); //任务类型
|
||||
e.getFieldKeys().add("billnumber"); //单据编号
|
||||
e.getFieldKeys().add("subject"); //主题
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAddValidators(AddValidatorsEventArgs e) {
|
||||
super.onAddValidators(e);
|
||||
Long currentUserId = UserServiceHelper.getCurrentUserId();
|
||||
// 当前用户所属组织
|
||||
Long mainOrgId = UserServiceHelper.getUserMainOrgId(currentUserId);
|
||||
//当前切换选择的组织
|
||||
Long currentOrgId = RequestContext.get().getOrgId();
|
||||
//当前所在的组织是属于矿山下的
|
||||
e.getValidators().add(new ValidatorExt());
|
||||
}
|
||||
|
||||
class ValidatorExt extends AbstractValidator {
|
||||
@Override
|
||||
public void validate() {
|
||||
ExtendedDataEntity[] extendedDataEntities = this.getDataEntities();
|
||||
for (ExtendedDataEntity extendedDataEntity : extendedDataEntities) {
|
||||
DynamicObject dataEntity = extendedDataEntity.getDataEntity();
|
||||
String billnumber = dataEntity.getString("billnumber");
|
||||
String subject = dataEntity.getString("subject");
|
||||
DynamicObject tasktypeid = dataEntity.getDynamicObject("tasktypeid");
|
||||
DynamicObject sscid = dataEntity.getDynamicObject("sscid");
|
||||
QFilter tasktypeFilter = new QFilter("orgfield.id", QCP.equals,sscid.getLong("id"));
|
||||
tasktypeFilter.and(new QFilter("tasklevel", QCP.equals,"2"));
|
||||
DynamicObject[] tasktypeArray = BusinessDataServiceHelper.load("task_tasktype", "id", new QFilter[]{tasktypeFilter});
|
||||
if(tasktypeArray != null && tasktypeArray.length > 0){
|
||||
DynamicObject tasktype = tasktypeArray[0];
|
||||
if(tasktypeid.getLong("id") == tasktype.getLong("id")) {
|
||||
long billid = dataEntity.getLong("billid");
|
||||
DynamicObject billtype = dataEntity.getDynamicObject("billtype"); //源单类型
|
||||
DynamicObject bindbill = billtype.getDynamicObject("bindbill");//源单
|
||||
String entityName = bindbill.getString("number");
|
||||
QFilter accountTableFilter = new QFilter("id", QCP.equals,billid);
|
||||
DynamicObject sourceBillObject = BusinessDataServiceHelper.loadSingle(entityName, new QFilter[]{accountTableFilter});
|
||||
String billstatus = sourceBillObject.getString("billstatus");
|
||||
if(!"G".equals(billstatus)) {
|
||||
if("er_repaymentbill".equals(entityName)) {
|
||||
this.addFatalErrorMessage(extendedDataEntity, String.format("审批结算任务:【%s-%s】的收款未完成,请完成收款后操作。",billnumber,subject));
|
||||
}else{
|
||||
this.addFatalErrorMessage(extendedDataEntity, String.format("审批结算任务:【%s-%s】的付款未完成,请完成付款后操作。",billnumber,subject));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue