Skip to content

307209239/InSiteXmlClient4Core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

28b3876 · Mar 5, 2021

History

16 Commits
Feb 21, 2021
Feb 6, 2021
Feb 6, 2021
Jun 15, 2020
Jun 15, 2020
Jun 15, 2020
Feb 5, 2021
Feb 5, 2021
Feb 6, 2021
Mar 5, 2021
Mar 5, 2021
Feb 5, 2021
Mar 5, 2021
Mar 5, 2021
Feb 6, 2021
Jun 15, 2020
Feb 8, 2021

Repository files navigation

InSiteXmlClient4Core

工作原因经常使用camstar的 InsiteXMLClient类库做二次开发,但是只能在4.X环境下使用,对于日益繁荣的.net core生态,花费了些时间把原有的类库重新封装为.net core 类库,并在实际环境中测试通过。

1.类库不再使用camstar的命名方式,接口统一以I开头

2.把原有的依赖库,统一集成到一个类库里面

3.重新封装了调用过程(CamstarCommon类),使得调用API更为简单

4.添加扩展方法(CamstarCommonEx类),给DataField赋值不用再转换为string类型

使用方式 var client=new CamstarCommon("192.168.1.50",2881,"admin","admin");

使用start服务

var common = new CamstarCommon("192.168.1.50",2881,"admin","admin");

common.CreateService("LotStart");

var inputdata = common.InputData();

inputdata.DataField("AutoPrepare").SetValue(false);

inputdata.DataField("AutoSetNewLotId").SetValue(false);

inputdata.DataField("ComputerName").SetValue(model.ComputerName);

inputdata.DataField("ContainerName").SetValue(model.ContainerName);

inputdata.DataField("CycleTime").SetValue(1);

inputdata.DataField("ExpectedStartDate").SetValue(DateTime.Now);

inputdata.NamedObjectField("Factory").SetRef(model.Factory);

inputdata.DataField("IsEShip").SetValue(false);

inputdata.NamedSubentityField("FirstWIPStep").SetName(model.FirstWIPStep);

inputdata.RevisionedObjectField("FirstWIPStepWorkflow")

  .SetRef(model.Product.Name, model.Product.Revision, false);

inputdata.NamedObjectField("Owner").SetRef(model.Owner);

inputdata.RevisionedObjectField("Product").SetRef(model.Product.Name, model.Product.Revision, false);

inputdata.DataField("Qty").SetValue(model.Qty);

inputdata.DataField("Qty2").SetValue(model.Qty2);

inputdata.DataField("Qty3").SetValue(model.Qty3);

inputdata.NamedObjectField("UOM").SetRef(model.UOM);

inputdata.NamedObjectField("UOM2").SetRef(model.UOM2);

inputdata.NamedObjectField("UOM3").SetRef(model.UOM3);

inputdata.RevisionedObjectField("ProcessSpec").SetRef(model.Product.Name, model.Product.Revision, false);

inputdata.DataField("AutoPrepare").SetValue("true");

inputdata.DataField("ComputerName").SetValue(model.ComputerName);

inputdata.NamedObjectField("Employee").SetRef(model.Employee);

inputdata.NamedObjectField("MfgOrder").SetRef(model.MfgOrder);

inputdata.RevisionedObjectField("Workflow").SetRef(model.Workflow.Name, model.Workflow.Revision, false);

var step = inputdata.NamedSubentityField("WorkFlowStep");

step.SetName(model.WorkflowStep);

step.ParentInfo().SetRevisionedObjectRef(model.Workflow.Name, model.Workflow.Revision, false);

inputdata.NamedObjectField("StartReason").SetRef(model.StartReason);

inputdata.NamedObjectField("PriorityCode").SetRef(model.PriorityCode);

inputdata.DataField("SalesOrderNumber").SetValue(model.SalesOrder);

inputdata.DataField("fpBarCode").SetValue(model.fpBarCode);

inputdata.NamedObjectField("Level").SetRef(model.Level);

inputdata.DataField("fpKey").SetValue(model.fpKey);

var wafers = inputdata.SubentityList("Wafers");

foreach (var wafer in model.Wafers) {

  var item = wafers.AppendItem();
  
  item.DataField("Qty").SetValue(wafer.Qty);
  
  item.DataField("Qty2").SetValue(wafer.Qty2);
  
  item.DataField("NDPW").SetValue(wafer.Qty);
  
  item.DataField("Qty3").SetValue(wafer.Qty3);
  
  item.DataField("WaferNumber").SetValue(wafer.WaferNumber);
  
  item.DataField("WaferScribeNumber").SetValue(wafer.WaferNumber);
  
  item.DataField("RequireTracking").SetValue("True");

}

return await common.ExecuteResultAsync();

#20210206更新

1.添加单元测试项目

2.添加了nameobject revsionObject的change 和new 方法 ,具体使用请看单元测试项目

3.添加了接口ICsiSelectionValue和ICsiSelectionValuesEx接口的实现类型CsiSelectionValue CsiSelectionValuesEx

4.更新nuget包为1.0.4版本

可进行打赏,付费进行camstar API 咨询

image.jgp image.jpg

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages