Merge branch 'master' of http://47.104.102.122:3000/lpf/SGGL_SHJ
This commit is contained in:
@@ -70,6 +70,9 @@ namespace BLL
|
||||
StockNum = m == null ? 0 : (decimal)m.StockNum,
|
||||
NeedNum = x == null ? 0 : x.NeedNum,
|
||||
RealNum = y == null ? 0 : y.RealNum,
|
||||
Code = z == null ? null : z.Code,
|
||||
HeatNo = z == null ? null : z.HeatNo,
|
||||
BatchNo = z == null ? null : z.BatchNo,
|
||||
MaterialName = z == null ? null : z.MaterialName,
|
||||
MaterialSpec = z == null ? null : z.MaterialSpec,
|
||||
MaterialUnit = z == null ? null : z.MaterialUnit,
|
||||
@@ -213,6 +216,9 @@ var stockList = TwMaterialstockService.GetTw_MaterialStockByModle(twMaterialStoc
|
||||
PipelineCode = z.PipelineCode,
|
||||
PrefabricatedComponents = x.PrefabricatedComponents,
|
||||
MaterialCode = x.MaterialCode,
|
||||
Code = y.Code,
|
||||
HeatNo = y.HeatNo,
|
||||
BatchNo = y.BatchNo,
|
||||
MaterialName = y.MaterialName,
|
||||
MaterialSpec = y.MaterialSpec,
|
||||
MaterialUnit = y.MaterialUnit,
|
||||
@@ -240,7 +246,7 @@ var stockList = TwMaterialstockService.GetTw_MaterialStockByModle(twMaterialStoc
|
||||
/// <param name="pipelineIds"></param>
|
||||
/// <param name="warehouseCode"></param>
|
||||
/// <returns></returns>
|
||||
public static List<Tw_PipeMatMatchOutput> GetPipeMatMatch(string projectId, List<string> pipelineIds, string warehouseCode)
|
||||
public static List<Tw_PipeMatMatchOutput> GetPipeMatMatch(string projectId, List<string> pipelineIds, string warehouseCode, Dictionary<string, List<string>> priorityComponents = null)
|
||||
{
|
||||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||||
{
|
||||
@@ -261,6 +267,9 @@ var stockList = TwMaterialstockService.GetTw_MaterialStockByModle(twMaterialStoc
|
||||
UnitWorkName = m.UnitWorkName,
|
||||
PrefabricatedComponents = x.PrefabricatedComponents,
|
||||
MaterialCode = x.MaterialCode,
|
||||
Code = y.Code,
|
||||
HeatNo = y.HeatNo,
|
||||
BatchNo = y.BatchNo,
|
||||
MaterialName = y.MaterialName,
|
||||
MaterialSpec = y.MaterialSpec,
|
||||
MaterialUnit = y.MaterialUnit,
|
||||
@@ -271,7 +280,20 @@ var stockList = TwMaterialstockService.GetTw_MaterialStockByModle(twMaterialStoc
|
||||
var newRequiredMaterials = new List<Tw_PipeMatMatchOutput>();
|
||||
foreach (string id in pipelineIds)
|
||||
{
|
||||
newRequiredMaterials.AddRange(requiredMaterials.Where(x => x.PipelineId == id));
|
||||
var pipelineMaterials = requiredMaterials.Where(x => x.PipelineId == id).ToList();
|
||||
if (priorityComponents != null && priorityComponents.ContainsKey(id) && priorityComponents[id] != null && priorityComponents[id].Any())
|
||||
{
|
||||
var components = priorityComponents[id];
|
||||
newRequiredMaterials.AddRange(pipelineMaterials
|
||||
.Where(x => components.Contains(x.PrefabricatedComponents))
|
||||
.OrderBy(x => components.IndexOf(x.PrefabricatedComponents)));
|
||||
newRequiredMaterials.AddRange(pipelineMaterials
|
||||
.Where(x => !components.Contains(x.PrefabricatedComponents)));
|
||||
}
|
||||
else
|
||||
{
|
||||
newRequiredMaterials.AddRange(pipelineMaterials);
|
||||
}
|
||||
}
|
||||
results = GetMatMatchOutput(newRequiredMaterials, warehouseCode, projectId);
|
||||
return results;
|
||||
|
||||
@@ -66,6 +66,9 @@ namespace BLL
|
||||
y.PipelineCode,
|
||||
x.InOutPlanMasterId,
|
||||
x.MaterialCode,
|
||||
Code = mat.Code,
|
||||
mat.HeatNo,
|
||||
mat.BatchNo,
|
||||
x.PrefabricatedComponents,
|
||||
x.Number,
|
||||
mat.MaterialName,
|
||||
@@ -219,7 +222,10 @@ namespace BLL
|
||||
出库单编号 = master.CusBillCode,
|
||||
管线号 = pipe.PipelineCode,
|
||||
预制组件号 = x.PrefabricatedComponents,
|
||||
材料编码 = x.MaterialCode,
|
||||
材料主编码 = x.MaterialCode,
|
||||
材料编码 = y.Code,
|
||||
炉号 = y.HeatNo,
|
||||
批号 = y.BatchNo,
|
||||
材料名称 = y.MaterialName,
|
||||
材料描述 = y.MaterialDef,
|
||||
单位 = y.MaterialUnit,
|
||||
@@ -228,4 +234,4 @@ namespace BLL
|
||||
return q;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,13 +43,16 @@ namespace BLL
|
||||
InOutPlanMasterId = x.InOutPlanMasterId,
|
||||
PipelineComponentId = x.PipelineComponentId,
|
||||
MaterialCode = x.MaterialCode,
|
||||
Code = mat.Code,
|
||||
HeatNo = x.HeatNo,
|
||||
BatchNo = x.BatchNo,
|
||||
PlanNum = x.PlanNum,
|
||||
ActNum = x.ActNum,
|
||||
PipelineComponentCode = y.PipelineComponentCode,
|
||||
MaterialName = mat.MaterialName,
|
||||
MaterialDef = mat.MaterialDef,
|
||||
StockNum = stock.StockNum ?? 0,
|
||||
DeliveryDate = x.DeliveryDate,
|
||||
}
|
||||
;
|
||||
|
||||
@@ -117,11 +120,13 @@ namespace BLL
|
||||
Id = SQLHelper.GetNewID(),
|
||||
InOutPlanMasterId = inoutPlanMasterId,
|
||||
PipelineComponentId = item.PipelineComponentId,
|
||||
MaterialCode = item.MaterialCode,
|
||||
MaterialCode = item.MaterialCode + "-" + item.HeatNo + "-" + item.BatchNo,
|
||||
PlanNum = item.PlanNum,
|
||||
ActNum = item.ActNum,
|
||||
SortIndex = sortIndex,
|
||||
HeatNo = item.HeatNo
|
||||
HeatNo = item.HeatNo,
|
||||
BatchNo = item.BatchNo,
|
||||
DeliveryDate = item.DeliveryDate
|
||||
};
|
||||
sortIndex++;
|
||||
details.Add(table);
|
||||
@@ -196,4 +201,4 @@ namespace BLL
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,9 +275,9 @@ namespace BLL
|
||||
{
|
||||
//if (temeplateDtoIns.Count == 0)
|
||||
//{
|
||||
responeData.code = 0;
|
||||
responeData.message = errorWarehouseCode + "仓库不存在!";
|
||||
return responeData;
|
||||
responeData.code = 0;
|
||||
responeData.message = errorWarehouseCode + "仓库不存在!";
|
||||
return responeData;
|
||||
//}
|
||||
}
|
||||
var typeString = temeplateDtoIns.Select(x => x.TypeString).Distinct().ToList(); //获取导入文件的类型
|
||||
@@ -293,7 +293,20 @@ namespace BLL
|
||||
responeData.message = errorWarehouseCode + "每次只能导入一种类型!";
|
||||
return responeData;
|
||||
}
|
||||
|
||||
var dateTypeString = temeplateDtoIns.Select(x => x.DeliveryDate).Distinct().ToList(); //获取导入文件的类型
|
||||
foreach (var item in dateTypeString)
|
||||
{
|
||||
try
|
||||
{
|
||||
DateTime date = Convert.ToDateTime(item);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
responeData.code = 0;
|
||||
responeData.message = errorWarehouseCode + "到货时间[" + item + "]格式错误!";
|
||||
return responeData;
|
||||
}
|
||||
}
|
||||
|
||||
//var materialCodeList = temeplateDtoIns.Select(x => x.MaterialCode).Distinct().ToList(); //获取导入文件的材料编码
|
||||
//var IsExitMaterialCode =
|
||||
@@ -707,18 +720,41 @@ namespace BLL
|
||||
return;
|
||||
}
|
||||
var pipelineList = db.View_HJGL_WeldingTask.Where(e => e.UnitWorkId == unitworkid && e.UnitId == unitid && e.TaskDate.Value.Date == date.Date && e.SerialNumber == serialNumber).OrderBy(x => x.PipeLineSortIndex).Select(x => x.PipelineId).Distinct().ToList();
|
||||
var taskWeldJointIds = db.View_HJGL_WeldingTask
|
||||
.Where(e => e.UnitWorkId == unitworkid && e.UnitId == unitid && e.TaskDate.Value.Date == date.Date && e.SerialNumber == serialNumber && e.WeldJointId != null)
|
||||
.Select(e => e.WeldJointId)
|
||||
.Distinct()
|
||||
.ToList();
|
||||
var taskComponents = (from relation in db.HJGL_Pipeline_ComponentJoint
|
||||
join component in db.HJGL_Pipeline_Component on relation.PipelineComponentId equals component.PipelineComponentId into componentJoin
|
||||
from componentItem in componentJoin.DefaultIfEmpty()
|
||||
join weldJointItem in db.HJGL_WeldJoint on relation.WeldJointId equals weldJointItem.WeldJointId
|
||||
where taskWeldJointIds.Contains(relation.WeldJointId)
|
||||
&& weldJointItem.PipelineId != null
|
||||
&& (relation.PipelineComponentCode != null || (componentItem != null && componentItem.PipelineComponentCode != null))
|
||||
select new
|
||||
{
|
||||
PipelineId = weldJointItem.PipelineId,
|
||||
PipelineComponentCode = componentItem != null && componentItem.PipelineComponentCode != null ? componentItem.PipelineComponentCode : relation.PipelineComponentCode
|
||||
}).Distinct().ToList();
|
||||
//领料出库需要排除散件材料
|
||||
var MaterDatial = from x in db.HJGL_PipeLineMat
|
||||
join y in db.HJGL_MaterialCodeLib on x.MaterialCode equals y.MaterialCode
|
||||
where pipelineList.Contains(x.PipelineId) && x.PrefabricatedComponents != null
|
||||
select new
|
||||
{
|
||||
x.PipelineId,
|
||||
x.PrefabricatedComponents,
|
||||
x.MaterialCode,
|
||||
x.Number,
|
||||
y.MaterialUnit,
|
||||
};
|
||||
var allMaterDatial = (from x in db.HJGL_PipeLineMat
|
||||
join y in db.HJGL_MaterialCodeLib on x.MaterialCode equals y.MaterialCode
|
||||
where pipelineList.Contains(x.PipelineId) && x.PrefabricatedComponents != null
|
||||
select new
|
||||
{
|
||||
x.PipelineId,
|
||||
x.PrefabricatedComponents,
|
||||
x.MaterialCode,
|
||||
x.Number,
|
||||
y.MaterialUnit,
|
||||
}).ToList();
|
||||
var componentPipelineIds = taskComponents.Select(x => x.PipelineId).Distinct().ToList();
|
||||
var MaterDatial = taskComponents.Any()
|
||||
? allMaterDatial.Where(mat => !componentPipelineIds.Contains(mat.PipelineId)
|
||||
|| taskComponents.Any(component => component.PipelineId == mat.PipelineId
|
||||
&& component.PipelineComponentCode == mat.PrefabricatedComponents)).ToList()
|
||||
: allMaterDatial;
|
||||
//var outMateriaList = from x in db.HJGL_PipeLineMat
|
||||
// join y in db.HJGL_MaterialCodeLib on x.MaterialCode equals y.MaterialCode
|
||||
// where pipelineList.Contains(x.PipelineId)
|
||||
@@ -774,7 +810,7 @@ namespace BLL
|
||||
};
|
||||
TwInOutplandetailService.Add(detail);
|
||||
}
|
||||
var twinoutplandetailRelationList = MaterDatial.ToList().Select(x => new Tw_InOutPlanDetail_Relation
|
||||
var twinoutplandetailRelationList = MaterDatial.Select(x => new Tw_InOutPlanDetail_Relation
|
||||
{
|
||||
PipelineId = x.PipelineId,
|
||||
MaterialCode = x.MaterialCode,
|
||||
@@ -813,7 +849,7 @@ namespace BLL
|
||||
};
|
||||
TwInOutplandetailService.Add(detail);
|
||||
}
|
||||
var twinoutplandetailRelationList = MaterDatial.ToList().Select(x => new Tw_InOutPlanDetail_Relation
|
||||
var twinoutplandetailRelationList = MaterDatial.Select(x => new Tw_InOutPlanDetail_Relation
|
||||
{
|
||||
PipelineId = x.PipelineId,
|
||||
MaterialCode = x.MaterialCode,
|
||||
@@ -828,4 +864,4 @@ namespace BLL
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,6 +45,9 @@ namespace BLL
|
||||
InputMasterId = x.InputMasterId,
|
||||
CusBillCode = master.CusBillCode,
|
||||
MaterialCode = x.MaterialCode,
|
||||
Code = mat.Code,
|
||||
HeatNo = mat.HeatNo,
|
||||
BatchNo = mat.BatchNo,
|
||||
MaterialName = mat.MaterialName,
|
||||
MaterialDef = mat.MaterialDef,
|
||||
BarCode = x.BarCode
|
||||
|
||||
@@ -40,6 +40,9 @@ namespace BLL
|
||||
InputMasterId = x.InputMasterId,
|
||||
PipelineComponentId = x.PipelineComponentId,
|
||||
MaterialCode = x.MaterialCode,
|
||||
Code = mat.Code,
|
||||
HeatNo = mat.HeatNo,
|
||||
BatchNo = mat.BatchNo,
|
||||
PlanNum = x.PlanNum,
|
||||
ActNum = x.ActNum,
|
||||
PipelineComponentCode = y.PipelineComponentCode,
|
||||
@@ -135,7 +138,10 @@ namespace BLL
|
||||
select new
|
||||
{
|
||||
入库单编号 = y.CusBillCode,
|
||||
材料编码 = x.MaterialCode,
|
||||
材料主编码 = x.MaterialCode,
|
||||
材料编码 = mat.Code,
|
||||
炉号 = mat.HeatNo,
|
||||
批号 = mat.BatchNo,
|
||||
材料名称 = mat.MaterialName,
|
||||
材料描述 = mat.MaterialDef,
|
||||
计划数量 = x.PlanNum,
|
||||
|
||||
@@ -42,6 +42,9 @@ namespace BLL
|
||||
PipeLineMatCode = x.PipeLineMatCode,
|
||||
StockNum = x.StockNum,
|
||||
ProjectId = x.ProjectId,
|
||||
Code = mat.Code,
|
||||
HeatNo = mat.HeatNo,
|
||||
BatchNo = mat.BatchNo,
|
||||
MaterialName = mat.MaterialName,
|
||||
MaterialSpec = mat.MaterialSpec,
|
||||
MaterialUnit = mat.MaterialUnit,
|
||||
@@ -158,4 +161,4 @@ namespace BLL
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,6 +44,9 @@ namespace BLL
|
||||
TypeInt = master.TypeInt,
|
||||
PipelineComponentId = x.PipelineComponentId,
|
||||
MaterialCode = x.MaterialCode,
|
||||
Code = mat.Code,
|
||||
HeatNo = mat.HeatNo,
|
||||
BatchNo = mat.BatchNo,
|
||||
PlanNum = x.PlanNum,
|
||||
ActNum = x.ActNum,
|
||||
PipelineComponentCode = y.PipelineComponentCode,
|
||||
@@ -155,7 +158,10 @@ namespace BLL
|
||||
select new
|
||||
{
|
||||
出库单编号 = master.CusBillCode,
|
||||
材料编码 = x.MaterialCode,
|
||||
材料主编码 = x.MaterialCode,
|
||||
材料编码 = y.Code,
|
||||
炉号 = y.HeatNo,
|
||||
批号 = y.BatchNo,
|
||||
材料名称 = y.MaterialName,
|
||||
材料描述 = y.MaterialDef,
|
||||
计划数量 = x.PlanNum,
|
||||
@@ -165,4 +171,4 @@ namespace BLL
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,13 +30,15 @@
|
||||
{
|
||||
MaterialCode = codeLib.MaterialCode,
|
||||
HeatNo = codeLib.HeatNo,
|
||||
BatchNo = codeLib.BatchNo,
|
||||
MaterialName = codeLib.MaterialName,
|
||||
MaterialSpec = codeLib.MaterialSpec,
|
||||
MaterialMade = codeLib.MaterialMade,
|
||||
MaterialDef = codeLib.MaterialDef,
|
||||
PipeGrade = codeLib.PipeGrade,
|
||||
MaterialUnit = codeLib.MaterialUnit,
|
||||
ProjectId = codeLib.ProjectId
|
||||
ProjectId = codeLib.ProjectId,
|
||||
Code = codeLib.Code
|
||||
};
|
||||
db.HJGL_MaterialCodeLib.InsertOnSubmit(newCodeLib);
|
||||
db.SubmitChanges();
|
||||
@@ -58,12 +60,14 @@
|
||||
if (newCodeLib != null)
|
||||
{
|
||||
newCodeLib.HeatNo = codeLib.HeatNo;
|
||||
newCodeLib.BatchNo = codeLib.BatchNo;
|
||||
newCodeLib.MaterialName = codeLib.MaterialName;
|
||||
newCodeLib.MaterialSpec = codeLib.MaterialSpec;
|
||||
newCodeLib.MaterialMade = codeLib.MaterialMade;
|
||||
newCodeLib.MaterialDef = codeLib.MaterialDef;
|
||||
newCodeLib.PipeGrade = codeLib.PipeGrade;
|
||||
newCodeLib.MaterialUnit = codeLib.MaterialUnit;
|
||||
newCodeLib.Code = codeLib.Code;
|
||||
db.SubmitChanges();
|
||||
}
|
||||
}
|
||||
@@ -94,20 +98,28 @@
|
||||
{
|
||||
var materialCodes = from x in db.HJGL_MaterialCodeLib select x.MaterialCode;
|
||||
var ls = from x in list
|
||||
where !materialCodes.Contains(x.MaterialCode)
|
||||
where !materialCodes.Contains(x.MaterialCode + "-" + x.HeatNo + "-" + x.BatchNo)
|
||||
select x;
|
||||
List<string> codes = new List<string>();
|
||||
List<Model.HJGL_MaterialCodeLib> details = new List<Model.HJGL_MaterialCodeLib>();
|
||||
foreach (var item in ls)
|
||||
{
|
||||
Model.HJGL_MaterialCodeLib table = new Model.HJGL_MaterialCodeLib
|
||||
if (!codes.Contains(item.MaterialCode + "-" + item.HeatNo + "-" + item.BatchNo))
|
||||
{
|
||||
MaterialCode = item.MaterialCode,
|
||||
HeatNo = item.HeatNo,
|
||||
MaterialName = item.MaterialName,
|
||||
MaterialSpec = item.MaterialSpec,
|
||||
MaterialUnit = item.MaterialUnit
|
||||
};
|
||||
details.Add(table);
|
||||
Model.HJGL_MaterialCodeLib table = new Model.HJGL_MaterialCodeLib
|
||||
{
|
||||
MaterialCode = item.MaterialCode + "-" + item.HeatNo + "-" + item.BatchNo,
|
||||
HeatNo = item.HeatNo,
|
||||
BatchNo = item.BatchNo,
|
||||
MaterialName = item.MaterialName,
|
||||
MaterialSpec = item.MaterialSpec,
|
||||
MaterialUnit = item.MaterialUnit,
|
||||
MaterialDef = item.MaterialDef,
|
||||
Code = item.MaterialCode
|
||||
};
|
||||
details.Add(table);
|
||||
codes.Add(table.MaterialCode);
|
||||
}
|
||||
}
|
||||
|
||||
db.HJGL_MaterialCodeLib.InsertAllOnSubmit(details);
|
||||
|
||||
@@ -108,6 +108,9 @@ namespace BLL
|
||||
public static DataTable GetSHOPStockDt(string projectid)
|
||||
{
|
||||
string strSql = @" SELECT mat.MaterialCode,
|
||||
lib.Code,
|
||||
lib.HeatNo,
|
||||
lib.BatchNo,
|
||||
lib.MaterialName,
|
||||
lib.MaterialSpec,
|
||||
lib.MaterialUnit,
|
||||
@@ -157,7 +160,7 @@ namespace BLL
|
||||
GROUP BY stockused.MaterialCode,stockused.MaterialName,stockused.MaterialUnit,stockused.MaterialSpec,stockused.MaterialMade ) AS aa
|
||||
ON mat.MaterialCode=aa.MaterialCode
|
||||
WHERE mat.projectid=@projectid
|
||||
GROUP BY mat.MaterialCode,lib.MaterialName,lib.MaterialSpec,lib.MaterialMade,lib.MaterialUnit,aa.num
|
||||
GROUP BY mat.MaterialCode,lib.Code,lib.HeatNo,lib.BatchNo,lib.MaterialName,lib.MaterialSpec,lib.MaterialMade,lib.MaterialUnit,aa.num
|
||||
|
||||
";
|
||||
List<SqlParameter> listStr = new List<SqlParameter>();
|
||||
@@ -171,6 +174,9 @@ namespace BLL
|
||||
{
|
||||
string strSql = @"
|
||||
SELECT mat.MaterialCode,
|
||||
lib.Code,
|
||||
lib.HeatNo,
|
||||
lib.BatchNo,
|
||||
lib.MaterialName,
|
||||
lib.MaterialSpec,
|
||||
lib.MaterialUnit,
|
||||
@@ -223,7 +229,7 @@ namespace BLL
|
||||
ON mat.MaterialCode=aa.MaterialCode
|
||||
WHERE mat.projectid=@Projectid
|
||||
AND Ins.State=@State
|
||||
GROUP BY mat.MaterialCode,lib.MaterialName,lib.MaterialSpec,lib.MaterialMade,lib.MaterialUnit,aa.num ";
|
||||
GROUP BY mat.MaterialCode,lib.Code,lib.HeatNo,lib.BatchNo,lib.MaterialName,lib.MaterialSpec,lib.MaterialMade,lib.MaterialUnit,aa.num ";
|
||||
List<SqlParameter> listStr = new List<SqlParameter>();
|
||||
listStr.Add(new SqlParameter("@Projectid", projectid));
|
||||
listStr.Add(new SqlParameter("@PipeArea", BLL.PipelineService.PipeArea_SHOP));
|
||||
|
||||
Reference in New Issue
Block a user