public bool SubmitMesStatus(string returnJson, ref string errMsg) { BILBasic.Interface.T_Interface_Func TIF = new BILBasic.Interface.T_Interface_Func(); string result = TIF.PostModelListToInterface(returnJson); BaseMessage_Model <WOReturnModel> model = new BaseMessage_Model <WOReturnModel>(); model = JsonConvert.DeserializeObject <BaseMessage_Model <WOReturnModel> >(result); if (model.HeaderStatus == "E" && !string.IsNullOrEmpty(model.Message)) { errMsg = model.Message; return(false); } return(true); }
public string PostZh(string UserJson, string ModelJson, string Guid) { BaseMessage_Model <List <T_OutBarCodeInfo> > messageModel = new BaseMessage_Model <List <T_OutBarCodeInfo> >(); try { string strError = ""; if (Guid != "") { if (!CheckGuid(Guid, ref strError)) { messageModel.HeaderStatus = "E"; messageModel.Message = "GUID已经存在,不能重复提交-" + strError; return(BILBasic.JSONUtil.JSONHelper.ObjectToJson <BaseMessage_Model <List <T_OutBarCodeInfo> > >(messageModel)); } } if (string.IsNullOrEmpty(UserJson) || string.IsNullOrEmpty(ModelJson) || string.IsNullOrEmpty(Guid)) { messageModel.HeaderStatus = "E"; messageModel.Message = "参数不能为空"; return(BILBasic.JSONUtil.JSONHelper.ObjectToJson <BaseMessage_Model <List <T_OutBarCodeInfo> > >(messageModel)); } List <U9Zh> modelList = JSONHelper.JsonToObject <List <U9Zh> >(ModelJson); UserModel user = JSONHelper.JsonToObject <UserModel>(UserJson); modelList.ForEach(t => t.PostUser = user.UserNo); modelList.ForEach(t => t.GUID = Guid); modelList.ForEach(item => { item.PostUser = user.UserName; item.GUID = Guid; List <U9ZhDetail> detail = new List <U9ZhDetail>(); //检验明细里面有没有重复的条码 item.detail.ForEach(itemdetail => { foreach (var barcode in itemdetail.barcodeList) { U9ZhDetail itemdetailLimk = T_Material_Batch_DB.DeepCopyByXml <U9ZhDetail>(itemdetail); itemdetailLimk.Qty = barcode.Qty; itemdetailLimk.BatchNo = barcode.BatchNo; detail.Add(itemdetailLimk); } }); item.detail = detail; }); //modelList.ForEach(item=> { // item.PostUser = user.UserNo; // item.GUID = Guid; // if (item.Type == 0 && item.barcodeList.Count > 0) // { // item.BatchNo = item.barcodeList[0].BatchNo; // } // if (item.Type == 1 && item.barcodeList.Count == item.detail.Count) // { // //扫描的条码给明细行赋值 // for (int i = 0; i < item.detail.Count; i++) // { // for (int j = 0; j < item.barcodeList.Count; j++) // { // if (item.detail[i].MaterialNo == item.barcodeList[j].MaterialNo) // { // item.detail[i].BatchNo = item.barcodeList[j].BatchNo; // } // } // } // } //}); string ERPJson = BILBasic.JSONUtil.JSONHelper.ObjectToJson <List <U9Zh> >(modelList); BILBasic.Interface.T_Interface_Func tfunc = new BILBasic.Interface.T_Interface_Func(); LogNet.LogInfo("---------------------------ERPJsonBefore:" + ERPJson); string interfaceJson = tfunc.PostModelListToInterface(ERPJson); messageModel = BILBasic.JSONUtil.JSONHelper.JsonToObject <BaseMessage_Model <List <T_OutBarCodeInfo> > >(interfaceJson); LogNet.LogInfo("--------------------------ERPJsonAfter:" + messageModel); //过账失败直接返回 if (messageModel.HeaderStatus == "E" && !string.IsNullOrEmpty(messageModel.Message)) { return(interfaceJson); } else if (messageModel.HeaderStatus == "S" && !string.IsNullOrEmpty(messageModel.MaterialDoc)) //过账成功,并且生成了凭证要记录数据库 { modelList.ForEach(t => t.MaterialDoc = messageModel.MaterialDoc); } LogNet.LogInfo("ymh:ERPtoWMS-" + BILBasic.JSONUtil.JSONHelper.ObjectToJson <BaseMessage_Model <List <T_OutBarCodeInfo> > >(messageModel)); string SerialNos = ""; if (db.PostZh(user, modelList, ref strError, ref SerialNos) == false) { messageModel.HeaderStatus = "E"; messageModel.Message = strError; LogNet.LogInfo("ymh:WMS-失败"); } else { SerialNos = SerialNos.Substring(0, SerialNos.Length - 1); T_OutBarCode_Func fuc = new T_OutBarCode_Func(); List <T_OutBarCodeInfo> models = new List <T_OutBarCodeInfo>(); fuc.GetOutBarCodeInfoBySerialNos(SerialNos, ref models, ref strError); messageModel.HeaderStatus = "S"; messageModel.Message = "转换操作成功!"; messageModel.ModelJson = models; LogNet.LogInfo("ymh:WMS-成功"); } return(BILBasic.JSONUtil.JSONHelper.ObjectToJson <BaseMessage_Model <List <T_OutBarCodeInfo> > >(messageModel)); } catch (Exception ex) { messageModel.HeaderStatus = "E"; messageModel.Message = ex.Message; return(BILBasic.JSONUtil.JSONHelper.ObjectToJson <BaseMessage_Model <List <T_OutBarCodeInfo> > >(messageModel)); } }