refactor: 清理旧模块资源并整理人员服务目录

为收敛当前分支代码范围并统一人员服务目录,移除历史模块与静态资源,减少无效代码和目录分散带来的维护成本。
This commit is contained in:
2026-09-19 13:45:38 +08:00
parent 7b5b060ffc
commit 8efe030f47
7188 changed files with 3777 additions and 1117238 deletions
@@ -1,29 +1,10 @@
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
namespace BLL
{
public class HJGL_MaterialService
{
/// <summary>
/// 工程预制库存
/// </summary>
public static List<Model.MaterialStockItem> materialStockItems_SHOP
{
get;
set;
}
/// <summary>
/// 现场施工库存
/// </summary>
public static List<Model.MaterialStockItem> materialStockItems_FIELD
{
get;
set;
}
/// <summary>
/// 获取材料信息
/// </summary>
@@ -99,301 +80,5 @@ namespace BLL
db.SubmitChanges();
}
}
/// <summary>
/// 工厂预制获取库存
/// </summary>
/// <param name="projectid"></param>
/// <param name="PipeArea"></param>
/// <returns></returns>
public static DataTable GetSHOPStockDt(string projectid)
{
string strSql = @" SELECT mat.MaterialCode,
lib.Code,
lib.HeatNo,
lib.BatchNo,
lib.MaterialName,
lib.MaterialSpec,
lib.MaterialUnit,
sum( mat.Num)+ISNULL( aa.Num,
0) AS MaterialNum
FROM HJGL_MaterialManage mat
LEFT JOIN HJGL_MaterialCodeLib lib
ON mat.MaterialCode=lib.MaterialCode
LEFT JOIN
(SELECT stockused.MaterialCode,
stockused.MaterialName,
stockused.MaterialUnit,
stockused.MaterialSpec,
stockused.MaterialMade,
-sum( stockused.num) AS num
FROM
(SELECT lib.MaterialCode,
lib.MaterialName,
lib.MaterialUnit,
lib.MaterialSpec,
lib.MaterialMade,
-sum( pipe.Number) AS num
FROM dbo.HJGL_PipeLineMat pipe
LEFT JOIN HJGL_Pipeline_Component com
ON com.PipelineComponentCode =pipe.PrefabricatedComponents
LEFT JOIN HJGL_MaterialCodeLib lib
ON lib.MaterialCode = pipe.MaterialCode
WHERE com.ProductionState=1
GROUP BY lib.MaterialCode,lib.MaterialName,lib.MaterialUnit, lib.MaterialSpec,lib.MaterialMade
UNION
SELECT lib.MaterialCode,
lib.MaterialName,
lib.MaterialUnit,
lib.MaterialSpec,
lib.MaterialMade,
-sum( pipe.Number) AS num
FROM dbo.HJGL_PipeLineMat pipe
LEFT JOIN HJGL_MaterialCodeLib lib
ON lib.MaterialCode = pipe.MaterialCode
LEFT JOIN HJGL_Pipeline line
ON pipe.PipelineId=line.PipelineId
LEFT JOIN View_HJGL_WeldJoint weldjoint
ON weldjoint.PipelineId=line.PipelineId
WHERE weldjoint.JointAttribute='安装口'
AND weldjoint .WeldingDailyId !=''
GROUP BY lib.MaterialCode,lib.MaterialName,lib.MaterialUnit, lib.MaterialSpec,lib.MaterialMade ) AS stockused
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.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));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
return tb;
}
public static DataTable GetFIELDStockDt(string projectid)
{
string strSql = @"
SELECT mat.MaterialCode,
lib.Code,
lib.HeatNo,
lib.BatchNo,
lib.MaterialName,
lib.MaterialSpec,
lib.MaterialUnit,
sum( mat.Num)+ISNULL( aa.Num,
0) AS MaterialNum
FROM Material_Material mat
LEFT JOIN HJGL_MaterialCodeLib lib
ON mat.MaterialCode=lib.MaterialCode
LEFT JOIN Material_Inspection Ins
ON mat.InspectionId=Ins.InspectionId
LEFT JOIN
(SELECT stockused.MaterialCode,
stockused.MaterialName,
stockused.MaterialUnit,
stockused.MaterialSpec,
stockused.MaterialMade,
-sum( stockused.num) AS num
FROM
(SELECT lib.MaterialCode,
lib.MaterialName,
lib.MaterialUnit,
lib.MaterialSpec,
lib.MaterialMade,
-sum( pipe.Number) AS num
FROM dbo.HJGL_PipeLineMat pipe
LEFT JOIN HJGL_Pipeline_ComponentJoint comjoint
ON comjoint.PipelineComponentCode =pipe.PrefabricatedComponents
LEFT JOIN HJGL_MaterialCodeLib lib
ON lib.MaterialCode = pipe.MaterialCode
WHERE comjoint.State=1
GROUP BY lib.MaterialCode,lib.MaterialName,lib.MaterialUnit, lib.MaterialSpec,lib.MaterialMade
UNION
SELECT lib.MaterialCode,
lib.MaterialName,
lib.MaterialUnit,
lib.MaterialSpec,
lib.MaterialMade,
-sum( pipe.Number) AS num
FROM dbo.HJGL_PipeLineMat pipe
LEFT JOIN HJGL_MaterialCodeLib lib
ON lib.MaterialCode = pipe.MaterialCode
LEFT JOIN HJGL_Pipeline line
ON pipe.PipelineId=line.PipelineId
LEFT JOIN View_HJGL_WeldJoint weldjoint
ON weldjoint.PipelineId=line.PipelineId
WHERE weldjoint.JointAttribute='安装口'
AND weldjoint .WeldingDailyId !=''
GROUP BY lib.MaterialCode,lib.MaterialName,lib.MaterialUnit, lib.MaterialSpec,lib.MaterialMade ) AS stockused
GROUP BY stockused.MaterialCode,stockused.MaterialName,stockused.MaterialUnit,stockused.MaterialSpec,stockused.MaterialMade ) AS aa
ON mat.MaterialCode=aa.MaterialCode
WHERE mat.projectid=@Projectid
AND Ins.State=@State
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));
listStr.Add(new SqlParameter("@State", Const.Inspection_Complete));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
return tb;
}
/// <summary>
/// 获取库存实体
/// </summary>
/// <param name="projectid"></param>
/// <param name="PipeArea">管线划分</param>
/// <returns></returns>
public static List<Model.MaterialStockItem> GetMaterialStockItems(string projectid, string PipeArea)
{
List<Model.MaterialStockItem> list = new List<Model.MaterialStockItem>();
DataTable dataTable = new DataTable();
switch (PipeArea)
{
case PipelineService.PipeArea_SHOP:
dataTable = GetSHOPStockDt(projectid);
break;
case PipelineService.PipeArea_FIELD:
dataTable = GetFIELDStockDt(projectid);
break;
}
if (dataTable != null)
{
list = Funs.TableToEntity<Model.MaterialStockItem>(dataTable);
}
return list;
}
public static decimal GetStockNumByCode(string materialcode, string projectid, string PipeArea)
{
decimal num = 0;
var list = GetMaterialStockItems(projectid, PipeArea);
if (list != null && list.Count > 0)
{
var item = list.Where(x => x.MaterialCode == materialcode).FirstOrDefault();
if (item != null)
{
num = item.MaterialNum;
}
}
return num;
}
/// <summary>
/// 判断库存是否满足该数量的材料
/// </summary>
/// <param name="MaterialCode"></param>
/// <param name="num"></param>
/// <param name="projectid"></param>
/// <returns></returns>
public static bool isInStockByMaterialCode(string MaterialCode, decimal num, string PipeArea, string projectid)
{
bool state = false;
List<Model.MaterialStockItem> list = GetMaterialStockItems(projectid, PipeArea);
if (list != null && list.Count > 0)
{
var Material = list.Where(x => x.MaterialCode == MaterialCode).FirstOrDefault();
if (Material != null)
{
var StockNum = Material.MaterialNum;
if (num <= StockNum)
{
state = true;
}
}
}
return state;
}
/// <summary>
/// 判断库存是否满足此管线
/// </summary>
/// <param name="pipelineid"></param>
/// <param name="projectid"></param>
/// <returns></returns>
public static bool isInStockByPipeline(string pipelineid, string projectid)
{
bool state = true;
try
{
var q = from x in Funs.DB.HJGL_PipeLineMat
where x.PipelineId == pipelineid
group x by x.MaterialCode into s
select new
{
MaterialCode = s.Key,
Number = s.Sum(p => p.Number)
};//获取管线所用材料
if (q != null && q.Count() > 0) //判断管线是否有关联材料
{
var pipemodel = BLL.PipelineService.GetPipelineByPipelineId(pipelineid);
List<Model.MaterialStockItem> materialStockItems = new List<Model.MaterialStockItem>();
if (pipemodel.PipeArea == PipelineService.PipeArea_SHOP)
{
if (HJGL_MaterialService.materialStockItems_SHOP.Count == 0)
{
HJGL_MaterialService.materialStockItems_SHOP = GetMaterialStockItems(projectid, pipemodel.PipeArea);
}
materialStockItems = materialStockItems_SHOP;
}
else if (pipemodel.PipeArea == PipelineService.PipeArea_FIELD)
{
if (HJGL_MaterialService.materialStockItems_FIELD.Count == 0)
{
HJGL_MaterialService.materialStockItems_FIELD = GetMaterialStockItems(projectid, pipemodel.PipeArea);
}
materialStockItems = materialStockItems_FIELD;
}
//List<Model.MaterialStockItem> materialStockItems = GetMaterialStockItems(projectid, pipemodel.PipeArea);
if (materialStockItems != null && materialStockItems.Count > 0) //判断是否有库存信息
{
foreach (var item in q)
{
var StockMater = materialStockItems.Where(x => x.MaterialCode == item.MaterialCode).FirstOrDefault();
if (StockMater != null) //判断该材料是否存在库存
{
var StockNum = StockMater.MaterialNum;
if ((decimal)item.Number > StockNum) //实际大于库存
{
state = false; //库存不足
return state;
}
}
else
{
state = false; //库存不足
return state;
}
}
}
else
{
state = false; //库存不足
return state;
}
}
else
{
state = false; //库存不足
return state;
}
}
catch (System.Exception ex)
{
state = false;
ErrLogInfo.WriteLog(ex.ToString());
}
return state;
}
}
}