public ActionResult SavePart(FormNcrPart part, string abnormalImage, string abnormalAttribution) { if (!string.IsNullOrEmpty(abnormalImage) || !string.IsNullOrEmpty(abnormalAttribution)) { var upNcrMain = new BaseServices <FormNcr>(); //保存描述 var ncrMain = upNcrMain.Single(c => c.FormNo == part.ParentFormNo); ncrMain.AbnormalImage = abnormalImage; ncrMain.AbnormalAttribution = abnormalAttribution; upNcrMain.UpdateEntity(ncrMain); } //return Content("111"); string empNo = ManageProvider.Provider.Current().UserId; Dictionary <string, object> dictionary = Request.Form.Cast <object>().ToDictionary <object, string, object>(para => para.ToString(), para => Request.Form[para.ToString()]); var formId = int.Parse(dictionary["formid"].ToString()); var employees = new Applying().GetSignListByFormId(dictionary, formId, empNo); var form = new Form { FormNo = new Applying().CreateFormNo(new object()), FormId = formId, CreateEmpNo = empNo, CreateTime = DateTime.Now, SignPath = string.Join(",", employees.Select(c => c.EmpNo)) + ",", FormStatus = 0, IsEmergents = true, }; FormNcrPart partA = new FormNcrPart() { Mark = part.Mark, ReplyType = formId, ParentFormNo = part.ParentFormNo, Reviewer = empNo, ReviewTime = DateTime.Now }; var result = new F <FormNcrPart>().SaveData(new List <FormNcrPart>() { partA }, form); //送签 if (!result) { return(Link.ErrorBy(new Exception("数据更新失败,请检查填写是否完整"), this.GetType())); } new Applying().Send(form.FormNo, empNo); var daiqian = new BaseServices <FormSign>().LoadEntities(c => c.FormNo == form.FormNo).Last(); var signed = new Signing().Agree(daiqian.FormNo, daiqian.RowId, daiqian.SignEmpNo); Console.Write(signed); return(Content("success")); }
/// <summary> /// 根据Route和提交人生成表单签核人 /// </summary> /// <param name="route"></param> /// <param name="empNo"></param> /// <returns></returns> private static List <BaseEmployee> GenerateSignList(IList <string> route, string empNo) { var section1 = route[0]; var section2 = route[1]; var section3 = route[2]; //最终签核人 var signList = new List <BaseEmployee>(); var employees = new BaseServices <BaseEmployee>().LoadEntities(c => c.IsDimission != 0).ToList(); var my = DataFactory.Database().FindEntity <BaseEmployee>(empNo); //该设定为自已签核 if (_formType.IsMyself) { signList.Add(my); return(signList); } var patten = new Regex("\\d{7}"); //部门内成员 if (!string.IsNullOrEmpty(section1)) { //T,S,P,M,1109001 var applypath = section1.ToUpper().Split(',').ToList().RemoveStringNullOrEmpty(); foreach (var c in applypath) { if (patten.IsMatch(c)) { signList.Add(employees.Single(k => k.EmpNo == c)); } else { signList.Add(GetDepartmentTopOneByPosition(employees, my.DepartmentId, c)); } } } //部门外成员 if (!string.IsNullOrEmpty(section2)) { //HRS00:M,//M0000:M,//HRS00:P foreach (var c in section2.ToUpper().Split(',').ToList().RemoveStringNullOrEmpty()) { if (patten.IsMatch(c)) { signList.Add(employees.Single(k => k.EmpNo == c)); } else { signList.Add(GetDepartmentTopOneByPosition(employees, c.Split(':')[0], c.Split(':')[1])); } } } //审核部门成员 if (!string.IsNullOrEmpty(section3)) { //M,S,P,1109001 var operatorpath = section3.ToUpper().Split(',').ToList().RemoveStringNullOrEmpty(); //处理人所属部门 var departCode = employees.Single(x => x.EmpNo == operatorpath.Last()).DepartmentId; foreach (var c in operatorpath) { if (patten.IsMatch(c)) { signList.Add(employees.Single(k => k.EmpNo == c)); } else { signList.Add(GetDepartmentTopOneByPosition(employees, departCode, c)); } } // operatorpath.ForEach(c => signList.Add(patten.IsMatch(c) ? employees.Single(k => k.EmpNo == c) : GetDepartmentTopOneByPosition(employees, departCode, c))); } signList.RemoveAll(c => c == null); return(signList); }
public int OldImport(DataSet ds) { var customers = new TpaModule.TpaCustomerBll().GetList(); var formTyps = new BaseServices <FormType>().LoadEntities(c => true); DataTable dt = ds.Tables[0]; string publishType = dt.ToString(); int success = 0; foreach (var row in dt.Rows) { try { string fileName = ((DataRow)(row)).ItemArray[0].ToString(); string ver = ((DataRow)(row)).ItemArray[1].ToString(); int pageSize = int.Parse(((DataRow)(row)).ItemArray[2].ToString()); string filePath = @"\\192.168.0.4\Minicut\公司文件\文控\图纸电子档\勿动\" + ((DataRow)(row)).ItemArray[3] + ".pdf"; string reason = ((DataRow)(row)).ItemArray[4].ToString(); DateTime publishDate = DateTime.Parse(((DataRow)(row)).ItemArray[5].ToString()); const string publishEmp = "1109004"; bool isPass = int.Parse(((DataRow)(row)).ItemArray[7].ToString()) == 1; string fileType = Path.GetExtension(filePath); Guid fileGroup = Guid.NewGuid(); using (var fs = new FileStream(filePath, FileMode.Open)) { var md5 = DirFileHelper.GetMd5StringByStream(fs); string targetPath = Path.GetFullPath(BaseHelper.UpPath); //将文什上传至文档临时目录 BaseHelper.CopyFile(filePath, targetPath + md5); using (var context = ContextFactory.ContextHelper) { //组建文件群组 context.FileGroups.Add(new FileGroup() { GroupGuid = fileGroup, CreateTime = DateTime.Now, CreateEmpNo = "1109001" }); //上传文件 if (!context.Fileses.Any(c => c.Md5 == md5)) { context.Fileses.Add(new Files() { Md5 = md5, FileName = fileName, FileType = fileType, ContentType = "application/pdf", }); } context.FilesFileGroups.AddRange(new List <FilesFileGroup> { new FilesFileGroup() { Md5 = md5, GroupGuid = fileGroup } }); context.SaveChanges(); } //组建文件关系 } int formId = formTyps.Single(c => c.FormName.Contains(publishType)).FormId; //创建表单内容 var form = new Form() { FormNo = new Applying().CreateFormNo(new object()), FormId = formId, CreateEmpNo = "1109001", CreateTime = publishDate, SignPath = null, FormStatus = (int)Form.StatusEnum.签核完成, IsEmergents = false, CloseTime = DateTime.Now }; //生成表单 new BaseServices <Form>().AddEntity(form); #region insert //生成表单详细页 switch (publishType) { case "BOM": new BaseServices <FormDrawingsBom>().AddEntity(new FormDrawingsBom() { CustomerNo = customers.Single(c => c.CustomerName.Contains(((DataRow)(row)).ItemArray[8].ToString())).CustomerNo, DrawPartNo = ((DataRow)(row)).ItemArray[9].ToString(), ProductNo = ((DataRow)(row)).ItemArray[10].ToString(), ProductName = ((DataRow)(row)).ItemArray[11].ToString(), FileCode = ((DataRow)(row)).ItemArray[12].ToString(), Author = ((DataRow)(row)).ItemArray[13].ToString(), FormNo = form.FormNo, Mark = "系统自动导入", DrawVer = ver, PageSize = pageSize, FileGroup = fileGroup, Reason = reason, IsPublished = false, }); break; case "ECN": new BaseServices <FormDrawingsEcn>().AddEntity(new FormDrawingsEcn() { CustomerNo = customers.Single(c => c.CustomerName.Contains(((DataRow)(row)).ItemArray[8].ToString())).CustomerNo, ProductNo = ((DataRow)(row)).ItemArray[9].ToString(), ProductName = ((DataRow)(row)).ItemArray[10].ToString(), EcnNo = ((DataRow)(row)).ItemArray[11].ToString(), PublishEmp = ((DataRow)(row)).ItemArray[12].ToString(), FormNo = form.FormNo, Mark = "系统自动导入", DrawVer = ver, PageSize = pageSize, FileGroup = fileGroup, Reason = reason, IsPublished = false, }); break; case "SOP": new BaseServices <FormDrawingsSop>().AddEntity(new FormDrawingsSop() { CustomerNo = customers.Single(c => c.CustomerName.Contains(((DataRow)(row)).ItemArray[8].ToString())).CustomerNo, DrawPartNo = ((DataRow)(row)).ItemArray[9].ToString(), Tag = ((DataRow)(row)).ItemArray[10].ToString(), Author = ((DataRow)(row)).ItemArray[11].ToString(), FormNo = form.FormNo, Mark = "系统自动导入", DrawVer = ver, PageSize = pageSize, FileGroup = fileGroup, Reason = reason, IsPublished = false, }); break; case "包装工艺卡": new BaseServices <FormDrawingsPackage>().AddEntity(new FormDrawingsPackage() { CustomerNo = customers.Single(c => c.CustomerName.Contains(((DataRow)(row)).ItemArray[8].ToString())).CustomerNo, ProductNo = ((DataRow)(row)).ItemArray[9].ToString(), ProductName = ((DataRow)(row)).ItemArray[10].ToString(), Author = ((DataRow)(row)).ItemArray[11].ToString(), FormNo = form.FormNo, Mark = "系统自动导入", DrawVer = ver, PageSize = pageSize, FileGroup = fileGroup, Reason = reason, IsPublished = false, }); break; case "工艺流程图": new BaseServices <FormDrawingsProcess>().AddEntity(new FormDrawingsProcess() { CustomerNo = customers.Single(c => c.CustomerName.Contains(((DataRow)(row)).ItemArray[8].ToString())).CustomerNo, DrawPartNo = ((DataRow)(row)).ItemArray[9].ToString(), ProductNo = ((DataRow)(row)).ItemArray[10].ToString(), ProductName = ((DataRow)(row)).ItemArray[11].ToString(), Drafter = ((DataRow)(row)).ItemArray[12].ToString(), FormNo = form.FormNo, Mark = "系统自动导入", DrawVer = ver, PageSize = pageSize, FileGroup = fileGroup, Reason = reason, IsPublished = false, }); break; case "检规指导书": new BaseServices <FormDrawingsFqc>().AddEntity(new FormDrawingsFqc() { CustomerNo = customers.Single(c => c.CustomerName.Contains(((DataRow)(row)).ItemArray[8].ToString())).CustomerNo, DrawPartNo = ((DataRow)(row)).ItemArray[9].ToString(), ProductNo = ((DataRow)(row)).ItemArray[10].ToString(), ProductName = ((DataRow)(row)).ItemArray[11].ToString(), Author = ((DataRow)(row)).ItemArray[12].ToString(), FormNo = form.FormNo, Mark = "系统自动导入", DrawVer = ver, PageSize = pageSize, FileGroup = fileGroup, Reason = reason, IsPublished = false, }); break; case "客户图纸": new BaseServices <FormDrawingsCustomer>().AddEntity(new FormDrawingsCustomer() { CustomerNo = customers.Single(c => c.CustomerName.Contains(((DataRow)(row)).ItemArray[8].ToString())).CustomerNo, DrawPartNo = ((DataRow)(row)).ItemArray[9].ToString(), ProductNo = ((DataRow)(row)).ItemArray[10].ToString(), ProductName = ((DataRow)(row)).ItemArray[11].ToString(), ManagerHead = ((DataRow)(row)).ItemArray[12].ToString(), FormNo = form.FormNo, Mark = "系统自动导入", DrawVer = ver, PageSize = pageSize, FileGroup = fileGroup, Reason = reason, IsPublished = false, }); break; case "内部图纸": new BaseServices <FormDrawingsInside>().AddEntity(new FormDrawingsInside() { CustomerNo = customers.Single(c => c.CustomerName.Contains(((DataRow)(row)).ItemArray[8].ToString())).CustomerNo, DrawPartNo = ((DataRow)(row)).ItemArray[9].ToString(), ProductNo = ((DataRow)(row)).ItemArray[10].ToString(), ProductName = ((DataRow)(row)).ItemArray[11].ToString(), Drafter = ((DataRow)(row)).ItemArray[12].ToString(), FormNo = form.FormNo, Mark = "系统自动导入", DrawVer = ver, PageSize = pageSize, FileGroup = fileGroup, Reason = reason, IsPublished = false, }); break; case "内部型材图": new BaseServices <FormDrawingsProfile>().AddEntity(new FormDrawingsProfile() { CustomerNo = customers.Single(c => c.CustomerName.Contains(((DataRow)(row)).ItemArray[8].ToString())).CustomerNo, ProfileNo = ((DataRow)(row)).ItemArray[9].ToString(), ProductNo = ((DataRow)(row)).ItemArray[10].ToString(), ProductName = ((DataRow)(row)).ItemArray[11].ToString(), Drafter = ((DataRow)(row)).ItemArray[12].ToString(), FormNo = form.FormNo, Mark = "系统自动导入", DrawVer = ver, PageSize = pageSize, FileGroup = fileGroup, Reason = reason, IsPublished = false, }); break; case "外来文件": new BaseServices <FormDrawingsExternal>().AddEntity(new FormDrawingsExternal() { CustomerNo = customers.Single(c => c.CustomerName.Contains(((DataRow)(row)).ItemArray[8].ToString())).CustomerNo, FileName = ((DataRow)(row)).ItemArray[9].ToString(), FileCode = ((DataRow)(row)).ItemArray[10].ToString(), MinicutCode = ((DataRow)(row)).ItemArray[11].ToString(), ReciveEmpNo = ((DataRow)(row)).ItemArray[12].ToString(), FormNo = form.FormNo, Mark = "系统自动导入", DrawVer = ver, PageSize = pageSize, FileGroup = fileGroup, Reason = reason, IsPublished = false, }); break; case "控制计划": new BaseServices <FormDrawingsControlPlan>().AddEntity(new FormDrawingsControlPlan() { CustomerNo = customers.Single(c => c.CustomerName.Contains(((DataRow)(row)).ItemArray[8].ToString())).CustomerNo, ProductNo = ((DataRow)(row)).ItemArray[9].ToString(), Author = ((DataRow)(row)).ItemArray[10].ToString(), FormNo = form.FormNo, Mark = "系统自动导入", DrawVer = ver, PageSize = pageSize, FileGroup = fileGroup, Reason = reason, IsPublished = false, }); break; } #endregion //发行 if (this.Published(form.FormNo, 0, publishEmp, publishDate, isPass)) { success++; } } catch (Exception exception) { return(Link.ErrorBy(new Exception($"成功导入{success}:Error:{exception.Message}"), this.GetType())); } } return(success); }