Beispiel #1
0
        public void 水泥高性能StadiumConfig()
        {
            StadiumConfig config = new StadiumConfig()
            {
                fZJRQ = new StadiumColumnInfo()
                {
                    TableName = "[biz_norm_水泥试验委托单]", ColumnName = "col_norm_H25"
                },
                fBGBH = new StadiumColumnInfo()
                {
                    TableName = "[biz_norm_水泥试验报告(高性能)]", ColumnName = "col_norm_L5"
                },
                fPH = new StadiumColumnInfo()
                {
                    TableName = "[biz_norm_水泥试验委托单]", ColumnName = "col_norm_H9"
                },
                fWTBH = new StadiumColumnInfo()
                {
                    TableName = "[biz_norm_水泥试验委托单]", ColumnName = "col_norm_H5"
                },
                fSJBH   = null,
                fSJSize = null,
                fAdded  = new StadiumColumnInfo()
                {
                    TableName = "[biz_norm_水泥试验委托单]", ColumnName = "col_norm_C11"
                }
            };

            config.DayList.Add(new StadiumDay()
            {
                Days      = 3, IsParameterDays = false, PDays = null, ItemName = "水泥抗压3天", ItemID = "63",
                ValidInfo = new StadiumColumnInfo()
                {
                    TableName = "[biz_norm_水泥试验报告(高性能)]", ColumnName = "col_norm_P30"
                }
            });
            config.DayList.Add(new StadiumDay()
            {
                Days      = 28, IsParameterDays = false, PDays = null, ItemName = "水泥抗压28天", ItemID = "64",
                ValidInfo = new StadiumColumnInfo()
                {
                    TableName = "[biz_norm_水泥试验报告(高性能)]", ColumnName = "col_norm_P31"
                }
            });
            String json = Newtonsoft.Json.JsonConvert.SerializeObject(config);

            Assert.AreEqual("", json);
        }
Beispiel #2
0
        public void 混凝土1天StadiumConfig()
        {
            StadiumConfig config = new StadiumConfig()
            {
                fZJRQ = new StadiumColumnInfo()
                {
                    TableName = "[biz_norm_混凝土试验任务委托单]", ColumnName = "col_norm_C21"
                },
                fBGBH = new StadiumColumnInfo()
                {
                    TableName = "[biz_norm_1d混凝土检查试件抗压强度试验报告]", ColumnName = "col_norm_R5"
                },
                fPH   = null,
                fWTBH = new StadiumColumnInfo()
                {
                    TableName = "[biz_norm_混凝土试验任务委托单]", ColumnName = "col_norm_H5"
                },
                fSJBH = new StadiumColumnInfo()
                {
                    TableName = "[biz_norm_混凝土试验任务委托单]", ColumnName = "col_norm_C8"
                },
                fSJSize = new StadiumColumnInfo()
                {
                    TableName = "[biz_norm_混凝土试验任务委托单]", ColumnName = "col_norm_C11"
                },
                fAdded = new StadiumColumnInfo()
                {
                    TableName = "[biz_norm_混凝土试验任务委托单]", ColumnName = "col_norm_C9"
                }
            };

            config.DayList.Add(new StadiumDay()
            {
                Days            = 1,
                IsParameterDays = false,
                PDays           = null,
                ItemName        = "混凝土抗压1天",
                ItemID          = "1",
                ValidInfo       = null
            });
            String json = Newtonsoft.Json.JsonConvert.SerializeObject(config);

            Assert.AreEqual("", json);
        }
