using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
using HH.WCS.Mobox3.DSZSH.AppStart;
|
using HH.WCS.Mobox3.DSZSH.Helpers;
|
using HH.WCS.Mobox3.DSZSH.Models;
|
|
using Newtonsoft.Json;
|
|
using static HH.WCS.Mobox3.DSZSH.Dtos.Request.WmsRequest;
|
using static HH.WCS.Mobox3.DSZSH.Dtos.Response.WmsResponse;
|
|
namespace HH.WCS.Mobox3.DSZSH.Services {
|
public class WmsService {
|
/// <summary>
|
/// 博实物料信息下发同步
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
public static WmsResult CgInfoSync(CgInfoSyncInfo model) {
|
var db = DbHelper.GetDbClient();
|
var random = new Random();
|
|
try {
|
var detail = new TN_CG_Detail {
|
S_ITEM_CODE = model.ItemCode,
|
S_ITEM_NAME = model.ItemName,
|
S_CNTR_CODE = Guid.NewGuid().ToString("D"), // NOTE 容器号:目前随机(后期可能会指定,或者PDA绑定时再填入)
|
S_BATCH_NO = model.BatchNo,
|
S_STANDARD = model.Standard,
|
S_NET_WEIGHT = model.NetWeight,
|
S_QUALITY_GRADE = model.QualityGrade,
|
//N_PRODUCT_LINE = random.Next(0, 3), // NOTE 产线号:目前随机(后期可能会指定,或者PDA绑定时再填入)
|
};
|
|
// 货位容器绑定的逻辑,在好运箱下线PDA的流程中操作
|
|
//var locCntrRel = new TN_Loc_Container {
|
// //S_LOC_CODE = Settings.Config.ProductionLines[detail.N_PRODUCT_LINE].OffLoc[0], // 好运箱的位置是操作区,不是产线
|
// S_CNTR_CODE = detail.S_CNTR_CODE,
|
// S_CNTR_TYPE = "好运箱", // 贴标机只针对好运箱
|
//};
|
|
//using (var tran = db.Ado.UseTran()) {
|
// if (db.Insertable<TN_CG_Detail>(detail).ExecuteCommand() <= 0
|
// && db.Insertable<TN_Loc_Container>(detail).ExecuteCommand() <= 0) {
|
// tran.RollbackTran();
|
// return MesResultBuilder(2, "插入物料信息失败:" + JsonConvert.SerializeObject(detail));
|
// }
|
// tran.CommitTran();
|
//}
|
|
if (db.Insertable<TN_CG_Detail>(detail).ExecuteCommand() <= 0) {
|
return MesResultBuilder(2, "插入物料信息失败:" + JsonConvert.SerializeObject(detail));
|
}
|
|
return MesResultBuilder(0, "插入物料信息成功");
|
}
|
catch (Exception ex) {
|
return MesResultBuilder(1, ex.Message);
|
}
|
}
|
}
|
}
|