예제 #1
0
 /// <summary>
 /// 导出工程MI资料
 /// </summary>
 /// <param name="id">序号</param>
 /// <param name="saveFilePath">文件路径</param>
 /// <returns>执行结果消息</returns>
 public string ToExcel(long id, string saveFilePath)
 {
     //记录保存路径和文件名
     this.saveFilePath = saveFilePath;
     string msg = string.Empty;
     using (var da = new t_eng_lot_cardTableAdapter())
     {
         var tab = da.GetDataById(id);
         if (tab.Rows.Count > 0)
         {
             msg = ToExcel((DataSetEng.t_eng_lot_cardRow)tab.Rows[0]);
         }
         else
         {
             msg = "导出失败,无此ID的工程MI资料!";
         }
     }
     return msg;
 }
예제 #2
0
 /// <summary>
 /// 检查用的输入是否合法.合法返回true,否则返回false
 /// </summary>
 /// <param name="values">新增或修改事件的参数集合对象</param>
 /// <returns></returns>
 private bool CheckUserInput(IOrderedDictionary values)
 {
     //取生产编号
     var txtPn = (TextBox)fvEngLotCardAdd.FindControl("txtProductNum");
     //转为大写
     var pn = txtPn.Text.ToUpper();
     if (!ProductNum.IsProductNum(pn))
     {
         throw new Exception(pn + ",不是生产编号!");
     }
     using (var da = new t_eng_lot_cardTableAdapter())
     {
         var tab = da.GetDataByPn(pn);
         if (tab.Rows.Count > 0)
         {
             throw new Exception(string.Format("新增失败,\n存在生产编号{0}的工序流程卡,请检查后重试!", pn));
         }
     }
     //记录生产编号
     values["product_num"] = pn;
     //继续检查
     return CheckUserInput(values, pn);
 }
예제 #3
0
 protected void fvEngLotCardAdd_ItemUpdating(object sender, FormViewUpdateEventArgs e)
 {
     //取消请求执行自定义的方法
     e.Cancel = true;
     if (!HasRight())
     {
         throw new Exception("您没有修改记录权限!");
     }
     //当前生产编号
     string pn = string.Empty;
     //当前ID
     long id = Convert.ToInt32(e.Keys["id"]);
     //获取生产编号
     using (var da = new t_eng_lot_cardTableAdapter())
     {
         var tab = da.GetDataById(id);
         if (tab.Rows.Count == 0)
         {
             throw new Exception("修改失败,此条记录已经被其他用户删除!");
         }
         var row = (DataSetEng.t_eng_lot_cardRow)tab.Rows[0];
         pn = row.product_num;
     }
     var col = e.NewValues;
     //检查用户输入并写入填写内容,输入不合法不执行修改操作
     if (!CheckUserInput(e.NewValues, pn) || !this.IsValid)
     {
         return;
     }
     //记录生产编号
     e.NewValues["product_num"] = pn;
     //设置录入员姓名和时间
     string user = Session["user_name"].ToString();
     //当前角色id
     Int16 roleId = Convert.ToInt16(Session["role_id"]);
     //检测是否为审核权限
     if (roleId < 4)
     {
         //审核人
         e.NewValues["audit"] = user;
         //审核时间
         e.NewValues["audit_time"] = DateTime.Now;
     }
     else
     {
         e.NewValues["add_person"] = user;
     }
     e.NewValues["last_change_time"] = DateTime.Now;
     //直接保存
     e.Cancel = false;
 }
예제 #4
0
 //导出数据到Excel
 protected void lBtnToExcel_Click(object sender, EventArgs e)
 {
     //获取数据并填充到数据表
     using (var da = new t_eng_lot_cardTableAdapter())
     {
         //查询条件
         string strWhere = GetWhereContent();
         //获取前1万行数据
         var tab = da.GetPagedData(0, 10000, strWhere, "order by [id] desc");
         //tab.Columns.Add("film_is_new", typeof(string), "case when [film]='true' then '新' when [film]='false' then '旧' else '' end");
         var col = new DataColumn("film_is_new", typeof(string));
         tab.Columns.Add(col);
         col.SetOrdinal(4);
         int len = tab.Rows.Count;
         for (int i = 0; i < len; i++)
         {
             var row = tab.Rows[i];
             var film = row["film"];
             if (film != DBNull.Value)
             {
                 bool isNew = Convert.ToBoolean(film);
                 row["film_is_new"] = isNew ? "新" : "旧";
             }
         }
         tab.Columns.Remove("film");
         //设置列标题
         string[] titleCol =
             (@"序号,客户,客户编号,生产编号,菲林,菲林日期,
             PNL含PCS数,开料PNL数,大料总单只数,样板开料SET数,样板开料PCS数,
             A板PNL长,A板PNL宽,A板大料PNL数,A板大料SET数,A板大料PCS数,
             B板PNL长,B板PNL宽,B板大料PNL数,B板大料SET数,
             B板大料PCS数,材料,模冲号,备注,
             次序1,指示1,
             次序2,指示2,
             次序3,指示3,
             次序4,指示4,
             次序5,指示5,
             次序6,指示6,
             次序7,指示7,
             次序8,指示8,
             次序9,指示9,
             次序10,指示10,
             次序11,指示11,
             次序12,指示12,
             次序13,指示13,
             次序14,指示14,
             次序15,指示15,
             次序16,指示16,
             次序17,指示17,
             次序18,指示18,
             次序19,指示19,
             次序20,指示20,
             次序21,指示21,
             次序22,指示22,
             次序23,指示23,
             次序24,指示24,
             次序25,指示25,
             次序26,指示26,
             次序27,指示27,
             次序28,指示28,
             次序29,指示29,
             次序30,指示30,
             次序31,指示31,
             次序32,指示32,
             次序33,指示33,
             次序34,指示34,
             次序35,指示35,
             次序36,指示36,
             次序37,指示37,
             次序38,指示38,
             次序39,指示39,
             次序40,指示40,
             次序41,指示41,
             次序42,指示42,
             次序43,指示43,
             次序44,指示44,
             次序45,指示45,
             次序46,指示46,
             次序47,指示47,
             次序48,指示48,
             次序49,指示49,
             次序50,指示50,
             V-CUT备注,
             菲林尺寸,成品尺寸,单元面积,利用率,
             物料编码,开料图,编制,编制时间,
             审核,审核时间,修改时间").Split(',');
         //设置表名称
         string titleTab = "工程MI资料清单";
         //临时文件名称
         string fileName = titleTab + DateTime.Now.ToString("yyMMddHHmmss") + ".xls";
         //执行导出数据到excel
         bool isSuccess = ydPublicMethod.DataTable2Excel(tab, titleCol, ref fileName, titleTab);
         //如果成功则跳转到指定页面
         if (isSuccess)
         {
             Response.Redirect(fileName);
             //停止加载后续内容
             Response.End();
         }
     }
 }