栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java调用金蝶接口

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java调用金蝶接口

		     //接口路径	 
			//    Kingdee.BOS.WebApi.ServicesStub.AuthService.ValidateUser.common.kdsvc #登录接口
			//    Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.View.common.kdsvc #查看表单数据接口
			//    Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery.common.kdsvc #表单数据查询接口
			//    Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save.common.kdsvc #保存接口
			//    Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.BatchSave.common.kdsvc #批量保存接口
			//    Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit.common.kdsvc #提交接口
			//登录接口
	        @Scheduled(fixedRate=200000)
	        public static String login() throws IOException{
	            // id号  用户名 和 密码
	            String loginParam = buildLogin("********", "administrator", "****", 2052);
	            String url = "http://192.168.2.18/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.AuthService.ValidateUser.common.kdsvc";
	            ResponseEntity response= HttpUtil.httpPost(url, loginParam);
	            String login_cookie="";
	            if(response.getStatusCode()== HttpStatus.OK) {
	                Set keys=response.getHeaders().keySet();
	                for(String key:keys){
	                    if (key.equalsIgnoreCase("Set-cookie")) {
	                        List cookies = response.getHeaders().get(key);
	                        for(String cookie:cookies){
	                            if(cookie.startsWith("kdservice-sessionid")){
	                                login_cookie=cookie;
	                                System.out.println("登录K3成功啦:"+login_cookie);
	                                break;
	                            }
	                        }
	                    }
	                }
	            }
	            return login_cookie;
	        }
	
		//生成登录的json串
        public static String buildLogin(String dbid, String userName, String password, int lang){
            Map param = new HashMap<>(4);
            param.put("acctID",dbid);
            param.put("username",userName);
            param.put("password",password);
            param.put("lcid",lang);
            return JSON.toJSONString(param);
        }
		
	    public static String buildMaterial(String template,String formid) {
            JSonObject basic = JSON.parseObject(template);
            JSonObject jsonObject = new JSONObject();
            jsonObject.put("formid",formid);
            jsonObject.put("data",JSON.toJSONString(basic));
            return JSON.toJSONString(jsonObject);
        }
	
		
	    public static String ExecuteBillQuery(String cookie) {

	        
	        String url = "http://192.168.2.18/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery.common.kdsvc";
	        
	        String sContent = "{"FormId":"PRD_MO","FieldKeys":"FID,FBillNo,FdocumentStatus,FBillType,FDate","FilterString":"","OrderString":"","TopRowCount":"0","StartRow":"0","Limit":"2"}";
	        //调用转换JSON的方法
	        String material = buildMaterial(sContent,"PRD_MO") ;
	        Map header = new HashMap<>();
	        header.put("cookie",cookie);
	        String result = HttpUtil.httpPost(url, header, material);
	        return  result;
	    }

		
	  public static void main(String[] args) throws IOException {
           //  String cookie = login();
           //  ExecuteBillQuery(cookie);

            //生产订单    PRD_MO
            //用料清单    PRD_PPBOM
            //直接调拨单    STK_TransferDirect

            String str2="[["MO10003000080","123f39178eb2424c8449f992e1fff1ee","2020-09-21T00:00:00","C","1",115084,"WR705(规格:JDF)",0,100080,10095,753.0000000000,"7",0,"1"],["MO10003000012","123f39178eb2424c8449f992e1fff1ee","2020-09-15T00:00:00","C","1",115098,"WR7168(规格:F2)",0,100080,10095,125.0000000000,"7",0,"1"],["MO10003000080","123f39178eb2424c8449f992e1fff1ee","2020-09-21T00:00:00","C","1",115169,"WR7501PB(规格:7)",0,100080,10095,6.5000000000,"7",0,"1"],["MO10003000013","123f39178eb2424c8449f992e1fff1ee","2020-09-15T00:00:00","C","1",115203,"WR7501PB(规格:1Y )",0,100080,10095,10.0000000000,"7",0,"1"],["MO10003000029","123f39178eb2424c8449f992e1fff1ee","2020-09-16T00:00:00","C","1",115205,"WR7399 A(规格:D3)",0,100080,10095,82.0000000000,"7",0,"1"],["MO10003000153","123f39178eb2424c8449f992e1fff1ee","2020-09-23T00:00:00","C","1",115205,"WR7399 A(规格:D3)",0,100080,10095,193.0000000000,"7",0,"1"],["MO10003000031","123f39178eb2424c8449f992e1fff1ee","2020-09-16T00:00:00","C","1",115226,"WR7399B(规格:D5L)",0,100080,10095,99.0000000000,"7",0,"1"],["MO10003000383","123f39178eb2424c8449f992e1fff1ee","2020-09-30T00:00:00","C","1",115380,"WR7501(规格:T7)",0,100080,10095,20.8800000000,"7",223760,"1"],["MO10001000076","123f39178eb2424c8449f992e1fff1ee","2020-09-26T00:00:00","C","1",122393,"WH-3100-J",0,100078,10095,369.0000000000,"7",221598,"1"],["MO10001000076","123f39178eb2424c8449f992e1fff1ee","2020-09-26T00:00:00","C","1",122438,"WH-1100-J-126",0,100078,10095,420.0000000000,"7",221190,"1"],["MO10001000076","123f39178eb2424c8449f992e1fff1ee","2020-09-26T00:00:00","C","1",122450,"WH-3100-JZH",0,100078,10095,316.0000000000,"7",221199,"1"],["MO10001000092","123f39178eb2424c8449f992e1fff1ee","2020-09-27T00:00:00","C","1",122511,"WH-3100-J",0,100078,10095,100.0000000000,"7",221586,"1"],["MO10002000078","123f39178eb2424c8449f992e1fff1ee","2020-09-10T00:00:00","C","1",124123,"7101-09T-10",0,100079,10095,15.0000000000,"7",0,"1"],["MO10003000010","123f39178eb2424c8449f992e1fff1ee","2020-09-15T00:00:00","C","1",193574,"903-1000-M",0,100080,10095,885.0000000000,"7",209209,"1"],["MO10003000011","123f39178eb2424c8449f992e1fff1ee","2020-09-15T00:00:00","C","1",198700,"WR7306A(规格:YC-RH)",0,100080,10095,30.0000000000,"7",0,"1"],["MO10003000011","123f39178eb2424c8449f992e1fff1ee","2020-09-15T00:00:00","C","1",198703,"WR7306B(规格:YC-RH)",0,100080,10095,30.0000000000,"7",209211,"1"],["MO10002000083","123f39178eb2424c8449f992e1fff1ee","2020-09-11T00:00:00","C","1",199617,"R-15T",0,100079,10095,10.0000000000,"7",0,"1"],["MO10003000007","123f39178eb2424c8449f992e1fff1ee","2020-09-15T00:00:00","C","1",206101,"WR7306A(规格:9107L)",0,100080,10095,180.0000000000,"7",0,"1"],["MO10003000007","123f39178eb2424c8449f992e1fff1ee","2020-09-15T00:00:00","C","1",206105,"WR7306B(规格:9107L)",0,100080,10095,370.0000000000,"7",209192,"1"],["MO10003000030","123f39178eb2424c8449f992e1fff1ee","2020-09-16T00:00:00","C","1",207920,"WR7399A规格:D3(高速分散基料)",0,100080,10095,78.0000000000,"7",213449,"1"],["MO10001000076","123f39178eb2424c8449f992e1fff1ee","2020-09-26T00:00:00","C","1",216829,"WH-G310-1A",0,100078,10095,395.0000000000,"7",221203,"1"]]";

            
            Listkey=new ArrayList(){
                {
                    this.add("FBillNo");
                    this.add("FBillType");
                    this.add("FDate");
                    this.add("FdocumentStatus");
                    this.add("FProductType");
                    this.add("FMaterialId");
                    this.add("FMaterialName");
                    this.add("FWorkShopID0");
                    this.add("FPrdOrgId");
                    this.add("FUnitId");
                    this.add("FQty");
                    this.add("FStatus");
                    this.add("FLot");
                    this.add("FPickMtrlStatus");
                }
            };

            
            String[][] parse1 = JSON.parseObject(str2, String[][].class);
            List> lists1 = JSON.parseObject(JSON.toJSONString(parse1),new TypeReference>>() {});
             //  lists1.forEach(i-> System.out.println(i));

            List>listMap=new ArrayList<>();

            
            lists1.forEach(list->{
                //为了和请求时候传递过去的字段的顺序一样 所以这里需要用有序的Map
                Mapmap=new linkedHashMap<>();
                ForEachUtils.forEach(0, list, (index, item) -> {
                    map.put( key.get(index),list.get(index));
                });
                listMap.add(map);
            });
//            for (Listlist :lists1){
//                Mapmap=new linkedHashMap<>();
//                for (int i = 0; i {
                System.out.println(JsonUtil.toJson(item));
            } );
        }
