/// <summary> /// 点击datagrid checkbox时判断是否存在 /// </summary> /// <param name="data"></param> /// <returns></returns> public dynamic PostCurrentProductList(dynamic data) { var result = new { status = 0 }; string ProductRate = data.ProductRate; string ContractCode = data.ContractCode; int ProductID = data.ProductID; string PlanCode = data.PlanCode; string ProcessType = data.ProcessType; string PartCode = data.PartCode; var PRS_Process_BOMList = new PRS_Process_BOMService().GetModelList(); var PartQuantity = PRS_Process_BOMList.Where(a => a.PartCode == PartCode && a.ContractCode == ContractCode && a.ProductID == ProductID).FirstOrDefault().PartQuantity ?? 0;//单台数量 var APS_ProjectProduceDetialList = new APS_ProjectProduceDetialService().GetModelList(); var ProcuctList = APS_ProjectProduceDetialList .Where(a => a.ContractCode == ContractCode && a.ProjectDetailID == ProductID && a.PartCode == PartCode && a.ProcessModelType == ProcessType && a.MonthPlanCode == PlanCode).Count(); if (ProcuctList > 0) { result = new { status = 0 }; } else { result = new { status = 1 }; } return(result); }
public List <PRS_Process_BOM> GetIsSum(string BomList = "") { var PRS_BarCreateMateList = new List <dynamic>(); List <PRS_Process_BOM> barDataList = new PRS_Process_BOMService().GetModelList(ParamQuery.Instance().AndWhere("ID", BomList, Cp.In)); return(barDataList); }
public string PostStorage(dynamic data) { string msg = ""; string BillCode = data["BillCode"]; var result = new QMS_ProcessInspectionItemService().AuditBillCode(data["BillCode"].ToString(), out msg); //生成物料条码:自制件 var QMS_ProcessInspectionModel = new QMS_ProcessInspectionService().GetModel(ParamQuery.Instance().AndWhere("BillCode", BillCode)); if (QMS_ProcessInspectionModel != null) { string InnerFactoryBatch = QMS_ProcessInspectionModel.BatchCode; //厂内批次 string OuterFactoryBatch = QMS_ProcessInspectionModel.OuterFactoryBatch; //厂外批次 string PartCode = QMS_ProcessInspectionModel.PartCode; string PartName = QMS_ProcessInspectionModel.PartName; string PartFigureCode = QMS_ProcessInspectionModel.partFigure; string ContractCode = QMS_ProcessInspectionModel.ContractCode; string ProductName = QMS_ProcessInspectionModel.ProductName; int ProductID = new PMS_BN_ProjectDetailService().GetModel(ParamQuery.Instance().AndWhere("ProductName", ProductName)).ID; var ProcessBomModel = new PRS_Process_BOMService().GetModel(ParamQuery.Instance().AndWhere("PartCode", PartCode)); if (ProcessBomModel != null) { string InventoryCode = ProcessBomModel.InventoryCode; //存货编码 string InventoryName = ProcessBomModel.InventoryName; //存货名称 var SYS_MaterialBatchModel = new SYS_MaterialBatchService().GetModel(ParamQuery.Instance() .AndWhere("PartCode", PartCode) .AndWhere("InnerFactoryBatch", InnerFactoryBatch) .AndWhere("OuterFactoryBatch", OuterFactoryBatch)); if (SYS_MaterialBatchModel == null) { var model = new SYS_MaterialBatchService(); string MateBarCode = model.CreateMateBarCode(700000000000); model.Insert(ParamInsert.Instance() .Insert("SYS_MaterialBatch") .Column("MateBarCode", MateBarCode) .Column("InventoryCode", InventoryCode) .Column("InventoryName", InventoryName) .Column("PartCode", PartCode) .Column("PartFigureCode", PartFigureCode) .Column("PartName", PartName) .Column("InnerFactoryBatch", InnerFactoryBatch) .Column("OuterFactoryBatch", OuterFactoryBatch) .Column("ContractCode", ContractCode) .Column("ProductID", ProductID)); } } } return(msg); }
public dynamic GetProductTreeList([FromUri] TreeNodeModel model) { var PMS_BN_ProjectDetailList = new PMS_BN_ProjectDetailService().GetModelList(); var PRS_Process_BOMList = new PRS_Process_BOMService().GetModelList(); var APS_ProjectProduceDetialList = new APS_ProjectProduceDetialService().GetModelList(); var list = TreeNodeManage.GetTreeNodeList <dynamic>( TreeNodeManage.Instance() .SetNode(model.NodeField) .SetParentNode(model.ParentNodeField, model.ParentNodeValue) .SetTableName(model.TableName) .SetNodeLevel(model.IsLevel) .SetTreeSetting(model.TreeSetting) .SetWhereSql(model.WhereSql)); var new_list = new List <dynamic>(); list.ForEach(item => { dynamic item_old = item; string ContractCode = item_old.ContractCode; int ProductID = item_old.ProductID; string PartCode = item_old.PartCode; var Quantity = PMS_BN_ProjectDetailList.Where(a => a.ID == ProductID).FirstOrDefault().Quantity ?? 0; //合同台数 var PartQuantity = PRS_Process_BOMList.Where(a => a.PartCode == PartCode && a.ContractCode == ContractCode && a.ProductID == ProductID).FirstOrDefault().PartQuantity ?? 0; //单台数量 int ProductTotal = Quantity * PartQuantity; //生产总数=合同台数*单台数量 //已生产数量 //var ProcuctList = APS_ProjectProduceDetialList //.Where(a => a.ContractCode == ContractCode && a.ProjectDetailID == ProductID && a.PartCode == PartCode) //.GroupBy(a => new { a.ProcessModelType, a.MonthPlanCode }) //.Select(a => new { ProcessType = a.Key.ProcessModelType, a.Key.MonthPlanCode, Quantity = a.Max(b => b.Quantity) }); var ProcuctList = APS_ProjectProduceDetialList .Where(a => a.ContractCode == ContractCode && a.ProjectDetailID == ProductID && a.PartCode == PartCode) .GroupBy(a => new { a.ProcessModelType, a.ProcessCode }) .Select(a => new { ProcessType = a.Key.ProcessModelType, ProcessCode = a.Key.ProcessCode, Quantity = a.Sum(b => b.Quantity) }); int BlankingTotal = ProcuctList.Where(a => a.ProcessType == "1").FirstOrDefault() == null ? 0 : ProcuctList.Where(a => a.ProcessType == "1").FirstOrDefault().Quantity ?? 0; int WeldingTotal = ProcuctList.Where(a => a.ProcessType == "2").FirstOrDefault() == null ? 0 : ProcuctList.Where(a => a.ProcessType == "2").FirstOrDefault().Quantity ?? 0; int MachiningTotal = ProcuctList.Where(a => a.ProcessType == "3").FirstOrDefault() == null ? 0 : ProcuctList.Where(a => a.ProcessType == "3").FirstOrDefault().Quantity ?? 0; int AssemblingTotal = ProcuctList.Where(a => a.ProcessType == "4").FirstOrDefault() == null ? 0 : ProcuctList.Where(a => a.ProcessType == "4").FirstOrDefault().Quantity ?? 0; item_old.BlankingTotal = BlankingTotal.ToString() + "/" + ProductTotal.ToString(); item_old.WeldingTotal = WeldingTotal.ToString() + "/" + ProductTotal.ToString(); item_old.MachiningTotal = MachiningTotal.ToString() + "/" + ProductTotal.ToString(); item_old.AssemblingTotal = AssemblingTotal.ToString() + "/" + ProductTotal.ToString(); new_list.Add(item_old); }); return(new_list); }
public void Edit(dynamic data) { var listWrapper = RequestWrapper.Instance().LoadSettingXmlString(@" <settings> <table> PRS_Process_BOM </table> <where> <field name='ID' cp='equal'></field> </where> </settings>"); var service = new PRS_Process_BOMService(); var result = service.Edit(null, listWrapper, data); }
public dynamic GetBOMsByPCode(string partCode, string sort = "", string order = "desc") { var data = new PRS_Process_BOMService().GetBOMsByPCode_Two(partCode); //if ((!string.IsNullOrEmpty(sort)) && sort.Equals("InventoryCode")) //{ // if (order.Equals("desc")) // { // data = data.OrderByDescending(item => item.InventoryCode).ToList(); // } // else // { // data = data.OrderBy(item => item.InventoryCode).ToList(); // } //} return(data); }
public void UpdateProcessFigureIsEnableByProcessBomID(int processBomID) { PRS_Process_BOM ppBom = new PRS_Process_BOMService().SelectPRS_Process_BOM(processBomID.ToString()); Dictionary <string, object> where = new Dictionary <string, object>(); where.Add("IsEnable", 1); where.Add("ContractCode", ppBom.ContractCode); where.Add("ProductID", ppBom.ProductID); where.Add("PartCode", ppBom.PartCode); string sql = WinFormClientService.GetUpdateSQL(nameof(PRS_ProcessFigure), where, new { IsEnable = 0 }); db.Sql(sql).Execute(); }
public int PostOnSave(List <PRS_Process_BOM> model) { if (model.Count < 0) { return(0); } else { int result = 0; if (model[0].ID <= 0) { result = new PRS_Process_BOMService().Insert(model[0]); } else { result = new PRS_Process_BOMService().Update(model[0]); } return(result); } }
public void PostUpdate5(int id, string docName, string fileName, string filePath, string tableName) { PRS_Process_BOM ppBom = new PRS_Process_BOMService().SelectPRS_Process_BOM(id.ToString()); if (docName.IndexOf('.').Equals(-1)) { throw new Exception("无法读取文件名!"); } else { DateTime newDT = DateTime.Now; fileName += Path.GetExtension(docName); //filePath = HttpContext.Current.Server.MapPath("~/Upload/" + filePath) + fileName; string FtpServer = "ftp://" + ConfigurationManager.AppSettings["FtpServer"] + ":" + ConfigurationManager.AppSettings["FtpPort"]; filePath = FtpServer + "/" + filePath + fileName; PRS_ProcessFigure model = new PRS_ProcessFigure() { ContractCode = ppBom.ContractCode, ProductID = ppBom.ProductID, PartCode = ppBom.PartCode, DocName = docName, FileName = fileName, FileAddress = filePath, IsEnable = 1, CreatePerson = MmsHelper.GetUserName(), CreateTime = newDT, ModifyPerson = MmsHelper.GetUserName(), ModifyTime = newDT }; string sql = WinFormClientService.GetInsertSQL(model); using (var db = Db.Context("Mms")) { db.Sql(sql).Execute(); } } }
public ActionResult Index(string id) { WorkTicketCode = id; //查询工票表信息 var WorkTicketCodeModel = new MES_WorkingTicketService().GetModelList(ParamQuery.Instance().AndWhere("WorkTicketCode", WorkTicketCode)).FirstOrDefault(); var WorkshopCode = WorkTicketCodeModel.WorkshopCode; //工票信息车间编码 var WorkshopName = WorkTicketCodeModel.WorkshopName; //工票信息车间名称 var PartCode = WorkTicketCodeModel.PartCode; //工票信息零件编码 //var WorkQuantity = WorkTicketCodeModel.WorkQuantity;//工票信息派工数量 var ApsCode = WorkTicketCodeModel.ApsCode; //计划编码 var ApproveState = WorkTicketCodeModel.ApproveState ?? 1; //查询计划中产品数量 var PlanNumber = new APS_ProjectProduceDetialService().GetField <int>( ParamQuery.Instance() .Select("Quantity/BomQty") .From("APS_ProjectProduceDetial") .AndWhere("ApsCode", ApsCode)); var MES_WorkshopBatchingList = new MES_WorkshopBatchingService().GetModelList(ParamQuery.Instance().AndWhere("WorkshopCode", WorkshopCode).AndWhere("PartCode", PartCode).AndWhere("IsEnable", 1)); var MES_WorkshopBatchingDetailList = new List <MES_WorkshopBatchingDetail>(); var MES_WorkTicketMateList = new List <dynamic>(); MES_WorkTicketMateList = new MES_WorkTicketMateService().GetDynamicList(ParamQuery.Instance().AndWhere("WorkTicketCode", WorkTicketCode)); if (MES_WorkTicketMateList.Count == 0) { var PRS_Process_BOMList = new PRS_Process_BOMService() .GetModelList(); if (MES_WorkshopBatchingList.Count > 0) { string BatchingCodeStr = "'" + string.Join("','", MES_WorkshopBatchingList.Select(a => a.BatchingCode)) + "'"; MES_WorkshopBatchingDetailList = new MES_WorkshopBatchingDetailService().GetModelList(ParamQuery.Instance().AndWhere("BatchingCode", BatchingCodeStr, Cp.In)); } if (MES_WorkshopBatchingDetailList.Count > 0) { MES_WorkTicketMateList = MES_WorkshopBatchingDetailList .Join(PRS_Process_BOMList, a => new { PartCode = a.PartCode, ParentCode = a.ParentCode }, b => new { PartCode = b.PartCode, ParentCode = b.ParentCode }, (a, b) => new { a, b }) //.Join(PRS_Process_BOMList, c => new { ParentCode = c.b.ParentCode }, d => new { ParentCode = d.PartCode }, (c, d) => { c,d }) .Select(r => new { InventoryCode = r.b.InventoryCode, PartCode = r.b.PartCode, ParentCode = r.b.ParentCode, InventoryName = r.a.PartName, RequiredQuantity = r.a.BatchingNum, //需求数量 TotalQuantity = r.b.PartQuantity * PlanNumber, //需求总数 WorkTicketCode = WorkTicketCode, WorkshopCode = WorkshopCode, WorkshopName = WorkshopName, IsEnable = 1, IsCrux = r.b.IsCrux }).ToList <dynamic>(); } } var code = new sys_codeService(); var model = new { dataSource = new { MES_WorkTicketMateList = MES_WorkTicketMateList, ApproveState = ApproveState }, urls = new { query = "/api/Mms/MES_WorkTicketMate", newkey = "/api/Mms/MES_WorkTicketMate/getnewkey", edit = "/api/Mms/MES_WorkTicketMate/edit" }, resx = new { noneSelect = "请先选择一条数据!", editSuccess = "保存成功!", auditSuccess = "单据已审核!" }, form = new { WorkTicketCode = "" }, defaultRow = new { }, setting = new { idField = "ID", postListFields = new string[] { "ID", "WorkTicketCode", "InventoryCode", "PartCode", "ParentCode", "InventoryName", "RequiredQuantity", "TotalQuantity", "WorkshopCode", "WorkshopName", "CreatePerson", "CreateTime", "IsEnable", "IsCrux" } } }; return(View(model)); }
protected override void OnAfterHandleExcel(ref DataTable dtSheet) { var service = new SYS_PartService(); var prsbomServices = new PRS_Process_BOMService(); foreach (DataRow item in dtSheet.Rows) { var PartCode = item["InventoryCode"].ToString(); List <PRS_Process_BOM> part = prsbomServices.GetModelList(ParamQuery.Instance().AndWhere("InventoryCode", PartCode).AndWhere("IsEnable", 1)); if (part.Count > 0) { item["PartCode"] = part[part.Count - 1].PartCode; item["PartName"] = part[part.Count - 1].PartName; item["Weight"] = part[part.Count - 1].Weight; var Query = ParamDelete.Instance().AndWhere("InventoryCode", PartCode); service.Delete(Query); } string dName = item["WarehouseCode"].ToString(); string sql = string.Format(@"select WarehouseName from SYS_BN_Warehouse where WarehouseCode='{0}'", dName); string hID = db.Sql(sql).QuerySingle <string>(); item["WarehouseName"] = hID; string isSelfMade = item["IsSelfMade"].ToString(); if (isSelfMade == "否") { item["IsSelfMade"] = 0; } else { item["IsSelfMade"] = 1; } string isSupplyMade = item["IsSupplyMade"].ToString(); if (isSupplyMade == "否") { item["IsSupplyMade"] = 0; } else { item["IsSupplyMade"] = 1; } string isCastforgeMatch = item["IsCastforgeMatch"].ToString(); if (isCastforgeMatch == "否") { item["IsCastforgeMatch"] = 0; } else { item["IsCastforgeMatch"] = 1; } string isOutsouceWeiding = item["IsOutsouceWeiding"].ToString(); if (isOutsouceWeiding == "否") { item["IsOutsouceWeiding"] = 0; } else { item["IsOutsouceWeiding"] = 1; } string isElectroHydraulicMatch = item["IsElectroHydraulicMatch"].ToString(); if (isElectroHydraulicMatch == "否") { item["IsElectroHydraulicMatch"] = 0; } else { item["IsElectroHydraulicMatch"] = 1; } string isMarketMatch = item["IsMarketMatch"].ToString(); if (isMarketMatch == "否") { item["IsMarketMatch"] = 0; } else { item["IsMarketMatch"] = 1; } string isEnable = item["IsEnable"].ToString(); if (isEnable == "否") { item["IsEnable"] = 0; } else { item["IsEnable"] = 1; } //dName = item["PartTypeCode"].ToString(); //sql = string.Format(@"select PartTypeCode from SYS_PartType where TypeName='{0}'", dName); //hID = db.Sql(sql).QuerySingle<string>(); //item["PartTypeCode"] = hID; } base.OnAfterHandleExcel(ref dtSheet); }
public dynamic Get(RequestWrapper query) { #region 原SQL /* * SELECT a.ID, * a.InventoryCode, * a.InventoryName PartName, * a.New_InventoryCode SetMateName, * a.PartFigureCode FigureCode, * b.InventoryName, * b.Model, * b.QuantityUnit, * a.SetMateNum, * a.InPlanceSize, * a.BlankingSize, * a.MateParamValue, * MateType * FROM PRS_Process_BOM a * LEFT JOIN SYS_Part b * ON b.InventoryCode = a.New_InventoryCode * WHERE 1=1 */ #endregion query.LoadSettingXmlString(@" <settings defaultOrderBy=' New_InventoryCode,PartFigureCode'> <select>*</select> <from>(SELECT a.ID, a.ContractCode, --合同编号 c.ProjectName, --工程项目 d.ID AS ProductID, d.ProductName, --产品名称 a.PartFigureCode, --零件图号 a.PartName, --零件名称 a.MaterialCode, --材质 b.InventoryCode, b.InventoryName, --材料名称 b.Model, --型号规格 a.SetMateNum, --定料数量 a.InPlanceSize, --到位尺寸 a.BlankingSize, --下料尺寸 a.MateParamValue, --直径 MateType, --材料类型 a.New_InventoryCode FROM dbo.PRS_Process_BOM_Blanking a INNER JOIN dbo.PMS_BN_Project c ON a.ContractCode = c.ContractCode INNER JOIN dbo.PMS_BN_ProjectDetail d ON c.ProjectID = d.MainID AND a.ProductID = d.ID LEFT JOIN SYS_Part b ON b.InventoryCode = a.New_InventoryCode WHERE a.MateType IN (2,3) ) as temp</from> <where defaultForAll='true' defaultCp='equal' defaultIgnoreEmpty='true'> <field name='ContractCode' cp='equal'></field> <field name='ProductID' cp='equal'></field> </where> </settings>"); var service = new PRS_Process_BOMService(); var pQuery = query.ToParamQuery(); var result = service.GetDynamicList(pQuery); return(result); }
//public void PostUpdate3() public void PostUpdate3(dynamic data) { int id = data.id; string docName = data.docName; string fileName = data.fileName; string filePath = data.filePath; //int id, string docName, string fileName, string filePath //HttpPostedFile fileData = HttpContext.Current.Request.Files["PrsFile"]; //var filestream = fileData.InputStream; //var filename = fileData.FileName; //byte[] FileBytes = FtpHelper.StreamToBytes(filestream); //var id = Convert.ToInt32(HttpContext.Current.Request["id"]); //var docName = HttpContext.Current.Request["docName"].ToString(); //var fileName = HttpContext.Current.Request["fileName"].ToString(); //var filePath = HttpContext.Current.Request["filePath"].ToString(); //var tableName = HttpContext.Current.Request["tableName"].ToString(); PRS_Process_BOM ppBom = new PRS_Process_BOMService().SelectPRS_Process_BOM(id.ToString()); if (docName.IndexOf('.').Equals(-1)) { throw new Exception("无法读取文件名!"); } else { DateTime newDT = DateTime.Now; fileName += Path.GetExtension(docName); //filePath = HttpContext.Current.Server.MapPath("~/Upload/" + filePath) + fileName; //string FtpServer = "ftp://" + ConfigurationManager.AppSettings["FtpServer"] + ":" + ConfigurationManager.AppSettings["FtpPort"]; //filePath = FtpServer + "/" + filePath + fileName; PRS_ProcessFigure model = new PRS_ProcessFigure() { ContractCode = ppBom.ContractCode, ProductID = ppBom.ProductID, PartCode = ppBom.PartCode, DocName = docName, FileName = fileName, FileAddress = filePath, IsEnable = 1, //CreatePerson = MmsHelper.GetUserName(), CreateTime = newDT, //ModifyPerson = MmsHelper.GetUserName(), ModifyTime = newDT }; SqlConnection conn; SqlCommand cmd; ConnectionStringSettings cs = ConfigurationManager.ConnectionStrings["Mms"]; conn = new SqlConnection(cs.ConnectionString); cmd = new SqlCommand(@" insert into PRS_ProcessFigure(ContractCode,ProductID,PartCode,DocName,FileName,FileAddress, IsEnable,CreatePerson,CreateTime,ModifyPerson,ModifyTime) values (@ContractCode,@ProductID,@PartCode,@DocName,@FileName,@FileAddress, @IsEnable,@CreatePerson,@CreateTime,@ModifyPerson,@ModifyTime)", conn); cmd.CommandType = CommandType.Text; cmd.Parameters.AddRange(new SqlParameter[] { new SqlParameter() { ParameterName = "@ContractCode", SqlDbType = SqlDbType.VarChar, Value = model.ContractCode }, new SqlParameter() { ParameterName = "@ProductID", SqlDbType = SqlDbType.Int, Value = model.ProductID }, new SqlParameter() { ParameterName = "@PartCode", SqlDbType = SqlDbType.VarChar, Value = model.PartCode }, new SqlParameter() { ParameterName = "@DocName", SqlDbType = SqlDbType.NVarChar, Value = model.DocName }, new SqlParameter() { ParameterName = "@FileName", SqlDbType = SqlDbType.NVarChar, Value = model.FileName }, new SqlParameter() { ParameterName = "@FileAddress", SqlDbType = SqlDbType.NVarChar, Value = model.FileAddress }, new SqlParameter() { ParameterName = "@IsEnable", SqlDbType = SqlDbType.Int, Value = model.IsEnable }, new SqlParameter() { ParameterName = "@CreatePerson", SqlDbType = SqlDbType.VarChar, Value = "" }, new SqlParameter() { ParameterName = "@CreateTime", SqlDbType = SqlDbType.DateTime, Value = model.CreateTime }, new SqlParameter() { ParameterName = "@ModifyPerson", SqlDbType = SqlDbType.VarChar, Value = "" }, new SqlParameter() { ParameterName = "@ModifyTime", SqlDbType = SqlDbType.DateTime, Value = model.ModifyTime }, //new SqlParameter(){ParameterName="@FileContent", SqlDbType= SqlDbType.Image,Value=model.FileContent } }); conn.Open(); cmd.ExecuteNonQuery(); conn.Close(); //string sql = WinFormClientService.GetInsertSQL(model); //using (var db = Db.Context("Mms")) //{ // //db.Insert("PRS_ProcessFigure").Column("FileContent", FileContent,DataTypes.by) // //db.Sql(sql).Execute(); //} } }