Beispiel #3
0
        private void Execute(object paremeter)
        {
            ThreadParameter p          = paremeter as ThreadParameter;
            DataSet         dataset    = p.Data;
            String          modelIndex = p.ModelIndex;

            if (dataset == null)
            {
                return;
            }
            try
            {
                DataTable stadiumInfo = GetStadiumInfoByModelIndex(modelIndex);
                // 检查是否是设置龄期的模板
                if (stadiumInfo != null && stadiumInfo.Rows.Count > 0)
                {
                    StadiumConfig config = Newtonsoft.Json.JsonConvert.DeserializeObject <StadiumConfig>(stadiumInfo.Rows[0]["StadiumConfig"].ToString());
                    if (config != null)
                    {
                        DataTable tb = dataset.Tables["[biz_norm_extent_" + modelIndex + "]"];
                        if (tb != null && tb.Rows.Count > 0)
                        {
                            String dataID = tb.Rows[0]["ID"].ToString();
                            //DataTable stadiumData = GetStadiumDataByDataID(dataID);
                            ////检查是否该资料已经进入龄期提醒表,不考虑龄期中是否已经完成;如果已经存在,需要考虑更新是否完成;
                            //if (stadiumData == null || stadiumData.Rows.Count == 0)
                            //{
                            //    SaveStadiumData(dataset, config, modelIndex);//保存龄期
                            //}
                            //else
                            //{
                            //    //如果数据已经存在于龄期表,检查制件日期是否变更,并根据配置更新是否完成的字段
                            //    UpdateStadiumData(dataset, config, modelIndex, stadiumData);
                            //}
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                logger.Error("龄期提醒:error" + ex.Message);
            }
        }
Beispiel #4
0
        private void SaveStadiumData(DataSet dataset, StadiumConfig config, String modelIndex)
        {
            DataTable extTable  = dataset.Tables["[biz_norm_extent_" + modelIndex + "]"];
            String    dataID    = extTable.Rows[0]["ID"].ToString();
            String    modelCode = extTable.Rows[0]["SCPT"].ToString();
            String    fName     = extTable.Rows[0]["DataName"].ToString();
            String    fPH       = config.fPH == null ? "" : dataset.Tables[config.fPH.TableName].Rows[0][config.fPH.ColumnName].ToString().Replace("'", "''");
            String    fZJRQ     = config.fZJRQ == null ? "" : dataset.Tables[config.fZJRQ.TableName].Rows[0][config.fZJRQ.ColumnName].ToString();
            String    fSJBH     = config.fSJBH == null ? "" : dataset.Tables[config.fSJBH.TableName].Rows[0][config.fSJBH.ColumnName].ToString().Replace("'", "''");
            String    fSJSize   = config.fSJSize == null ? "" : dataset.Tables[config.fSJSize.TableName].Rows[0][config.fSJSize.ColumnName].ToString();
            String    fAdded    = config.fAdded == null ? "" : dataset.Tables[config.fAdded.TableName].Rows[0][config.fAdded.ColumnName].ToString();
            String    fBGBH     = config.fBGBH == null ? "" : dataset.Tables[config.fBGBH.TableName].Rows[0][config.fBGBH.ColumnName].ToString();
            String    fWTBH     = config.fWTBH == null ? "" : dataset.Tables[config.fWTBH.TableName].Rows[0][config.fWTBH.ColumnName].ToString();

            if (String.IsNullOrEmpty(fZJRQ))
            {
                //无制件日期则不保存
                //logger.Error("无制件日期,无法保存龄期提醒数据: id=" + dataID + "; fName=" + fName + "; fBGBH=" + fBGBH);
                return;
            }
            DateTime zjrq;

            if (!DateTime.TryParse(fZJRQ, out zjrq))
            {
                logger.Error("制件日期格式不对 " + fZJRQ);
                return;
            }

            foreach (var item in config.DayList)
            {
                Int32 days = item.Days;
                if (item.IsParameterDays)
                {
                    String pDays = dataset.Tables[item.PDays.TableName].Rows[0][item.PDays.ColumnName].ToString().ToLower();
                    if (!int.TryParse(pDays.Replace("d", ""), out days))
                    {
                        continue;
                    }
                    //混凝土三级配特殊处理
                    switch (days)
                    {
                    case 1:
                        item.ItemID   = "1";
                        item.ItemName = "混凝土抗压1天";
                        break;

                    case 3:
                        item.ItemID   = "92";
                        item.ItemName = "混凝土抗压3天";
                        break;

                    case 7:
                        item.ItemID   = "93";
                        item.ItemName = "混凝土抗压7天";
                        break;

                    case 28:
                        item.ItemID   = "94";
                        item.ItemName = "混凝土抗压28天";
                        break;

                    case 56:
                        item.ItemID   = "95";
                        item.ItemName = "混凝土抗压56天";
                        break;

                    default:
                        break;
                    }
                }
                //if ((DateTime.Now - zjrq).Days > days)
                //{//提醒的时间已经过了
                //    logger.Error("提醒的时间已经过了 zjrq=" + zjrq + ", days=" + days);
                //    continue;
                //}
                String insertSql = String.Format(@"INSERT INTO dbo.sys_biz_reminder_stadiumData
                                        ( DataID ,
                                          Scts ,
                                          ModelCode ,
                                          ModelIndex ,
                                          DateSpan ,
                                          F_Name ,
                                          F_ItemId ,
                                          F_PH ,
                                          F_ZJRQ ,
                                          F_SJBH ,
                                          F_SJSize ,
                                          F_SYXM ,
                                          F_BGBH ,
                                          F_WTBH,
                                          F_Added
                                        )
                                VALUES  ( '{0}' , '{1}' ,'{2}' ,'{3}' ,'{4}' ,'{5}' ,'{6}' ,'{7}' ,
                                          '{8}' , '{9}' , '{10}' , '{11}' , '{12}' , '{13}','{14}' )",
                                                 dataID, DateTime.Now.ToString(), modelCode, modelIndex,
                                                 days, fName, item.ItemID, fPH, fZJRQ, fSJBH, fSJSize, item.ItemName, fBGBH, fWTBH, fAdded);
                //logger.Error("插入龄期提醒: " + insertSql);
                ExcuteCommand(insertSql);
            }
        }
Beispiel #5
0
        /// <summary>
        /// 为西成线11标中心,删除219条资料的28d数据,并生成1条56d数据
        /// </summary>
        public void SpStadiumData()
        {
            ModuleManager          Manager      = new ModuleManager();
            TableDefineInfoManager TableManager = new TableDefineInfoManager();
            ModelDataManager       DataManager  = new ModelDataManager();


            String        modelIndex  = "05d0d71b-def3-42ee-a16a-79b34de97e9b";
            DataTable     dataTb      = GetDataTable("select * from [biz_norm_extent_" + modelIndex + "] WHERE scpt LIKE '0001001700010001%' ");
            DataTable     stadiumInfo = GetStadiumInfoByModelIndex(modelIndex);
            StadiumConfig config      = Newtonsoft.Json.JsonConvert.DeserializeObject <StadiumConfig>(stadiumInfo.Rows[0]["StadiumConfig"].ToString());

            if (dataTb != null)
            {
                foreach (DataRow dataRow in dataTb.Rows)
                {
                    try
                    {
                        DataTable dt = GetDataTable("SELECT * FROM sys_biz_reminder_stadiumData WHERE DataID='" + dataRow["ID"].ToString() + "' AND DateSpan = 56");
                        if (dt.Rows.Count == 0)
                        {
                            List <IndexDescriptionPair> Sheets = Manager.InitModuleInfo(modelIndex);

                            List <TableDefineInfo> TableSchemas = new List <TableDefineInfo>();
                            foreach (IndexDescriptionPair pair in Sheets)
                            {
                                TableDefineInfo Info = TableManager.GetTableDefineInfo(pair.Index, pair.DataTable);
                                TableSchemas.Add(Info);
                            }
                            String          extentTable       = "biz_norm_extent_" + modelIndex;
                            TableDefineInfo ExtentTableSchema = TableManager.GetTableDefineInfo("1", extentTable);
                            DataSet         dataset           = DataManager.GetData(TableSchemas, ExtentTableSchema, dataRow["ID"].ToString(), dataRow["scpt"].ToString());

                            DataTable extTable = dataset.Tables["[biz_norm_extent_" + modelIndex + "]"];
                            String    dataID   = extTable.Rows[0]["ID"].ToString();

                            String modelCode = extTable.Rows[0]["SCPT"].ToString();
                            String fName     = extTable.Rows[0]["DataName"].ToString();
                            String fPH       = config.fPH == null ? "" : dataset.Tables[config.fPH.TableName].Rows[0][config.fPH.ColumnName].ToString().Replace("'", "''");
                            String fZJRQ     = config.fZJRQ == null ? "" : dataset.Tables[config.fZJRQ.TableName].Rows[0][config.fZJRQ.ColumnName].ToString();
                            String fSJBH     = config.fSJBH == null ? "" : dataset.Tables[config.fSJBH.TableName].Rows[0][config.fSJBH.ColumnName].ToString().Replace("'", "''");
                            String fSJSize   = config.fSJSize == null ? "" : dataset.Tables[config.fSJSize.TableName].Rows[0][config.fSJSize.ColumnName].ToString();
                            String fAdded    = config.fAdded == null ? "" : dataset.Tables[config.fAdded.TableName].Rows[0][config.fAdded.ColumnName].ToString();
                            String fBGBH     = config.fBGBH == null ? "" : dataset.Tables[config.fBGBH.TableName].Rows[0][config.fBGBH.ColumnName].ToString();
                            String fWTBH     = config.fWTBH == null ? "" : dataset.Tables[config.fWTBH.TableName].Rows[0][config.fWTBH.ColumnName].ToString();

                            String insertSql = String.Format(@"INSERT INTO dbo.sys_biz_reminder_stadiumData
                                        ( DataID ,
                                          Scts ,
                                          ModelCode ,
                                          ModelIndex ,
                                          DateSpan ,
                                          F_Name ,
                                          F_ItemId ,
                                          F_PH ,
                                          F_ZJRQ ,
                                          F_SJBH ,
                                          F_SJSize ,
                                          F_SYXM ,
                                          F_BGBH ,
                                          F_WTBH,
                                          F_Added
                                        )
                                VALUES  ( '{0}' , '{1}' ,'{2}' ,'{3}' ,'{4}' ,'{5}' ,'{6}' ,'{7}' ,
                                          '{8}' , '{9}' , '{10}' , '{11}' , '{12}' , '{13}','{14}' )",
                                                             dataID, DateTime.Now.ToString(), modelCode, modelIndex,
                                                             56, fName, "95", fPH, fZJRQ, fSJBH, fSJSize, "混凝土抗压56天", fBGBH, fWTBH, fAdded);
                            ExcuteCommand(insertSql);
                        }
                    }
                    catch (Exception ex)
                    {
                        logger.Error("SP Old Data Error: " + ex.Message + "; ModelIndex=" + modelIndex + "; DataID=" + dataRow["ID"].ToString());
                    }
                }
            }
        }
Beispiel #6
0
        private void UpdateStadiumData(DataSet dataset, StadiumConfig config, String modelIndex, DataTable stadiumData)
        {
            DataTable extTable  = dataset.Tables["[biz_norm_extent_" + modelIndex + "]"];
            String    dataID    = extTable.Rows[0]["ID"].ToString();
            String    modelCode = extTable.Rows[0]["SCPT"].ToString();
            String    fName     = extTable.Rows[0]["DataName"].ToString();
            String    fPH       = config.fPH == null ? "" : dataset.Tables[config.fPH.TableName].Rows[0][config.fPH.ColumnName].ToString().Replace("'", "''");
            String    fZJRQ     = config.fZJRQ == null ? "" : dataset.Tables[config.fZJRQ.TableName].Rows[0][config.fZJRQ.ColumnName].ToString();
            String    fSJBH     = config.fSJBH == null ? "" : dataset.Tables[config.fSJBH.TableName].Rows[0][config.fSJBH.ColumnName].ToString().Replace("'", "''");
            String    fSJSize   = config.fSJSize == null ? "" : dataset.Tables[config.fSJSize.TableName].Rows[0][config.fSJSize.ColumnName].ToString();
            String    fAdded    = config.fAdded == null ? "" : dataset.Tables[config.fAdded.TableName].Rows[0][config.fAdded.ColumnName].ToString();
            String    fBGBH     = config.fBGBH == null ? "" : dataset.Tables[config.fBGBH.TableName].Rows[0][config.fBGBH.ColumnName].ToString();
            String    fWTBH     = config.fWTBH == null ? "" : dataset.Tables[config.fWTBH.TableName].Rows[0][config.fWTBH.ColumnName].ToString();

            DateTime zjrq;

            if (!DateTime.TryParse(fZJRQ, out zjrq))
            {
                //制件日期格式不对
                logger.Error("制件日期格式不对 " + fZJRQ);
                return;
            }

            foreach (DataRow row in stadiumData.Rows)
            {
                if (row["F_IsDone"] != DBNull.Value && row["F_IsDone"].ToString() == "1")
                {
                    //取龄期提醒的数据,可能是多条,过滤已经完成的。
                    logger.Error("取龄期提醒的数据,可能是多条,过滤已经完成的 F_IsDone=" + row["F_IsDone"].ToString());
                    continue;
                }

                foreach (var item in config.DayList)
                {
                    Int32 days = item.Days;
                    if (item.IsParameterDays)
                    {
                        String pDays = dataset.Tables[item.PDays.TableName].Rows[0][item.PDays.ColumnName].ToString().ToLower();
                        if (!int.TryParse(pDays.Replace("d", ""), out days))
                        {
                            continue;
                        }
                        //混凝土三级配特殊处理
                        switch (days)
                        {
                        case 1:
                            item.ItemID   = "1";
                            item.ItemName = "混凝土抗压1天";
                            break;

                        case 3:
                            item.ItemID   = "92";
                            item.ItemName = "混凝土抗压3天";
                            break;

                        case 7:
                            item.ItemID   = "93";
                            item.ItemName = "混凝土抗压7天";
                            break;

                        case 28:
                            item.ItemID   = "94";
                            item.ItemName = "混凝土抗压28天";
                            break;

                        case 56:
                            item.ItemID   = "95";
                            item.ItemName = "混凝土抗压56天";
                            break;

                        default:
                            break;
                        }
                    }
                    String updateSql = "";

                    if (item.IsParameterDays && config.DayList.Count == 1)
                    {
                        //三级配
                        DataTable dt2 = GetDataTable(String.Format("Select ID from dbo.sys_biz_reminder_stadiumData WHERE DataID='{0}' ", dataID));
                        if (dt2 != null && dt2.Rows.Count > 0)
                        {
                            updateSql = String.Format(@"UPDATE dbo.sys_biz_reminder_stadiumData SET 
                                                F_BGBH='{0}'{1},F_Name='{2}',F_PH='{3}',F_SJBH='{4}',F_ItemId='{11}', F_SYXM='{12}',
                                                F_SJSize='{5}',F_WTBH='{6}',F_ZJRQ='{7}',Scts=GETDATE(),DateSpan={9}, F_Added='{10}'
                                                WHERE DataID='{8}'",
                                                      fBGBH, "", fName, fPH, fSJBH, fSJSize, fWTBH, fZJRQ, dataID, days, fAdded, item.ItemID, item.ItemName);
                            ExcuteCommand(updateSql);
                        }
                        else
                        {
                            SaveStadiumData(dataset, config, modelIndex);
                        }
                    }
                    else
                    {
                        DataTable dt = GetDataTable(String.Format("Select ID from dbo.sys_biz_reminder_stadiumData WHERE DataID='{0}' AND DateSpan='{1}' ", dataID, days));
                        if ((dt == null || dt.Rows.Count == 0))
                        {
                            SaveStadiumData(dataset, config, modelIndex);
                        }
                        else
                        {
                            if (item.ValidInfo == null)
                            {
                                updateSql = String.Format(@"UPDATE dbo.sys_biz_reminder_stadiumData SET 
                                                F_BGBH='{0}'{1},F_Name='{2}',F_PH='{3}',F_SJBH='{4}',F_ItemId='{11}', F_SYXM='{12}',
                                                F_SJSize='{5}',F_WTBH='{6}',F_ZJRQ='{7}',Scts=GETDATE(), F_Added='{10}'
                                                WHERE DataID='{8}' AND DateSpan='{9}'",
                                                          fBGBH, "", fName, fPH, fSJBH, fSJSize, fWTBH, fZJRQ, dataID, days, fAdded, item.ItemID, item.ItemName);
                            }
                            else
                            {
                                String isDone     = "null";
                                String validValue = dataset.Tables[item.ValidInfo.TableName].Rows[0][item.ValidInfo.ColumnName] == DBNull.Value ? "" :
                                                    dataset.Tables[item.ValidInfo.TableName].Rows[0][item.ValidInfo.ColumnName].ToString().Trim();
                                if (validValue != "" && validValue != "/")
                                {
                                    isDone = "1";
                                }
                                updateSql = String.Format(@"UPDATE dbo.sys_biz_reminder_stadiumData SET 
                                                F_BGBH='{0}',F_IsDone={1},F_Name='{2}',F_PH='{3}',F_SJBH='{4}', F_ItemId='{11}', F_SYXM='{12}',
                                                F_SJSize='{5}',F_WTBH='{6}',F_ZJRQ='{7}',Scts=GETDATE(), F_Added='{10}'
                                                WHERE DataID='{8}' AND DateSpan='{9}'",
                                                          fBGBH, isDone, fName, fPH, fSJBH, fSJSize, fWTBH, fZJRQ, dataID, days, fAdded, item.ItemID, item.ItemName);
                            }
                            //logger.Error("更新龄期提醒: " + updateSql);
                            ExcuteCommand(updateSql);
                        }
                    }
                }
            }
        }