/******************************************************************************* * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential * 类的信息: * 1.程序名称:PMModuleService.cs * 2.功能描述:生产管理模块WCF服务 * 编辑履历: * 作者 日期 版本 修改内容 * 陈晓野 2015/03/26 1.00 新建 *******************************************************************************/ using System; using System.Collections.Generic; using System.Data; using System.ServiceModel; using System.ServiceModel.Activation; using Dongke.IBOSS.PRD.Service.PMModuleService; using Dongke.IBOSS.PRD.WCF.Contracts; using Dongke.IBOSS.PRD.WCF.DataModels; namespace Dongke.IBOSS.PRD.WCF.Services { /// /// 生产管理模块WCF服务 /// /// 服务实现类,继承服务声明接口 /// 该标签声明该服务可以在ASP.NET下运行 [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] [ServiceBehavior(ConfigurationName = "PMModuleServiceNew", InstanceContextMode = InstanceContextMode.PerCall, ConcurrencyMode = ConcurrencyMode.Multiple, UseSynchronizationContext = false)] public class PMModuleServiceNew : ServicesBase, IPMModuleNew { #region 构造函数 /// /// 构造函数 /// public PMModuleServiceNew() : base() { } #endregion #region 注浆管理 #region 注浆登记一览 /// /// 取得FPM0101画面(注浆登记)的初始化数据 /// /// 初始化数据 public ServiceResultEntity GetFPM0101IData() { return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0101IData(this.SUserInfo)); } /// /// 取得FPM0101画面(注浆登记)的查询数据 /// /// 查询条件 /// 查询结果 public ServiceResultEntity GetFPM0101SData(FPM0101_SE se) { return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0101SData(this.SUserInfo, se)); } /// /// 取得FPM0101画面(注浆登记)的查询数据 /// /// 新建注浆登记的id(多个用【,】隔开) /// 查询结果 public ServiceResultEntity GetFPM0101NSData(string ids) { return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0101SData(this.SUserInfo, ids)); } #endregion 注浆登记 #region 注浆登记 /// /// 取得FPM0102画面(注浆登记)的成型线数据 /// /// 注浆日期(null:当天) /// 成型线ID(多个用【,】隔开;null:全部注浆) /// /// 成型线数据 /// OtherStatus = 1:注浆日期大于账务日期 /// OtherStatus = 2:没有可注浆的成型线 /// OtherStatus = 3:没有可注浆的模具 /// public ServiceResultEntity GetFPM0102_GroutingLine(DateTime? groutingDate, string groutingIDs) { return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0102_GroutingLine(this.SUserInfo, groutingDate, groutingIDs)); } /// /// 取得FPM0102画面(注浆登记)的初始化数据 /// /// 注浆日报ID /// /// 初始化数据 /// 注浆数据 /// OtherStatus = 1:没有可编辑的注浆信息 /// OtherStatus = 2:没有可编辑的注浆明细信息 /// public ServiceResultEntity GetFPM0102IData(int groutingDailyID) { return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0102IData(this.SUserInfo, groutingDailyID)); } /// /// 取得FPM0104画面(选择成型线)的查询数据 /// /// 查询条件 /// 查询结果 public ServiceResultEntity GetFPM0104SData(FPM0104_SE se) { return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0104SData(this.SUserInfo, se)); } /// /// 保存FPM0102画面(注浆登记)的注浆数据 /// /// 注浆日期(null:编辑;非null:新建) /// 注浆数据 /// 保存结果 /// OtherStatus = 1: 没有以下成型线的操作权限 /// OtherStatus = 2: 以下成型线已做过注浆 /// OtherStatus = 3: 以下成型工号已被停用 /// OtherStatus = 4: 补注浆,成型工号没有班次配置 /// OtherStatus = 5: 以下成型工号没有配置员工关联 /// public ServiceResultEntity SetFPM0102Data(DateTime? groutingDate, DataSet groutingInfo) { return ServiceInvoker.Invoke(this, () => PMModuleLogic.SetFPM0102Data(this.SUserInfo, groutingDate, groutingInfo)); } /// /// 取得FPM0105画面(选择能绑定条码的注浆登记)的查询数据 /// s /// 查询条件 /// 查询结果 public ServiceResultEntity GetFPM0105SData(FPM0104_SE se) { return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0105SData(this.SUserInfo, se)); } #endregion 注浆登记 #region 条码绑定 /// /// 取得FPM0103画面(绑定条码)的注浆数据 /// /// 注浆日报ID /// /// 注浆数据 /// OtherStatus = 1:没有可编辑的注浆信息 /// OtherStatus = 2:没有可编辑的注浆明细信息 /// public ServiceResultEntity GetFPM0103Data(int groutingDailyID) { return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0103Data(this.SUserInfo, groutingDailyID)); } /// /// 保存FPM0103画面(绑定条码)的注浆数据 /// /// 注浆数据 /// 保存结果 public ServiceResultEntity SetFPM0103Data(DataSet groutingInfo) { return ServiceInvoker.Invoke(this, () => PMModuleLogic.SetFPM0103Data(this.SUserInfo, groutingInfo)); } #endregion 条码绑定 #endregion 注浆管理 #region 条码管理 #region 条码变更 /// /// 取得FPM0202画面(条码变更用条码查询)的查询数据 /// /// 查询条件 /// 查询结果 public ServiceResultEntity GetFPM0202SData(FPM0202_SE se) { return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0202SData(this.SUserInfo, se)); } /// /// 取得FPM0203画面(条码变更)的查询数据 /// /// 条码 /// 查询结果 public ServiceResultEntity GetFPM0203NSData(string barcode) { return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0203SData(this.SUserInfo, barcode)); } /// /// 取得FPM0203画面(条码变更)的查询数据 /// /// 查询条件 /// 查询结果 public ServiceResultEntity GetFPM0203SData(FPM0203_SE se) { return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFPM0203SData(this.SUserInfo, se)); } /// /// 更换条码 /// /// 原条码 /// 新条码 /// 备注 /// 操作结果 public ServiceResultEntity SetFPM0201Data(string barcode, string newBarcode, string remarks, string groutingUserCode, string goodsCode) { return ServiceInvoker.Invoke(this, () => PMModuleLogic.SetFPM0201Data(this.SUserInfo, barcode, newBarcode, remarks, groutingUserCode, goodsCode)); } #endregion 条码变更 #endregion 条码管理 #region 请求处理 /// /// 处理请求 /// /// /// public ServiceResultEntity HandleRequest(ClientRequestEntity cre) { try { #region 生产数据查询(干补) if (cre.NameSpace == "ProductionData") { // 干补一览表 if ("GetProductionData_8" == cre.Name) { return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetProductionData8(this.SUserInfo, cre)); } return null; } #endregion #region 注浆盘点 if (cre.NameSpace == "GBChecked") { // seachbox if ("seachbox_GetList" == cre.Name) { return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetGBCheckedList(this.SUserInfo, cre)); } else if ("UpdateGBChecked" == cre.Name) { return ServiceInvoker.Invoke(this, () => PMModuleLogic.UpdateGBChecked(this.SUserInfo, cre)); } else if ("GetGBCheckedInfoForUpdate" == cre.Name) { return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetGBCheckedInfoForUpdate(this.SUserInfo, cre)); } else if ("SaveGBChecked" == cre.Name) { return ServiceInvoker.Invoke(this, () => PMModuleLogic.SaveGBChecked(this.SUserInfo, cre)); } else if ("DisableGBChecked" == cre.Name) { return ServiceInvoker.Invoke(this, () => PMModuleLogic.DisableGBChecked(this.SUserInfo, cre)); } else if ("GetAllGBCheckList" == cre.Name) { return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetAllGBCheckList(this.SUserInfo, cre)); } else if ("GetAllGBCheckDetail" == cre.Name) { return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetAllGBCheckDetail(this.SUserInfo, cre)); } else if ("SaveClearGBChecked" == cre.Name) { return ServiceInvoker.Invoke(this, () => PMModuleLogic.SaveClearGBChecked(this.SUserInfo, cre)); } // 盘点选中条码 else if ("GBCheckBarcodes" == cre.Name) { return ServiceInvoker.Invoke(this, () => PMModuleLogic.GBCheckBarcodes(this.SUserInfo, cre)); } return null; } // 在产盘点 if (cre.NameSpace == "InChecked") { // 盘点选中条码 if ("CheckBarcodes" == cre.Name) { return ServiceInvoker.Invoke(this, () => PMModuleLogic.CheckBarcodes(this.SUserInfo, cre)); } } #endregion #region 生产管理 // 集中采集的结束工序(包装装板)验证参数(商标、型号、数量) if (cre.NameSpace == "FinishedLoadingCar") { // 包装装板验证 if ("GetSetting" == cre.Name) { return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetFinishedLoadingCarSetting(this.SUserInfo, cre)); } return null; } #endregion #region 成型报损 if (cre.NameSpace == "GroutingScrapProduct") { // 查询注浆日报明细表 if ("GetGroutingDailyDetail" == cre.Name) { return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetGroutingDailyDetail(cre, this.SUserInfo)); } // 查询成型报损 else if ("GetGroutingScrapProduct" == cre.Name) { return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetGroutingScrapProduct(cre, this.SUserInfo)); } // 保存成型报损 else if ("SaveGroutingScrapProduct" == cre.Name) { return ServiceInvoker.Invoke(this, () => PMModuleLogic.SaveGroutingScrapProduct(cre, this.SUserInfo)); } // 审核成型报损 else if ("AuditGroutingScrapProduct" == cre.Name) { return ServiceInvoker.Invoke(this, () => PMModuleLogic.AuditGroutingScrapProduct(cre, this.SUserInfo)); } // 撤销成型报损 else if ("ReverseGroutingScrapProduct" == cre.Name) { return ServiceInvoker.Invoke(this, () => PMModuleLogic.ReverseGroutingScrapProduct(cre, this.SUserInfo)); } // 开模报损 else if ("SaveScrapKm" == cre.Name) { return ServiceInvoker.Invoke(this, () => PMModuleLogic.SaveScrapKm(cre, this.SUserInfo)); } return null; } #endregion #region 产品挂起 // 一览页面查询 if (cre.NameSpace == "ProductSuspend") { if (cre.Name == "GetAllSuspendProduct") { return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetAllSuspendProduct(this.SUserInfo, cre)); } } // 挂起、撤销 if (cre.NameSpace == "F_PM_3002") { // 获取可以挂起的工序(干补、装车、入窑、出窑)工序不能挂起 if (cre.Name == "GetSuspendProcedure") { return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetSuspendProcedure(SUserInfo)); } // 验证挂起条码 if (cre.Name == "CheckSuspendBarcode") { return ServiceInvoker.Invoke(this, () => PMModuleLogic.CheckSuspendBarcode(SUserInfo, cre.Properties["Barcode"] + "")); } // 查询挂起条码 if (cre.Name == "GetSuspendProduct") { return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetSuspendProduct(SUserInfo, cre.Properties["Barcode"] + "")); } // 挂起条码 if (cre.Name == "SaveSuspendProduct") { List gids = new List(); List pids = new List(); foreach (DataRow row in cre.Data.Tables[0].Rows) { gids.Add(Convert.ToInt32(row["groutingdailydetailid"])); } string[] procedureIDs = (cre.Properties["ProcedureIDS"] + "").Split(','); foreach (string s in procedureIDs) { pids.Add(Convert.ToInt32(s)); } return ServiceInvoker.Invoke(this, () => PMModuleLogic.SaveSuspendProduct(SUserInfo, pids.ToArray(), gids.ToArray(), cre.Properties["Remarks"] + "")); } // 撤销挂起条码 if (cre.Name == "DeleteSuspendProduct") { List gids = new List(); List pids = new List(); foreach (DataRow row in cre.Data.Tables[0].Rows) { gids.Add(Convert.ToInt32(row["groutingdailydetailid"])); pids.Add(Convert.ToInt32(row["SuspendProcedureID"])); } return ServiceInvoker.Invoke(this, () => PMModuleLogic.DeleteSuspendProduct(SUserInfo, pids.ToArray(), gids.ToArray())); } } #endregion #region 品保抽查 if (cre.NameSpace == "QASpotCheck") { if (cre.Name == "GetAllQASpotCheck") { return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetAllQASpotCheckForPC(this.SUserInfo, cre)); } if (cre.Name == "CheckQASpotCheck") { return ServiceInvoker.Invoke(this, () => PMModuleLogic.CheckQASpotCheck(this.SUserInfo, cre.Request + "")); } if (cre.Name == "SaveQASpotCheck") { return ServiceInvoker.Invoke(this, () => PMModuleLogic.SaveQASpotCheck(this.SUserInfo, cre.Properties)); } return null; } #endregion #region 产成品交接 // 变更商标(整板) if (cre.NameSpace == "F_PM_2405") { // 条码验证,返回条码数据 if (cre.Name == "FinishedHandoverBarcode") { string barcode = cre.Properties["Barcode"] + ""; int handoverFlag = Convert.ToInt32(cre.Properties["HandoverFlag"] + ""); return ServiceInvoker.Invoke(this, () => Service.PMModuleLogic.PMModuleLogic.FinishedHandoverBarcode(barcode, SUserInfo, handoverFlag)); } // 变更商标(整板) if (cre.Name == "SetFinishedLogo") { ServiceResultEntity sre = new ServiceResultEntity(); string[] barcodes = (cre.Properties["Barcodes"] + "").Split(','); int logoID = Convert.ToInt32(cre.Properties["LogoID"] + ""); sre.Result = ServiceInvoker.Invoke(this, () => Service.PMModuleLogic.PMModuleLogicDAL.SetFinishedLogo(barcodes, logoID, SUserInfo)); return sre; } } // 变更单号(整板) if (cre.NameSpace == "F_PM_2406") { // 条码验证,返回条码数据 if (cre.Name == "FinishedHandoverBarcode") { string barcode = cre.Properties["Barcode"] + ""; int handoverFlag = Convert.ToInt32(cre.Properties["HandoverFlag"] + ""); return ServiceInvoker.Invoke(this, () => Service.PMModuleLogic.PMModuleLogic.FinishedHandoverBarcode(barcode, SUserInfo, handoverFlag)); } // 变更单号(整板) if (cre.Name == "SetHandoveredOrder") { ServiceResultEntity sre = new ServiceResultEntity(); string[] barcodes = (cre.Properties["Barcodes"] + "").Split(','); int orderID = Convert.ToInt32(cre.Properties["OrderID"] + ""); sre.Result = ServiceInvoker.Invoke(this, () => Service.PMModuleLogic.PMModuleLogicDAL.SetHandoveredOrder(barcodes, orderID, SUserInfo)); return sre; } } #endregion #region 半检返修登记 if (cre.NameSpace == "PM_SemiRework") { return null; } #endregion return null; } catch (Exception ex) { throw ex; } } #endregion } }