123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- package bamp.basedata.webapi;
- import kd.bos.algo.DataSet;
- import kd.bos.algo.Row;
- import kd.bos.dataentity.entity.DynamicObject;
- import kd.bos.logging.Log;
- import kd.bos.logging.LogFactory;
- import kd.bos.openapi.common.custom.annotation.ApiController;
- import kd.bos.openapi.common.custom.annotation.ApiMapping;
- import kd.bos.openapi.common.custom.annotation.ApiParam;
- import kd.bos.openapi.common.custom.annotation.ApiPostMapping;
- import kd.bos.openapi.common.result.CustomApiResult;
- import kd.bos.orm.query.QCP;
- import kd.bos.orm.query.QFilter;
- import kd.bos.servicehelper.BusinessDataServiceHelper;
- import kd.scmc.im.report.algox.util.ImReportQueryHelper;
- import kd.scmc.im.report.algox.util.ReqParam;
- import java.io.Serializable;
- import java.util.*;
- /*
- * 客户新增插件
- * wangj 2025-01-15
- * 主要功能:新增主数据客户并分配组织
- */
- @SuppressWarnings("all")
- @ApiController(value = "open", desc = "报表查询接口插件")
- @ApiMapping(value = "/report")
- public class MaterialSFHZQueryWebApiPlugin implements Serializable {
- private static final Log log = LogFactory.getLog(MaterialSFHZQueryWebApiPlugin.class);
- int successCount = 0;
- int failCount = 0;
- @ApiPostMapping(value = "materialInvInfo_query", desc = "同步接口")
- public CustomApiResult<Map<String, Object>> materialInvInfo_query(@ApiParam(value = "提交参数") List<Map<String, Object>> data ) {
- CustomApiResult customApiResult = new CustomApiResult();
- customApiResult.setStatus(true);
- customApiResult.setErrorCode("0");
- try {
- Map resultDatasMap = new HashMap();
- List<Map> resultDatas = new ArrayList<Map>();
- for(Map param : data){
- Map resultData = new HashMap();
- try {
- doQuery(param,resultData);
- }catch (Exception e) {
- resultData.put("id","");
- resultData.put("errors",e.getMessage());
- resultData.put("billStatus","false");
- failCount ++;
- }
- resultDatas.add(resultData);
- }
- resultDatasMap.put("failCount",failCount);
- resultDatasMap.put("successCount",successCount);
- resultDatasMap.put("result",resultDatas);
- customApiResult.setData(resultDatasMap);
- } catch (Exception e) {
- customApiResult.setStatus(false);
- customApiResult.setMessage(e.getMessage());
- customApiResult.setErrorCode("400");
- }
- return customApiResult;
- }
- private void doQuery(Map param, Map resultData) {
- String errorInfo = "";
- ReqParam params = new ReqParam();
- List<Long> orgIds = new ArrayList();
- if(param.get("invorg")!=null && !"".equals(param.get("invorg"))){
- List<String> orgNumbers = new ArrayList();
- String[] invorg = param.get("invorg").toString().split(",");
- for(String orgNumber : invorg){
- orgNumbers.add(orgNumber);
- }
- QFilter qFilter_number = new QFilter("number", QCP.in, orgNumbers);
- DynamicObject[] orgCol = BusinessDataServiceHelper.load("bos_org", "id", new QFilter[]{qFilter_number});
- for(DynamicObject org : orgCol){
- orgIds.add(org.getLong("id"));
- }
- if(orgIds.size()>0){
- params.setOrgIds(orgIds);
- }
- }else{
- errorInfo = "组织不能为空;";
- }
- String beginDate = "";
- if(param.get("beginDate")!=null){
- beginDate = param.get("beginDate").toString();
- params.setBeginDate(param.get("beginDate").toString());
- }else{
- errorInfo = errorInfo + "查询起始日期不能为空;";
- }
- String endDate = "";
- if(param.get("endDate")!=null){
- endDate = param.get("endDate").toString();
- params.setEndDate(param.get("endDate").toString());
- }else{
- errorInfo = errorInfo + "查询结束日期不能为空;";
- }
- // if(param.get("groupstandard")!=null){
- //
- // }else{
- // errorInfo = errorInfo + "物料分类标准不能为空;";
- // }
- // params.setqFilter();
- DataSet dataSet = ImReportQueryHelper.query(params);
- while (dataSet.hasNext()) {
- Row row = dataSet.next();
- log.info(row.toString());
- }
- }
- }
|