Пример #1
0
 protected void btnNewPLSend_Click(object sender, EventArgs e)
 {
     try
     {
         if (Grid2.GetModifiedData().Count != 0 || Grid2.GetNewAddedList().Count != 0)
         {
             Alert.Show("表格还有未保存的数据,请先保存!");
             return;
         }
         if (Grid2.SelectedRowIndexArray.Length == 0)
         {
             Alert.Show("请选择物料");
             return;
         }
         string orderno = "", prono = "", pname = "";
         orderno = GetQueryValue("od");
         prono   = GetQueryValue("ProNo");
         pname   = GetQueryValue("ItemName");
         string OdtSN = GetQueryValue("sn");
         Alert.Show(CommFunction.NewPLsendInstruction(orderno, prono, pname, ddlDept.SelectedText, ddlUser.SelectedValue, OdtSN, User.Identity.Name, Grid2));
     }
     catch (Exception ee)
     {
         Alert.Show(ee.ToString());
     }
 }
Пример #2
0
 public void EscapeFunction(CommFunction func)
 {
     if (!EscapeCommFunction(_Handle, func))
     {
         throw new Win32Exception(Marshal.GetLastWin32Error(), "Cannot " + func + " on serial port");
     }
 }
Пример #3
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         //btnClear.OnClientClick = SF1.GetResetReference();
         Grid2.PageSize = ConfigHelper.PageSize;
         ddlGridPageSize2.SelectedValue = ConfigHelper.PageSize.ToString();
         LoadData();
     }
     else
     {
         string   requestArg = GetRequestEventArgument(); // 此函数所在文件:PageBase.cs
         string[] args       = requestArg.Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries);
         //log.Info(requestArg);
         if (requestArg.Equals("RefreshGrid2"))
         {
             BindGrid2();
         }
         else if (args != null && args.Length > 0 && args[0].Equals("updaterowcss"))
         {
             // Grid2.Rows[int.Parse(ridx)].RowCssClass = "color1";
             CommFunction.updateRowCss(args[1], Grid2, "color1");
         }
     }
 }
Пример #4
0
        // GET: Center
        public ActionResult Index()
        {
            ViewBag.UserName     = DBUserInfo.NickName;
            ViewBag.HeadImageUrl = CommFunction.HeadImage(DBUserInfo.openID);
            ViewBag.CompanyName  = "佣金0.00元";
            ViewBag.openid       = DBUserInfo.openID;
            //默认激活那个页面
            Actived(Request.RequestContext.RouteData.Values["id"] != null ? Request.RequestContext.RouteData.Values["id"].ToString().ToInt() : 1);

            //客户列表数据
            var queryCustomerList = from row in Customer.GetCustomerList("CrUserID='{0}'".FormatWith(DBUserInfo.UserID)).AsEnumerable()
                                    select new CustomerQuery
            {
                ID    = row.Field <Guid>("ID"),
                Name  = row.Field <string>("CusName"),
                Num   = row.Field <int>("OrderNum"),
                Phone = row.Field <string>("CusPhone"),
                Sex   = row.Field <string>("Sex")
            };

            ViewBag.CustomerList = queryCustomerList.ToList();
            //获取项目列表
            ViewBag.ProjectList = Project.GetChooseList();
            //获取结佣信息
            ViewBag.UserWaitFee = Fee.GetFee(false, DBUserInfo.UserID.ToGuid()).ToMoney(2);
            ViewBag.UserOverFee = Fee.GetFee(true, DBUserInfo.UserID.ToGuid()).ToMoney(2);

            ViewBag.ActivityRule = Setting.FindFirst().ActivityRule;
            return(View());
        }
 DeviceCommPage(CommFunction function)
 {
     InitializeComponent();
     NavigationPage.SetHasNavigationBar(this, false);
     _selectedProcess = _processes[function];
     _processStep     = 0;
     _reEntry         = false;
 }
Пример #6
0
        // GET: Admin
        public ActionResult Index()
        {
            ViewBag.UserName = LUser.UserName;
            var obj = CommFunction.GetArrayByDt(ReportTotal.GetProNameAndFee());

            //报表设置
            ViewBag.LegendArray = obj["Name"];
            ViewBag.SeriesArray = obj["Fee"];
            return(View());
        }
Пример #7
0
        public string resetPassword(string email)
        {
            string resultStr = "test";

            CommFunction  cf    = new CommFunction();
            SendMailModel model = new SendMailModel();

            bool a = cf.SendMail(model);

            return(resultStr);
        }
Пример #8
0
        //요율표 저장
        public string setBaseOutPutRate(BaseOutPutRateModels model, out string error_str)
        {
            error_str = "";
            CommFunction comModel = new CommFunction();
            DataTable    data     = comModel.getUploadExcelData(model.File.FILE, out error_str);

            if (error_str != "")
            {
                return(error_str);
            }


            //유효성 검사
            double test = 0;

            if (data != null && data.Rows.Count != 0)
            {
                for (int i = 0; i < data.Rows.Count; i++)
                {
                    try
                    {
                        test = Convert.ToDouble(data.Rows[i][0].ToString().Trim());
                        test = Convert.ToDouble(data.Rows[i][1].ToString().Trim());
                    }
                    catch
                    {
                        error_str = "[" + i + "] 행에 문제가 있습니다.";
                        return(error_str);
                    }
                }
            }


            List <string> exeQueryList = new List <string>();
            List <string> linqList     = new List <string>();

            string exeQueryStr = " INSERT INTO conf_customs_fee (EST_CODE, NATION_CODE, RELEASE_CODE, WEIGHT, CUSTOMS_FEE ) VALUES ";

            if (data != null && data.Rows.Count != 0)
            {
                for (int i = 0; i < data.Rows.Count; i++)
                {
                    linqList.Add("( '00000', '" + model.Item.NATION_CODE + "', '" + model.Item.RELEASE_CODE + "',  " + data.Rows[i][0].ToString().Trim() + " ,  " + data.Rows[i][1].ToString().Trim() + "  )");
                }
            }

            exeQueryStr += string.Join(",", linqList);
            exeQueryList.Add("DELETE FROM conf_customs_fee WHERE EST_CODE = '00000' AND NATION_CODE = '" + model.Item.NATION_CODE + "' AND RELEASE_CODE = '" + model.Item.RELEASE_CODE + "'");
            exeQueryList.Add(exeQueryStr);
            exeQuery(exeQueryList, out error_str);

            return(error_str);
        }
Пример #9
0
 protected void txtOrderNo_Blur(object sender, EventArgs e)
 {
     try
     {
         string orderno = txtOrderNo.Text;
         if (orderno.Length == 12 && orderno.Substring(0, 2) == "RL" && CommFunction.IsNumeric(orderno.Substring(2, 10)))
         {
         }
         else
         {
             Alert.Show("订单号格式不正确", string.Empty, txtOrderNo.GetFocusReference());
             //PageContext.RegisterStartupScript(txtOrderNo.GetFocusReference(true));
         }
     }catch (Exception ee)
     {
         Alert.Show(ee.Message);
     }
 }
Пример #10
0
        /// <summary>
        /// 获取绑定用户列表
        /// </summary>
        /// <returns></returns>
        public ActionResult GetContactList()
        {
            if (this.DBUserInfo == null)
            {
                return(ErrorPage());
            }
            DataTable dt    = new DataTable();
            var       query = from row in dt.AsEnumerable()
                              select new
            {
                UserId   = row.Field <Guid>("UserID"),
                Truename = row.Field <string>("TrueName"),
                Img      = CommFunction.HeadImage(row.Field <string>("WxOpenID")),
                DeptName = row.Field <string>("DeptName")
            };

            return(Json(query.ToList(), JsonRequestBehavior.AllowGet));
        }
Пример #11
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                string OrderNo = txtOrderNo.Text.Trim();

                if (OrderNo.Length == 12 && OrderNo.Substring(0, 2) == "RL" && CommFunction.IsNumeric(OrderNo.Substring(2, 10)))
                {
                }
                else
                {
                    Alert.Show("订单号格式不正确", string.Empty, txtOrderNo.GetFocusReference());

                    return;
                }
                int i = SaveItem();
                if (i == 1)
                {
                    Notify n = new Notify();
                    n.PositionX           = Position.Center;
                    n.PositionY           = Position.Top;
                    n.DisplayMilliseconds = 3000;

                    n.Message = "保存成功";

                    n.Show();
                }
                else if (i == 0)
                {
                    Alert.Show("该订单编号已经存在请更改");
                }
                else
                {
                    Alert.Show("保存失败");
                }
                //msglab.Text = "保存成功";
                string scripts = String.Format("F.getActiveWindow().window.__doPostBack('','RefreshGrid1');");
                PageContext.RegisterStartupScript(scripts);
            }
            catch (Exception ee)
            {
                Alert.Show("保存失败:" + ee.Message);
            }
        }
Пример #12
0
        protected void btnBOM_Click(object sender, EventArgs e)
        {
            try
            {
                if (Grid2.SelectedRowIndexArray.Length <= 0)
                {
                    Alert.Show("请选择产品");
                    return;
                }


                SQLHelper.DbHelperSQL.SetConnectionString("");

                foreach (int i in Grid2.SelectedRowIndexArray)
                {
                    string sql = "select count(*) from dbo.proBomHeader where ver=(select max(ver) from proBomHeader where prono='" + Grid2.Rows[i].Values[2].ToString() + "')";

                    SQLHelper.DbHelperSQL.SetConnectionString("");
                    if (SQLHelper.DbHelperSQL.GetSingle(sql, 30).ToString() == "0")
                    {
                        Alert.Show("该产品未找到对应的工程BOM");
                        continue;
                    }
                    if (Grid2.Rows[i].Values.GetValue(8).ToString() == "0")
                    {
                        sql = "select count(*) from dbo.proBomHeader where ver=(select max(ver) from proBomHeader where prono='" + Grid2.Rows[i].Values[2].ToString() + "')";
                        if (SQLHelper.DbHelperSQL.GetSingle(sql, 30).ToString() == "0")
                        {
                            continue;
                        }

                        CommFunction.MakeBomByOrder(Grid2.DataKeys[i][0].ToString(), Grid2.Rows[i].Values[2].ToString(), Grid2.Rows[i].Values[1].ToString(), Grid2.Rows[i].Values[4].ToString(), User.Identity.Name, "OrderDetail");
                        //makeBom(Grid2.Rows[i].Values[2].ToString(), Grid2.Rows[i].Values[1].ToString(), Grid2.Rows[i].Values[4].ToString(), Grid2.DataKeys[i][0].ToString(), "OrderDetail");
                    }
                }
                Alert.Show("生成成功");
            }
            catch (Exception ee)
            {
                Alert.Show("生成失败:" + ee.ToString());
            }
        }
