refactor: 清理旧模块资源并整理人员服务目录
为收敛当前分支代码范围并统一人员服务目录,移除历史模块与静态资源,减少无效代码和目录分散带来的维护成本。
This commit is contained in:
@@ -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;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user