import java.util.Map;
import java.util.Set;

import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.http.client.SimpleClientHttpRequestFactory;
import org.springframework.util.CollectionUtils;
import org.springframework.web.client.RestTemplate;

public class HttpUtil {

    private HttpUtil(){

    }

    private static final int CONN_TIMEOUT = 30000;
    private static final int READ_TIMEOUT = 30000;
    private static RestTemplate restTemplate = null;

    static{
        //设置超时时间
        SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
        requestFactory.setConnectTimeout(CONN_TIMEOUT);
        requestFactory.setReadTimeout(READ_TIMEOUT);
        restTemplate =  new RestTemplate(requestFactory);
    }

    
    private static HttpHeaders initHeader(){
        HttpHeaders headers = new HttpHeaders();
        headers.add("Accept", "application/json");
        headers.add("Accpet-Encoding", "gzip");
        headers.add("Content-Encoding", "UTF-8");
        headers.add("Content-Type", "application/json; charset=UTF-8");
        return headers;
    }
    
    private static void setHeaderParam(HttpHeaders httpHeaders,Map headers){
        if(!CollectionUtils.isEmpty(headers)){
            Set keys = headers.keySet();
            for(String key:keys){
                httpHeaders.add(key,headers.get(key).toString());
            }
        }
    }

