VueWebCoreApi/Tools/ImportExcelData.cs
@@ -1001,16 +1001,31 @@
                return Message;
            }
            else if (excelTable[0].Columns.Count != 6)
            if (excelTable[1].Rows.Count > 0)
            {
                if (excelTable[1].Columns.Count != 2)
                {
                    code = "301";
                    Message = "模具关联产品模板不符合规范,请检查列名字段数";
                    return Message;
                }
                else if (excelTable[1].Columns[0].ColumnName != "模具编码")
                {
                    code = "301";
                    Message = "模具关联产品模板:表头信息不符合规范,第1列应为{模具编码}";
                    return Message;
                }
                else if (excelTable[1].Columns[1].ColumnName != "产品编码")
                {
                    code = "301";
                    Message = "模具关联产品模板:表头信息不符合规范,第2列应为{产品编码}";
                    return Message;
                }
            }
            else if (excelTable[0].Columns.Count != 8)
            {
                code = "301";
                Message = "模具清单模板不符合规范,请检查列名字段数";
                return Message;
            }
            else if (excelTable[1].Columns.Count != 2)
            {
                code = "301";
                Message = "模具关联产品模板不符合规范,请检查列名字段数";
                return Message;
            }
            else if (excelTable[0].Columns[0].ColumnName != "*模具编号(唯一)")
@@ -1037,28 +1052,28 @@
                Message = "模具清单模板:表头信息不符合规范,第4列应为{*状态}";
                return Message;
            }
            else if (excelTable[0].Columns[4].ColumnName != "预计寿命(次)")
            else if (excelTable[0].Columns[4].ColumnName != "*仓库编码")
            {
                code = "301";
                Message = "模具清单模板:表头信息不符合规范,第5列应为{预计寿命(次)}";
                Message = "模具清单模板:表头信息不符合规范,第5列应为{*仓库编码}";
                return Message;
            }
            else if (excelTable[0].Columns[5].ColumnName != "剩余寿命(次)")
            else if (excelTable[0].Columns[5].ColumnName != "*库位编码")
            {
                code = "301";
                Message = "模具清单模板:表头信息不符合规范,第6列应为{剩余寿命(次)}";
                Message = "模具清单模板:表头信息不符合规范,第6列应为{*库位编码}";
                return Message;
            }
            else if (excelTable[1].Columns[0].ColumnName != "模具编码")
            else if (excelTable[0].Columns[6].ColumnName != "预计寿命(次)")
            {
                code = "301";
                Message = "模具关联产品模板:表头信息不符合规范,第1列应为{模具编码}";
                Message = "模具清单模板:表头信息不符合规范,第7列应为{预计寿命(次)}";
                return Message;
            }
            else if (excelTable[1].Columns[1].ColumnName != "产品编码")
            else if (excelTable[0].Columns[7].ColumnName != "剩余寿命(次)")
            {
                code = "301";
                Message = "模具关联产品模板:表头信息不符合规范,第2列应为{产品编码}";
                Message = "模具清单模板:表头信息不符合规范,第8列应为{剩余寿命(次)}";
                return Message;
            }
            else
