SGGL_HBAZ/SGGL/WebAPI/Controllers/MaterialsOutController.cs

161 lines
7.2 KiB
C#
Raw Normal View History

2025-05-26 15:30:17 +08:00
using BLL;
2025-06-17 09:58:07 +08:00
using Model;
2025-05-26 15:30:17 +08:00
using System;
using System.Linq;
using System.Web.Http;
namespace WebAPI.Controllers
{
/**
*
*/
public class MaterialsOutController : ApiController
{
#region
[HttpPost]
public Model.ResponeData AddMaterialOutM(Model.Cl_W_MaterialOutM MaterialOutM)
{
var responeData = new Model.ResponeData();
try
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
2025-06-17 09:58:07 +08:00
var userTime = DateTime.Now;
int count = db.Cl_W_MaterialOutM.Where(x => x.UserTime.Value.Year == userTime.Year&&x.UserTime.Value.Month==userTime.Month&&x.UserTime.Value.Day==userTime.Day).ToList().Count();
2025-05-26 15:30:17 +08:00
Model.Cl_W_MaterialOutM outm = new Model.Cl_W_MaterialOutM();
outm.OutSheetMID = MaterialOutM.OutSheetMID;
outm.ProjectId = MaterialOutM.ProjectId;
outm.OutSheetCode = string.Format("CKD--{0}{1}", DateTime.Now.ToString("yyyyMMdd"),count.ToString("000"));
outm.UserTime = DateTime.Now;
outm.UnitId = MaterialOutM.UnitId;
outm.UAid = MaterialOutM.UAid;
outm.InstallationId = MaterialOutM.InstallationId;
outm.PlanSheetMID = MaterialOutM.PlanSheetMID; // 工区ID
outm.YYPID = MaterialOutM.YYPID;
outm.RecordMan = MaterialOutM.RecordMan;
db.Cl_W_MaterialOutM.InsertOnSubmit(outm);
db.SubmitChanges();
responeData.data = MaterialOutM.OutSheetMID;
}
}
catch (System.Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region
[HttpPost]
public Model.ResponeData AddMaterialOutS(Model.Cl_W_MaterialOutS MaterialOutS)
{
var responeData = new Model.ResponeData();
try
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
int count = db.Cl_W_MaterialOutM.Where(x => x.UserTime == DateTime.Now).ToList().Count();
Model.Cl_W_MaterialOutS outs = new Model.Cl_W_MaterialOutS();
outs.ProjectId = MaterialOutS.ProjectId;
outs.OutSheetMID = MaterialOutS.OutSheetMID;
outs.OutSheetSID = Guid.NewGuid().ToString();
outs.MaterialID = MaterialOutS.MaterialID;
//outs.Soft = MaterialOutS.Soft ?? DBNull.Value;
outs.PlannedQuantity = MaterialOutS.PlannedQuantity;
outs.StoreQuantity = MaterialOutS.StoreQuantity;
outs.OutQuantity = MaterialOutS.OutQuantity;
outs.OutQuantityY = MaterialOutS.OutQuantityY;
outs.StorePQuantity = MaterialOutS.StorePQuantity;
outs.CertificatesFactoryNo = MaterialOutS.CertificatesFactoryNo;
outs.FurnaceBatchNo = MaterialOutS.FurnaceBatchNo;
outs.CertificateSelfNo = MaterialOutS.CertificateSelfNo;
outs.Weight = MaterialOutS.Weight;
outs.Price = MaterialOutS.Price;
outs.OutQuantityP = MaterialOutS.OutQuantityP;
outs.OutQuantityO = MaterialOutS.OutQuantityO;
outs.StorehouseName = MaterialOutS.StorehouseName;
outs.StorageSheetSID = MaterialOutS.StorageSheetSID;
outs.FirstpartyCode = MaterialOutS.FirstpartyCode;
outs.ISupload = MaterialOutS.ISupload;
outs.InstallationId = MaterialOutS.InstallationId;
outs.Shue = MaterialOutS.Shue;
outs.Bhsje = MaterialOutS.Bhsje;
2025-06-17 09:58:07 +08:00
2025-05-26 15:30:17 +08:00
db.Cl_W_MaterialOutS.InsertOnSubmit(outs);
2025-06-17 09:58:07 +08:00
var sourceData = db.Cl_W_MaterialOutS
.Where(s => s.OutSheetMID == MaterialOutS.OutSheetMID)
.Select(s => new // 先投影到匿名对象
{
ProjectId = s.ProjectId,
InstallationId = db.Cl_W_MaterialOutM
.Where(m => m.OutSheetMID == s.OutSheetMID)
.Select(m => m.InstallationId)
.FirstOrDefault(),
Ghfs = db.Cl_W_MaterialOutM
.Where(m => m.OutSheetMID == s.OutSheetMID)
.Select(m => m.YYPID)
.FirstOrDefault(),
FirstpartyCode = s.FirstpartyCode,
MaterialID = s.MaterialID,
OutSheetMID = s.OutSheetMID,
OutSheetSID = s.OutSheetSID,
OutQuantity = s.OutQuantity
})
.AsEnumerable() // 切换到客户端评估
.Select(x => new Model.Cl_w_comp // 现在可以构造实体对象了
{
CompID = Guid.NewGuid().ToString(),
ProjectId = x.ProjectId,
InstallationId = x.InstallationId,
Ghfs = x.Ghfs,
TAreaMaterialMID = x.FirstpartyCode,
TAreaMaterialSID = "",
MaterialID = x.MaterialID,
Aquantity = 0,
PlanSheetMID = "",
PlanSheetSID = "",
Pquantity = 0,
StorageSheetMID = "",
StorageSheetSID = "",
SQuantity = 0,
StorageHJSID = "",
StorageHJMID = "",
HQuantity = 0,
OutSheetMID = x.OutSheetMID,
OutSheetSID = x.OutSheetSID,
OQuantity = x.OutQuantity,
ReturnSheetMid = "",
ReturnSheetSID = "",
RQuantity = 0
});
db.Cl_w_comp.InsertAllOnSubmit(sourceData);
Model.Cl_W_MaterialOutM clw = db.Cl_W_MaterialOutM.FirstOrDefault(x => x.OutSheetMID == MaterialOutS.OutSheetMID);
if(clw.IsOk != "1")
{
clw.IsOk = "1";
}
2025-05-26 15:30:17 +08:00
db.SubmitChanges();
2025-06-17 09:58:07 +08:00
2025-05-26 15:30:17 +08:00
responeData.data = MaterialOutS.OutSheetSID;
}
}
catch (System.Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
}
}