Example #1
0
        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);
            }
        }
Example #2
0
        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);
            }
        }
Example #3
0
        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);
            }
        }