1.任务共享中心批量生成凭证功能
This commit is contained in:
		
							parent
							
								
									898165509b
								
							
						
					
					
						commit
						5905dfac07
					
				| 
						 | 
				
			
			@ -0,0 +1,90 @@
 | 
			
		|||
package zcgj.zcdev.zcdev.fs.plugin.form;
 | 
			
		||||
 | 
			
		||||
import com.alibaba.fastjson.JSON;
 | 
			
		||||
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.entity.DynamicObject;
 | 
			
		||||
import kd.bos.entity.datamodel.ListSelectedRow;
 | 
			
		||||
import kd.bos.entity.datamodel.ListSelectedRowCollection;
 | 
			
		||||
import kd.bos.form.control.events.ItemClickEvent;
 | 
			
		||||
import kd.bos.list.BillList;
 | 
			
		||||
import kd.bos.list.plugin.AbstractListPlugin;
 | 
			
		||||
import kd.bos.logging.Log;
 | 
			
		||||
import kd.bos.logging.LogFactory;
 | 
			
		||||
import kd.bos.openapi.common.result.OpenApiResult;
 | 
			
		||||
import kd.bos.openapi.common.util.JacksonUtil;
 | 
			
		||||
import kd.bos.openapi.common.util.JsonUtil;
 | 
			
		||||
import kd.bos.openapi.common.util.OpenApiSdkUtil;
 | 
			
		||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
 | 
			
		||||
import kd.sdk.plugin.Plugin;
 | 
			
		||||
 | 
			
		||||
import java.util.*;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 共享任务中心-我的任务-批量生成凭证插件
 | 
			
		||||
 */
 | 
			
		||||
public class TaskListBuildVoucherPlugin extends AbstractListPlugin implements Plugin {
 | 
			
		||||
    private static final Log log = LogFactory.getLog(TaskListBuildVoucherPlugin.class);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void itemClick(ItemClickEvent evt) {
 | 
			
		||||
        super.itemClick(evt);
 | 
			
		||||
        String itemKey = evt.getItemKey();
 | 
			
		||||
        if("zcgj_buildvoucher".equals(itemKey)) {
 | 
			
		||||
            BillList billList = this.getView().getControl(AbstractListPlugin.BILLLISTID);
 | 
			
		||||
            //获取到选中行的数据
 | 
			
		||||
            ListSelectedRowCollection selectedRows = billList.getSelectedRows();
 | 
			
		||||
            Map<String,String> messageBill = new HashMap<>();
 | 
			
		||||
 | 
			
		||||
            StringBuilder sb = new StringBuilder();
 | 
			
		||||
            Map<String,String> par= new HashMap<>();
 | 
			
		||||
            par.put("$key$","");//冗余参数
 | 
			
		||||
            par.put("$value$","");//冗余参数
 | 
			
		||||
            Map<String,List<String>> billMap = new HashMap<String,List<String>>();
 | 
			
		||||
            int errorCount =0;
 | 
			
		||||
            int allCount =0;
 | 
			
		||||
            int successCount =0;
 | 
			
		||||
            for (ListSelectedRow selectedRow : selectedRows) {
 | 
			
		||||
                Long pk = (Long) selectedRow.getPrimaryKeyValue();
 | 
			
		||||
                DynamicObject taskobj = BusinessDataServiceHelper.loadSingle(pk, "task_task");
 | 
			
		||||
                DynamicObject billtype = taskobj.getDynamicObject("billtype");
 | 
			
		||||
                String entityName = billtype.getDynamicObject("bindbill").getString("number");
 | 
			
		||||
                String billid = taskobj.getString("billid");
 | 
			
		||||
                //messageBill.put(billid,taskobj.getString("billnumber")+":"+taskobj.getString("subject"));
 | 
			
		||||
                log.info("TaskListBuildVoucherPlugin:billid:"+billid);
 | 
			
		||||
                Map<String,Object> params = new HashMap<String,Object>();
 | 
			
		||||
                params.put("billType", entityName);
 | 
			
		||||
                List<String> idList =  new ArrayList<>();
 | 
			
		||||
                idList.add(billid);
 | 
			
		||||
                params.put("billIds", idList);
 | 
			
		||||
                params.put("params", par);
 | 
			
		||||
                OpenApiResult invoke = OpenApiSdkUtil.invoke("/v2/ai/buildVoucher", params);
 | 
			
		||||
                Map<String, Object> map = invoke.toMap();
 | 
			
		||||
                if(map.get("status").toString().equals("true")){
 | 
			
		||||
                    //JSONObject data = JSON.parseObject(String.valueOf(map.get("data")));
 | 
			
		||||
                    log.info("TaskListBuildVoucherPlugin:success:"+invoke.getData());
 | 
			
		||||
                    successCount++;
 | 
			
		||||
                }else{
 | 
			
		||||
                    errorCount++;
 | 
			
		||||
                    log.info("TaskListBuildVoucherPlugin:error:"+invoke.getMessage());
 | 
			
		||||
                }
 | 
			
		||||
                allCount++;
 | 
			
		||||
            }
 | 
			
		||||
            if(errorCount == 0){//没有失败的,使用成功弹框提醒
 | 
			
		||||
                this.getView().showSuccessNotification(String.format("凭证生成完成,一共%d条,成功:%d条,失败:%d条。请在【财务云-总账-凭证】中查看已生成的凭证。",allCount,successCount,errorCount));
 | 
			
		||||
            }else{//有失败的,使用警告弹框提醒
 | 
			
		||||
                this.getView().showTipNotification(String.format("凭证生成完成,一共%d条,成功:%d条,失败:%d条。请在【财务云-总账-凭证】中查看已生成的凭证。",allCount,successCount,errorCount));
 | 
			
		||||
            }
 | 
			
		||||
            this.getView().invokeOperation("refresh");//调用表单的刷新操作
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue