161 lines
7.2 KiB
C#
161 lines
7.2 KiB
C#
using BLL;
|
|
using Model;
|
|
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))
|
|
{
|
|
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();
|
|
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;
|
|
|
|
db.Cl_W_MaterialOutS.InsertOnSubmit(outs);
|
|
|
|
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";
|
|
}
|
|
|
|
db.SubmitChanges();
|
|
|
|
responeData.data = MaterialOutS.OutSheetSID;
|
|
}
|
|
}
|
|
catch (System.Exception ex)
|
|
{
|
|
responeData.code = 0;
|
|
responeData.message = ex.Message;
|
|
}
|
|
return responeData;
|
|
}
|
|
#endregion
|
|
|
|
}
|
|
} |