@@ -2821,7 +2836,7 @@
                    sql = @"select *  from TSecStck where code=@code";
                    dynamicParams.Add("@code", excelTable[1].Rows[k][7].ToString().Trim());
                    dt = DapperHelper.selectdata(sql, dynamicParams);
                    if (dt.Rows.Count<=0)
                    if (dt.Rows.Count <= 0)
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
@@ -2948,7 +2963,7 @@
                    sql = @"select *  from TOrganization where torg_code=@torg_code";
                    dynamicParams.Add("@torg_code", excelTable[1].Rows[k][2].ToString().Trim());
                    dt = DapperHelper.selectdata(sql, dynamicParams);
                    if (dt.Rows.Count<=0)
                    if (dt.Rows.Count <= 0)
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
@@ -3305,7 +3320,7 @@
                    sql = @"select *  from TEqpmai_Item where code=@code";
                    dynamicParams.Add("@code", excelTable[1].Rows[k][2].ToString().Trim());
                    dt = DapperHelper.selectdata(sql, dynamicParams);
                    if (dt.Rows.Count <=0)
                    if (dt.Rows.Count <= 0)
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
@@ -3363,7 +3378,7 @@
            var dynamicParams = new DynamicParameters();
            List<ExcelErro> list = new List<ExcelErro>();
            list = ImportExcel.InportExcelToTableListErro(excelTable);    //验证Excel数据必填字段是否为空、唯一字段是否重复
            //模具表
            for (int k = 0; k < excelTable[0].Rows.Count; k++)
            {
@@ -3395,6 +3410,61 @@
                        list.Add(erro);
                    }
                }
                //判断仓库编码是否为空
                if (excelTable[0].Rows[k][4].ToString().Trim() != null && excelTable[0].Rows[k][4].ToString().Trim() != "")
                {
                    sql = @"select *  from TSecStck where code=@code";
                    dynamicParams.Add("@code", excelTable[0].Rows[k][4].ToString().Trim());
                    dt = DapperHelper.selectdata(sql, dynamicParams);
                    if (dt.Rows.Count <= 0)
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
                        erro.ErrorField = "{*仓库编码}";
                        erro.ErrorCont = "模具表:{*仓库编码}字段" + excelTable[0].Rows[k][4].ToString().Trim() + "不存在";
                        list.Add(erro);
                    }
                }
                //判断库位编码是否为空
                if (excelTable[0].Rows[k][5].ToString().Trim() != null && excelTable[0].Rows[k][5].ToString().Trim() != "")
                {
                    //库位不为空时,判断仓库是否为空
                    if (excelTable[0].Rows[k][4].ToString().Trim() != null && excelTable[0].Rows[k][4].ToString().Trim() != "")
                    {
                        //判断库位是否存在
                        sql = @"select *  from TSecLoca where code=@code";
                        dynamicParams.Add("@code", excelTable[0].Rows[k][5].ToString().Trim());
                        dt = DapperHelper.selectdata(sql, dynamicParams);
                        if (dt.Rows.Count <= 0)
                        {
                            ExcelErro erro = new ExcelErro();
                            erro.RoeNumber = "/";
                            erro.ErrorField = "{*库位编码}";
                            erro.ErrorCont = "模具表:{*库位编码}字段" + excelTable[0].Rows[k][5].ToString().Trim() + "不存在";
                            list.Add(erro);
                        }
                        else
                        {
                            //判断库位是否属于当前仓库
                            if (excelTable[0].Rows[k][4].ToString().Trim() != dt.Rows[0]["idwarehouse"].ToString())
                            {
                                ExcelErro erro = new ExcelErro();
                                erro.RoeNumber = "/";
                                erro.ErrorField = "{*库位编码}";
                                erro.ErrorCont = "模具表:{*库位编码}字段" + excelTable[0].Rows[k][5].ToString().Trim() + "与{*仓库编码}字段:" + excelTable[0].Rows[k][4].ToString().Trim() + "不匹配";
                                list.Add(erro);
                            }
                        }
                    }
                    else
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
                        erro.ErrorField = "{*库位编码}";
                        erro.ErrorCont = "模具表:{*库位编码}字段" + excelTable[0].Rows[k][5].ToString().Trim() + "对应的仓库字段不能为空";
                        list.Add(erro);
                    }
                }
            }
            //模具关联产品表
            for (int j = 0; j < excelTable[1].Rows.Count; j++)
@@ -3404,7 +3474,7 @@
                    sql = @"select *  from TMateriel_Info where partcode=@partcode";
                    dynamicParams.Add("@partcode", excelTable[1].Rows[j][1].ToString().Trim());
                    dt = DapperHelper.selectdata(sql, dynamicParams);
                    if (dt.Rows.Count<= 0)
                    if (dt.Rows.Count <= 0)
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
@@ -3586,7 +3656,7 @@
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
                        erro.ErrorField = "{*模具点检项编号(唯一)}";
                        erro.ErrorCont = "模具点检部位表:{*模具点检项编号(唯一),*模具点检项名称}字段{" + excelTable[1].Rows[k][2].ToString().Trim() +","+ excelTable[1].Rows[k][3].ToString().Trim() + "}在模具点检项中不存在";
                        erro.ErrorCont = "模具点检部位表:{*模具点检项编号(唯一),*模具点检项名称}字段{" + excelTable[1].Rows[k][2].ToString().Trim() + "," + excelTable[1].Rows[k][3].ToString().Trim() + "}在模具点检项中不存在";
                        list.Add(erro);
                    }
                }
@@ -4582,7 +4652,7 @@
                            status = excelTable[0].Rows[i][2].ToString().Trim(),
                            datarange = "ALL",
                            datapermissions = datapermissions,
                            identifying="2",
                            identifying = "2",
                            description = excelTable[0].Rows[i][3].ToString().Trim(),
                            lm_user = us.usercode,
                            lm_date = DateTime.Now.ToString()
