public static bool SplitQty(string Username, string Password, string Container, int splitQty,int plateQty,ref List<string> childList,ref string Msg)
{
string SessionID = Guid.NewGuid().ToString();
csiClient Client = new csiClient();
csiConnection Connection = Client.createConnection(Constants.CAMSTAR_HOST, Constants.CAMSTAR_PORT);
Connection.setConnectionTimeout(600000);
csiSession Session = Connection.createSession(Username, Password, SessionID);
try
{
csiDocument Document = Session.createDocument("SplitDoc");
csiService Service = Document.createService("Split");
csiObject InputData = Service.inputData();
InputData.containerField("Container").setRef(Container, "");
InputData.dataField("AutoNumber").setValue("True");
InputData.dataField("CloseWhenEmpty").setValue("False");
InputData.namedObjectField("AutoNumberRule").setRef("SplitRule");
InputData.dataField("ES_SNDetail").setValue("1");
csiSubentityList Details = InputData.subentityList("ToContainerDetails");
for(int i=1;i<=plateQty;i++)
{
csiSubentity Detail = Details.appendItem();
Detail.dataField("Qty").setValue(splitQty.ToString());
}
Service.setExecute();
Service.requestData().requestField("CompletionMsg");
Service.requestData().requestField("ToContainerDetails");
Service.requestData().requestField("ChildContainers");
csiDocument ResponseDocument = Document.submit();
if (ResponseDocument.checkErrors())//提交失败
{
csiExceptionData csiexceptiondata = ResponseDocument.exceptionData();
Msg = csiexceptiondata.getDescription();
return false;
}
else//提交成功
{
csiService RespService = ResponseDocument.getService();
var xxxxx = RespService.responseData();
csiField CompletionMsg = RespService.responseData().getResponseFieldByName("CompletionMsg");
csiField details = RespService.responseData().getResponseFieldByName("ToContainerDetails"); //需要解析XML
csiSubentityList list = details.asSubentityList();
for (int i = 0; i < plateQty; i++)
{
csiSubentity item = list.getItemByIndex(i);
var a = item.getField("ToContainerName");
var sn=a.asDataField().getValue();
childList.Add(sn);
}
Msg = CompletionMsg.asDataField().getValue();
return true;
}
}
catch (Exception e)
{
Msg = e.Message;
return false;
}
finally
{
if (Session != null)
Session.removeDocument("SplitDoc");
if (Connection != null)
Connection.removeSession(SessionID);
if (Client != null)
Client.removeConnection(Constants.CAMSTAR_HOST, Constants.CAMSTAR_PORT);
}
}

  

最新文章

  1. 目标电脑未安装VC++6.0或者VS,运行APP丢失DLL问题解决办法
  2. 普华永道高级JAVA面试记录
  3. php_mysqli面向对象链接数据库(一)
  4. android之SQLlite操作
  5. 给Windows机器创建软连接
  6. 自动构建Makefile(1)--C/C++编译流程&amp;Makefile规则简介
  7. webstorm修改文件,webpack-dev-server不自动编译刷新的解决办法
  8. cocos2d-x调度器原理
  9. django种表单post出现CSRF verification failed( CSRF验证失败 ) 的两种解决方式
  10. JVM运行时内存结构
  11. Google Map Android api V2 中使用MapView遇到CameraUpdateFactory is not initialized!的解决办法
  12. revel框架教程之缓存和Job
  13. STM32 Cube mx 安装
  14. Spring Boot整合Mybatis并完成CRUD操作
  15. 解决consul覆盖注册
  16. SpringBoot与SpringCloud的版本对应详细版
  17. Java IO API记录
  18. bzoj千题计划316:bzoj3173: [Tjoi2013]最长上升子序列(二分+树状数组)
  19. [leetcode]366. Find Leaves of Binary Tree捡树叶
  20. spring-mybatis代码生成插件,与实例展示

热门文章

  1. 如何快速搭建 Maven私服Nexus【实践可行版】
  2. UBUNTU切换内核
  3. dvwa靶场搭建
  4. Spring Boot学习笔记(一)----概要与入门
  5. Liunx(CentOS)安装Nacos(单机启动,绑定Mysql)
  6. Java第五讲异常处理总结
  7. Django中多数据库的配置,实现分库分表,主从复制,读写分离
  8. JavaScript查找两个节点的最近的一个共同父节点,可以包括节点自身
  9. Nginx 同一个域名自动识别 pc h5
  10. DevExpress gridControl 字体居住