    //登录的httpPost
    public static ResponseEntity httpPost(String url,String json){

        //初始化header公共参数
        HttpHeaders httpHeaders = initHeader();
        //发送请求
        return toPost(url,httpHeaders,json);
    }

    // 保存的httpPost
    public static String httpPost(String url,Map header,String json){

        //初始化header公共参数
        HttpHeaders httpHeaders = initHeader();
        setHeaderParam(httpHeaders,header);
        //发送请求
        return toPost(url,httpHeaders,json).getBody();
    }

    
    private static ResponseEntity toPost(String url,HttpHeaders httpHeaders,String json){
        HttpEntity httpEntity = new HttpEntity<>(json,httpHeaders);
        ResponseEntity responseEntity = restTemplate.exchange(url, HttpMethod.POST,httpEntity,String.class);
        return responseEntity;
    }
}

import java.util.Objects;
import java.util.function.BiConsumer;



public class ForEachUtils {

    
    public static  void forEach(int startIndex,Iterable elements, BiConsumer action) {
        Objects.requireNonNull(elements);
        Objects.requireNonNull(action);
        if(startIndex < 0) {
            startIndex = 0;
        }
        int index = 0;
        for (T element : elements) {
            index++;
            if(index <= startIndex) {
                continue;
            }
            action.accept(index-1, element);
        }
    }
}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/490559.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号