static public Packet UpLoadFile(HttpContext context, int nCommand, ref string strError) { try { //System.Diagnostics.Stopwatch w = new System.Diagnostics.Stopwatch(); //w.Start(); string strProgressName = CommandTool.ReqString(context, "ProgressName"); UInt32 nProjectID = CommandTool.ReqUint(context, "ProjectId"); UInt32 nPartID = CommandTool.ReqUint(context, "PartId"); UInt32 nWorkProgressID = CommandTool.ReqUint(context, "ProgressId"); UInt32 nPointCount = CommandTool.ReqUint(context, "PointCount"); UInt32 nInfoCount = CommandTool.ReqUint(context, "InfoCount"); string[] paramNames = new string[] { "PointID", "PointName", "Value" }; DataTable dtPoint = CommandTool.ReqDataTable(context, nPointCount, "point", "Value", paramNames); paramNames = new string[] { "PointID", "Nominal", "UpTol", "LowTol" }; DataTable dtInfo = CommandTool.ReqDataTable(context, nInfoCount, "info", "", paramNames); DM_ModelProject modelProject = getProjectInfo(nProjectID); DM_ModelPart modelPart = getPartInfo(nProjectID, nPartID); DM_WorkPlace modelWorkPlace = getWorkInfo(nProjectID, nPartID, nWorkProgressID); DM_ModelWorkshop modelWorkShop = getWorkShop(modelWorkPlace.WorkshopID); Packet recvPacket = writeMeasureFile(modelProject, modelPart, modelWorkPlace, modelWorkShop, dtPoint, dtInfo, strProgressName, ref strError); //w.Stop(); return(recvPacket); } catch (Exception ex) { strError = "CmdManager:UpLoadFile 错误" + ex.Message; return(null); } }
private static Packet writeMeasureFile(DM_ModelProject modelProject, DM_ModelPart modelPart, DM_WorkPlace modelWorkPalce, DM_ModelWorkshop modelWorkShop, DataTable dtPoint, DataTable dtInfo, string strProgressName, ref string strError) { DateTime dtNow = DateTime.Now; MeasureFile file = new MeasureFile(); string strFileName = FileFun.CreateFileName(dtNow, "MeasureFile.txt"); string strFilePath = HttpContext.Current.Server.MapPath("~") + "\\MeasureFile\\" + strFileName; MeasureFileHead head = new MeasureFileHead(); head.MeasureDate = dtNow.Year + "-" + dtNow.Month + "-" + dtNow.Day; head.MeasureTime = dtNow.Hour + ":" + dtNow.Minute + ":" + dtNow.Second; head.ProjectName = modelProject.ProjectName; head.ProjectNo = modelProject.ProjectNo; head.PartName = modelPart.PartName; head.PartNo = modelPart.PartNO; head.SerNumber = ""; head.ComPonent = ""; head.Progress = strProgressName; head.WorkPlace = modelWorkPalce.WorkPlaceName; head.WorkShop = modelWorkShop.WorkshopName; file.FileHead = head; for (int i = 0; i < dtPoint.Rows.Count; i++) { string strPointName = dtPoint.Rows[i]["PointName"].ToString(); string strPointID = dtPoint.Rows[i]["PointID"].ToString(); float fMeas = dtPoint.Rows[i]["Value"].ToString() == "" ? MeasureFileBase.GlobalData.NULL_NUM : Convert.ToSingle(dtPoint.Rows[i]["Value"]); DataRow[] nomRows = dtInfo.Select("PointID = " + strPointID); float fNom = nomRows[0]["Nominal"].ToString() == "" ? MeasureFileBase.GlobalData.NULL_NUM : Convert.ToSingle(nomRows[0]["Nominal"]); float fUpTol = nomRows[0]["UpTol"].ToString() == "" ? MeasureFileBase.GlobalData.NULL_NUM : Convert.ToSingle(nomRows[0]["UpTol"]); float fLowTol = nomRows[0]["LowTol"].ToString() == "" ? MeasureFileBase.GlobalData.NULL_NUM : Convert.ToSingle(nomRows[0]["LowTol"]); MeasurePoint point = new MeasurePoint(strPointName, fMeas, fNom, fUpTol, fLowTol); file.AddPoint(point); } if (file.Save(strFilePath)) { byte[] byFileData = null; using (FileStream fs = new FileStream(strFilePath, FileMode.Open, FileAccess.Read)) { byFileData = new byte[(int)fs.Length]; fs.Read(byFileData, 0, (int)fs.Length); } PacketTable table = new PacketTable(); table.AddField("FileName", PacketTable.FieldType.TypeString); table.AddField("File", PacketTable.FieldType.TypeImage); table.MakeTable(1); table.SetValue(0, 0, strFileName); table.SetValue(0, 1, byFileData); PacketTable[] TableArray = new PacketTable[1]; TableArray[0] = table; ServerConnection conn = new ServerConnection(); Packet recvPacket = conn.ExecuteCommand(10001, TableArray); return(recvPacket); } else { strError = "生成文件或者上传文件出错!"; return(null); } }
static private DM_ModelPart getPartInfo(UInt32 nProjectID, UInt32 nPartID) { PacketTable[] TableArray = new PacketTable[1]; PacketTable table = new PacketTable(); table.AddField("ProjectID", PacketTable.FieldType.TypeUint); table.AddField("PartID", PacketTable.FieldType.TypeUint); table.AddField("PartName", PacketTable.FieldType.TypeString); table.MakeTable(1); table.SetValue(0, 0, nProjectID); table.SetValue(0, 1, nPartID); table.SetValue(0, 2, ""); TableArray[0] = table; ServerConnection connect = new ServerConnection(); Packet packet = connect.ExecuteCommand(14, TableArray); DataTable dt = outWorkInfo(packet); DM_ModelPart part = new DM_ModelPart(); part.PartOrder = (int)dt.Rows[0]["PartOrder"]; part.PartID = (UInt32)dt.Rows[0]["PartID"]; part.PartName = dt.Rows[0]["PartName"].ToString(); part.PartNO = dt.Rows[0]["PartNO"].ToString(); part.ParentID = (UInt32)dt.Rows[0]["ParentID"]; return(part); }
//查询零件 static public List <DM_ModelPart> GetPartArray(ServerConnection conn, UInt32 nProjectID, ref string strError) { if (conn == null) { conn = new ServerConnection(); } PacketTable sendTable = new PacketTable(); sendTable.AddField("ProjectID", PacketTable.FieldType.TypeUint); sendTable.MakeTable(1); sendTable.SetValue(0, 0, nProjectID); PacketTable[] arrSendTable = new PacketTable[1]; arrSendTable[0] = sendTable; Packet recvPacket = conn.ExecuteCommand(2, arrSendTable); PacketTable[] arrRecvTable = conn.ReadTable(recvPacket); if (arrRecvTable == null) { strError = conn.ErrorMessage; return(null); } PacketTable recvTable = arrRecvTable[0]; int nIndexPartID = recvTable.GetFieldIndex("PartID"); int nIndexParentID = recvTable.GetFieldIndex("ParentID"); int nIndexPartName = recvTable.GetFieldIndex("PartName"); List <DM_ModelPart> arrPart = new List <DM_ModelPart>(); for (int i = 0; i < recvTable.Rows; i++) { DM_ModelPart part = new DM_ModelPart(); part.PartID = (uint)recvTable.GetValue(i, nIndexPartID); part.ParentID = (uint)recvTable.GetValue(i, nIndexParentID); part.PartName = (string)recvTable.GetValue(i, nIndexPartName); arrPart.Add(part); } return(arrPart); }