using iWareCommon.Utils; using iWareModel; using iWareModel.Entity.Device; using iWareSql.DataAccess; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using System.ServiceModel; using System.Text; using XiGang.Core.Model; using XiGang.Core.Model.PostParamModels.Task; namespace iWareCC.WCF { // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的类名“CCWcfService”。 public class CCWcfService : ICCWcfService { /// /// MES提供某个发动机的详细信息 /// /// public string getEngineInfo(string mes_url, string XiGang_Mes_Url_getEngineInfo, string token, string _barCode) { return MyMesService.getEngineInfo(mes_url, XiGang_Mes_Url_getEngineInfo, token, _barCode); } /// /// 获取设备坐标 /// /// public DeviceCoordinat GetDeviceCoordinat() { DeviceCoordinat result = null; try { result = new DeviceCoordinat() { }; //result.RgvCoordinate = FormCC.rgvView.R_RGV_Coordinate; result.Srm1Coordinat = FormCC.srmViewDict[(int)EDevice.堆垛机].R_PosXmm.ToString(); result.Srm2Coordinat = FormCC.srmViewDict[(int)EDevice.二号堆垛机].R_PosXmm.ToString(); return result; } catch (Exception ex) { Log4NetHelper.WriteErrorLog(LogType.CCWCFService, "GetDeviceCoordinat出现异常:" + ex.Message, ex); return result; } } /// /// 模式是否正在运行 /// /// public bool IsStartedModel() { return SystemValue.isStartedModel; } /// /// 生成最新的任务序列号 /// /// /// public int GenerateTaskSequence() { try { //using (DbModel edm = new DbModel()) //{ // return MainTaskHandler.GenerateTaskSequence(edm); //} return 0; } catch (Exception ex) { Log4NetHelper.WriteErrorLog(LogType.CCWCFService, "GenerateTaskSequence出现异常:" + ex.Message, ex); return 0; } } /// /// 重新扫描输送线1015上的托盘号 /// /// public FunRetEntity Write1015ReScan(bool value) { try { using (RgvService.RgvServiceClient client = new RgvService.RgvServiceClient()) { iWareCC.RgvService.SdaResEntity result = client.Write1015ReScan((int)EDevice.RGV, value); if (result.result) { return FunRetEntity.Success("成功", ""); } else { return FunRetEntity.Fail(result.resMsg, ""); } } } catch (Exception ex) { return FunRetEntity.Fail("获取输送线1015上扫描的托盘号出现异常:" + ex.Message); } } ///// ///// 寻找空闲的立库空库位 (普通物料) ///// ///// //public Base_Station FindBestEmptyPlaceForOrdinaryMaterial(string orderNo) //{ // try // { // using (DbModel edm = new DbModel()) // { // var item = StationHandler.FindBestEmptyPlaceForOrdinaryMaterial(edm, orderNo, MaterialTypeEnum.一般物料); // return item; // } // } // catch (Exception ex) // { // return null; // } //} /// /// 新增入库任务 /// /// /// /// /// public FunRetEntity AddInStoreTask(SysUser user, AddMainTaskPostParam param) { try { //return MainTaskHandler.AddInStoreTask(user, param); return null; } catch (Exception ex) { return FunRetEntity.Fail("出现异常:" + ex.Message); } } /// /// 输送线站台是否满足新入库任务生成 /// /// /// public bool IsMeetRequirements(string station) { try { var stationStatus = FormCC.conveyerView.R_ConveyerForReadCommList.Where(x => x.StationCode == station).FirstOrDefault(); if (stationStatus != null) { bool temp = false; //是否有入库请求 switch (station) { case "101": temp = FormCC.conveyerView.R_Scan1_Success; break; //case "102": // temp = FormCC.conveyerView.R_Scan2_Success; // break; //case "103": // temp = FormCC.conveyerView.R_Scan3_Success; // break; //case "104": // temp = FormCC.conveyerView.R_Scan4_Success; // break; } if(temp) { return false; } return stationStatus.R_HasCargo; } return false; } catch (Exception ex) { return false; } } ///// ///// 新增入库任务 ///// ///// ///// ///// ///// //public FunRetEntity AddInStoreTask(SysUser user, AddMainTaskPostParam param) //{ // try // { // return MainTaskHandler.AddInStoreTask(user, param); // } // catch (Exception ex) // { // return FunRetEntity.Fail("出现异常:" + ex.Message); // } //} ///// ///// 新增手动出库任务 ///// ///// ///// ///// ///// //public FunRetEntity AddOutStoreTaskByHand(SysUser user, int stationId) //{ // try // { // return MainTaskHandler.AddOutStoreTaskByHand(user, stationId); // } // catch (Exception ex) // { // return FunRetEntity.Fail("出现异常:" + ex.Message); // } //} } }