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 {
///
/// 博实物料信息下发同步
///
///
///
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(detail).ExecuteCommand() <= 0
// && db.Insertable(detail).ExecuteCommand() <= 0) {
// tran.RollbackTran();
// return MesResultBuilder(2, "插入物料信息失败:" + JsonConvert.SerializeObject(detail));
// }
// tran.CommitTran();
//}
if (db.Insertable(detail).ExecuteCommand() <= 0) {
return MesResultBuilder(2, "插入物料信息失败:" + JsonConvert.SerializeObject(detail));
}
return MesResultBuilder(0, "插入物料信息成功");
}
catch (Exception ex) {
return MesResultBuilder(1, ex.Message);
}
}
}
}