用款部门过滤报销人
This commit is contained in:
parent
d8247aeab1
commit
4a98296374
|
@ -36,6 +36,9 @@ import kd.bos.form.events.AfterDoOperationEventArgs;
|
|||
import kd.bos.form.events.BeforeDoOperationEventArgs;
|
||||
import kd.bos.form.events.ClientCallBackEvent;
|
||||
import kd.bos.form.events.ClosedCallBackEvent;
|
||||
import kd.bos.form.field.BasedataEdit;
|
||||
import kd.bos.form.field.events.BeforeF7SelectEvent;
|
||||
import kd.bos.form.field.events.BeforeF7SelectListener;
|
||||
import kd.bos.form.operate.FormOperate;
|
||||
import kd.bos.form.plugin.AbstractFormPlugin;
|
||||
import kd.bos.imageplatform.axis.IScanWebServiceImplServiceStub;
|
||||
|
@ -78,16 +81,22 @@ import java.util.stream.Collectors;
|
|||
* 发票识别,发票验真验重
|
||||
* qeug_recon_payreqbill_ext && qeug_recon_connotextb_ext
|
||||
*/
|
||||
public class ReconPayreqFormPlugin extends AbstractFormPlugin implements UploadListener {
|
||||
public class ReconPayreqFormPlugin extends AbstractFormPlugin implements BeforeF7SelectListener {
|
||||
|
||||
private static final Log logger = LogFactory.getLog(OAUtils.class);
|
||||
|
||||
List<String> fileExtendList = new ArrayList<String>(Arrays.asList("png","jpg","jpeg","ofd","pdf","xml"));//发票文件后缀集合
|
||||
|
||||
@Override
|
||||
public void registerListener(EventObject e) {
|
||||
super.registerListener(e);
|
||||
AttachmentPanel attachmentPanel = getControl("qeug_attachmentpanelap");
|
||||
attachmentPanel.addUploadListener(this);
|
||||
String billtype = this.getModel().getDataEntity().getDynamicObjectType().getName();//获取单据标识
|
||||
if ("recon_connotextbill".equals(billtype)){//当单据为费用登记单时,对该控件进行过滤监听。
|
||||
BasedataEdit edit = this.getView().getControl("qeug_personbank");//获取报销人控件
|
||||
edit.addBeforeF7SelectListener(this);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -637,7 +646,7 @@ public class ReconPayreqFormPlugin extends AbstractFormPlugin implements UploadL
|
|||
linkBody.put("loginName",loginName);
|
||||
String token = "";
|
||||
try {
|
||||
String linkPostjson = HttpClientUtils.postjson(linkUrl, null, linkBody.toJSONString());
|
||||
String linkPostjson = HttpClientUtils.postjson(linkUrl, null, linkBody.toJSONString(),3*60*1000,3*60*1000);
|
||||
logger.info("获取OaToken接口返回结果:\n{}", linkPostjson);
|
||||
|
||||
if (StringUtils.isNotEmpty(linkPostjson)) {
|
||||
|
@ -665,7 +674,7 @@ public class ReconPayreqFormPlugin extends AbstractFormPlugin implements UploadL
|
|||
base64Header.put("Content-Type", "application/json");
|
||||
base64Header.put("token", token);
|
||||
try {
|
||||
String linkPostjson = HttpClientUtils.postjson(linkUrl, base64Header,strJson);
|
||||
String linkPostjson = HttpClientUtils.postjson(linkUrl, base64Header,strJson,3*60*1000,3*60*1000);
|
||||
logger.info("获取parseOCRData接口返回结果:\n{}", linkPostjson);
|
||||
if (StringUtils.isNotEmpty(linkPostjson)) {
|
||||
JSONObject jsonObject = JSONObject.parseObject(linkPostjson);
|
||||
|
@ -691,7 +700,7 @@ public class ReconPayreqFormPlugin extends AbstractFormPlugin implements UploadL
|
|||
saveCheckHeader.put("token", token);
|
||||
|
||||
try {
|
||||
String linkPostjson = HttpClientUtils.postjson(linkUrl, saveCheckHeader,strJson);
|
||||
String linkPostjson = HttpClientUtils.postjson(linkUrl, saveCheckHeader,strJson,3*60*1000,3*60*1000);
|
||||
logger.info("获取saveOutInvoice接口返回结果:\n{}", linkPostjson);
|
||||
if (StringUtils.isNotEmpty(linkPostjson)) {
|
||||
JSONObject jsonObject = JSONObject.parseObject(linkPostjson);
|
||||
|
@ -749,5 +758,36 @@ public class ReconPayreqFormPlugin extends AbstractFormPlugin implements UploadL
|
|||
String baseStr = new String(Base64.getEncoder().encode(bytes));
|
||||
return baseStr;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 报销人根据用款部门过滤
|
||||
* @param beforeF7SelectEvent
|
||||
*/
|
||||
@Override
|
||||
public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
|
||||
String name = beforeF7SelectEvent.getProperty().getName();
|
||||
if ("qeug_personbank".equals(name)){
|
||||
DynamicObject dataEntity = this.getModel().getDataEntity();
|
||||
DynamicObject usedepart = dataEntity.getDynamicObject("usedepart");//获取用款部门数据
|
||||
if (usedepart != null){
|
||||
Long departId = usedepart.getLong("id");//用款部门id
|
||||
List<Long> allUsersOfOrg = UserServiceHelper.getAllUsersOfOrg(departId);//得到当前组织的全部人员,包括直属员工和下属组织的员工
|
||||
QFilter qFilter = new QFilter("id", QCP.in, allUsersOfOrg);
|
||||
DynamicObject[] bos_users = BusinessDataServiceHelper.load("bos_user", "id,number", qFilter.toArray());
|
||||
List<String> userNumbers = new ArrayList<String>();//构建人员工号容器
|
||||
for (DynamicObject bos_user : bos_users) {
|
||||
String number = bos_user.getString("number");
|
||||
userNumbers.add(number);
|
||||
}
|
||||
QFilter qfByNumber = new QFilter("number", QCP.in, userNumbers);
|
||||
ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
|
||||
formShowParameter.getListFilterParameter().setFilter(qfByNumber);
|
||||
}else {
|
||||
beforeF7SelectEvent.setCancel(true);
|
||||
this.getView().showTipNotification("请先选择用款部门");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// CodeRuleInfo codeRule = CodeRuleServiceHelper.getCodeRule("recon_invoicebill", recon_invoicebill, null);
|
Loading…
Reference in New Issue