This commit is contained in:
2024-09-24 20:38:50 +08:00
parent 4e9832dc8a
commit 8edf7e1389
46 changed files with 3109 additions and 748 deletions
+35 -34
View File
@@ -1,38 +1,38 @@
using System.Collections.Generic;
namespace BLL;
public class TwConst
namespace BLL
{
public enum InOutType : int
public class TwConst
{
= 1,
= 2,
}
public enum TypeInt : int
{
= 10,
退 = 20,
= 30,
= 40,
= 50,
= 60,
}
public enum Category : int
{
= 0,
= 1,
= 2,
}
public enum State : int
{
= -1,
= 0,
= 1,
= 2,
= 3,
}
public static Dictionary<string, int> TypeIntMap = new Dictionary<string, int>
public enum InOutType : int
{
= 1,
= 2,
}
public enum TypeInt : int
{
= 10,
退 = 20,
= 30,
= 40,
= 50,
= 60,
}
public enum Category : int
{
= 0,
= 1,
= 2,
}
public enum State : int
{
= -1,
= 0,
= 1,
= 2,
= 3,
}
public static Dictionary<string, int> TypeIntMap = new Dictionary<string, int>
{
{ "采购入库" ,(int)TypeInt.},
{ "退料入库" ,(int)TypeInt.退},
@@ -41,7 +41,7 @@ public class TwConst
{ "补料出库" ,(int)TypeInt.},
{ "其他出库" ,(int)TypeInt.}
};
public static Dictionary<string, int> StateMap = new Dictionary<string, int>
public static Dictionary<string, int> StateMap = new Dictionary<string, int>
{
{ "待提交" ,(int)State.},
{ "待审核" ,(int)State.},
@@ -49,9 +49,10 @@ public class TwConst
{ "已完成" ,(int)State.},
{ "审核被拒" ,(int)State.},
};
public static Dictionary<string, int> CategoryMap = new Dictionary<string, int>
public static Dictionary<string, int> CategoryMap = new Dictionary<string, int>
{
{ "管件" ,(int)Category.},
{ "管段" ,(int)Category.},
{ "管段" ,(int)Category.},
};
}
}
@@ -0,0 +1,200 @@
using FineUIPro;
using Model;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BLL
{
public static class TwInoutplandetailRelationService
{
#region
/// <summary>
/// 记录数
/// </summary>
public static int Count
{
get;
set;
}
public static IQueryable<Model.Tw_InOutPlanDetail_Relation> GetTw_InOutPlanDetail_RelationByModle(Model.Tw_InOutPlanDetail_Relation table)
{
var q = from x in Funs.DB.Tw_InOutPlanDetail_Relation
where
(string.IsNullOrEmpty(table.Id) || x.Id.Contains(table.Id)) &&
(string.IsNullOrEmpty(table.PipelineId) || x.PipelineId.Contains(table.PipelineId)) &&
(string.IsNullOrEmpty(table.InOutPlanMasterId) || x.InOutPlanMasterId.Contains(table.InOutPlanMasterId)) &&
(string.IsNullOrEmpty(table.MaterialCode) || x.MaterialCode.Contains(table.MaterialCode)) &&
(string.IsNullOrEmpty(table.PrefabricatedComponents) || x.PrefabricatedComponents.Contains(table.PrefabricatedComponents))
select x
;
return q;
}
/// <summary>
/// 获取分页列表
/// </summary>
/// <param name="table"></param>
/// <param name="grid1"></param>
/// <returns></returns>
public static IEnumerable GetListData(Model.Tw_InOutPlanDetail_Relation table, Grid grid1)
{
var q = GetTw_InOutPlanDetail_RelationByModle(table);
Count = q.Count();
if (Count == 0)
{
return null;
}
q = q.Skip(grid1.PageSize * grid1.PageIndex).Take(grid1.PageSize);
// q = SortConditionHelper.SortingAndPaging(q, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize);
return from x in q
join y in Funs.DB.HJGL_Pipeline on x.PipelineId equals y.PipelineId
join mat in Funs.DB.HJGL_MaterialCodeLib on x.MaterialCode equals mat.MaterialCode into mm
from mat in mm.DefaultIfEmpty()
orderby x.PipelineId, x.PrefabricatedComponents
select new
{
x.Id,
x.PipelineId,
y.PipelineCode,
x.InOutPlanMasterId,
x.MaterialCode,
x.PrefabricatedComponents,
x.Number,
mat.MaterialName,
};
}
#endregion
public static Model.Tw_InOutPlanDetail_Relation GetById(string Id)
{
return Funs.DB.Tw_InOutPlanDetail_Relation.FirstOrDefault(x => x.Id == Id);
}
public static void Add(Model.Tw_InOutPlanDetail_Relation newtable)
{
Model.Tw_InOutPlanDetail_Relation table = new Model.Tw_InOutPlanDetail_Relation
{
Id = newtable.Id,
PipelineId = newtable.PipelineId,
InOutPlanMasterId = newtable.InOutPlanMasterId,
MaterialCode = newtable.MaterialCode,
PrefabricatedComponents = newtable.PrefabricatedComponents,
Number = newtable.Number,
};
Funs.DB.Tw_InOutPlanDetail_Relation.InsertOnSubmit(table);
Funs.DB.SubmitChanges();
}
/// <summary>
/// 批量添加计划明细
/// </summary>
/// <param name="list"></param>
/// <param name="inoutPlanMasterId"></param>
public static void AddList(IEnumerable<Model.Tw_InOutPlanDetail_Relation> list, string inoutPlanMasterId)
{
foreach (var item in list)
{
item.Id = SQLHelper.GetNewID();
item.InOutPlanMasterId = inoutPlanMasterId;
Add(item);
}
}
public static void Update(Model.Tw_InOutPlanDetail_Relation newtable)
{
Model.Tw_InOutPlanDetail_Relation table = Funs.DB.Tw_InOutPlanDetail_Relation.FirstOrDefault(x => x.Id == newtable.Id);
if (table != null)
{
table.Id = newtable.Id;
table.PipelineId = newtable.PipelineId;
table.InOutPlanMasterId = newtable.InOutPlanMasterId;
table.MaterialCode = newtable.MaterialCode;
table.PrefabricatedComponents = newtable.PrefabricatedComponents;
table.Number = newtable.Number;
Funs.DB.SubmitChanges();
}
}
public static void DeleteById(string Id)
{
Model.Tw_InOutPlanDetail_Relation table = Funs.DB.Tw_InOutPlanDetail_Relation.FirstOrDefault(x => x.Id == Id);
if (table != null)
{
Funs.DB.Tw_InOutPlanDetail_Relation.DeleteOnSubmit(table);
Funs.DB.SubmitChanges();
}
}
public static void DeleteByInOutPlanMasterId(string inoutPlanMasterId)
{
var list = Funs.DB.Tw_InOutPlanDetail_Relation.Where(x => x.InOutPlanMasterId == inoutPlanMasterId);
if (list != null)
{
Funs.DB.Tw_InOutPlanDetail_Relation.DeleteAllOnSubmit(list);
Funs.DB.SubmitChanges();
}
}
public static void InsertByPipeLineMat(string inOutPlanMasterId, List<Model.Tw_PipeLineMat> tw_PipeLineMats)
{
var master =TwInOutplanmasterService.GetById(inOutPlanMasterId);
if (master == null)
{
return;
}
var outMateriaList = from x in tw_PipeLineMats
group x by new { x.MaterialCode, x.MaterialUnit }
into g
select new
{
g.Key.MaterialCode,
planNum = g.Sum(x => x.Number) ?? 0,
MaterialName = g.Key.MaterialUnit,
};
switch (master.Category)
{
case (int)TwConst.Category.:
outMateriaList.Where(x => x.MaterialName.Contains("米"));//管段
break;
case (int)TwConst.Category.:
outMateriaList.Where(x => x.MaterialName.Contains("个"));//管件
break;
}
foreach (var item in outMateriaList)
{
Model.Tw_InOutPlanDetail detail = new Model.Tw_InOutPlanDetail
{
Id = Guid.NewGuid().ToString(),
InOutPlanMasterId = inOutPlanMasterId,
MaterialCode = item.MaterialCode,
PlanNum = item.planNum,
};
TwInOutplandetailService.Add(detail);
}
var twinoutplandetailRelationList = tw_PipeLineMats.Select(x => new Tw_InOutPlanDetail_Relation
{
PipelineId = x.PipelineId,
MaterialCode = x.MaterialCode,
Number = x.Number,
PrefabricatedComponents = x.PrefabricatedComponents,
}).ToList();
TwInoutplandetailRelationService.AddList(twinoutplandetailRelationList, inOutPlanMasterId);
}
}
}
+25 -3
View File
@@ -74,8 +74,6 @@ namespace BLL
{
return Funs.DB.Tw_InOutPlanDetail.FirstOrDefault(x => x.Id == Id);
}
public static void Add(Model.Tw_InOutPlanDetail newtable)
{
if (string.IsNullOrEmpty(newtable.Id))
@@ -136,7 +134,6 @@ namespace BLL
}
}
public static void DeleteByInOutPlanMasterId (string inoutPlanMasterId)
{
var list = Funs.DB.Tw_InOutPlanDetail.Where(x => x.InOutPlanMasterId == inoutPlanMasterId);
@@ -147,5 +144,30 @@ namespace BLL
}
}
public static void GenInOutPlanDetailByInoutPlanMasterId(string inOutPlanMasterId)
{
var list = Funs.DB.Tw_InOutPlanDetail_Relation.Where(x => x.InOutPlanMasterId == inOutPlanMasterId).ToList();
var outMateriaList = from x in list
group x by x.MaterialCode
into g
select new
{
g.Key,
planNum = g.Sum(x => x.Number) ?? 0
};
TwInOutplandetailService.DeleteByInOutPlanMasterId(inOutPlanMasterId);
foreach (var item in outMateriaList)
{
Model.Tw_InOutPlanDetail detail = new Model.Tw_InOutPlanDetail
{
Id = Guid.NewGuid().ToString(),
InOutPlanMasterId = inOutPlanMasterId,
MaterialCode = item.Key,
PlanNum = item.planNum,
};
TwInOutplandetailService.Add(detail);
}
}
}
}
+223 -41
View File
@@ -35,6 +35,10 @@ namespace BLL
from y in yy.DefaultIfEmpty()
join person in Funs.DB.Person_Persons on x.CreateMan equals person.PersonId into persons
from person in persons.DefaultIfEmpty()
join auditperson in Funs.DB.Person_Persons on x.AuditMan equals auditperson.PersonId into auditpersons
from auditperson in auditpersons.DefaultIfEmpty()
join auditperson2 in Funs.DB.Person_Persons on x.AuditMan2 equals auditperson2.PersonId into auditpersons2
from auditperson2 in auditpersons2.DefaultIfEmpty()
join unit in Funs.DB.Base_Unit on x.ReqUnitId equals unit.UnitId into units
from unit in units.DefaultIfEmpty()
where
@@ -69,7 +73,13 @@ namespace BLL
ReqUnitId = x.ReqUnitId,
ReqUnitName = unit.UnitName,
UnitWorkId = y.UnitWorkId,
WeldTaskCode = y.TaskCode
WeldTaskCode = y.TaskCode,
AuditMan = x.AuditMan,
AuditManName = auditperson.PersonName,
AuditDate = x.AuditDate,
Remark = x.Remark,
AuditManName2 = auditperson2.PersonName,
AuditDate2 = x.AuditDate2,
}
;
@@ -82,43 +92,6 @@ namespace BLL
/// <param name="table"></param>
/// <param name="grid1"></param>
/// <returns></returns>
public static IEnumerable GetListData(Model.Tw_InOutMasterOutput table, Grid grid1)
{
var q = GetModle(table);
Count = q.Count();
if (Count == 0)
{
return null;
}
var result = q.Skip(grid1.PageSize * grid1.PageIndex).Take(grid1.PageSize).ToList();
// q = SortConditionHelper.SortingAndPaging(q, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize);
return from x in result
select new Model.Tw_InOutMasterOutput
{
Id = x.Id,
ProjectId = x.ProjectId,
CusBillCode = x.CusBillCode,
WarehouseCode = x.WarehouseCode,
Source = x.Source,
InOutType = x.InOutType,
TypeInt = x.TypeInt,
Category = x.Category,
State = x.State,
CreateMan = x.CreateMan,
CreateManName = x.CreateManName,
CreateDate = x.CreateDate,
OutputMasterId = x.OutputMasterId,
WeldTaskId = x.WeldTaskId,
ReqUnitId = x.ReqUnitId,
ReqUnitName = x.ReqUnitName,
UnitWorkId = x.UnitWorkId,
WeldTaskCode= x.WeldTaskId!=null? x.WeldTaskId.Contains('|')? Funs.DB.HJGL_WeldTask.FirstOrDefault(e => e.UnitWorkId == x.WeldTaskId.Split('|')[0].ToString() && e.UnitId == x.WeldTaskId.Split('|')[1].ToString() && e.TaskDate.Value.Date == Convert.ToDateTime(x.WeldTaskId.Split('|')[2].ToString()).Date)?.TaskCode :"":"",
CategoryString = TwConst.CategoryMap.FirstOrDefault(y => y.Value == x.Category).Key,
TypeString = TwConst.TypeIntMap.FirstOrDefault(y => y.Value == x.TypeInt).Key,
StateString = TwConst.StateMap.FirstOrDefault(y => y.Value == x.State).Key
};
}
public static List<Tw_InOutMasterOutput> GetListData(Model.Tw_InOutMasterOutput table)
{
@@ -154,10 +127,61 @@ namespace BLL
WeldTaskCode = x.WeldTaskId != null ? x.WeldTaskId.Contains('|') ? Funs.DB.HJGL_WeldTask.FirstOrDefault(e => e.UnitWorkId == x.WeldTaskId.Split('|')[0].ToString() && e.UnitId == x.WeldTaskId.Split('|')[1].ToString() && e.TaskDate.Value.Date == Convert.ToDateTime(x.WeldTaskId.Split('|')[2].ToString()).Date)?.TaskCode : "" : "",
CategoryString = TwConst.CategoryMap.FirstOrDefault(y => y.Value == x.Category).Key,
TypeString = TwConst.TypeIntMap.FirstOrDefault(y => y.Value == x.TypeInt).Key,
StateString = TwConst.StateMap.FirstOrDefault(y => y.Value == x.State).Key
StateString = TwConst.StateMap.FirstOrDefault(y => y.Value == x.State).Key,
AuditMan = x.AuditMan,
AuditManName = x.AuditManName,
AuditDate = x.AuditDate,
Remark = x.Remark,
AuditManName2 = x.AuditManName2,
AuditDate2 = x.AuditDate2,
}).ToList();
}
public static IEnumerable GetListData(Model.Tw_InOutMasterOutput table, Grid grid1)
{
var q = GetModle(table);
Count = q.Count();
if (Count == 0)
{
return null;
}
var result = q.Skip(grid1.PageSize * grid1.PageIndex).Take(grid1.PageSize).ToList();
// q = SortConditionHelper.SortingAndPaging(q, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize);
return from x in result
select new Model.Tw_InOutMasterOutput
{
Id = x.Id,
ProjectId = x.ProjectId,
CusBillCode = x.CusBillCode,
WarehouseCode = x.WarehouseCode,
Source = x.Source,
InOutType = x.InOutType,
TypeInt = x.TypeInt,
Category = x.Category,
State = x.State,
CreateMan = x.CreateMan,
CreateManName = x.CreateManName,
CreateDate = x.CreateDate,
OutputMasterId = x.OutputMasterId,
WeldTaskId = x.WeldTaskId,
ReqUnitId = x.ReqUnitId,
ReqUnitName = x.ReqUnitName,
UnitWorkId = x.UnitWorkId,
WeldTaskCode = x.WeldTaskId != null ? x.WeldTaskId.Contains('|') ? Funs.DB.HJGL_WeldTask.FirstOrDefault(e => e.UnitWorkId == x.WeldTaskId.Split('|')[0].ToString() && e.UnitId == x.WeldTaskId.Split('|')[1].ToString() && e.TaskDate.Value.Date == Convert.ToDateTime(x.WeldTaskId.Split('|')[2].ToString()).Date)?.TaskCode : "" : "",
CategoryString = TwConst.CategoryMap.FirstOrDefault(y => y.Value == x.Category).Key,
TypeString = TwConst.TypeIntMap.FirstOrDefault(y => y.Value == x.TypeInt).Key,
StateString = TwConst.StateMap.FirstOrDefault(y => y.Value == x.State).Key,
AuditMan = x.AuditMan,
AuditManName = x.AuditManName,
AuditDate = x.AuditDate,
Remark = x.Remark,
AuditManName2 = x.AuditManName2,
AuditDate2 = x.AuditDate2,
};
}
#endregion
/// <summary>
@@ -167,7 +191,7 @@ namespace BLL
/// <param name="projectid"></param>
/// <param name="creatUserId"></param>
/// <returns></returns>
public static ResponeData ImportData(string path, string projectid, string creatUserId)
public static ResponeData ImportData(string OriFileName,string path, string projectid, string creatUserId)
{
var responeData = new ResponeData();
List<Tw_InputDataIn> temeplateDtoIns;
@@ -259,6 +283,7 @@ namespace BLL
twInOutPlanMaster.ProjectId = projectid;
twInOutPlanMaster.CreateMan = creatUserId;
twInOutPlanMaster.CreateDate = DateTime.Now;
twInOutPlanMaster.Remark = OriFileName;
Add(twInOutPlanMaster);
TwInOutplandetailService.AddList(twInOutPlanDetails, twInOutPlanMaster.Id); //插入入库明细
@@ -290,6 +315,11 @@ namespace BLL
OutputMasterId = newtable.OutputMasterId,
WeldTaskId = newtable.WeldTaskId,
ReqUnitId = newtable.ReqUnitId,
AuditMan = newtable.AuditMan,
AuditDate = newtable.AuditDate,
Remark = newtable.Remark,
AuditMan2=newtable.AuditMan2,
AuditDate2=newtable.AuditDate2,
};
Funs.DB.Tw_InOutPlanMaster.InsertOnSubmit(table);
Funs.DB.SubmitChanges();
@@ -314,6 +344,11 @@ namespace BLL
table.OutputMasterId = newtable.OutputMasterId;
table.WeldTaskId = newtable.WeldTaskId;
table.ReqUnitId = newtable.ReqUnitId;
table.AuditMan = newtable.AuditMan;
table.AuditDate = newtable.AuditDate;
table.Remark = newtable.Remark;
table.AuditMan2 = newtable.AuditMan2;
table.AuditDate2 = newtable.AuditDate2;
Funs.DB.SubmitChanges();
}
@@ -325,6 +360,7 @@ namespace BLL
if (table != null)
{
TwInOutplandetailService.DeleteByInOutPlanMasterId(table.Id);
TwInoutplandetailRelationService.DeleteByInOutPlanMasterId(table.Id);
Funs.DB.Tw_InOutPlanMaster.DeleteOnSubmit(table);
Funs.DB.SubmitChanges();
@@ -405,7 +441,7 @@ namespace BLL
Source = 2,
Category = outMaster.Category,
TypeInt = outMaster.TypeInt,
State = (int)TwConst.State.,
State = (int)TwConst.State.,
CreateMan = outMaster.CreateMan,
CreateDate = DateTime.Now,
ReqUnitId = outMaster.ReqUnitId,
@@ -473,5 +509,151 @@ namespace BLL
}
return cusBillCode;
}
/// <summary>
/// 根据任务单生成出库计划单
/// </summary>
/// <param name="unitworkid"></param>
/// <param name="unitid"></param>
/// <param name="date"></param>
/// <param name="Personid"></param>
public static void GenOutPlanmasterByWeldTaskId(string unitworkid,string unitid,DateTime date,string Personid)
{
Model.SGGLDB db = Funs.DB;
Model.View_HJGL_WeldingTask weldTask = db.View_HJGL_WeldingTask.FirstOrDefault(e => e.UnitWorkId==unitworkid && e.UnitId==unitid&& e.TaskDate.Value.Date==date.Date);
if (weldTask==null)
{
return;
}
string WeldTaskId= unitworkid+"|"+unitid+ "|" + string.Format("{0:yyyyMMMMdd}", date);
//判断是否已经生成过出库计划单
var queryIsExitInMaster = new Tw_InOutMasterOutput();
queryIsExitInMaster.WeldTaskId = WeldTaskId;
queryIsExitInMaster.InOutType=(int)TwConst.InOutType.;
queryIsExitInMaster.TypeInt = (int)TwConst.TypeInt.;
var IsExitInMaster = TwInOutplanmasterService.GetModle(queryIsExitInMaster).FirstOrDefault();
if (IsExitInMaster != null)
{
return;
}
var pipelineList = db.View_HJGL_WeldingTask.Where(e => e.UnitWorkId == unitworkid && e.UnitId == unitid && e.TaskDate.Value.Date == date.Date).Select(x=>x.PipelineId).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)
select new
{
x.PipelineId,
x.PrefabricatedComponents,
x.MaterialCode,
x.Number,
y.MaterialUnit,
};
//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)
// group x by new { x.MaterialCode, y.MaterialUnit }
// into g
// select new
// {
// g.Key.MaterialCode,
// planNum = g.Sum(x => x.Number) ?? 0,
// MaterialName = g.Key.MaterialUnit,
// };
var outMateriaList = from x in MaterDatial
group x by new { x.MaterialCode, x.MaterialUnit }
into g
select new
{
g.Key.MaterialCode,
planNum = g.Sum(x => x.Number) ?? 0,
MaterialName = g.Key.MaterialUnit,
};
var outPlanDetailListPiece = outMateriaList.Where(x => x.MaterialName.Contains("个"));//管件
var outPlanDetailListOthere = outMateriaList.Where(x => x.MaterialName.Contains("米"));//管段
var weldTaskCode = WeldTaskService.GetWeldTaskById(weldTask.WeldTaskId)?.TaskCode;
if (outPlanDetailListPiece.Any())
{
Model.Tw_InOutPlanMaster table = new Model.Tw_InOutPlanMaster
{
Id = Guid.NewGuid().ToString(),
ProjectId = weldTask.ProjectId,
// CusBillCode = string.Format("{0:yyyyMMdd}", DateTime.Now) + UnitService.GetUnitCodeByUnitId(weldTask.UnitId) + "-" + UnitWorkService.getUnitWorkByUnitWorkId(weldTask.UnitWorkId)?.UnitWorkCode + "AP-PF01",
CusBillCode=TwInOutplanmasterService.GetCusBillCodeByTaskCode(weldTaskCode,TwConst.TypeInt.,TwConst.Category.),
WarehouseCode = PipelineService.GetPipeArea().Where(x => x.Value == PipelineService.GetPipelineByPipelineId(weldTask.PipelineId).PipeArea).Select(x => x.Text).FirstOrDefault(),
Source = 1,
InOutType = (int)TwConst.InOutType.,
TypeInt = (int)TwConst.TypeInt.,
State = (int)TwConst.State.,
Category = (int)TwConst.Category.,
CreateMan = Personid,
CreateDate = DateTime.Now,
WeldTaskId = WeldTaskId,
ReqUnitId = weldTask.UnitId,
};
TwInOutplanmasterService.Add(table);
foreach (var item in outPlanDetailListPiece)
{
Model.Tw_InOutPlanDetail detail = new Model.Tw_InOutPlanDetail
{
Id = Guid.NewGuid().ToString(),
InOutPlanMasterId = table.Id,
MaterialCode = item.MaterialCode,
PlanNum = item.planNum,
};
TwInOutplandetailService.Add(detail);
}
var twinoutplandetailRelationList = MaterDatial.ToList().Select(x => new Tw_InOutPlanDetail_Relation
{
PipelineId = x.PipelineId,
MaterialCode = x.MaterialCode,
Number = x.Number,
PrefabricatedComponents = x.PrefabricatedComponents,
}).ToList();
TwInoutplandetailRelationService.AddList(twinoutplandetailRelationList, table.Id);
}
if (outPlanDetailListOthere.Any())
{
Model.Tw_InOutPlanMaster table = new Model.Tw_InOutPlanMaster
{
Id = Guid.NewGuid().ToString(),
ProjectId = weldTask.ProjectId,
CusBillCode =TwInOutplanmasterService.GetCusBillCodeByTaskCode(weldTaskCode, TwConst.TypeInt., TwConst.Category.),
WarehouseCode = PipelineService.GetPipeArea().Where(x => x.Value == PipelineService.GetPipelineByPipelineId(weldTask.PipelineId).PipeArea).Select(x => x.Text).FirstOrDefault(),
Source = 1,
InOutType = (int)TwConst.InOutType.,
TypeInt = (int)TwConst.TypeInt.,
State = (int)TwConst.State.,
Category = (int)TwConst.Category.,
CreateMan = Personid,
CreateDate = DateTime.Now,
WeldTaskId = WeldTaskId,
ReqUnitId = weldTask.UnitId,
};
TwInOutplanmasterService.Add(table);
foreach (var item in outPlanDetailListOthere)
{
Model.Tw_InOutPlanDetail detail = new Model.Tw_InOutPlanDetail
{
Id = Guid.NewGuid().ToString(),
InOutPlanMasterId = table.Id,
MaterialCode = item.MaterialCode,
PlanNum = item.planNum,
};
TwInOutplandetailService.Add(detail);
}
var twinoutplandetailRelationList = MaterDatial.ToList().Select(x => new Tw_InOutPlanDetail_Relation
{
PipelineId = x.PipelineId,
MaterialCode = x.MaterialCode,
Number = x.Number,
PrefabricatedComponents = x.PrefabricatedComponents,
}).ToList();
TwInoutplandetailRelationService.AddList(twinoutplandetailRelationList, table.Id);
}
}
}
}
+38 -13
View File
@@ -26,10 +26,13 @@ namespace BLL
var q = from x in Funs.DB.Tw_InputMaster
join person in Funs.DB.Person_Persons on x.CreateMan equals person.PersonId into persons
from person in persons.DefaultIfEmpty()
join auditperson in Funs.DB.Person_Persons on x.AuditMan equals auditperson.PersonId into auditpersons
from auditperson in auditpersons.DefaultIfEmpty()
join unit in Funs.DB.Base_Unit on x.ReqUnitId equals unit.UnitId into units
from unit in units.DefaultIfEmpty()
where
(string.IsNullOrEmpty(table.Id) || x.Id.Contains(table.Id)) &&
(string.IsNullOrEmpty(table.InOutPlanMasterId) || x.InOutPlanMasterId.Contains(table.InOutPlanMasterId)) &&
(string.IsNullOrEmpty(table.ProjectId) || x.ProjectId.Contains(table.ProjectId)) &&
(string.IsNullOrEmpty(table.CusBillCode) || x.CusBillCode.Contains(table.CusBillCode)) &&
(string.IsNullOrEmpty(table.WarehouseCode) || x.WarehouseCode.Contains(table.WarehouseCode)) &&
@@ -53,7 +56,11 @@ namespace BLL
CreateManName = person.PersonName,
CreateDate = x.CreateDate,
ReqUnitId = x.ReqUnitId,
ReqUnitName = unit.UnitName,
ReqUnitName = unit.UnitName,
AuditMan = x.AuditMan,
AuditManName = auditperson.PersonName,
AuditDate = x.AuditDate,
Remark = x.Remark
};
return q;
@@ -94,7 +101,11 @@ namespace BLL
Category = x.Category,
CategoryString = TwConst.CategoryMap.FirstOrDefault(y => y.Value == x.Category).Key,
TypeString = TwConst.TypeIntMap.FirstOrDefault(y => y.Value == x.TypeInt).Key,
StateString = TwConst.StateMap.FirstOrDefault(y => y.Value == x.State).Key
StateString = TwConst.StateMap.FirstOrDefault(y => y.Value == x.State).Key,
AuditMan = x.AuditMan,
AuditManName = x.AuditManName,
AuditDate = x.AuditDate,
Remark=x.Remark
};
}
@@ -127,7 +138,11 @@ namespace BLL
Category = x.Category,
CategoryString = TwConst.CategoryMap.FirstOrDefault(y => y.Value == x.Category).Key,
TypeString = TwConst.TypeIntMap.FirstOrDefault(y => y.Value == x.TypeInt).Key,
StateString = TwConst.StateMap.FirstOrDefault(y => y.Value == x.State).Key
StateString = TwConst.StateMap.FirstOrDefault(y => y.Value == x.State).Key,
AuditMan = x.AuditMan,
AuditManName = x.AuditManName,
AuditDate = x.AuditDate,
Remark = x.Remark
}).ToList();
}
#endregion
@@ -155,6 +170,9 @@ namespace BLL
CreateMan = newtable.CreateMan,
CreateDate = newtable.CreateDate,
ReqUnitId = newtable.ReqUnitId,
AuditMan= newtable.AuditMan,
AuditDate = newtable.AuditDate,
Remark = newtable.Remark
};
Funs.DB.Tw_InputMaster.InsertOnSubmit(table);
Funs.DB.SubmitChanges();
@@ -178,6 +196,9 @@ namespace BLL
table.CreateMan = newtable.CreateMan;
table.CreateDate = newtable.CreateDate;
table.ReqUnitId = newtable.ReqUnitId;
table.AuditMan = newtable.AuditMan;
table.AuditDate = newtable.AuditDate;
table.Remark = newtable.Remark;
Funs.DB.SubmitChanges();
}
@@ -197,7 +218,7 @@ namespace BLL
/// <summary>
/// 根据计划单生成入库单
/// </summary>
public static void GenInMasterByPlanId(string planId)
public static void GenInMasterByPlanId(string planId, List<Model.Tw_InputDetail> detailLists)
{
//获取计划单
var planQueryModel = new Tw_InOutMasterOutput();
@@ -231,6 +252,9 @@ namespace BLL
CreateMan = plan.CreateMan,
CreateDate = DateTime.Now,
ReqUnitId = plan.ReqUnitId,
AuditMan = plan.CreateMan,
AuditDate = plan.AuditDate,
Remark=plan.Remark
};
if ((TwConst.TypeInt)plan.TypeInt!= TwConst.TypeInt.)
{
@@ -238,24 +262,25 @@ namespace BLL
(BLL.TwConst.Category)plan.Category);
}
else
{
master.CusBillCode= plan.CusBillCode.Replace("-AP", "");
}
Add(master);
//生成明细
Tw_InOutDetailOutput query = new Tw_InOutDetailOutput();
query.InOutPlanMasterId= planId;
var details = TwInOutplandetailService.GetByModle(query).ToList();
foreach (var detail in details)
foreach (var detail in detailLists)
{
var detailTable = new Model.Tw_InputDetail()
{
Id = Guid.NewGuid().ToString(),
InputMasterId = master.Id,
MaterialCode = detail.MaterialCode,
PlanNum = detail.PlanNum,
ActNum = detail.PlanNum,
PlanNum = detail.PlanNum,
ActNum = detail.ActNum,
};
TwInputdetailService.Add(detailTable);
TwMaterialstockService.UpdateStockNum(master.ProjectId, detail.MaterialCode, master.WarehouseCode, TwConst.InOutType., detailTable.ActNum);
TwInputdetailService.Add(detailTable);
TwMaterialstockService.UpdateStockNum(master.ProjectId, detail.MaterialCode, master.WarehouseCode, TwConst.InOutType., detailTable.ActNum);
}
plan.State= (int)TwConst.State.;
TwInOutplanmasterService.Update(plan);
+6 -1
View File
@@ -1,4 +1,5 @@
using FineUIPro;
using NPOI.OpenXmlFormats.Wordprocessing;
using System;
using System.Collections;
using System.Collections.Generic;
@@ -28,6 +29,8 @@ namespace BLL
from y in yy.DefaultIfEmpty()
join mat in Funs.DB.HJGL_MaterialCodeLib on x.MaterialCode equals mat.MaterialCode into mm
from mat in mm.DefaultIfEmpty()
join stock in Funs.DB.Tw_MaterialStock on x.MaterialCode equals stock.PipeLineMatCode into st
from stock in st.DefaultIfEmpty()
where
(string.IsNullOrEmpty(table.Id) || x.Id.Contains(table.Id)) &&
(string.IsNullOrEmpty(table.OutputMasterId) || x.OutputMasterId.Contains(table.OutputMasterId)) &&
@@ -43,7 +46,9 @@ namespace BLL
ActNum = x.ActNum,
PipelineComponentCode = y.PipelineComponentCode,
MaterialName = mat.MaterialName,
}
StockNum = stock.StockNum ?? 0,
DiffNum = (x.ActNum??0) - (x.PlanNum??0),
}
;
return q;
+28 -7
View File
@@ -32,7 +32,9 @@ namespace BLL
//from z in zz.DefaultIfEmpty()
join person in Funs.DB.Person_Persons on x.CreateMan equals person.PersonId into persons
from person in persons.DefaultIfEmpty()
join unit in Funs.DB.Base_Unit on x.ReqUnitId equals unit.UnitId into units
join auditperson in Funs.DB.Person_Persons on x.AuditMan equals auditperson.PersonId into auditpersons
from auditperson in auditpersons.DefaultIfEmpty()
join unit in Funs.DB.Base_Unit on x.ReqUnitId equals unit.UnitId into units
from unit in units.DefaultIfEmpty()
where
(string.IsNullOrEmpty(table.Id) || x.Id.Contains(table.Id)) &&
@@ -62,7 +64,10 @@ namespace BLL
CreateDate = x.CreateDate,
ReqUnitId = x.ReqUnitId,
ReqUnitName = unit.UnitName,
WeldTaskId = y.WeldTaskId,
WeldTaskId = y.WeldTaskId,
AuditMan = x.AuditMan,
AuditManName = auditperson.PersonName,
AuditDate = x.AuditDate,
};
return q;
@@ -105,6 +110,9 @@ namespace BLL
CategoryString = TwConst.CategoryMap.FirstOrDefault(y => y.Value == x.Category).Key,
WeldTaskId = x.WeldTaskId,
WeldTaskCode = x.WeldTaskId != null ? x.WeldTaskId.Contains('|') ? Funs.DB.HJGL_WeldTask.FirstOrDefault(e => e.UnitWorkId == x.WeldTaskId.Split('|')[0].ToString() && e.UnitId == x.WeldTaskId.Split('|')[1].ToString() && e.TaskDate.Value.Date == Convert.ToDateTime(x.WeldTaskId.Split('|')[2].ToString()).Date)?.TaskCode : "" : "",
AuditMan = x.AuditMan,
AuditManName = x.AuditManName,
AuditDate = x.AuditDate
};
}
@@ -140,6 +148,9 @@ namespace BLL
CategoryString = TwConst.CategoryMap.FirstOrDefault(y => y.Value == x.Category).Key,
WeldTaskId = x.WeldTaskId,
WeldTaskCode = x.WeldTaskId != null ? x.WeldTaskId.Contains('|') ? Funs.DB.HJGL_WeldTask.FirstOrDefault(e => e.UnitWorkId == x.WeldTaskId.Split('|')[0].ToString() && e.UnitId == x.WeldTaskId.Split('|')[1].ToString() && e.TaskDate.Value.Date == Convert.ToDateTime(x.WeldTaskId.Split('|')[2].ToString()).Date)?.TaskCode : "" : "",
AuditMan = x.AuditMan,
AuditManName = x.AuditManName,
AuditDate = x.AuditDate
}).ToList();
}
@@ -167,7 +178,9 @@ namespace BLL
State = newtable.State,
CreateMan = newtable.CreateMan,
CreateDate = newtable.CreateDate,
ReqUnitId = newtable.ReqUnitId,
ReqUnitId = newtable.ReqUnitId,
AuditMan = newtable.AuditMan,
AuditDate = newtable.AuditDate
};
Funs.DB.Tw_OutputMaster.InsertOnSubmit(table);
Funs.DB.SubmitChanges();
@@ -191,6 +204,8 @@ namespace BLL
table.CreateMan = newtable.CreateMan;
table.CreateDate = newtable.CreateDate;
table.ReqUnitId = newtable.ReqUnitId;
table.AuditMan = newtable.AuditMan;
table.AuditDate = newtable.AuditDate;
Funs.DB.SubmitChanges();
}
@@ -244,6 +259,8 @@ namespace BLL
CreateMan = plan.CreateMan,
CreateDate = DateTime.Now,
ReqUnitId = plan.ReqUnitId,
AuditMan = plan.CreateMan,
AuditDate = plan.AuditDate
};
Add(master);
//生成出库单明细
@@ -268,14 +285,16 @@ namespace BLL
/// 根据计划单撤销出库单
/// </summary>
/// <param name="planId"></param>
public static void RevokeGenOutMasterByPlanId(string planId)
public static string RevokeGenOutMasterByPlanId(string planId)
{
string result = "";
Tw_InOutMasterOutput query = new Tw_InOutMasterOutput();
query.InOutPlanMasterId = planId;
var master = GetModle(query).FirstOrDefault();
if (master == null)
{
return;
result = "未找到对应的出库单";
return result;
}
DeleteById(master.Id); //删除出库单
//删除明细
@@ -288,8 +307,10 @@ namespace BLL
//撤销出库,即增加库存
TwMaterialstockService.UpdateStockNum(master.ProjectId, detail.MaterialCode, master.WarehouseCode, TwConst.InOutType., detail.ActNum);
}
var planModel= TwInOutplanmasterService.GetById(planId);
planModel.State= (int)TwConst.State.;
TwInOutplanmasterService.Update(planModel);
return result;
}
public static string GetCusBillCodeByTaskCode(string taskCode, TwConst.TypeInt typeInt, TwConst.Category category)