包装管理修改

This commit is contained in:
2025-05-12 19:05:13 +08:00
parent 96139ddfb8
commit b1d732d1a9
21 changed files with 790 additions and 325 deletions
@@ -1,4 +1,5 @@
using FineUIPro;
using Model;
using System;
using System.Collections;
using System.Collections.Generic;
@@ -9,11 +10,8 @@ using System.Text;
namespace BLL
{
public static class PackagingmanagedetailService
{
public static class HJGLPackagingmanagedetailService
{
#region
/// <summary>
/// 记录数
@@ -122,32 +120,71 @@ namespace BLL
{
return Funs.DB.HJGL_PackagingManageDetail.FirstOrDefault(x => x.Id == Id);
}
public static IEnumerable GetPackagingData(string PackagingManageId)
public static IEnumerable<Model.PipelinePrefabricatedComponentsItem> GetPackagingData(string PackagingManageId)
{
var q = from detail in Funs.DB.HJGL_PackagingManageDetail
join lib in Funs.DB.HJGL_MaterialCodeLib on detail.MaterialCode equals lib.MaterialCode into libJoin
from libItem in libJoin.DefaultIfEmpty()
join line in Funs.DB.HJGL_Pipeline on detail.PipelineId equals line.PipelineId into lineJoin
from lineItem in lineJoin.DefaultIfEmpty()
where detail.PackagingManageId == PackagingManageId
select new
{
detail.Id,
libItem.MaterialCode,
libItem.MaterialName,
libItem.MaterialUnit,
libItem.MaterialSpec,
libItem.MaterialMade,
libItem.MaterialDef,
detail.Number,
lineItem.PipelineId,
lineItem.PipelineCode,
if (string.IsNullOrEmpty(PackagingManageId))
{
return null;
}
var pack = HJGL_PackagingmanageService.GetHJGL_PackagingManageById(PackagingManageId);
if (pack == null)
{
return null;
}
var result = new List<Model.PipelinePrefabricatedComponentsItem>();
if (pack.TypeInt == (int)HJGL_PackagingmanageService.TypeInt.)
{
var q = from detail in Funs.DB.HJGL_PackagingManageDetail
join lib in Funs.DB.HJGL_MaterialCodeLib on detail.MaterialCode equals lib.MaterialCode into libJoin
from libItem in libJoin.DefaultIfEmpty()
join line in Funs.DB.HJGL_Pipeline on detail.PipelineId equals line.PipelineId into lineJoin
from lineItem in lineJoin.DefaultIfEmpty()
where detail.PackagingManageId == PackagingManageId /*&& (detail.PipelineId != null || detail.PipelineId != "") && (detail.PipelineComponentId == null || detail.PipelineComponentId == "")*/
select new PipelinePrefabricatedComponentsItem
{
Id = detail.Id,
MaterialCode = libItem.MaterialCode,
MaterialName = libItem.MaterialName,
MaterialUnit = libItem.MaterialUnit,
MaterialSpec = libItem.MaterialSpec,
MaterialMade = libItem.MaterialMade,
MaterialDef = libItem.MaterialDef,
Number = detail.Number,
PipelineId = lineItem.PipelineId,
PipelineCode = lineItem.PipelineCode,
UnitWorkId=lineItem.UnitWorkId,
};
return q;
};
result= q.ToList();
}
else if(pack.TypeInt == (int)HJGL_PackagingmanageService.TypeInt.)
{
var q = from detail in Funs.DB.HJGL_PackagingManageDetail
join lib in Funs.DB.HJGL_MaterialCodeLib on detail.MaterialCode equals lib.MaterialCode into libJoin
from libItem in libJoin.DefaultIfEmpty()
join line in Funs.DB.HJGL_Pipeline on detail.PipelineId equals line.PipelineId into lineJoin
from lineItem in lineJoin.DefaultIfEmpty()
where detail.PackagingManageId == PackagingManageId /*&& (detail.PipelineId == null || detail.PipelineId == "")*/
select new PipelinePrefabricatedComponentsItem
{
Id = detail.Id,
MaterialCode = libItem.MaterialCode,
MaterialName = libItem.MaterialName,
MaterialUnit = libItem.MaterialUnit,
MaterialSpec = libItem.MaterialSpec,
MaterialMade = libItem.MaterialMade,
MaterialDef = libItem.MaterialDef,
Number = detail.Number,
PipelineId = lineItem.PipelineId,
PipelineCode = lineItem.PipelineCode,
};
result = q.ToList();
}
return result;
}
public static void Add(Model.HJGL_PackagingManageDetail newtable)
{
@@ -165,8 +202,6 @@ namespace BLL
Funs.DB.HJGL_PackagingManageDetail.InsertOnSubmit(table);
Funs.DB.SubmitChanges();
}
public static void Update(Model.HJGL_PackagingManageDetail newtable)
{
@@ -8,11 +8,11 @@ using System.Data.SqlClient;
using System.Linq;
using System.Text;
namespace BLL
{
/// <summary>
/// 包装管理服务类
/// </summary>
public static class HJGL_PackagingmanageService
{
public class PackagingManageItem
@@ -28,6 +28,8 @@ namespace BLL
public string ContactPhone { get; set; }
public string StackingPosition { get; set; }
public int? State { get; set; }
public int? TypeInt { get; set; }
public string TypeString { get; set; }
public string ReceiveMan { get; set; }
public string ReceiveDate { get; set; }
@@ -36,22 +38,23 @@ namespace BLL
public string Code { get; set; }
public string TrainNumber { get; set; }
public string TrainNumberOld { get; set; }
}
/// <summary>
/// 未到场
/// </summary>
public static int state_0 = 0;
/// <summary>
/// 已发货
/// </summary>
public static int state_1 = 1;
/// <summary>
/// 已到场
/// </summary>
public static int state_2 = 2;
public static ListItem[] GetState()
{
ListItem[] list = new ListItem[3];
@@ -67,12 +70,19 @@ namespace BLL
= 20,
= 30,
}
public static Dictionary<string, int> TypeIntMap = new Dictionary<string, int>
{
{ "预制组件" ,(int)TypeInt.},
{ "预制散件" ,(int)TypeInt.},
{ "其他材料" ,(int)TypeInt.},
};
public static string GetTypeString(int? TypeInt)
{
return TypeIntMap.FirstOrDefault(c => c.Value == TypeInt).Key;
}
public static Model.HJGL_PackagingManage GetHJGL_PackagingManageById(string PackagingManageId)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
@@ -80,6 +90,7 @@ namespace BLL
return db.HJGL_PackagingManage.FirstOrDefault(x => x.PackagingManageId == PackagingManageId);
}
}
public static string GetMinPlanStartDate(string PackagingManageId)
{
string PlanStartDate = "";
@@ -95,39 +106,40 @@ namespace BLL
}
return PlanStartDate;
}
public static (List<PackagingManageItem> Data, int Total) GetPackagingManageList(string projectId, string PackagingCode, int pageIndex = 0, int pageSize = 20)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var baseQuery = (from x in db.HJGL_PackagingManage
join n in db.Base_Project on x.ProjectId equals n.ProjectId
join m in db.Person_Persons on x.ReceiveMan equals m.PersonId into tt
from t in tt.DefaultIfEmpty()
join n in db.Base_Project on x.ProjectId equals n.ProjectId
join m in db.Person_Persons on x.ReceiveMan equals m.PersonId into tt
from t in tt.DefaultIfEmpty()
join train in db.HJGL_TrainNumberManage on x.TrainNumberId equals train.Id into trains
from train in trains.DefaultIfEmpty()
where x.ProjectId == projectId
&& (string.IsNullOrEmpty(PackagingCode) || x.PackagingCode.Contains(PackagingCode))
select new PackagingManageItem
{
PackagingManageId = x.PackagingManageId,
PackagingCode = x.PackagingCode,
ProjectName = n.ProjectName,
ContactName = train.ContactName,
ContactPhone = train.ContactPhone,
DriverName = train.DriverName,
DriverPhone = train.DriverPhone,
LicensePlateNumber = train.LicensePlateNumber,
StackingPosition = x.StackingPosition,
State = x.State,
ReceiveMan = t.PersonName,
ReceiveDate = x.ReceiveDate.HasValue ? string.Format("{0:g}", x.ReceiveDate) : "",
PlanStartDate = GetMinPlanStartDate(x.PackagingManageId),
TrainNumberOld = x.TrainNumber,
TrainNumber = train.TrainNumber,
Code = x.PackagingCode.Substring(0, x.PackagingCode.LastIndexOf("-")).Substring(x.PackagingCode.Substring(0, x.PackagingCode.LastIndexOf("-")).LastIndexOf("-") + 1),
}).Distinct();
select new PackagingManageItem
{
PackagingManageId = x.PackagingManageId,
PackagingCode = x.PackagingCode,
ProjectName = n.ProjectName,
ContactName = train.ContactName,
ContactPhone = train.ContactPhone,
DriverName = train.DriverName,
DriverPhone = train.DriverPhone,
LicensePlateNumber = train.LicensePlateNumber,
StackingPosition = x.StackingPosition,
State = x.State,
TypeInt = x.TypeInt,
TypeString = GetTypeString(x.TypeInt),
ReceiveMan = t.PersonName,
ReceiveDate = x.ReceiveDate.HasValue ? string.Format("{0:g}", x.ReceiveDate) : "",
PlanStartDate = GetMinPlanStartDate(x.PackagingManageId),
TrainNumberOld = x.TrainNumber,
TrainNumber = train.TrainNumber,
Code = x.PackagingCode.Substring(0, x.PackagingCode.LastIndexOf("-")).Substring(x.PackagingCode.Substring(0, x.PackagingCode.LastIndexOf("-")).LastIndexOf("-") + 1),
}).Distinct();
var pagedData = baseQuery
.OrderByDescending(x => x.Code)
@@ -136,11 +148,11 @@ namespace BLL
.ToList();
// 获取总记录数(延迟计数优化)
var totalCount = baseQuery.Count();
return (pagedData, totalCount);
var totalCount = baseQuery.Count();
return (pagedData, totalCount);
}
}
}
/// <summary>
/// 形成出库单
/// </summary>
@@ -153,8 +165,8 @@ namespace BLL
model.State = state_1;
UpdateHJGL_PackagingManage(model);
}
}
/// <summary>
/// 根据主键获取装箱明细
/// </summary>
@@ -168,7 +180,7 @@ namespace BLL
{
var PipelineComponentIds = model.PipelineComponentId.Split(',');
string strSql = @"select com.PipelineComponentId, com.PipelineComponentCode,isnull(pipe.PlanStartDate,getdate()) as PlanStartDate,unitwork.UnitWorkName,'1' as num ,'个' as CU
from HJGL_Pipeline_Component com
from HJGL_Pipeline_Component com
left join HJGL_Pipeline pipe on com.PipelineId=pipe.PipelineId
left join WBS_UnitWork unitwork on pipe.UnitWorkId=unitwork.UnitWorkId
";
@@ -179,7 +191,6 @@ namespace BLL
tb = SQLHelper.GetDataTableRunText(strSql, parameter);
}
return tb;
}
/// <summary>
@@ -195,13 +206,36 @@ namespace BLL
select x.PackagingCode).Distinct().ToList();
return q;
}
public static List<Model.HJGL_PackagingManage> GetPackagingManage(string trainNumberId)
{
Model.SGGLDB db = Funs.DB;
var q = (from x in db.HJGL_PackagingManage
where x.TrainNumberId==trainNumberId
select x).Distinct().ToList();
return q;
}
public static string GetNewPackagingCode(string projectid)
{
string code = ProjectService.GetProjectCodeByProjectId(projectid) + "-" + string.Format("{0:yyyyMMdd}", DateTime.Now) + "-";
var q = GetPackagingManageList(projectid, code);
if (q.Total > 0)
{
code = code + (q.Total + 1).ToString().PadLeft(3, '0');
}
else
{
code = code + "001";
}
return code;
}
/// <summary>
/// 新增实体
/// </summary>
/// <param name="newtable"></param>
public static void AddHJGL_PackagingManage(Model.HJGL_PackagingManage newtable)
{
Model.HJGL_PackagingManage table = new Model.HJGL_PackagingManage
{
PackagingManageId = newtable.PackagingManageId,
@@ -224,7 +258,6 @@ namespace BLL
db1.SubmitChanges();
}
public static void UpdateHJGL_PackagingManage(Model.HJGL_PackagingManage newtable)
{
var db1 = Funs.DB;
@@ -247,8 +280,8 @@ namespace BLL
table.TypeInt = newtable.TypeInt;
db1.SubmitChanges();
}
}
public static void DeleteHJGL_PackagingManageById(string PackagingManageId)
{
var db1 = Funs.DB;
@@ -258,10 +291,8 @@ namespace BLL
db1.HJGL_PackagingManage.DeleteOnSubmit(table);
db1.SubmitChanges();
}
}
/// <summary>
/// 管线下拉框
/// </summary>
@@ -278,6 +309,5 @@ namespace BLL
Funs.FineUIPleaseSelect(dropName);
}
}
}
}