using iWareCommon.Common.Service;
|
using iWareCommon.Utils;
|
using iWareDataCore.BASE.Dao;
|
using iWareDataCore.BASE.Entity;
|
using iWareDataCore.ORM;
|
using iWareDataCore.Properties;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace iWareDataCore.BASE.Service
|
{
|
public class PlaceMaterialService : CommonService<PlaceMaterialEntity, BASEPlaceMaterial, DbModelCore>
|
{
|
|
private static object Lock = new object();
|
|
private PlaceMaterialService() : base(PlaceMaterialDao.GetInstance()) { }
|
|
private static PlaceMaterialService Instance = null;
|
|
/// <summary>
|
/// 获取单例的方法
|
/// </summary>
|
/// <returns>角色服务的单例实体</returns>
|
public static PlaceMaterialService GetInstance()
|
{
|
|
if (Instance == null)
|
{
|
lock (Lock)
|
{
|
if (Instance == null)
|
{
|
Instance = new PlaceMaterialService();
|
}
|
}
|
}
|
return Instance;
|
}
|
|
|
public int SaveInfo(string placeno,string materialno, out string msg)
|
{
|
msg = "";
|
using (var dbModel = new DbModelCore())
|
{
|
try
|
{
|
|
var place = dbModel.BASEPlaces.FirstOrDefault(x => x.code == placeno);
|
var material = dbModel.BASEMaterials.FirstOrDefault(x => x.code == materialno);
|
var pvmv = dbModel.BASEPlaceMaterialViews.FirstOrDefault(x => x.placecode == placeno || x.materialcode == materialno);
|
if (pvmv!=null)
|
{
|
msg = "所输入的库位或物料在库存中已存在,请检查!";
|
return 0;
|
}
|
if (place != null)
|
{
|
if (material != null)
|
{
|
var pvm = new BASEPlaceMaterial()
|
{
|
materialid = material.id,
|
placeid = place.id,
|
createtime = DateTime.Now,
|
updatetime = DateTime.Now
|
};
|
dbModel.BASEPlaceMaterials.Add(pvm);
|
place.status = 2;
|
place.isexecute = 0;
|
place.islock = 0;
|
dbModel.SaveChanges();
|
return pvm.id;
|
}
|
else
|
{
|
msg = "物料不存在,请检查输入是否正确!";
|
return 0;
|
}
|
}
|
else
|
{
|
msg = "库位不存在,请检查输入是否正确!";
|
return 0;
|
}
|
|
}
|
catch (Exception ex)
|
{
|
msg = ex.Message;
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "SaveInfo", ex.Message);
|
return -1;
|
}
|
}
|
}
|
public int DeletePlaveMateial(List<int> ids,out string msg)
|
{
|
msg = "";
|
using (var dbModel = new DbModelCore())
|
{
|
try
|
{
|
var ones = dbModel.BASEPlaceMaterials.Where(x => ids.Contains(x.id)).ToList();
|
|
foreach (var one in ones)
|
{
|
int placeid = one.placeid;
|
var place = dbModel.BASEPlaces.FirstOrDefault(x => x.id == placeid);
|
if (place!=null)
|
{
|
place.status = 0;
|
place.isexecute = 0;
|
place.isexecute = 0;
|
}
|
|
}
|
dbModel.BASEPlaceMaterials.RemoveRange(ones);
|
return dbModel.SaveChanges();
|
}
|
catch (Exception ex)
|
{
|
msg = ex.Message;
|
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "ChangePriority", ex.Message);
|
return -1;
|
}
|
}
|
}
|
|
|
}
|
}
|