Пример #13
0
        protected void btnHeaderBom_Click(object sender, EventArgs e)
        {
            try
            {
                if (Grid1.SelectedRowIndexArray.Length <= 0)
                {
                    Alert.Show("请选择订单");
                    return;
                }
                if (Grid1.Rows[Grid1.SelectedRowIndex].Values[11].ToString() == "0")
                {
                    Alert.Show("订单未审核通过不能生成BOM");
                    return;
                }
                string sql = "";
                SQLHelper.DbHelperSQL.SetConnectionString("");
                foreach (int i in Grid1.SelectedRowIndexArray)
                {
                    sql = "select * from orderdetail where IsBom=0 and fsn=" + Grid1.DataKeys[i][0].ToString();
                    DataTable dt = SQLHelper.DbHelperSQL.ReturnDataTable(sql, 30);

                    for (int j = 0; j < dt.Rows.Count; j++)
                    {
                        sql = "select count(*) from dbo.proBomHeader where ver=(select max(ver) from proBomHeader where prono='" + dt.Rows[j]["itemno"].ToString() + "')";
                        if (SQLHelper.DbHelperSQL.GetSingle(sql, 30).ToString() == "0")
                        {
                            continue;
                        }
                        CommFunction.MakeBomByOrder(dt.Rows[j]["sn"].ToString(), dt.Rows[j]["itemno"].ToString(), Grid1.Rows[i].Values[1].ToString(), dt.Rows[j]["quantity"].ToString(), User.Identity.Name, "orderheader");
                        //makeBom(dt.Rows[j]["itemno"].ToString(), Grid1.Rows[i].Values[1].ToString(), dt.Rows[j]["quantity"].ToString(), dt.Rows[j]["sn"].ToString(), "OrderDetail");
                    }
                    //sql = "update orderheader set IsBom=1 where sn=" + Grid1.DataKeys[i][0].ToString();
                    //SQLHelper.DbHelperSQL.ExecuteSql(sql, 30);
                }
                Alert.Show("生成成功");
            }
            catch (Exception ee)
            {
                Alert.Show("生成失败:" + ee.ToString());
            }
        }
Пример #14
0
        /// <summary>
        /// 创建文件。
        /// </summary>
        /// <param name="path">文件路径。</param>
        /// <param name="stream">文件流。</param>
        public string CreateFileUrl(string path, Stream stream)
        {
            path = FixPath(path);
            var    bytes = stream.ReadAllBytes(true);
            string files = Convert.ToBase64String(bytes);        //文件字节流

            WebClient           clientObj = new WebClient();
            NameValueCollection PostVars  = new NameValueCollection();

            PostVars.Add("File", "ueditor");                                //这些主要是提交的参数和值
            PostVars.Add("FileName", Path.GetFileName(path));
            PostVars.Add("FileByte", files);

            //Post访问接口,返回转为byte[]的josn字符串
            var filesUri = CommFunction.StringParse(ConfigurationManager.AppSettings["FilesUri"]);

            byte[] byRemoteInfo = clientObj.UploadValues(filesUri + "/Upload/FileUpload.aspx", "POST", PostVars);
            string resultstring = Encoding.Default.GetString(byRemoteInfo);

            return(resultstring);
        }
Пример #15
0
        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            base.OnActionExecuting(filterContext);
            if (Session[Const.SESSION_USRE_INFO] != null)
            {
                //Session里存在 说明登录过
                dbUserInfo = Session[Const.SESSION_USRE_INFO] as DBUserInfo;
            }
            else
            {
                //获取参数
                if (Request.QueryString["code"] != null)
                {
                    //从菜单进入
                    string code   = Request.QueryString["code"];
                    string openid = string.Empty;
                    dbUserInfo = CommFunction.GetMPUserInfo(code, out openid);
                    if (dbUserInfo == null)
                    {
                        filterContext.Result = RedirectToAction("UserBing", "Account", new { IsSkip = 1, openid });
                    }
                }
                else if (Request.QueryString["openid"] != null)
                {
                    string openid = Request.QueryString["openid"];
                    //模板消息进入
                    dbUserInfo = Models.DBUserInfo.GetUserDBInfo(openid);
                }
                else
                {
#if DEBUG
                    dbUserInfo = Models.DBUserInfo.GetUserDBInfo(System.Web.Configuration.WebConfigurationManager.AppSettings["testOpenId"]);
#else
                    filterContext.Result = RedirectToAction("ErrorPage", "Error", new { msg = "该页面已经过期,请退出当前菜单重新进入!" });
                    //dbUserInfo = Models.DBUserInfo.GetUserDBInfo(System.Web.Configuration.WebConfigurationManager.AppSettings["testOpenId"]);
#endif
                }
            }
        }
Пример #16
0
        protected void btnSaveClose_Click(object sender, EventArgs e)
        {
            try
            {
                string OrderNo = txtOrderNo.Text.Trim();

                if (OrderNo.Length == 12 && OrderNo.Substring(0, 2) == "RL" && CommFunction.IsNumeric(OrderNo.Substring(2, 10)))
                {
                }
                else
                {
                    Alert.Show("订单号格式不正确", string.Empty, txtOrderNo.GetFocusReference());
                    return;
                }
                int i = SaveItem();
                if (i == 1)
                {
                    string scripts = String.Format("F.getActiveWindow().window.__doPostBack('','RefreshGrid1');");
                    PageContext.RegisterStartupScript(scripts + Alert.GetShowInTopReference("保存成功") + ActiveWindow.GetHideReference());
                }
                else if (i == 0)
                {
                    Alert.Show("该订单编号已经存在请更改");
                }
                else
                {
                    Alert.Show("保存失败");
                }
            }
            catch (Exception ee)
            {
                Alert.Show("保存失败:" + ee.Message);
            }
            finally
            {
            }
        }
