private void DealCaiJi(Guid DataID, Guid TestDataID) { CaiJiHelper caiji = new CaiJiHelper(); BizCommon.Sys_TestData mdlTestData = CallLocalService("Yqun.BO.BusinessManager.dll", "GetTestDataModel", new object[] { TestDataID }) as Sys_TestData; //caiji.GetTestDataModel(TestDataID); if (mdlTestData != null) { Boolean inStadiumRange = true; if (mdlTestData.StadiumID == Guid.Empty) { //inStadiumRange = caiji.InStadiumRange(DataID); } if (inStadiumRange) { if (mdlTestData.Status == 0) { CallLocalService("Yqun.BO.BusinessManager.dll", "ApplyUploadDataNew", new object[] { mdlTestData.ID, mdlTestData.DataID, mdlTestData.ModuleID, mdlTestData.StadiumID, mdlTestData.WTBH, mdlTestData.TestRoomCode, mdlTestData.SerialNumber, mdlTestData.UserName, mdlTestData.TestData, mdlTestData.RealTimeData, mdlTestData.TotallNumber, mdlTestData.MachineCode, mdlTestData.UploadInfo, mdlTestData.UploadCode, DataInstance }); //caiji.ApplyUploadData(mdlTestData.ID, mdlTestData.DataID, mdlTestData.ModuleID, mdlTestData.StadiumID, mdlTestData.WTBH, mdlTestData.TestRoomCode, mdlTestData.SerialNumber, mdlTestData.UserName, mdlTestData.TestData, mdlTestData.RealTimeData, mdlTestData.TotallNumber, mdlTestData.MachineCode, mdlTestData.UploadInfo, mdlTestData.UploadCode); } } else { CallLocalService("Yqun.BO.BusinessManager.dll", "SaveTestOverTime", new object[] { mdlTestData.ID, mdlTestData.DataID, mdlTestData.ModuleID, mdlTestData.StadiumID, mdlTestData.WTBH, mdlTestData.TestRoomCode, mdlTestData.SerialNumber, mdlTestData.UserName, mdlTestData.TestData, mdlTestData.RealTimeData, mdlTestData.TotallNumber, mdlTestData.MachineCode, mdlTestData.UploadInfo, mdlTestData.UploadCode }); //caiji.SaveTestOverTime(mdlTestData.ID, mdlTestData.DataID, mdlTestData.ModuleID, mdlTestData.StadiumID, mdlTestData.WTBH, mdlTestData.TestRoomCode, mdlTestData.SerialNumber, mdlTestData.UserName, mdlTestData.TestData, mdlTestData.RealTimeData, mdlTestData.TotallNumber, mdlTestData.MachineCode, mdlTestData.UploadInfo, mdlTestData.UploadCode); } } else { logger.Info("【" + DataInstance + "】DealCaiJi TestDataModel Is Null.TestDataID:" + TestDataID); } }
private void DealCaiJi(Guid DataID, Guid TestDataID, out Guid ModuleID) { CaiJiHelper caiji = new CaiJiHelper(); ModuleID = Guid.Empty; if (DataID != Guid.Empty) { BizCommon.Sys_TestData mdlTestData = caiji.GetTestDataModel(TestDataID); if (mdlTestData != null) { ModuleID = mdlTestData.ModuleID; Boolean inStadiumRange = true; if (mdlTestData.StadiumID == Guid.Empty) { inStadiumRange = caiji.InStadiumRange(DataID, mdlTestData.CreatedTime, mdlTestData.TestRoomCode); } if (inStadiumRange) { if (mdlTestData.Status == 0) { caiji.ApplyUploadData(mdlTestData.ID, mdlTestData.DataID, mdlTestData.ModuleID, mdlTestData.StadiumID, mdlTestData.WTBH, mdlTestData.TestRoomCode, mdlTestData.SerialNumber, mdlTestData.UserName, mdlTestData.TestData, mdlTestData.RealTimeData, mdlTestData.TotallNumber, mdlTestData.MachineCode, mdlTestData.UploadInfo, mdlTestData.UploadCode); } } else { caiji.SaveTestOverTime(mdlTestData.ID, mdlTestData.DataID, mdlTestData.ModuleID, mdlTestData.StadiumID, mdlTestData.WTBH, mdlTestData.TestRoomCode, mdlTestData.SerialNumber, mdlTestData.UserName, mdlTestData.TestData, mdlTestData.RealTimeData, mdlTestData.TotallNumber, mdlTestData.MachineCode, mdlTestData.UploadInfo, mdlTestData.UploadCode); caiji.UpdateTestDataStatus(TestDataID, 3); } } else { logger.Info("DealCaiJi TestDataModel Is Null.TestDataID:" + TestDataID); } } else { caiji.UpdateTestDataStatus(TestDataID, -2); } }
private void Execute(object paremeter) { ThreadParameter p = paremeter as ThreadParameter; JZDocument oldDoc = p.OldDoc; JZDocument newDoc = p.NewDoc; if (oldDoc == null) { return; } String json = ""; List <JZModifyItem> modifyList = new List <JZModifyItem>(); List <CellChangedNotifyItem> notifyList = new List <CellChangedNotifyItem>(); if (p.OptType == "修改") { #region 统计修改单元格 if (newDoc == null || oldDoc.ID != newDoc.ID) { return; } try { ModuleHelper mh = new ModuleHelper(); CaiJiHelper caiji = new CaiJiHelper(); int CaiJiCount = caiji.CaiJiCountByDataID(p.DocBase.ID); foreach (JZSheet sheet in oldDoc.Sheets) { Sys_Sheet sheetBase = mh.GetSheetItemByID(sheet.ID); List <CellLogic> cellLogicList = Newtonsoft.Json.JsonConvert.DeserializeObject <List <CellLogic> >(JZCommonHelper.GZipDecompressString(sheetBase.CellLogic)); foreach (JZCell cell in sheet.Cells) { if (cell.Value != null && cell.Value.ToString().Length < 4000 && cell.Value.ToString() != "" && cell.Value.ToString() != "/") { Object obj = JZCommonHelper.GetCellValue(newDoc, sheet.ID, cell.Name); String newValue = obj == null ? "" : obj.ToString(); if (cell.Value.ToString() != newValue) { JZModifyItem item = new JZModifyItem() { CellPosition = cell.Name, SheetID = sheet.ID, OriginalValue = cell.Value.ToString(), CurrentValue = newValue }; modifyList.Add(item); CellLogic cl = GetCellLogic(cell.Name, cellLogicList); if (cl != null) { if (cl.IsKey && cl.Description.Contains("编号") == false && CaiJiCount > 0 && p.IsAdministrator == false) { CellChangedNotifyItem ni = new CellChangedNotifyItem(); ni.Description = cl.Description; ni.CellPosition = item.CellPosition; ni.CurrentValue = item.CurrentValue; ni.OriginalValue = item.OriginalValue; bool bIsExits = false; foreach (var ccni in notifyList) { if (ccni.Description == ni.Description) { bIsExits = true; break; } } if (bIsExits == false && !string.IsNullOrEmpty(ni.Description)) { notifyList.Add(ni); } else if (string.IsNullOrEmpty(ni.Description)) { logger.Info(string.Format("SheetName:{1},,CellPosition:{0}的Description为空", item.CellPosition, sheet.Name)); } } } } } } } if (modifyList.Count == 0) { return; } json = Newtonsoft.Json.JsonConvert.SerializeObject(modifyList).Replace("'", "''"); } catch (Exception ex) { logger.Error("changes log modify:" + ex.Message); } #endregion } else if (p.OptType == "删除") { json = ""; } else { return; } Guid requestID = Guid.Empty; try { #region 修改日志 DocumentHelper dh = new DocumentHelper(); if (p.RelationRequestChange) { requestID = dh.GetLastApprovedRequestChangeID(newDoc.ID); } String sql = String.Format(@"INSERT INTO dbo.sys_operate_log ( dataID , requestID , modifiedby , modifiedDate , optType , modifyItem, moduleID , testRoomCode , BGBH , DataName ) VALUES ( '{0}','{1}' ,'{2}', GETDATE(),'{3}','{4}','{5}','{6}','{7}','{8}')", oldDoc.ID, requestID, p.UserName, p.OptType, json, p.DocBase.ModuleID, p.DocBase.TestRoomCode, p.DocBase.BGBH, p.DocBase.DataName.Replace("'", "''")); ExcuteCommand(sql); if (modifyList.Count > 0) { UploadHelper uh = new UploadHelper(); UploadSetting uploadSetting = uh.GetUploadSettingByModuleID(p.DocBase.ModuleID); if (uploadSetting != null && uploadSetting.Items != null) { Boolean isChangedSpecialCell = false; foreach (var item in modifyList) { if (isChangedSpecialCell) { break; } foreach (var uploadSettingItem in uploadSetting.Items) { if (item.SheetID == uploadSettingItem.SheetID && item.CellPosition == uploadSettingItem.CellName) { isChangedSpecialCell = true; break; } } } if (isChangedSpecialCell) { sql = "UPDATE dbo.sys_document SET NeedUpload=1 WHERE ID='" + oldDoc.ID + "'"; ExcuteCommand(sql); } } } #endregion } catch (Exception ex) { logger.Error("changes log big error:" + ex.Message); } if (notifyList.Count > 0 && requestID != Guid.Empty) { ///TODO: 用户修改了关键字段,需给业主提示 CellChangedNotifyHelper ccnh = new CellChangedNotifyHelper(); ccnh.NotifyLeader(p.OldDoc.ID, notifyList, p.UserName, p.IsAdministrator, requestID, p.LineID, p.TestRoomCode, p.SegmentName, p.CompanyName, p.TestRoomName, p.LineName); //DocumentHelper dh = new DocumentHelper(); //dh.UpdateDocumentStatus(p.OldDoc.ID, 1); } }