예제 #1
0
        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);
        }
예제 #2
0
        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));
            }
        }