@@ -4751,6 +4821,21 @@
                //导入库位
                for (int i = 0; i < excelTable[0].Rows.Count; i++)
                {
                    string status = "";
                    if (excelTable[0].Rows[i][4].ToString().Trim() != null && excelTable[0].Rows[i][4].ToString().Trim() != "")
                    {
                        switch (excelTable[0].Rows[i][3].ToString().Trim())
                        {
                            case "正常":
                                status = "Y";
                                break;
                            case "停用":
                                status = "N";
                                break;
                            default:
                                break;
                        }
                    }
                    sql = @"insert into TSecLoca(code,name,idwarehouse,idparent,status,description,lm_user,lm_date,data_sources) 
                            values(@code,@name,@idwarehouse,@idparent,@status,@description,@lm_user,@lm_date,@data_sources)";
                    list.Add(new
@@ -4762,7 +4847,7 @@
                            name = excelTable[0].Rows[i][1].ToString().Trim(),
                            idwarehouse = excelTable[0].Rows[i][2].ToString().Trim(),
                            idparent = excelTable[0].Rows[i][3].ToString().Trim(),
                            status = excelTable[0].Rows[i][4].ToString().Trim(),
                            status = status,
                            description = excelTable[0].Rows[i][5].ToString().Trim(),
                            lm_user = us.usercode,
                            lm_date = DateTime.Now.ToString(),
@@ -4824,7 +4909,7 @@
                //导入存货档案
                for (int i = 0; i < excelTable[1].Rows.Count; i++)
                {
                    string idunitgroup="", idunit = "", idnounit = "";
                    string idunitgroup = "", idunit = "", idnounit = "";
                    int isSingleUnit = 0;
                    if (excelTable[1].Rows[i][5].ToString().Trim() == "S")
                    {
@@ -4842,7 +4927,7 @@
                        dynamicParams.Add("@name", excelTable[1].Rows[i][6].ToString().Trim());
                        var dt = DapperHelper.selectdata(sql, dynamicParams);
                        idunitgroup = dt.Rows[0]["groupcode"].ToString();
                        idunit = dt.AsEnumerable().Where(row => row.Field<string>("isMainUnit") =="1").Select(row => row.Field<string>("code")).FirstOrDefault();
                        idunit = dt.AsEnumerable().Where(row => row.Field<string>("isMainUnit") == "1").Select(row => row.Field<string>("code")).FirstOrDefault();
                        idnounit = dt.AsEnumerable().Where(row => row.Field<string>("isMainUnit") == "0").Select(row => row.Field<string>("code")).FirstOrDefault();
                    }
@@ -5309,8 +5394,8 @@
                //导入模具清单
                for (int k = 0; k < excelTable[0].Rows.Count; k++)
                {
                    sql = @"insert into TMouldInfo(code,name,spec,status,surp_life,resi_life,lm_user,lm_date)
                               values(@code,@name,@spec,@status,@usestatus,@surp_life,@resi_life,@lm_user,@lm_date)";
                    sql = @"insert into TMouldInfo(code,name,spec,status,surp_life,resi_life,lm_user,lm_date,warehousecode,location_code)
                               values(@code,@name,@spec,@status,@surp_life,@resi_life,@lm_user,@lm_date,@warehousecode,@location_code)";
                    list.Add(new
                    {
                        str = sql,
@@ -5320,8 +5405,10 @@
                            name = excelTable[0].Rows[k][1].ToString().Trim(),
                            spec = excelTable[0].Rows[k][2].ToString().Trim(),
                            status = excelTable[0].Rows[k][3].ToString().Trim(),
                            surp_life =decimal.Parse(excelTable[0].Rows[k][4].ToString().Trim()==""?"0": excelTable[0].Rows[k][4].ToString().Trim()),
                            resi_life = decimal.Parse(excelTable[0].Rows[k][5].ToString().Trim()==""?"0":excelTable[0].Rows[k][5].ToString().Trim()),
                            warehousecode = excelTable[0].Rows[k][4].ToString().Trim(),
                            location_code = excelTable[0].Rows[k][5].ToString().Trim(),
                            surp_life = decimal.Parse(excelTable[0].Rows[k][6].ToString().Trim() == "" ? "0" : excelTable[0].Rows[k][6].ToString().Trim()),
                            resi_life = decimal.Parse(excelTable[0].Rows[k][7].ToString().Trim() == "" ? "0" : excelTable[0].Rows[k][7].ToString().Trim()),
                            lm_user = us.usercode,
                            lm_date = DateTime.Now.ToString()
                        }
@@ -5879,7 +5966,7 @@
                            code = excelTable[0].Rows[i][0].ToString().Trim(),
                            name = excelTable[0].Rows[i][1].ToString().Trim(),
                            description = excelTable[0].Rows[i][2].ToString().Trim(),
                            is_step="N",
                            is_step = "N",
                            lm_user = us.usercode,
                            lm_date = DateTime.Now.ToString()
                        }