Пример #17
0
        public bool InvokeAgentService(string apiName, Dictionary <string, object> parameters, out string outDataResponse, int channelId = 1000060)
        {
            outDataResponse = JsonConvert.SerializeObject(FailData);
            try
            {
                string ip = CommFunction.StringParse(HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"], "");
                if (string.IsNullOrEmpty(ip))
                {
                    ip = CommFunction.StringParse(HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"], "");
                }

                if (parameters == null)
                {
                    parameters = new Dictionary <string, object>();
                }
                if (!parameters.ContainsKey("PubParams"))
                {
                    parameters.Add("PubParams", new { Ip = ip, ChannelId = channelId });
                }

                //获取请求地址
                var result = WebHelp.PostMode(SystemConfig.AgentInterfaceUri + "/" + apiName, JsonConvert.SerializeObject(parameters));
                if (string.IsNullOrEmpty(result))
                {
                    return(false);
                }
                else
                {
                    outDataResponse = result;
                    return(true);
                }
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
Пример #18
0
        public EstGradeViewModel GetEstGradeView(EstGradeViewModel model)
        {
            string errorStr = "";

            //그룹 가져오기
            string listQuery = " SELECT GROUP_ID , GROUP_NAME FROM est_group WHERE EST_CODE";

            DataTable listDt = getQueryResult(listQuery, out errorStr);


            if (listDt != null && listDt.Rows.Count != 0)
            {
                model.Item.GROUP_ID   = int.Parse(listDt.Rows[0]["GROUP_ID"].ToString().Trim());
                model.Item.GROUP_NAME = listDt.Rows[0]["GROUP_NAME"].ToString().Trim();
            }

            //권한 가져오기
            listQuery = " SELECT GROUP_ID , EST_CODE, MENU_ID, PER_SELECT, PER_INSERT, PER_UPDATE, PER_DELETE FROM est_group_permission WHERE GROUP_ID = " + model.Item.GROUP_ID;

            listDt = getQueryResult(listQuery, out errorStr);

            if (listDt != null && listDt.Rows.Count != 0)
            {
                for (int i = 0; i < listDt.Rows.Count; i++)
                {
                    EstGroupPermisson temp = new EstGroupPermisson();
                    temp.GROUP_ID       = int.Parse(listDt.Rows[i]["GROUP_ID"].ToString().Trim());
                    temp.EST_CODE       = listDt.Rows[i]["EST_CODE"].ToString().Trim();
                    temp.MENU_ID        = listDt.Rows[i]["MENU_ID"].ToString().Trim();
                    temp.PER_SELECT     = int.Parse(listDt.Rows[i]["PER_SELECT"].ToString().Trim());
                    temp.PER_INSERT     = int.Parse(listDt.Rows[i]["PER_INSERT"].ToString().Trim());
                    temp.PER_UPDATE     = int.Parse(listDt.Rows[i]["PER_UPDATE"].ToString().Trim());
                    temp.PER_DELETE     = int.Parse(listDt.Rows[i]["PER_DELETE"].ToString().Trim());
                    temp.CHK_PER_SELECT = false;
                    if (temp.PER_SELECT == 1)
                    {
                        temp.CHK_PER_SELECT = true;
                    }
                    temp.CHK_PER_INSERT = false;
                    if (temp.PER_INSERT == 1)
                    {
                        temp.CHK_PER_INSERT = true;
                    }
                    temp.CHK_PER_UPDATE = false;
                    if (temp.PER_UPDATE == 1)
                    {
                        temp.CHK_PER_UPDATE = true;
                    }
                    temp.CHK_PER_DELETE = false;
                    if (temp.PER_DELETE == 1)
                    {
                        temp.CHK_PER_DELETE = true;
                    }
                    model.Items.Add(temp);
                }
            }
            else
            {               //등록된 데이터가 없을 경우
                CommFunction comF = new CommFunction();

                List <schTypeArray> tempGrade = comF.GetGradeList();

                foreach (schTypeArray tempItem in tempGrade)
                {
                    EstGroupPermisson temp = new EstGroupPermisson();

                    temp.GROUP_ID       = model.Item.GROUP_ID;
                    temp.MENU_ID        = tempItem.opt_key;
                    temp.MENU_NAME      = tempItem.opt_value;
                    temp.PER_DELETE     = 0;
                    temp.PER_INSERT     = 0;
                    temp.PER_SELECT     = 0;
                    temp.PER_UPDATE     = 0;
                    temp.CHK_PER_SELECT = true;
                    temp.CHK_PER_INSERT = true;
                    temp.CHK_PER_UPDATE = true;
                    temp.CHK_PER_DELETE = true;
                    model.Items.Add(temp);
                }
            }

            return(model);
        }
Пример #19
0
        private void readExcel(string filename)
        {
            string bomsn = "";

            try
            {
                string connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Server.MapPath("~/BOMFile/" + filename) + ";Extended Properties=\"Excel 8.0;HDR=NO;IMEX=1;\"";

                using (OleDbConnection conn = new OleDbConnection(connstring))
                {
                    conn.Open();
                    DataTable sheetsName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" }); //得到所有sheet的名字
                    //for(int k=0;k<sheetsName.Rows.Count;k++)
                    //{
                    //    log.Info(sheetsName.Rows[k][2].ToString());
                    //}
                    string firstSheetName = sheetsName.Rows[0][2].ToString();                     //得到第一个sheet的名字
                    string sql            = string.Format("SELECT * FROM [{0}]", firstSheetName); //查询字符串


                    OleDbDataAdapter ada = new OleDbDataAdapter(sql, connstring);
                    DataSet          set = new DataSet();
                    ada.Fill(set);
                    DataTable dt = set.Tables[0];
                    //for(int kk = 0; kk < dt.Columns.Count; kk++)
                    //{
                    //    log.Info(dt.Columns[kk].ColumnName);
                    //}
                    #region 判断版本号是否为数字和是否版本已存在
                    if (!CommFunction.IsNumeric(dt.Rows[3][9].ToString()))
                    {
                        Alert.Show("版本号必须为数字");
                        return;
                    }
                    SQLHelper.DbHelperSQL.SetConnectionString("");
                    sql = "select count(*) from probomheader where ProNo = '" + dt.Rows[3][2].ToString() + "' and Ver = '" + dt.Rows[3][7].ToString() + "'";
                    if (int.Parse(SQLHelper.DbHelperSQL.GetSingle(sql, 30)) > 0)
                    {
                        Alert.Show("该产品已经存在相同版本的工程BOM,请修改版本再上传!", MessageBoxIcon.Error);
                        return;
                    }
                    #endregion
                    #region 判断料号的合法性
                    DataTable errdt = new DataTable();
                    errdt.Columns.Add("Seq", typeof(string));         //数据类型为 文本
                    errdt.Columns.Add("ItemNo", typeof(string));      //数据类型为 文本
                    errdt.Columns.Add("ItemName", typeof(string));    //数据类型为 文本
                    errdt.Columns.Add("Spec", typeof(string));        //数据类型为 文本
                    errdt.Columns.Add("Material", typeof(string));    //数据类型为 文本
                    errdt.Columns.Add("SurfaceDeal", typeof(string)); //数据类型为 文本

                    DataTable errwldt = new DataTable();
                    errwldt.Columns.Add("Seq", typeof(string));         //数据类型为 文本
                    errwldt.Columns.Add("ItemNo", typeof(string));      //数据类型为 文本
                    errwldt.Columns.Add("ItemName", typeof(string));    //数据类型为 文本
                    errwldt.Columns.Add("Spec", typeof(string));        //数据类型为 文本
                    errwldt.Columns.Add("Material", typeof(string));    //数据类型为 文本
                    errwldt.Columns.Add("SurfaceDeal", typeof(string)); //数据类型为 文本
                    errwldt.Columns.Add("wlFrom", typeof(string));      //数据类型为 文本

                    int    i = 5; int k = 0;
                    Regex  reg = new Regex(@"^[A-Z]{2}[\d]{4}$");
                    bool   err = false;
                    string seq = "";
                    for (; i < dt.Rows.Count; i++)
                    {
                        if (dt.Rows[i][0].ToString() == "锐 麟 铝 制 品 有 限 公 司" || dt.Rows[i][0].ToString() == "物料清单(BOM)" || dt.Rows[i][0].ToString() == "产品名称" || dt.Rows[i][0].ToString() == "产品编号" || dt.Rows[i][0].ToString() == "序号")
                        {
                            continue;
                        }
                        else
                        {
                            #region 判断料号的合法性

                            if (dt.Rows[i][0].ToString() == "" && dt.Rows[i][1].ToString() == "" && dt.Rows[i][2].ToString() == "" && dt.Rows[i][3].ToString() == "" && dt.Rows[i][4].ToString() == "" && dt.Rows[i][5].ToString() == "" && dt.Rows[i][6].ToString() == "" && dt.Rows[i][7].ToString() == "" && dt.Rows[i][8].ToString() == "" && dt.Rows[i][9].ToString() == "" && dt.Rows[i][10].ToString() == "" && dt.Rows[i][11].ToString() == "")
                            {
                                break;
                            }
                            else if (dt.Rows[i][0].ToString() != "" && dt.Rows[i][1].ToString() == "" && dt.Rows[i][2].ToString() == "" && dt.Rows[i][3].ToString() == "" && dt.Rows[i][4].ToString() == "" && dt.Rows[i][5].ToString() == "" && dt.Rows[i][6].ToString() == "" && dt.Rows[i][7].ToString() == "" && dt.Rows[i][8].ToString() == "" && dt.Rows[i][9].ToString() == "" && dt.Rows[i][10].ToString() == "" && dt.Rows[i][11].ToString() == "")
                            {
                                continue;
                            }
                            else
                            {
                                seq = dt.Rows[i][0].ToString();
                                string lastseq = dt.Rows[i - 1][0].ToString();
                                if (lastseq.IndexOf(".") != -1)
                                {
                                    lastseq = lastseq.Substring(0, lastseq.LastIndexOf("."));
                                }

                                #region 料号和序号不规范的物料
                                string tstr = dt.Rows[i][1].ToString().Replace(" ", "");
                                if (tstr.Length >= 6)
                                {
                                    if (CommFunction.IsNumeric(tstr) && tstr.Length == 7)
                                    {
                                        #region 序号问题
                                        if (seq.IndexOf(".") != -1 && seq.Substring(0, seq.LastIndexOf(".")) != lastseq && dt.Select("F1='" + seq.Substring(0, seq.LastIndexOf(".")) + "'").Count() == 0)
                                        {
                                            //如果已经存在错误列表中  不在重复添加
                                            if (errdt.Select("Seq='" + dt.Rows[i - 1][0].ToString() + "'").Count() > 0)
                                            {
                                                continue;
                                            }
                                            log.Info("seq::::" + seq.Substring(0, seq.LastIndexOf(".")) + ":::lastseq:::" + lastseq + ":::::" + dt.Select("F1='" + seq.Substring(0, seq.LastIndexOf(".")) + "'").Count().ToString() + "::::::" + "F1='" + seq.Substring(0, seq.LastIndexOf(".")) + "'");
                                            err = true;
                                            DataRow dr = errdt.NewRow();
                                            dr[0] = dt.Rows[i - 1][0].ToString() + "(上一条)"; //通过索引赋值
                                            dr[1] = dt.Rows[i - 1][1].ToString();
                                            dr[2] = dt.Rows[i - 1][2].ToString();           //+ reg.Match(tstr).Success.ToString()
                                            dr[3] = dt.Rows[i - 1][3].ToString();
                                            dr[4] = dt.Rows[i - 1][4].ToString();
                                            dr[5] = dt.Rows[i - 1][5].ToString();
                                            errdt.Rows.InsertAt(dr, k);
                                            k++;
                                            dr    = errdt.NewRow();
                                            dr[0] = dt.Rows[i][0].ToString(); //通过索引赋值
                                            dr[1] = dt.Rows[i][1].ToString();
                                            dr[2] = dt.Rows[i][2].ToString(); //+ reg.Match(tstr).Success.ToString()
                                            dr[3] = dt.Rows[i][3].ToString();
                                            dr[4] = dt.Rows[i][4].ToString();
                                            dr[5] = dt.Rows[i][5].ToString();
                                            errdt.Rows.InsertAt(dr, k);
                                            k++;
                                            continue;
                                        }
                                        #endregion
                                    }
                                    else
                                    {
                                        #region 序号问题
                                        if (seq.IndexOf(".") != -1 && seq.Substring(0, seq.LastIndexOf(".")) != lastseq && dt.Select("F1='" + seq.Substring(0, seq.LastIndexOf(".")) + "'").Count() == 0)
                                        {
                                            //如果已经存在错误列表中  不在重复添加
                                            if (errdt.Select("Seq='" + dt.Rows[i - 1][0].ToString() + "'").Count() > 0)
                                            {
                                                continue;
                                            }
                                            //&& dt.Select("F1='" + seq.Substring(0, seq.LastIndexOf(".")) + "'").Count() > 0
                                            log.Info("seq::::" + seq.Substring(0, seq.LastIndexOf(".")) + ":::lastseq:::" + lastseq + ":::::" + dt.Select("F1='" + seq.Substring(0, seq.LastIndexOf(".")) + "'").Count().ToString() + "::::::" + "F1='" + seq.Substring(0, seq.LastIndexOf(".")) + "'");
                                            err = true;
                                            DataRow dr = errdt.NewRow();
                                            dr[0] = dt.Rows[i - 1][0].ToString() + "(上一条)"; //通过索引赋值
                                            dr[1] = dt.Rows[i - 1][1].ToString();
                                            dr[2] = dt.Rows[i - 1][2].ToString();           //+ reg.Match(tstr).Success.ToString()
                                            dr[3] = dt.Rows[i - 1][3].ToString();
                                            dr[4] = dt.Rows[i - 1][4].ToString();
                                            dr[5] = dt.Rows[i - 1][5].ToString();
                                            errdt.Rows.InsertAt(dr, k);
                                            k++;
                                            dr    = errdt.NewRow();
                                            dr[0] = dt.Rows[i][0].ToString(); //通过索引赋值
                                            dr[1] = dt.Rows[i][1].ToString();
                                            dr[2] = dt.Rows[i][2].ToString(); //+ reg.Match(tstr).Success.ToString()
                                            dr[3] = dt.Rows[i][3].ToString();
                                            dr[4] = dt.Rows[i][4].ToString();
                                            dr[5] = dt.Rows[i][5].ToString();
                                            errdt.Rows.InsertAt(dr, k);
                                            k++;
                                            continue;
                                        }
                                        #endregion
                                        tstr = tstr.Substring(0, 6);
                                        #region 料号问题
                                        if (!reg.Match(tstr).Success)
                                        {
                                            err = true;
                                            DataRow dr = errdt.NewRow();
                                            dr[0] = dt.Rows[i][0].ToString(); //通过索引赋值
                                            dr[1] = dt.Rows[i][1].ToString();
                                            dr[2] = dt.Rows[i][2].ToString(); //+ reg.Match(tstr).Success.ToString()
                                            dr[3] = dt.Rows[i][3].ToString();
                                            dr[4] = dt.Rows[i][4].ToString();
                                            dr[5] = dt.Rows[i][5].ToString();
                                            errdt.Rows.InsertAt(dr, k);
                                            k++;
                                            continue;
                                        }
                                        #endregion
                                    }
                                }
                                else
                                {
                                    err = true;
                                    DataRow dr = errdt.NewRow();
                                    dr[0] = dt.Rows[i][0].ToString(); //通过索引赋值
                                    dr[1] = dt.Rows[i][1].ToString();
                                    dr[2] = dt.Rows[i][2].ToString(); //+ reg.Match(tstr).Success.ToString()
                                    dr[3] = dt.Rows[i][3].ToString();
                                    dr[4] = dt.Rows[i][4].ToString();
                                    dr[5] = dt.Rows[i][5].ToString();
                                    errdt.Rows.InsertAt(dr, k);
                                    k++;
                                    continue;
                                }
                                #endregion

                                #region 一物多码
                                sql = "select sn,ItemNo,ItemName,Spec,Material,SurfaceDeal from RLItems where ItemNo='" + dt.Rows[i][1].ToString() + "' and ( ItemName!='" + dt.Rows[i][2].ToString() + "' or Spec!='" + dt.Rows[i][3].ToString() + "' or Material!='" + dt.Rows[i][4].ToString() + "' or SurfaceDeal!='" + dt.Rows[i][5].ToString() + "')";
                                log.Info("sql 一物多码::" + sql);
                                DataTable dtwl = SQLHelper.DbHelperSQL.ReturnDataTable(sql, 30);
                                if (dtwl != null && dtwl.Rows.Count > 0)
                                {
                                    err = true;
                                    DataRow dr = errwldt.NewRow();
                                    dr[0] = dt.Rows[i][0].ToString(); //通过索引赋值
                                    dr[1] = dt.Rows[i][1].ToString();
                                    dr[2] = dt.Rows[i][2].ToString(); //+ reg.Match(tstr).Success.ToString()
                                    dr[3] = dt.Rows[i][3].ToString();
                                    dr[4] = dt.Rows[i][4].ToString();
                                    dr[5] = dt.Rows[i][5].ToString();
                                    dr[6] = "导入";
                                    errwldt.Rows.InsertAt(dr, k);
                                    k++;
                                    DataRow dr2 = errwldt.NewRow();
                                    dr2[0] = dtwl.Rows[0][0].ToString(); //通过索引赋值
                                    dr2[1] = dtwl.Rows[0][1].ToString();
                                    dr2[2] = dtwl.Rows[0][2].ToString(); //+ reg.Match(tstr).Success.ToString()
                                    dr2[3] = dtwl.Rows[0][3].ToString();
                                    dr2[4] = dtwl.Rows[0][4].ToString();
                                    dr2[5] = dtwl.Rows[0][5].ToString();
                                    dr2[6] = "物料表";
                                    errwldt.Rows.InsertAt(dr2, k);
                                    k++;
                                }
                                else
                                {
                                    //物料不存在
                                    DataRow dr = errwldt.NewRow();
                                    dr[0] = dt.Rows[i][0].ToString(); //通过索引赋值
                                    dr[1] = dt.Rows[i][1].ToString();
                                    dr[2] = dt.Rows[i][2].ToString(); //+ reg.Match(tstr).Success.ToString()
                                    dr[3] = dt.Rows[i][3].ToString();
                                    dr[4] = dt.Rows[i][4].ToString();
                                    dr[5] = dt.Rows[i][5].ToString();
                                    dr[6] = "物料不存在";
                                    errwldt.Rows.InsertAt(dr, k);
                                    k++;
                                }
                                #endregion
                            }
                            #endregion
                        }
                    }

                    if (err)
                    {
                        Session["errdt"]   = errdt;
                        Session["errwldt"] = errwldt;
                        //str = str.TrimEnd(new char[] { ',' });
                        //Alert.Show(str);
                        PageContext.RegisterStartupScript(Window1.GetShowReference("showerr.aspx", "有问题的物料", Unit.Parse("900"), Unit.Parse("800")));
                        return;
                    }
                    #endregion



                    string    sqlbase = "", sqldtl = "", sclass = "", ProName = "", ProNo = "", Ver = "", ClientCode = "", BomDate = "", ClientProNo = "", FileNo = "", Color = "";//产品名称、产品编号、版本、客户代号、日期、客户产品型号
                    ArrayList al = new ArrayList();
                    //获取表头  添加bombase
                    if (dt != null && dt.Rows.Count >= 4)
                    {
                        seq     = "";
                        ProName = dt.Rows[2][2].ToString();
                        ProNo   = dt.Rows[3][2].ToString();
                        Color   = dt.Rows[3][4].ToString();
                        Ver     = dt.Rows[3][7].ToString();
                        //ClientCode = dt.Rows[2][9].ToString();
                        BomDate = dt.Rows[3][10].ToString().Replace(".", "-");
                        //ClientProNo = dt.Rows[3][5].ToString();
                        FileNo = dt.Rows[2][7].ToString();
                        //料号,名称,规格,材质,表面处理或颜色,底数,类别
                        //ItemNo,Name,Spec,MaterialNo,ItemColor,AddReserve1,ClassName
                        sql = "select top 1 * from rlitems where itemno='" + ProNo + "' ";// or name='" + dt.Rows[2][2].ToString() + "'
                        DataTable dtitem = SQLHelper.DbHelperSQL.ReturnDataTable(sql, 30);
                        if (dtitem == null || dtitem.Rows.Count == 0)
                        {
                            sql = "insert into rlitems(itemno,itemname) values('" + ProNo + "','" + ProName + "')";
                            log.Info("sqlallitem::::" + sql);
                            al.Add(sql);
                            //产品名称、产品编号、版本、瑞麟编号、客户编号、客户代号、日期
                            sqlbase = "insert into ProBomHeader(ProName,ProNo,Ver,ClientProNo,ClientCode,BomDate,AllitemSN,Inputer,InputeDate,BomExcel,FileNo,Color) values('" + ProName + "','" + ProNo + "','" + Ver + "','" + ClientProNo + "','" + ClientCode + "','" + BomDate + "',(select  sn from rlitems where itemno='" + ProNo + "'),'" + User.Identity.Name + "',getdate(),'" + filename + "','" + FileNo + "','" + Color + "')";
                            log.Info("sqlbase::::" + sqlbase);
                            al.Add(sqlbase);
                            SQLHelper.DbHelperSQL.ExecuteSqlTran(al);
                        }
                        else
                        {
                            //产品名称、产品编号、版本、瑞麟编号、客户编号、客户代号、日期
                            sqlbase = "insert into ProBomHeader(ProName,ProNo,Ver,ClientProNo,ClientCode,BomDate,AllitemSN,Inputer,InputeDate,BomExcel,FileNo,Color) values('" + ProName + "','" + ProNo + "','" + Ver + "','" + ClientProNo + "','" + ClientCode + "','" + BomDate + "'," + dtitem.Rows[0]["sn"].ToString() + ",'" + User.Identity.Name + "',getdate(),'" + filename + "','" + FileNo + "','" + Color + "')";
                            log.Info("sqlbase::::" + sqlbase);
                            SQLHelper.DbHelperSQL.ExecuteSql(sqlbase, 30);
                        }
                        //查询新增bom的sn
                        sql = "select max(sn) from ProBomHeader where ver='" + Ver + "' and prono='" + ProNo + "'";
                        log.Info(sql);
                        SQLHelper.DbHelperSQL.SetConnectionString("");
                        bomsn = SQLHelper.DbHelperSQL.GetSingle(sql).ToString();
                        log.Info("bombasesn:::" + sql);
                        al.Clear();

                        #region bomdtl add
                        string proquantity = "0", basenum = "0";
                        for (i = 5; i < dt.Rows.Count; i++)
                        {
                            #region 判断数量和底数是否为空
                            proquantity = dt.Rows[i][6].ToString();
                            if (!string.IsNullOrEmpty(proquantity))
                            {
                                if (proquantity.IndexOf("/") != -1)
                                {
                                    proquantity = (float.Parse(proquantity.Substring(0, proquantity.IndexOf("/"))) / float.Parse(proquantity.Substring(proquantity.IndexOf("/") + 1))).ToString();
                                }
                            }
                            else
                            {
                                proquantity = "0";
                            }
                            basenum = dt.Rows[i][7].ToString();
                            if (string.IsNullOrEmpty(basenum))
                            {
                                basenum = "0";
                            }
                            #endregion
                            if (dt.Rows[i][0].ToString() == "锐 麟 铝 制 品 有 限 公 司" || dt.Rows[i][0].ToString() == "物料清单(BOM)" || dt.Rows[i][0].ToString() == "产品名称" || dt.Rows[i][0].ToString() == "锐麟编号" || dt.Rows[i][0].ToString() == "序号")
                            {
                                sclass = "";
                                continue;
                            }
                            else
                            {
                                #region

                                if (dt.Rows[i][0].ToString() == "" && dt.Rows[i][1].ToString() == "" && dt.Rows[i][2].ToString() == "" && dt.Rows[i][3].ToString() == "" && dt.Rows[i][4].ToString() == "" && dt.Rows[i][5].ToString() == "" && dt.Rows[i][6].ToString() == "" && dt.Rows[i][7].ToString() == "" && dt.Rows[i][8].ToString() == "" && dt.Rows[i][9].ToString() == "")
                                {
                                    break;
                                }
                                else if (dt.Rows[i][0].ToString() != "" && dt.Rows[i][1].ToString() == "" && dt.Rows[i][2].ToString() == "" && dt.Rows[i][3].ToString() == "" && dt.Rows[i][4].ToString() == "" && dt.Rows[i][5].ToString() == "" && dt.Rows[i][6].ToString() == "" && dt.Rows[i][7].ToString() == "" && dt.Rows[i][8].ToString() == "" && dt.Rows[i][9].ToString() == "")
                                {
                                    sclass = dt.Rows[i][0].ToString();
                                }
                                else
                                {
                                    #region  bomdtl add
                                    //料号,名称,规格,材质,表面处理或颜色,底数,类别
                                    //ItemNo,Name,Spec,MaterialNo,ItemColor,AddReserve1,ClassName
                                    sql    = "select top 1 * from rlitems where itemno='" + dt.Rows[i][1].ToString() + "' ";//or name='" + dt.Rows[i][2].ToString() + "'
                                    dtitem = SQLHelper.DbHelperSQL.ReturnDataTable(sql, 30);
                                    seq    = dt.Rows[i][0].ToString();
                                    int num = Regex.Matches(seq, ".").Count;

                                    if (dtitem == null || dtitem.Rows.Count == 0)
                                    {
                                        #region
                                        sql = "insert into rlitems(itemno,itemname,Spec,Material,SurfaceDeal,ProUsingQuantity,BaseNum,WorkShop,MainFrom,Sclass,StoreHouse,zongcheng) values('" + dt.Rows[i][1].ToString() + "','" + dt.Rows[i][2].ToString() + "','" + dt.Rows[i][3].ToString() + "','" + dt.Rows[i][4].ToString() + "','" + dt.Rows[i][5].ToString() + "'," + proquantity + "," + basenum + ",'" + dt.Rows[i][8].ToString() + "','" + dt.Rows[i][9].ToString() + "','" + dt.Rows[i][10].ToString() + "','" + dt.Rows[i][11].ToString() + "','" + sclass + "')";
                                        log.Info("sqlallitem::::" + sql);
                                        SQLHelper.DbHelperSQL.ExecuteSql(sql, 30);
                                        if (seq.IndexOf(".") != -1)
                                        {
                                            sqldtl = "insert into ProBomDetail(FSN,AllitemSN,ItemNo,ItemName,Spec,Material,SurfaceDeal,ProUsingQuantity,ZongCheng,Inputer,InputeDate,seq,parentsn,ZuHe,BaseNum,WorkShop,MainFrom,Sclass,StoreHouse) values(" + bomsn + ",(select sn from rlitems where itemno='" + dt.Rows[i][1].ToString() + "'),'" + dt.Rows[i][1].ToString() + "','" + dt.Rows[i][2].ToString() + "','" + dt.Rows[i][3].ToString() + "','" + dt.Rows[i][4].ToString() + "','" + dt.Rows[i][5].ToString() + "'," + proquantity + ",'" + sclass + "','" + User.Identity.Name + "',getdate(),'" + dt.Rows[i][0].ToString() + "',(select sn from ProBomDetail where seq='" + seq.Substring(0, seq.LastIndexOf(".")) + "' and  fsn=" + bomsn + "),1," + basenum + ",'" + dt.Rows[i][8].ToString() + "','" + dt.Rows[i][9].ToString() + "','" + dt.Rows[i][10].ToString() + "','" + dt.Rows[i][11].ToString() + "')";
                                        }
                                        else
                                        {
                                            //bomsn,物料sn,料号,名称,规格,材质,表面处理,用量,分类
                                            sqldtl = "insert into ProBomDetail(FSN,AllitemSN,ItemNo,ItemName,Spec,Material,SurfaceDeal,ProUsingQuantity,ZongCheng,Inputer,InputeDate,seq,ZuHe,BaseNum,WorkShop,MainFrom,Sclass,StoreHouse) values(" + bomsn + ",(select sn from rlitems where itemno='" + dt.Rows[i][1].ToString() + "'),'" + dt.Rows[i][1].ToString() + "','" + dt.Rows[i][2].ToString() + "','" + dt.Rows[i][3].ToString() + "','" + dt.Rows[i][4].ToString() + "','" + dt.Rows[i][5].ToString() + "'," + proquantity + ",'" + sclass + "','" + User.Identity.Name + "',getdate(),'" + dt.Rows[i][0].ToString() + "',0," + basenum + ",'" + dt.Rows[i][8].ToString() + "','" + dt.Rows[i][9].ToString() + "','" + dt.Rows[i][10].ToString() + "','" + dt.Rows[i][11].ToString() + "')";
                                        }
                                        #endregion
                                        log.Info("sqldtl::::" + sqldtl);
                                        al.Add(sqldtl);
                                        SQLHelper.DbHelperSQL.ExecuteSql(sqldtl, 30);
                                    }
                                    else
                                    {
                                        //sql = "update rlitems set (itemno,itemname,Spec,Material,SurfaceDeal,ProUsingQuantity,BaseNum,WorkShop,MainFrom,Sclass,StoreHouse,zongcheng) values('" + dt.Rows[i][1].ToString() + "','" + dt.Rows[i][2].ToString() + "','" + dt.Rows[i][3].ToString() + "','" + dt.Rows[i][4].ToString() + "','" + dt.Rows[i][5].ToString() + "'," + proquantity + "," + basenum + ",'" + dt.Rows[i][8].ToString() + "','" + dt.Rows[i][9].ToString() + "','" + dt.Rows[i][10].ToString() + "','" + dt.Rows[i][11].ToString() + "','" + sclass + "')";
                                        #region
                                        if (seq.IndexOf(".") != -1)
                                        {
                                            //bomsn,物料sn,料号,名称,规格,材质,表面处理,用量,分类
                                            sqldtl = "insert into ProBomDetail(FSN,AllitemSN,ItemNo,ItemName,Spec,Material,SurfaceDeal,ProUsingQuantity,ZongCheng,Inputer,InputeDate,seq,parentsn,ZuHe,BaseNum,WorkShop,MainFrom,Sclass,StoreHouse) values(" + bomsn + "," + dtitem.Rows[0]["sn"].ToString() + ",'" + dt.Rows[i][1].ToString() + "','" + dt.Rows[i][2].ToString() + "','" + dt.Rows[i][3].ToString() + "','" + dt.Rows[i][4].ToString() + "','" + dt.Rows[i][5].ToString() + "'," + proquantity + ",'" + sclass + "','" + User.Identity.Name + "',getdate(),'" + dt.Rows[i][0].ToString() + "',(select sn from ProBomDetail where seq='" + seq.Substring(0, seq.LastIndexOf(".")) + "' and fsn=" + bomsn + "),1,'" + basenum + "','" + dt.Rows[i][8].ToString() + "','" + dt.Rows[i][9].ToString() + "','" + dt.Rows[i][10].ToString() + "','" + dt.Rows[i][11].ToString() + "')";
                                        }
                                        else
                                        {
                                            //bomsn,物料sn,料号,名称,规格,材质,表面处理,用量,分类
                                            sqldtl = "insert into ProBomDetail(FSN,AllitemSN,ItemNo,ItemName,Spec,Material,SurfaceDeal,ProUsingQuantity,ZongCheng,Inputer,InputeDate,seq,ZuHe,BaseNum,WorkShop,MainFrom,Sclass,StoreHouse) values(" + bomsn + "," + dtitem.Rows[0]["sn"].ToString() + ",'" + dt.Rows[i][1].ToString() + "','" + dt.Rows[i][2].ToString() + "','" + dt.Rows[i][3].ToString() + "','" + dt.Rows[i][4].ToString() + "','" + dt.Rows[i][5].ToString() + "'," + proquantity + ",'" + sclass + "','" + User.Identity.Name + "',getdate(),'" + dt.Rows[i][0].ToString() + "',0," + basenum + ",'" + dt.Rows[i][8].ToString() + "','" + dt.Rows[i][9].ToString() + "','" + dt.Rows[i][10].ToString() + "','" + dt.Rows[i][11].ToString() + "')";
                                        }
                                        #endregion

                                        SQLHelper.DbHelperSQL.ExecuteSql(sqldtl, 30);
                                        log.Info("sqldtl::::" + sqldtl);
                                        sql = "update proBomDetail set subsn=SN where subsn is null";
                                        SQLHelper.DbHelperSQL.ExecuteSql(sqldtl, 30);
                                        al.Add(sqldtl);
                                    }
                                    #endregion
                                }
                                #endregion
                            }
                        }
                        //if (SQLHelper.DbHelperSQL.ExecuteSqlTran(al))
                        //{
                        Alert.Show("导入成功");
                        //}
                        //else
                        //{
                        //    Alert.Show("导入失败");
                        //}
                        //al.Clear();
                        #endregion
                    }
                    else
                    {
                        Alert.Show("NO Data");
                    }
                }
            }
            catch (Exception ee)
            {
                string    sql = "delete proBomHeader where sn=" + bomsn;
                ArrayList al  = new ArrayList();
                al.Add(sql);
                sql = "delete proBomDetail where fsn=" + bomsn;
                SQLHelper.DbHelperSQL.SetConnectionString("");
                SQLHelper.DbHelperSQL.ExecuteSqlTran(al);
                log.Info(ee.ToString());
                Alert.Show(ee.Message);
            }
            finally
            {
                BindGrid();
            }
        }
Пример #20
0
        protected void btnMakeBom_Click(object sender, EventArgs e)
        {
            try
            {
                if (Grid2.SelectedRowIndexArray.Length <= 0)
                {
                    Alert.Show("请选择产品");
                    return;
                }
                SQLHelper.DbHelperSQL.SetConnectionString("");
                string sql = "select count(*) from  Instruction where orderno='" + txtOrderNo.Text + "' and prono='" + Grid2.Rows[Grid2.SelectedRowIndex].Values[2] + "' ";
                if (int.Parse(SQLHelper.DbHelperSQL.GetSingle(sql, 30)) > 0)
                {
                    Alert.Show("已进行了备货确认无法再次生成生产BOM");
                    return;
                }
                string odtSN = Grid2.DataKeys[Grid2.SelectedRowIndex][0].ToString();
                sql = "select sn from dbo.BomHeader where OdtSN=" + odtSN + "";
                string    bomSN = SQLHelper.DbHelperSQL.GetSingle(sql, 30).ToString();
                ArrayList al    = new ArrayList();
                if (!string.IsNullOrEmpty(bomSN))
                {
                    //删除旧BOM
                    sql = "delete BomHeader where sn=" + bomSN;
                    log.Info("copy bom:::" + sql);
                    al.Add(sql);
                    sql = "delete BomDetail where fsn=" + bomSN;
                    log.Info("copy bom:::" + sql);
                    al.Add(sql);
                }

                //sql = "select count(*) from dbo.proBomHeader where ver=(select max(ver) from proBomHeader where prono='" + Grid2.Rows[Grid2.SelectedRowIndex].Values[2] + "') and  prono='" + Grid2.Rows[Grid2.SelectedRowIndex].Values[2] + "'";
                if (Grid2.Rows[Grid2.SelectedRowIndex].Values[2].ToString() != txtCurProno.Text)
                {
                    //复制BOM给当前产品
                    sql = "INSERT INTO proBomHeader(AllitemSN,ProName,ProNo,Ver,ClientProNo,ClientCode,Inputer,InputeDate,BomDate,fileno,BomExcel,QuoteProNo,QuoteBomVer,QuoteBomSN) select AllitemSN, '" + Grid2.Rows[Grid2.SelectedRowIndex].Values[3] + "', '" + Grid2.Rows[Grid2.SelectedRowIndex].Values[2] + "', (select ISNULL(max(ver)+1,1) from proBomHeader where prono='" + Grid2.Rows[Grid2.SelectedRowIndex].Values[2] + "'), ClientProNo, ClientCode, Inputer, InputeDate, BomDate, fileno, BomExcel,ProNo,Ver,sn from dbo.proBomHeader where sn =" + txtBomSn.Text;
                    log.Info("copy bom:::" + sql);
                    al.Add(sql);
                    sql = "INSERT INTO proBomDetail(subsn,ParentSN,Seq,FSN,AllitemSN,ItemNo,ItemName,Spec,Material,SurfaceDeal,ProUsingQuantity,Sclass,MakeMethod,Inputer,InputeDate,Updater,UpdateDate,WorkShop,ZuHe,Remark,ZongCheng,BaseNum,MainFrom,StoreHouse) select b.subsn,(case when CHARINDEX('.',seq)!= 0 then(select(a.SN) from ProBomDetail a  where a.fsn = " + txtBomSn.Text + " and a.Seq = REVERSE(SUBSTRING(REVERSE(b.seq), CHARINDEX('.', REVERSE(b.seq)) + 1, LEN(b.seq) - CHARINDEX('.', REVERSE(b.seq))))) else null end) ParentSN,Seq,(select sn from proBomHeader where ProNo='" + Grid2.Rows[Grid2.SelectedRowIndex].Values[2] + "' and ver=(select max(ver) from proBomHeader where prono='" + Grid2.Rows[Grid2.SelectedRowIndex].Values[2] + "')),AllitemSN,ItemNo,ItemName,Spec,Material,SurfaceDeal,ProUsingQuantity,Sclass,MakeMethod,Inputer,InputeDate,Updater,UpdateDate,WorkShop,ZuHe,Remark,ZongCheng,BaseNum,MainFrom,StoreHouse  from proBomDetail b   where fsn =" + txtBomSn.Text;
                    al.Add(sql);
                    log.Info("copy bom:::" + sql);
                }


                if (al.Count > 0 && SQLHelper.DbHelperSQL.ExecuteSqlTran(al))
                {
                }
                else
                {
                    Alert.Show("复制BOM失败");
                    return;
                }

                sql = "select max(ver) from proBomHeader where prono='" + Grid2.Rows[Grid2.SelectedRowIndex].Values[2] + "'";
                string ver = SQLHelper.DbHelperSQL.GetSingle(sql, 30).ToString();
                string fsn = "";
                if (CommFunction.reMakeBom(odtSN, Grid2.Rows[Grid2.SelectedRowIndex].Values[2].ToString(), Grid2.Rows[Grid2.SelectedRowIndex].Values[1].ToString(), ver, Grid2.Rows[Grid2.SelectedRowIndex].Values[4].ToString(), User.Identity.Name, out fsn))
                {
                    Alert.Show("生成成功");
                }
                else
                {
                    Alert.Show("生成失败");
                }
            }
            catch (Exception ee)
            {
                Alert.Show(ee.ToString());
            }
        }
Пример #21
0
        public JsonResult OrderConfirm(int id, bool isOK, string msg)
        {
            if (LUser != null)
            {
                var info = Order.TryFind(id);
                if (info != null)
                {
                    if (isOK)
                    {
                        decimal fee     = 0;
                        var     feeRate = MC.Models.FeeRate.FindFirst();
                        if (feeRate != null)
                        {
                            fee = info.ProMoney * feeRate.Rate - feeRate.Other;
                        }
                        info.State     = "结佣中";
                        info.StateID   = 2;
                        info.StateInfo = "管理员已经审核完成,等待结佣{0}元".FormatWith(fee.ToMoney(2));
                        info.UpdateAndFlush();

                        var feeInfo = new Fee();
                        feeInfo.ID       = GuidHelper.GuidNew();
                        feeInfo.OrderID  = info.ID;
                        feeInfo.Money    = fee;
                        feeInfo.IsPay    = false;
                        feeInfo.PayeeID  = info.CrUserID;
                        feeInfo.CrUserID = LUser.UserId.ToGuid();
                        feeInfo.CrUser   = LUser.UserName;
                        feeInfo.CrTime   = DateTime.Now;
                        feeInfo.CreateAndFlush();
                    }
                    else
                    {
                        info.State     = "被驳回";
                        info.StateInfo = msg;
                        info.StateID   = 5;
                        info.UpdateAndFlush();
                    }

                    var approve = new ApproveDetail()
                    {
                        ApproveMsg    = msg,
                        Approver      = LUser.UserName,
                        ApproveTime   = DateTime.Now,
                        ApproveType   = (int)ApproveType.ORDER,
                        BusinessIntID = id,
                        IsOK          = isOK
                    };
                    approve.CreateAndFlush();

                    var temp = new 审核结果通知()
                    {
                        first    = new TemplateDataItem("您收到一条审核消息"),
                        keyword1 = new TemplateDataItem(DateTime.Now.ToString("yyyy-MM-dd HH:mm")),
                        keyword2 = new TemplateDataItem(isOK ? "推荐通过审核,等待结佣" : "推荐未通过审核"),
                        keyword3 = new TemplateDataItem(info.OrderNo),
                        remark   = new TemplateDataItem("请登录系统查询详细信息")
                    };
                    var user = Models.User.TryFind(info.CrUserID);
                    if (user != null)
                    {
                        CommFunction.SendWxTemplateMsg(temp, MessageType.审核结果通知, user.OpenID);
                    }
                }
                return(Json(JsonReturn.OK(), JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(JsonReturn.Error("登录超时"), JsonRequestBehavior.AllowGet));
            }
        }
Пример #22
0
        public JsonResult Add(Customer model)
        {
            string[] chooseIdArray = model.ChooseIDList.TrimEnd(',').Split(',');
            if (chooseIdArray.Length == 0)
            {
                return(Json(new { code = AjaxReturnCode.WARNNING, msg = "请选择意向课程" }));
            }
            if (ModelState.IsValid)
            {
                if (model.ID.IsNotEmpty())
                {
                    Task.Run(() =>
                    {
                        model.UpTime = DateTime.Now;
                        model.Create();
                    });
                }
                else
                {
                    model.ID       = GuidHelper.GuidNew();
                    model.CrUserID = DBUserInfo.UserID.ToGuid();
                    model.CrTime   = model.UpTime = DateTime.Now;
                    model.CrUser   = DBUserInfo.NickName;
                    model.CreateAndFlush();


                    var orderNo = DateTime.Now.ToString("yyyyMMddHHmmss");
                    foreach (var item in chooseIdArray)
                    {
                        var project = Project.Find(item.ToGuid());
                        if (project != null && project.IsUse)
                        {
                            var order = new Order()
                            {
                                OrderNo   = orderNo,
                                ProID     = project.ID,
                                ProMoney  = project.Total,
                                State     = "申请中",
                                StateInfo = "正在通知管理员核实",
                                CusID     = model.ID,
                                CrTime    = DateTime.Now,
                                CrUserID  = DBUserInfo.UserID.ToGuid()
                            };
                            order.CreateAndFlush();
                        }
                    }


                    var temp = new 订单生成通知()
                    {
                        first    = new TemplateDataItem("您收到新的订单"),
                        keyword1 = new TemplateDataItem(DateTime.Now.ToString("yyyy-MM-dd HH:mm")),
                        keyword2 = new TemplateDataItem("推荐人:" + DBUserInfo.NickName),
                        keyword3 = new TemplateDataItem(orderNo),
                        remark   = new TemplateDataItem("请登录后台进行审核。")
                    };
                    CommFunction.SendWxTemplateMsg(temp, MessageType.订单生成通知, MPBasicSetting.noticeopid);
                }
            }
            return(Json(new { url = "/Center/Index/2" }));
        }
Пример #23
0
 static extern bool EscapeCommFunction(SafeFileHandle hFile, CommFunction dwFunc);
Пример #24
0
        protected void btnPLSend_Click(object sender, EventArgs e)
        {
            try
            {
                if (Grid2.GetModifiedData().Count != 0 || Grid2.GetNewAddedList().Count != 0)
                {
                    Alert.Show("表格还有未保存的数据,请先保存!");
                    return;
                }
                if (Grid2.SelectedRowIndexArray.Length == 0)
                {
                    Alert.Show("请选择物料");
                    return;
                }
                string orderno = "", prono = "", pname = "";
                orderno = GetQueryValue("od");
                prono   = GetQueryValue("ProNo");
                pname   = GetQueryValue("ItemName");
                string OdtSN = GetQueryValue("sn");
                Alert.Show(CommFunction.PLsendInstruction(orderno, prono, pname, ddlDept.SelectedText, ddlUser.SelectedValue, OdtSN, User.Identity.Name, Grid2));
                #region bak
                //string OdtSN = GetQueryValue("sn");
                //StringBuilder sql = new StringBuilder();
                //ArrayList al = new ArrayList();

                //SQLHelper.DbHelperSQL.SetConnectionString("");
                //foreach (int i in Grid2.SelectedRowIndexArray)
                //{

                //    s = "select count(*) from Instruction where OrderNo='" + orderno + "' and OdtSN=" + OdtSN + " and itemno='" + Grid2.Rows[i].Values[2].ToString() + "' and IsConfirm=0";
                //    if (int.Parse(SQLHelper.DbHelperSQL.GetSingle(s, 30)) > 0)
                //    {
                //        continue;
                //    }
                //    s = "select (case  when sum(ConfirmQuantity) is null then 0 else sum(ConfirmQuantity) end) from instruction where orderno='" + orderno + "' and OdtSN=" + OdtSN + " and itemno='" + Grid2.Rows[i].Values[2].ToString() + "'";
                //    sql.Clear();
                //    sql.Append("insert into Instruction(OrderNo,ProNo,ProName,ItemNo,ItemName,Spec,Material,SurfaceDeal,UsingQuantity,Sclass,MainFrom,Inputer,InputeDate,IsConfirm,IsPlan,ReceiveDept,Receiver,BarCode,BomSN,OdtSN)");
                //    sql.Append(" values(");
                //    sql.Append("'" + orderno + "',");
                //    sql.Append("'" + prono + "',");
                //    sql.Append("'" + pname + "',");
                //    sql.Append("'" + Grid2.Rows[i].Values[2].ToString() + "',");//ItemNo
                //    sql.Append("'" + Grid2.Rows[i].Values[3].ToString() + "',");//ItemName
                //    sql.Append("'" + Grid2.Rows[i].Values[4].ToString() + "',");//Spec
                //    sql.Append("'" + Grid2.Rows[i].Values[5].ToString() + "',");//Material
                //    sql.Append("'" + Grid2.Rows[i].Values[6].ToString() + "',");//SurfaceDeal
                //    sql.Append("" + Grid2.Rows[i].Values[8].ToString() + "-(" + s + "),");//UsingQuantity
                //    sql.Append("'" + Grid2.Rows[i].Values[9].ToString() + "',");//Sclass
                //    sql.Append("'" + Grid2.Rows[i].Values[12].ToString() + "',");//MainFrom


                //    sql.Append("'" + User.Identity.Name + "',");
                //    sql.Append("getdate(),");
                //    sql.Append("0,");
                //    sql.Append("0,");

                //    sql.Append("'" + ddlDept.SelectedText + "',");
                //    sql.Append("'" + ddlUser.SelectedValue + "',");
                //    sql.Append("'" + DateTime.Now.ToString("yyyyMMddHHmmsss") + i.ToString() + "',");
                //    sql.Append(Grid2.DataKeys[i][0] + ",");
                //    sql.Append(OdtSN);
                //    sql.Append(")");
                //    al.Add(sql.ToString());
                //    //log.Info(sql.ToString());
                //    FileOper.writeLog(sql.ToString());
                //}

                //if (SQLHelper.DbHelperSQL.ExecuteSqlTran(al))
                //{
                //    Alert.Show("发送成功");
                //    BindGrid2();
                //}
                //else
                //{
                //    Alert.Show("发送失败");
                //}
                #endregion
            }
            catch (Exception ee)
            {
                Alert.Show(ee.ToString());
            }
        }
Пример #25
0
 public void EscapeFunction(CommFunction func)
 {
     if (!EscapeCommFunction(_Handle, func))
         throw new Win32Exception(Marshal.GetLastWin32Error(), "Cannot " + func + " on serial port");
 }
Пример #26
0
        //네비 자동 구성
        private void commonChk(ActionExecutingContext filterContext)
        {
            FilterSessionModels chkModel = new FilterSessionModels();
            var viewBag = filterContext.Controller.ViewBag;

            if (filterContext.HttpContext.Session["ESE_CODE"] != null)
            {
                chkModel.ESE_CODE = filterContext.HttpContext.Session["ESE_CODE"].ToString();
                CommFunction cf = new CommFunction();
                viewBag.MyMar = cf.GetMyMAR();
            }

            if (filterContext.HttpContext.Session["MANAGE_NO"] != null)
            {
                chkModel.MANAGE_NO = filterContext.HttpContext.Session["MANAGE_NO"].ToString();
            }

            if (filterContext.HttpContext.Session["MANAGE_GRADE"] != null)
            {
                chkModel.MANAGE_GRADE = filterContext.HttpContext.Session["MANAGE_GRADE"].ToString();
            }

            if (filterContext.HttpContext.Session["CURRENT_LOGIN_EMAIL"] != null)
            {
                chkModel.CURRENT_LOGIN_EMAIL = filterContext.HttpContext.Session["CURRENT_LOGIN_EMAIL"].ToString();
            }

            chkModel.chkAction     = filterContext.RouteData.Values["action"].ToString();
            chkModel.chkController = filterContext.RouteData.Values["controller"].ToString();

            string stringURL = filterContext.HttpContext.Request.Url.GetComponents(UriComponents.PathAndQuery, UriFormat.SafeUnescaped);

            //로그인 유지 체크 확인

            if (filterContext.HttpContext.Request.Cookies["CHK_LOGIN_REMEMBER"] != null)
            {
                filterContext.HttpContext.Session["MANAGE_NO"]           = filterContext.HttpContext.Request.Cookies["MANAGE_NO"].Value.ToString();
                filterContext.HttpContext.Session["MANAGE_GRADE"]        = filterContext.HttpContext.Request.Cookies["MANAGE_GRADE"].Value.ToString();
                filterContext.HttpContext.Session["CURRENT_LOGIN_EMAIL"] = filterContext.HttpContext.Request.Cookies["CURRENT_LOGIN_EMAIL"].Value.ToString();
                filterContext.HttpContext.Session["EST_CODE"]            = filterContext.HttpContext.Request.Cookies["EST_CODE"].Value.ToString();
                filterContext.HttpContext.Session["ESE_CODE"]            = filterContext.HttpContext.Request.Cookies["ESE_CODE"].Value.ToString();
                filterContext.HttpContext.Session["STATUS"] = filterContext.HttpContext.Request.Cookies["STATUS"].Value.ToString();
            }


            //세션값이 비어있을 경우 로그인 페이지로 리다이랙트
            if (!chkModel.chkSession())
            {
                viewBag.PublicMsg    = "로그인 후 이용해 주시기 바랍니다.";
                filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary(new { controller = "Account", action = "Login", returnUrl = stringURL }));
            }


            var NaviMainString = "";
            var NaviSubString  = "";

            switch (chkModel.chkController)
            {
            case "home": NaviMainString = "메인"; break;

            case "prod": NaviMainString = "상품관리"; break;

            case "stoc": NaviMainString = "보관관리"; break;

            case "pick": NaviMainString = "픽업 관리"; break;

            case "ets": NaviMainString = "배송"; break;

            case "cost": NaviMainString = "배송요금"; break;

            case "ese": NaviMainString = "계정관리"; break;

            case "mar": NaviMainString = "MAR"; break;

            case "cs": NaviMainString = "고객센터"; break;

            default: NaviMainString = "메인"; break;
            }



            switch (chkModel.chkAction)
            {
            case "prodadd":         NaviSubString = "상품 등록"; break;

            case "prodlist":        NaviSubString = "등록 상품 조회"; break;

            case "stocreq":         NaviSubString = "보관 신청"; break;

            case "stocreqlist":     NaviSubString = "보관 신청 현황 조회"; break;

            case "stoclist":        NaviSubString = "재고조회"; break;

            case "stocinout":       NaviSubString = "입출고 내역 조회"; break;

            case "pickreq":         NaviSubString = "픽업 신청"; break;

            case "picklist":        NaviSubString = "픽업 신청 조회"; break;

            case "etsreq":          NaviSubString = "일반 배송 신청"; break;

            case "estreqexcel":     NaviSubString = "대량 배송 신청"; break;

            case "estlabel":        NaviSubString = "배송 라벨 출력"; break;

            case "estlsit":         NaviSubString = "배송 상태 조회"; break;

            case "index":           NaviSubString = "배송요금"; break;

            case "eseinfo":         NaviSubString = "계정 정보"; break;

            case "esegrade":        NaviSubString = "계정 등급 관리"; break;

            case "eseaccount":      NaviSubString = "계정 관리"; break;

            case "marreqpg":        NaviSubString = "MAR 충전(PG)"; break;

            case "marreq":          NaviSubString = "MAR충전(이체)"; break;

            case "marinout":        NaviSubString = "MAR 충전/사용 이력"; break;

            case "maroutreq":       NaviSubString = "MAR 환불 신청"; break;

            case "csesmnotice":     NaviSubString = "ETOMARS 공지"; break;

            case "csestnotice":     NaviSubString = "STATION 공지"; break;

            case "csqna":           NaviSubString = "1 : 1 문의"; break;

            default: NaviSubString = ""; break;
            }


            viewBag.NaviMainString = NaviMainString;
            viewBag.NaviSubString  = NaviSubString;
            viewBag.Title          = NaviSubString + " - ETOMARS";
        }
Пример #27
0
        private void readExcel(string filename)
        {
            string fsn = "";

            try
            {
                string    connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Server.MapPath("~/OrderFile/" + filename) + ";Extended Properties=\"Excel 8.0;HDR=NO;IMEX=1;\"";
                ArrayList al         = new ArrayList();
                using (OleDbConnection conn = new OleDbConnection(connstring))
                {
                    conn.Open();
                    DataTable sheetsName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" }); //得到所有sheet的名字
                    //for(int k=0;k<sheetsName.Rows.Count;k++)
                    //{
                    //    log.Info(sheetsName.Rows[k][2].ToString());
                    //}
                    string firstSheetName = sheetsName.Rows[0][2].ToString();                     //得到第一个sheet的名字
                    string sql            = string.Format("SELECT * FROM [{0}]", firstSheetName); //查询字符串


                    OleDbDataAdapter ada = new OleDbDataAdapter(sql, connstring);
                    DataSet          set = new DataSet();
                    ada.Fill(set);
                    DataTable dt = set.Tables[0];
                    int       i  = 0;
                    SQLHelper.DbHelperSQL.SetConnectionString("");
                    string OrderNo = "", LotNo = "", ClientCode = "", ClientOrderNo = "", RecOrderPersonID = "", RecOrderPerson = "", RecOrderDate = "", SendOrderDate = "", OutGoodsDate = "", checkman = "", CheckDate = "", ContainerType = "", ischeck = "", OrderType = "";
                    //产品名称、产品编号、版本、瑞麟编号、客户编号、客户代号、日期

                    //获取表头  添加orderheader
                    if (dt != null && dt.Rows.Count >= 6)
                    {
                        OrderNo = dt.Rows[1][2].ToString();

                        if (OrderNo.Length == 12 && OrderNo.Substring(0, 2) == "RL" && CommFunction.IsNumeric(OrderNo.Substring(2, 10)))
                        {
                        }
                        else
                        {
                            Alert.Show("订单号格式不正确,禁止导入");
                            return;
                        }
                        OrderType      = dt.Rows[1][5].ToString();
                        LotNo          = dt.Rows[1][8].ToString();
                        ClientCode     = dt.Rows[1][11].ToString();
                        ClientOrderNo  = dt.Rows[2][2].ToString();
                        RecOrderPerson = dt.Rows[3][2].ToString();
                        checkman       = dt.Rows[3][11].ToString();
                        ContainerType  = dt.Rows[3][8].ToString();
                        RecOrderDate   = dt.Rows[4][2].ToString();
                        CheckDate      = dt.Rows[4][8].ToString();
                        OutGoodsDate   = dt.Rows[4][11].ToString();
                        if (CheckDate != "" || checkman != "")
                        {
                            ischeck = "1";
                        }
                        else
                        {
                            ischeck = "0";
                        }
                        sql = "select sn from OrderHeader where OrderNo='" + OrderNo + "'";
                        log.Info(sql);
                        DataTable dtitem = SQLHelper.DbHelperSQL.ReturnDataTable(sql, 30);
                        if (dtitem == null || dtitem.Rows.Count == 0)
                        {
                            //sql = "insert into allitem(itemno,name) values('" + dt.Rows[2][4].ToString() + "','" + dt.Rows[2][2].ToString() + "')";
                            //log.Info("sqlallitem::::" + sql);
                            //al.Add(sql);

                            sql = "insert into OrderHeader(OrderNo,LotNo,ClientCode,ClientOrderNo,RecOrderPerson,RecOrderDate,SendOrderDate,OutGoodsDate,Inputer,InputerDate,IsCheck,OrderExcel,ContainerType,Checker,CheckDate,OrderType) values('" + OrderNo + "','" + LotNo + "','" + ClientCode + "','" + ClientOrderNo + "','" + RecOrderPerson + "','" + RecOrderDate.Replace(".", "-") + "','" + SendOrderDate.Replace(".", "-") + "','" + OutGoodsDate.Replace(".", "-") + "','" + User.Identity.Name + "',getdate()," + ischeck + ",'" + filename + "','" + ContainerType + "','" + checkman + "','" + CheckDate + "','" + OrderType + "')";
                            log.Info("sqlbase::::" + sql);
                            al.Add(sql);
                            //SQLHelper.DbHelperSQL.ExecuteSql(sql, 30);
                        }
                        else
                        {
                            Alert.Show("订单号已存在");
                            return;
                            //产品名称、产品编号、版本、瑞麟编号、客户编号、客户代号、日期
                            //sql = "update OrderHeader set LotNo='" + LotNo + "',ClientCode='" + ClientCode + "',ClientOrderNo='" + ClientOrderNo + "',RecOrderPerson='" + RecOrderPerson + "',RecOrderDate='" + RecOrderDate.Replace(".", "-") + "',SendOrderDate='" + SendOrderDate.Replace(".", "-") + "',OutGoodsDate='" + OutGoodsDate.Replace(".", "-") + "',Updater='" + User.Identity.Name + "',UpdateDate=getdate(),OrderExcel='" + filename + "',ContainerType='" + ContainerType + "',Checker='" + checkman + "',CheckDate='" + CheckDate + "',IsCheck="+ischeck+",OrderType='"+OrderType+"' where  OrderNo='" + OrderNo + "'";
                            //log.Info("sqlbase::::" + sql);
                            //SQLHelper.DbHelperSQL.ExecuteSql(sql, 30);
                        }
                        //sql = "select max(sn) from OrderHeader where  OrderNo='" + OrderNo + "'";
                        SQLHelper.DbHelperSQL.SetConnectionString("");
                        fsn = "select max(sn) from OrderHeader where  OrderNo='" + OrderNo + "'";


                        #region orderdtl add
                        for (i = 6; i < dt.Rows.Count; i++)
                        {
                            if (dt.Rows[i][0].ToString() == "" || dt.Rows[i][1].ToString() == "")
                            {
                                break;
                            }
                            else
                            {
                                #region  orderdtl add
                                if (dt.Rows[i][2].ToString() != "配件")
                                {
                                    sql = "select count(*) from rlitems  where itemno='" + dt.Rows[i][2].ToString() + "'";
                                    if (int.Parse(SQLHelper.DbHelperSQL.GetSingle(sql, 30)) > 0)
                                    {
                                        //sql = "update rlitems set surfacedeal='" + dt.Rows[i][4].ToString() + "' where itemno='" + dt.Rows[i][2].ToString() + "'";
                                        //al.Add(sql);
                                        //FileOper.writeLog(sql);
                                    }
                                    else
                                    {
                                        sql = "insert into rlitems(itemno,itemname,surfacedeal,Unit,sclass) values('" + dt.Rows[i][2].ToString() + "','" + dt.Rows[i][1].ToString() + "','" + dt.Rows[i][4].ToString() + "','" + dt.Rows[i][6].ToString() + "','成品类')";
                                        al.Add(sql);
                                        FileOper.writeLog(sql);
                                    }
                                }
                                else
                                {
                                    sql = "insert into rlitems(itemno,itemname,surfacedeal,Unit,sclass) values('" + dt.Rows[i][2].ToString() + "','" + dt.Rows[i][1].ToString() + "','" + dt.Rows[i][4].ToString() + "','" + dt.Rows[i][6].ToString() + "','配件类')";
                                    al.Add(sql);
                                    FileOper.writeLog(sql);
                                }
                                sql = "insert into OrderDetail(FSN,OrderNo,ClinetNo,ItemNo,ItemName,Quantity,Demand1,Demand2,Remark,Inputer,InputerDate,Color,Unit,IsNew,IsPackingmaterials,CountryPackVer,IsChange) values((" + fsn + "),'" + OrderNo + "','" + dt.Rows[i][3].ToString() + "','" + dt.Rows[i][2].ToString() + "','" + dt.Rows[i][1].ToString() + "'," + dt.Rows[i][5].ToString() + ",'" + dt.Rows[i][11].ToString() + "','" + dt.Rows[i][12].ToString() + "','','" + User.Identity.Name + "',getdate(),'" + dt.Rows[i][4].ToString() + "','" + dt.Rows[i][6].ToString() + "','" + dt.Rows[i][7].ToString() + "','" + dt.Rows[i][8].ToString() + "','" + dt.Rows[i][9].ToString() + "','" + dt.Rows[i][10].ToString() + "')";
                                FileOper.writeLog(sql);
                                al.Add(sql);

                                //料号,名称,规格,材质,表面处理或颜色,底数,类别
                                //ItemNo,Name,Spec,MaterialNo,ItemColor,AddReserve1,ClassName
                                //sql = "select top 1 * from OrderDetail where itemno='" + dt.Rows[i][2].ToString() + "'  and OrderNo='" + OrderNo + "' ";
                                //dtitem = SQLHelper.DbHelperSQL.ReturnDataTable(sql, 30);
                                //if (dtitem == null || dtitem.Rows.Count == 0)
                                //{

                                //    //log.Info("sqlallitem::::" + sql);
                                //    //SQLHelper.DbHelperSQL.ExecuteSql(sql, 30);
                                //    //bomsn,物料sn,料号,名称,规格,材质,表面处理,用量,分类
                                //    sql = "insert into OrderDetail(FSN,OrderNo,ClinetNo,ItemNo,ItemName,Quantity,Demand1,Demand2,Remark,Inputer,InputerDate,Color,Unit,IsNew,IsPackingmaterials,CountryPackVer,IsChange) values((" + fsn + "),'" + OrderNo + "','" + dt.Rows[i][3].ToString() + "','" + dt.Rows[i][2].ToString() + "','" + dt.Rows[i][1].ToString() + "'," + dt.Rows[i][5].ToString() + ",'" + dt.Rows[i][11].ToString() + "','" + dt.Rows[i][12].ToString() + "','','" + User.Identity.Name + "',getdate(),'" + dt.Rows[i][4].ToString() + "','" + dt.Rows[i][6].ToString() + "','" + dt.Rows[i][7].ToString() + "','" + dt.Rows[i][8].ToString() + "','" + dt.Rows[i][9].ToString() + "','" + dt.Rows[i][10].ToString() + "')";
                                //    log.Info("sqldtl::::" + sql);
                                //    al.Add(sql);
                                //    //SQLHelper.DbHelperSQL.ExecuteSql(sql, 30);
                                //}
                                //else
                                //{
                                //    sql = "update OrderDetail set ClinetNo='" + dt.Rows[i][3].ToString() + "',Quantity=" + dt.Rows[i][5].ToString() + ",Demand1='" + dt.Rows[i][11].ToString() + "',Demand2='" + dt.Rows[i][12].ToString() + "',Updater='" + User.Identity.Name + "',UpdateDate=getdate(),Color='" + dt.Rows[i][4].ToString() + "',Unit='" + dt.Rows[i][6].ToString() + "',IsNew='" + dt.Rows[i][7].ToString() + "',IsPackingmaterials='" + dt.Rows[i][8].ToString() + "',CountryPackVer='" + dt.Rows[i][9].ToString() + "',IsChange='" + dt.Rows[i][10].ToString() + "' where itemno='" + dt.Rows[i][1].ToString() + "' and ItemName='" + dt.Rows[i][2].ToString() + "' and OrderNo='" + OrderNo + "' ";
                                //    log.Info("sqldtl::::" + sql);
                                //    al.Add(sql);
                                //    //SQLHelper.DbHelperSQL.ExecuteSql(sql, 30);
                                //}
                                #endregion
                            }
                        }

                        #endregion
                    }
                    else
                    {
                        Alert.Show("没有要导入的数据");
                    }
                }
                if (al.Count > 0 && SQLHelper.DbHelperSQL.ExecuteSqlTran(al))
                {
                    Alert.Show("导入成功");
                }
                else
                {
                    Alert.Show("导入失败");
                }
            }
            catch (Exception ee)
            {
                Alert.Show("导入失败");
                log.Info(ee.ToString());
            }
            finally
            {
                BindGrid();
            }
        }
Пример #28
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                IQueryable <Dept> q = DB.Depts;
                ddlDept.DataSource     = q.ToList();
                ddlDept.DataTextField  = "Name";
                ddlDept.DataValueField = "ID";
                ddlDept.DataBind();
                ddlDept.Items.Add("请选择", "");
                ddlDept.SelectedIndex = ddlDept.Items.Count - 1;

                //IQueryable<User> yw = DB.Users;
                //txtRecOrderPerson.DataSource = yw.ToList();
                //txtRecOrderPerson.DataTextField = "ChineseName";
                //txtRecOrderPerson.DataValueField = "ChineseName";
                //txtRecOrderPerson.DataBind();

                CheckPowerWithButton("StockConfirmDelete", btnDelete);
                ResolveDeleteButtonForGrid(btnDelete, Grid2);

                //btnClear.OnClientClick = SF1.GetResetReference();
                Grid2.PageSize = ConfigHelper.PageSize;
                ddlGridPageSize2.SelectedValue = ConfigHelper.PageSize.ToString();
                LoadData();
                string sql = "select typeName from basedata where stype='类别' order by SortIndex ";
                SQLHelper.DbHelperSQL.SetConnectionString("");
                DataTable dt = SQLHelper.DbHelperSQL.ReturnDataTable(sql, 30);
                ddlItemClass.DataTextField  = "typeName";
                ddlItemClass.DataValueField = "typeName";
                ddlItemClass.DataSource     = dt;
                ddlItemClass.DataBind();
                sql = "select typeName from basedata where stype='仓库' order by SortIndex";
                dt  = SQLHelper.DbHelperSQL.ReturnDataTable(sql, 30);
                ddlStoreHouse.DataSource     = dt;
                ddlStoreHouse.DataValueField = "typeName";
                ddlStoreHouse.DataTextField  = "typeName";
                ddlStoreHouse.DataBind();
                sql = "select typeName from basedata where stype='总成' order by SortIndex";
                dt  = SQLHelper.DbHelperSQL.ReturnDataTable(sql, 30);
                ddlZongCheng.DataSource     = dt;
                ddlZongCheng.DataValueField = "typeName";
                ddlZongCheng.DataTextField  = "typeName";
                ddlZongCheng.DataBind();
            }
            else
            {
                string   requestArg = GetRequestEventArgument(); // 此函数所在文件:PageBase.cs
                string[] args       = requestArg.Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries);
                //log.Info(requestArg);
                if (requestArg.Equals("RefreshGrid2"))
                {
                    BindGrid2();
                }
                else if (args != null && args.Length > 0 && args[0].Equals("updaterowcss"))
                {
                    // Grid2.Rows[int.Parse(ridx)].RowCssClass = "color1";
                    CommFunction.updateRowCss(args[1], Grid2, "color1");
                }
            }
        }
Пример #29
0
 static extern bool EscapeCommFunction(SafeFileHandle hFile, CommFunction dwFunc);