2024-02-21 开车分包管理修改

This commit is contained in:
2024-02-21 15:13:54 +08:00
parent 9bf96a31db
commit 5378f1b26d
24 changed files with 801 additions and 124 deletions
+180 -75
View File
@@ -1,8 +1,12 @@
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Data;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Aspose.Words;
namespace BLL
{
@@ -20,8 +24,9 @@ namespace BLL
{
return Funs.DB.DriverSub_DriverSub.FirstOrDefault(e => e.DriverSubId == DriverSubId);
}
/// <summary>
/// 根据
/// 根据分包计划和分包商获取开车分包管理信息
/// </summary>
/// <param name="DriverSubPlanId"></param>
/// <param name="DriverSubContractorsId"></param>
@@ -31,6 +36,89 @@ namespace BLL
{
return Funs.DB.DriverSub_DriverSub.FirstOrDefault(e => e.DriverSubPlanId == DriverSubPlanId&& e.DriverSubContractorsId==DriverSubContractorsId);
}
/// <summary>
/// DriverSubPlanId和DriverSubContractorsId 获取对象的EvaluationData信息,将json数据EvaluationData 转换成List
/// </summary>
/// <param name="DriverSubPlanId"></param>
/// <param name="DriverSubContractorsId"></param>
/// <returns></returns>
public static List<Model.DriverSubEvaluationData> GetDriverSubEvaluationData(string DriverSubPlanId,
string DriverSubContractorsId)
{
List<Model.DriverSubEvaluationData> list = new List<Model.DriverSubEvaluationData>();
Model.DriverSub_DriverSub data = Funs.DB.DriverSub_DriverSub.FirstOrDefault(e => e.DriverSubPlanId == DriverSubPlanId && e.DriverSubContractorsId == DriverSubContractorsId);
if (data != null)
{
list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.DriverSubEvaluationData>>(data.EvaluationData);
}
return list;
}
/// <summary>
/// 将List DriverSubEvaluationData转换成json数据
/// </summary>
/// <param name="list"></param>
/// <returns></returns>
public static string GetDriverSubEvaluationDataJson(List<Model.DriverSubEvaluationData> list)
{
return Newtonsoft.Json.JsonConvert.SerializeObject(list);
}
/// <summary>
/// 根据分包类别获取初始化数据List
/// </summary>
/// <returns></returns>
public static List<Model.DriverSubEvaluationData> GetDriverSubEvaluationData(string type )
{
List<Model.DriverSubEvaluationData> list = new List<Model.DriverSubEvaluationData>();
switch (type)
{
case "1"://催化剂装填
list.Add(new Model.DriverSubEvaluationData() { Number = 1, Matter = "方案编制", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 2, Matter = "催化剂装填准备", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 3, Matter = "人员配合", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 4, Matter = "催化剂装填实施", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 5, Matter = "装填结果认定", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 6, Matter = "收尾处理", Grade = "" });
// list.Add(new Model.DriverSubEvaluationData() { Number = 7, Matter = "其他", Grade = "" });
break;
case "2"://烘炉
list.Add(new Model.DriverSubEvaluationData() { Number = 1, Matter = "方案编制", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 2, Matter = "烘炉准备", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 3, Matter = "人员配合", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 4, Matter = "烘炉实施", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 5, Matter = "烘炉结果认定", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 6, Matter = "收尾处理", Grade = "" });
// list.Add(new Model.DriverSubEvaluationData() { Number = 7, Matter = "其他", Grade = "" });
break;
case "3"://化学清洗
list.Add(new Model.DriverSubEvaluationData() { Number = 1, Matter = "方案编制", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 2, Matter = "化学清洗准备", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 3, Matter = "人员配合", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 4, Matter = "化学清洗实施", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 5, Matter = "清洗结果认定", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 6, Matter = "收尾处理", Grade = "" });
// list.Add(new Model.DriverSubEvaluationData() { Number = 7, Matter = "其他", Grade = "" });
break;
case "4"://开车队
list.Add(new Model.DriverSubEvaluationData() { Number = 1, Matter = "业主人员培训", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 2, Matter = "编制技术方案", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 3, Matter = "预试车", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 4, Matter = "联动试车", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 5, Matter = "投料试车", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 6, Matter = "生产试运行", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 7, Matter = "性能考核", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 8, Matter = "生产安全", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 9, Matter = "试车进度", Grade = "" });
// list.Add(new Model.DriverSubEvaluationData() { Number = 10, Matter = "其他", Grade = "" });
break;
}
return list;
}
/// <summary>
/// 添加开车分包管理信息
/// </summary>
@@ -45,6 +133,9 @@ namespace BLL
newDriverSub.DriverSubPlanId= DriverSub.DriverSubPlanId;
newDriverSub.DriverSubContractorsId = DriverSub.DriverSubContractorsId;
newDriverSub.EvaluationData = DriverSub.EvaluationData;
newDriverSub.DriverContractCode= DriverSub.DriverContractCode;
newDriverSub.SubContractName = DriverSub.SubContractName;
newDriverSub.Evaluator= DriverSub.Evaluator;
Funs.DB.DriverSub_DriverSub.InsertOnSubmit(newDriverSub);
Funs.DB.SubmitChanges();
}
@@ -63,9 +154,91 @@ namespace BLL
newDriverSub.DriverSubPlanId = DriverSub.DriverSubPlanId;
newDriverSub.DriverSubContractorsId = DriverSub.DriverSubContractorsId;
newDriverSub.EvaluationData = DriverSub.EvaluationData;
newDriverSub.DriverContractCode = DriverSub.DriverContractCode;
newDriverSub.SubContractName = DriverSub.SubContractName;
newDriverSub.Evaluator = DriverSub.Evaluator;
Funs.DB.SubmitChanges();
}
}
public static Document Print(string driverSubPlanId, string driverSubContractorsId)
{
string rootPath = Funs.RootPath;
string initTemplatePath = string.Empty;
string uploadfilepath = string.Empty;
string newUrl = string.Empty;
initTemplatePath = "File\\Word\\TestRun\\履约情况评价表.doc";
uploadfilepath = rootPath + initTemplatePath;
newUrl = uploadfilepath.Replace(".doc", string.Format("{0:yyyy-MM}", DateTime.Now) + ".doc");
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
File.Copy(uploadfilepath, newUrl);
//定义实体
var model = GetDriverSubBySubPlanIdAndTractorsId(driverSubPlanId,driverSubContractorsId);//分包管理实体
var subContractorsModel = DriversubcontractorsService.GetDriverSub_DriverSubContractorsById(driverSubContractorsId);//分包商实体
var evaluationData = GetDriverSubEvaluationData(driverSubPlanId, driverSubContractorsId);//打分数据
var projectModel = ProjectService.GetProjectByProjectId(model.ProjectId);//项目实体
string subcontractingType = BLL.DriverSubPlanService.GetSubcontractingTypeNames(subContractorsModel.SubcontractingType);//分包类别名称
//打分数数据绑定
DataTable tb= Funs.LINQToDataTable(evaluationData);
tb.TableName = "Table";
Document doc = new Aspose.Words.Document(newUrl);
doc.MailMerge.ExecuteWithRegions(tb);
Dictionary<string, object> Dic_File = new Dictionary<string, object>();
Dic_File.Add("txtSubcontractingType", subcontractingType);
Dic_File.Add("txtProjectCode", projectModel.ProjectCode);
Dic_File.Add("txtSubContractName", model.SubContractName);
Dic_File.Add("txtDriverContractCode", model.DriverContractCode);
Dic_File.Add("txtSubUnitName",subContractorsModel.SubUnitName);
Dic_File.Add("txtEvaluator", model.Evaluator);
foreach (var item in Dic_File)
{
string[] key = { item.Key };
object[] value = { item.Value };
doc.MailMerge.Execute(key, value);
}
doc.Save(newUrl);
Document doc1 = new Aspose.Words.Document(newUrl);
File.Delete(newUrl);
return doc1;
}
public static void PrintFile(string driverSubPlanId, string driverSubContractorsId)
{
string rootPath = Funs.RootPath;
string newUrl = string.Empty;
newUrl = rootPath + "File\\Word\\TestRun\\履约情况评价表.doc";
newUrl = newUrl.Replace(".doc", string.Format("{0:yyyy-MM}", DateTime.Now) + ".doc");
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
var doc = Print(driverSubPlanId,driverSubContractorsId);
doc.Save(newUrl);
//验证参数
if (doc == null) { throw new Exception("Word文件无效"); }
string fileName = Path.GetFileName(newUrl);
FileInfo info = new FileInfo(newUrl);
long fileSize = info.Length;
System.Web.HttpContext.Current.Response.Clear();
System.Web.HttpContext.Current.Response.ContentType = "application/x-zip-compressed";
System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
System.Web.HttpContext.Current.Response.AddHeader("Content-Length", fileSize.ToString());
System.Web.HttpContext.Current.Response.TransmitFile(newUrl, 0, fileSize);
System.Web.HttpContext.Current.Response.Flush();
System.Web.HttpContext.Current.Response.Close();
File.Delete(newUrl);
}
/// <summary>
/// 根据主键删除开车分包管理
@@ -80,25 +253,12 @@ namespace BLL
Funs.DB.SubmitChanges();
}
}
//DriverSubPlanId和DriverSubContractorsId 获取对象的EvaluationData信息,将json数据EvaluationData 转换成List<Model.DriverSubEvaluationData>
public static List<Model.DriverSubEvaluationData> GetDriverSubEvaluationData(string DriverSubPlanId,
string DriverSubContractorsId)
{
List<Model.DriverSubEvaluationData> list = new List<Model.DriverSubEvaluationData>();
Model.DriverSub_DriverSub data = Funs.DB.DriverSub_DriverSub.FirstOrDefault(e => e.DriverSubPlanId == DriverSubPlanId && e.DriverSubContractorsId == DriverSubContractorsId);
if (data != null)
{
list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.DriverSubEvaluationData>>(data.EvaluationData);
}
return list;
}
//将List<Model.DriverSubEvaluationData>转换成json数据
public static string GetDriverSubEvaluationDataJson(List<Model.DriverSubEvaluationData> list)
{
return Newtonsoft.Json.JsonConvert.SerializeObject(list);
}
//DriverSubPlanId和DriverSubContractorsId 删除数据
/// <summary>
/// DriverSubPlanId和DriverSubContractorsId 删除数据
/// </summary>
/// <param name="DriverSubPlanId"></param>
/// <param name="DriverSubContractorsId"></param>
public static void DeleteDriverSubEvaluationData(string DriverSubPlanId, string DriverSubContractorsId)
{
Model.DriverSub_DriverSub data = Funs.DB.DriverSub_DriverSub.FirstOrDefault(e => e.DriverSubPlanId == DriverSubPlanId && e.DriverSubContractorsId == DriverSubContractorsId);
@@ -108,6 +268,7 @@ namespace BLL
Funs.DB.SubmitChanges();
}
}
/// <summary>
/// 根据DriverSubPlanId删除实体
/// </summary>
@@ -129,61 +290,5 @@ namespace BLL
Funs.DB.SubmitChanges();
}
}
/// <summary>
/// 获取初始化数据List<Model.DriverSubEvaluationData>
/// </summary>
/// <returns></returns>
public static List<Model.DriverSubEvaluationData> GetDriverSubEvaluationData(string type )
{
List<Model.DriverSubEvaluationData> list = new List<Model.DriverSubEvaluationData>();
switch (type)
{
case "1"://催化剂装填
list.Add(new Model.DriverSubEvaluationData() { Number = 1, Matter = "方案编制", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 2, Matter = "催化剂装填准备", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 3, Matter = "人员配合", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 4, Matter = "催化剂装填实施", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 5, Matter = "装填结果认定", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 6, Matter = "收尾处理", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 7, Matter = "其他", Grade = "" });
break;
case "2"://烘炉
list.Add(new Model.DriverSubEvaluationData() { Number = 1, Matter = "方案编制", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 2, Matter = "烘炉准备", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 3, Matter = "人员配合", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 4, Matter = "烘炉实施", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 5, Matter = "烘炉结果认定", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 6, Matter = "收尾处理", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 7, Matter = "其他", Grade = "" });
break;
case "3"://化学清洗
list.Add(new Model.DriverSubEvaluationData() { Number = 1, Matter = "方案编制", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 2, Matter = "化学清洗准备", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 3, Matter = "人员配合", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 4, Matter = "化学清洗实施", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 5, Matter = "清洗结果认定", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 6, Matter = "收尾处理", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 7, Matter = "其他", Grade = "" });
break;
case "4"://开车队
list.Add(new Model.DriverSubEvaluationData() { Number = 1, Matter = "业主人员培训", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 2, Matter = "编制技术方案", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 3, Matter = "预试车", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 4, Matter = "联动试车", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 5, Matter = "投料试车", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 6, Matter = "生产试运行", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 7, Matter = "性能考核", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 8, Matter = "生产安全", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 9, Matter = "试车进度", Grade = "" });
list.Add(new Model.DriverSubEvaluationData() { Number = 10, Matter = "其他", Grade = "" });
break;
}
return list;
}
}
}