예제 #1
0
        public bool PostQuality(UserModel userModel, List <T_StockInfo> modelList, ref string strError, ref string QualityNo)
        {
            try
            {
                BaseMessage_Model <List <T_StockInfo> > model = new BaseMessage_Model <List <T_StockInfo> >();
                bool   bSucc     = false;
                string strUserNo = string.Empty;

                modelList = GroupInstockDetailList(modelList);

                //if (TOOL.RegexMatch.isExists(userModel.UserNo) == true)
                //{
                //    strUserNo = userModel.UserNo.Substring(0, userModel.UserNo.Length - 1);
                //}
                //else
                //{
                //    strUserNo = userModel.UserNo;
                //}

                ////确定过账人,根据登录账户以及操作的订单据点来确定
                //User_DB _db = new User_DB();
                //string strPostUser = _db.GetPostAccountByUserNo(strUserNo, modelList[0].StrongHoldCode);

                modelList.ForEach(t => t.VoucherType = 20);
                modelList.ForEach(t => t.PostUser    = userModel.UserNo);//strPostUser

                T_Interface_Func tfunc         = new T_Interface_Func();
                string           ERPJson       = BILBasic.JSONUtil.JSONHelper.ObjectToJson <List <T_StockInfo> >(modelList);
                string           interfaceJson = tfunc.PostModelListToInterface(ERPJson);

                model = BILBasic.JSONUtil.JSONHelper.JsonToObject <BaseMessage_Model <List <T_StockInfo> > >(interfaceJson);

                //过账失败直接返回
                if (model.HeaderStatus == "E" && !string.IsNullOrEmpty(model.Message))
                {
                    strError = "生成检验单失败!" + model.Message;
                    bSucc    = false;
                }
                else if (model.HeaderStatus == "S" && !string.IsNullOrEmpty(model.MaterialDoc))
                {
                    strError  = "检验单生成成功!检验单号:" + model.MaterialDoc;
                    QualityNo = model.MaterialDoc;
                    bSucc     = true;
                }

                return(bSucc);
            }
            catch (Exception ex)
            {
                strError = ex.Message;
                return(false);
            }
        }
예제 #2
0
        public bool PostCheckToTrans(List <T_TransportSupDetailInfo> modelList, ref string strError)
        {
            try
            {
                BaseMessage_Model <List <T_TransportSupDetailInfo> > model = new BaseMessage_Model <List <T_TransportSupDetailInfo> >();
                bool   bSucc          = false;
                string strUserNo      = string.Empty;
                string strPostUser    = string.Empty;
                string StrongHoldCode = string.Empty;

                if (modelList[0].ErpVoucherNo.Contains("HH2"))
                {
                    modelList.ForEach(t => t.gtype = "C");
                }
                else
                {
                    modelList.ForEach(t => t.gtype = "A");
                }
                StrongHoldCode = modelList[0].ErpVoucherNo.Substring(0, 3);
                modelList.ForEach(t => t.VoucherType    = 9992);
                modelList.ForEach(t => t.StrongHoldCode = StrongHoldCode);

                T_Interface_Func tfunc         = new T_Interface_Func();
                string           ERPJson       = BILBasic.JSONUtil.JSONHelper.ObjectToJson <List <T_TransportSupDetailInfo> >(modelList);
                string           interfaceJson = tfunc.PostModelListToInterface(ERPJson);

                model = BILBasic.JSONUtil.JSONHelper.JsonToObject <BaseMessage_Model <List <T_TransportSupDetailInfo> > >(interfaceJson);

                LogNet.LogInfo("ERPJsonAfter:" + BILBasic.JSONUtil.JSONHelper.ObjectToJson <BaseMessage_Model <List <T_TransportSupDetailInfo> > >(model));

                //过账失败直接返回
                if (model.HeaderStatus == "E" && !string.IsNullOrEmpty(model.Message))
                {
                    strError = "回传T100费用失败!" + model.Message;
                    bSucc    = false;
                }
                else if (model.HeaderStatus == "S" && !string.IsNullOrEmpty(model.MaterialDoc)) //过账成功,并且生成了凭证要记录数据库
                {
                    strError = "回传T100费用成功!凭证号:" + model.MaterialDoc;
                    bSucc    = true;
                }

                return(bSucc);
            }
            catch (Exception ex)
            {
                strError = ex.Message;
                return(false);
            }
        }
예제 #3
0
        public bool CreateQualityChangeToERP(UserModel userModel, List <T_QualityChangeDetailInfo> modelList, ref string strError)
        {
            try
            {
                BaseMessage_Model <List <T_QualityChangeDetailInfo> > model = new BaseMessage_Model <List <T_QualityChangeDetailInfo> >();
                bool   bSucc           = false;
                string strUserNo       = string.Empty;
                string strPostUser     = string.Empty;
                string strErpVoucherNo = string.Empty;
                string strAftDate      = string.Empty;

                modelList.ForEach(t => t.PostUser = userModel.UserNo);
                if (modelList[0].WareHouseNo.Contains("AD07") || modelList[0].WareHouseNo.Contains("AD10") ||
                    modelList[0].WareHouseNo.Contains("BH02") || modelList[0].WareHouseNo.Contains("BH03") ||
                    modelList[0].WareHouseNo.Contains("BH04") || modelList[0].WareHouseNo.Contains("BH07") ||
                    modelList[0].WareHouseNo.Contains("BH08"))
                {
                    modelList.ForEach(t => t.AreaNo = " ");
                }


                T_Interface_Func tfunc         = new T_Interface_Func();
                string           ERPJson       = BILBasic.JSONUtil.JSONHelper.ObjectToJson <List <T_QualityChangeDetailInfo> >(modelList);
                string           interfaceJson = tfunc.PostModelListToInterface(ERPJson);

                model = BILBasic.JSONUtil.JSONHelper.JsonToObject <BaseMessage_Model <List <T_QualityChangeDetailInfo> > >(interfaceJson);

                //过账失败直接返回
                if (model.HeaderStatus == "E" && !string.IsNullOrEmpty(model.Message))
                {
                    strError = "ERP质量状态变更单生成失败!" + model.Message;
                    bSucc    = false;
                }
                else
                {
                    strError = model.MaterialDoc;
                    bSucc    = true;
                }

                return(bSucc);
            }
            catch (Exception ex)
            {
                strError = ex.Message;
                return(false);
            }
        }
예제 #4
0
        public bool PostCloseOutStockVoucherNo(List <T_OutStockInfo> modelList, ref string strError)
        {
            try
            {
                BaseMessage_Model <List <T_OutStockInfo> > model = new BaseMessage_Model <List <T_OutStockInfo> >();
                bool bSucc = false;
                //string strUserNo = string.Empty;
                //string strPostUser = string.Empty;
                //string StrongHoldCode = string.Empty;

                //StrongHoldCode = modelList[0].ErpVoucherNo.Substring(0, 3);
                //modelList.ForEach(t => t.VoucherType = 50);
                //modelList.ForEach(t => t.WmsStatus = "E");
                //modelList.ForEach(t => t.StrongHoldCode = StrongHoldCode);

                T_Interface_Func tfunc   = new T_Interface_Func();
                string           ERPJson = BILBasic.JSONUtil.JSONHelper.ObjectToJson <List <T_OutStockInfo> >(modelList);
                LogNet.LogInfo("closeJSON:" + ERPJson);
                string interfaceJson = tfunc.PostModelListToInterface(ERPJson);

                model = BILBasic.JSONUtil.JSONHelper.JsonToObject <BaseMessage_Model <List <T_OutStockInfo> > >(interfaceJson);

                LogNet.LogInfo("ERPJsonAfter:" + BILBasic.JSONUtil.JSONHelper.ObjectToJson <BaseMessage_Model <List <T_OutStockInfo> > >(model));

                //过账失败直接返回
                if (model.HeaderStatus == "E" && !string.IsNullOrEmpty(model.Message))
                {
                    strError = "回传T100关闭状态失败!" + model.Message;
                    bSucc    = false;
                }
                else if (model.HeaderStatus == "S" && !string.IsNullOrEmpty(model.MaterialDoc)) //过账成功,并且生成了凭证要记录数据库
                {
                    strError = "回传T100关闭状态成功!凭证号:" + model.MaterialDoc;
                    bSucc    = true;
                }

                return(bSucc);
            }
            catch (Exception ex)
            {
                strError = ex.Message;
                return(false);
            }
        }
예제 #5
0
        public bool CreateEDateChangeToERP(UserModel userModel, List <T_EDateChangeDetailInfo> modelList, ref string strError)
        {
            try
            {
                BaseMessage_Model <List <T_EDateChangeDetailInfo> > model = new BaseMessage_Model <List <T_EDateChangeDetailInfo> >();
                bool   bSucc           = false;
                string strUserNo       = string.Empty;
                string strPostUser     = string.Empty;
                string strErpVoucherNo = string.Empty;
                string strAftDate      = string.Empty;

                modelList.ForEach(t => t.StrResoneCode = t.ResoneCode.ToString().PadLeft(3, '0'));
                modelList.ForEach(t => t.PostUser      = userModel.UserNo);
                modelList.ForEach(t => t.StrAftEDate   = t.AftEDate.ToDateTime().Date.ToString("yyyy-MM-dd"));

                T_Interface_Func tfunc         = new T_Interface_Func();
                string           ERPJson       = BILBasic.JSONUtil.JSONHelper.ObjectToJson <List <T_EDateChangeDetailInfo> >(modelList);
                string           interfaceJson = tfunc.PostModelListToInterface(ERPJson);

                model = BILBasic.JSONUtil.JSONHelper.JsonToObject <BaseMessage_Model <List <T_EDateChangeDetailInfo> > >(interfaceJson);

                //过账失败直接返回
                if (model.HeaderStatus == "E" && !string.IsNullOrEmpty(model.Message))
                {
                    strError = "ERP效期变更单生成失败!" + model.Message;
                    bSucc    = false;
                }
                else
                {
                    strError = model.MaterialDoc;
                    bSucc    = true;
                }

                return(bSucc);
            }
            catch (Exception ex)
            {
                strError = ex.Message;
                return(false);
            }
        }
예제 #6
0
        public string SaveModelListSqlToDBADF(User.UserModel user, List <TBase_Model> modelList)
        {
            BaseMessage_Model <List <TBase_Model> > model = new BaseMessage_Model <List <TBase_Model> >();

            try
            {
                bool bSucc = false;

                string strError = "";


                if (user == null)
                {
                    model.HeaderStatus = "E";
                    model.Message      = "传入用户信息为空!";
                    JsonConvert.SerializeObject(model);
                }


                if (CheckModelBeforeSave(modelList, ref strError) == false)
                {
                    model.HeaderStatus = "E";
                    model.Message      = strError;
                    JsonConvert.SerializeObject(model);
                }

                T_Interface_Func tfunc   = new T_Interface_Func();
                string           ERPJson = GetModelListByJsonToERP(user, modelList);//JSONUtil.JSONHelper.ObjectToJson<List<TBase_Model>>(modelList);

                LogNet.LogInfo("ERPJsonBefore:" + ERPJson);
                string interfaceJson = tfunc.PostModelListToInterface(ERPJson);
                LogNet.LogInfo("YMH00000000ERP:" + interfaceJson);

                model = JSONUtil.JSONHelper.JsonToObject <BaseMessage_Model <List <TBase_Model> > >(interfaceJson);

                LogNet.LogInfo("ERPJsonAfter:" + JSONUtil.JSONHelper.ObjectToJson <BaseMessage_Model <List <TBase_Model> > >(model));

                //过账失败直接返回
                if (model.HeaderStatus == "E" && !string.IsNullOrEmpty(model.Message))
                {
                    return(interfaceJson);
                }
                else if (model.HeaderStatus == "S" && !string.IsNullOrEmpty(model.MaterialDoc)) //过账成功,并且生成了凭证要记录数据库
                {
                    modelList.ForEach(t => t.MaterialDoc = model.MaterialDoc);
                }

                //LogNet.LogInfo("ERPJson:" + JSONUtil.JSONHelper.ObjectToJson<List<TBase_Model>>(modelList));

                bSucc = db.SaveModelListBySqlToDB(user, ref modelList, ref strError);

                if (bSucc == false)
                {
                    model.HeaderStatus = "E";
                    model.Message      = strError;
                }
                else
                {
                    model.HeaderStatus = "S";
                    model.TaskNo       = modelList[0].TaskNo;
                    model.Message      = GetSuccessMessage(model.MaterialDoc, modelList[0].TaskNo);
                }

                return(JsonConvert.SerializeObject(model));
            }
            catch (Exception ex)
            {
                model.HeaderStatus = "E";
                model.Message      = "保存" + GetModelChineseName() + "失败!" + ex.Message + ex.TargetSite;

                return(JsonConvert.SerializeObject(model));
            }
        }
예제 #7
0
        public string SaveModelListSqlToDBADF(string UserJson, string ModeJson, string Guid = "", string strPost = "")
        {
            BaseMessage_Model <List <TBase_Model> > model = new BaseMessage_Model <List <TBase_Model> >();

            try
            {
                string strError = "";
                if (Guid != "")
                {
                    if (!CheckGuid(Guid, ref strError))
                    {
                        model.HeaderStatus = "E";
                        model.Message      = "GUID已经存在,不能重复提交-" + strError;
                        return(JSONUtil.JSONHelper.ObjectToJson <BaseMessage_Model <List <TBase_Model> > >(model));
                    }
                }

                bool bSucc = false;
                if (string.IsNullOrEmpty(UserJson))
                {
                    model.HeaderStatus = "E";
                    model.Message      = "传入用户信息为空!";
                    return(JSONUtil.JSONHelper.ObjectToJson <BaseMessage_Model <List <TBase_Model> > >(model));
                }

                User.UserModel user = JSONUtil.JSONHelper.JsonToObject <User.UserModel>(UserJson);
                user.GUID = Guid;

                List <TBase_Model> modelList = GetModelListByJson(UserJson, ModeJson);

                if (strPost != "复核")
                {
                    if (CheckModelBeforeSave(modelList, ref strError) == false)
                    {
                        model.HeaderStatus = "E";
                        model.Message      = strError;
                        return(JSONUtil.JSONHelper.ObjectToJson <BaseMessage_Model <List <TBase_Model> > >(model));
                    }
                }


                //是否过账
                if (string.IsNullOrEmpty(strPost) || (strPost == "下架" && (modelList[0].VoucherType == 31 || modelList[0].VoucherType == 53)) || strPost == "复核")
                {
                    T_Interface_Func tfunc   = new T_Interface_Func();
                    string           ERPJson = GetModelListByJsonToERP(user, modelList, strPost);//JSONUtil.JSONHelper.ObjectToJson<List<TBase_Model>>(modelList);

                    //LogNet.LogInfo("-----------------------ERPJsonBefore:" + ERPJson);
                    string interfaceJson = tfunc.PostModelListToInterface(ERPJson);

                    model = JSONUtil.JSONHelper.JsonToObject <BaseMessage_Model <List <TBase_Model> > >(interfaceJson);

                    //LogNet.LogInfo("-----------------------ERPJsonAfter:" + JSONUtil.JSONHelper.ObjectToJson<BaseMessage_Model<List<TBase_Model>>>(model));
                    //过账失败直接返回
                    if (model.HeaderStatus == "E" && !string.IsNullOrEmpty(model.Message))
                    {
                        return(interfaceJson);
                    }
                    else if (model.HeaderStatus == "S" && !string.IsNullOrEmpty(model.MaterialDoc)) //过账成功,并且生成了凭证要记录数据库
                    {
                        modelList.ForEach(t => t.MaterialDoc = model.MaterialDoc);
                    }
                }
                //modelList.ForEach(t => t.MaterialDoc = "Wgr0401210221054");

                //LogNet.LogInfo("ERPJson:" + JSONUtil.JSONHelper.ObjectToJson<List<TBase_Model>>(modelList));
                //LogNet.LogInfo("------------------------ymh:ERPtoWMS-" + JSONUtil.JSONHelper.ObjectToJson<List<TBase_Model>>(modelList));
                bSucc = db.SaveModelListBySqlToDB(user, ref modelList, ref strError, strPost);

                if (bSucc == false)
                {
                    model.HeaderStatus = "E";
                    model.Message      = strError;
                    //LogInfo.ErrorLog("------------------WMS失败:单号:【"+ modelList[0].ErpVoucherNo==null?"":modelList[0].ErpVoucherNo + "】错误信息:"+ strError);
                    LogNet.LogInfo("------------------ymh:WMS-失败:单号:【" + modelList[0].ErpVoucherNo == null ? "" : modelList[0].ErpVoucherNo + "】错误信息:" + strError);
                }
                else
                {
                    model.HeaderStatus = "S";
                    model.TaskNo       = modelList[0].TaskNo;
                    model.Message      = GetSuccessMessage(model.MaterialDoc, modelList[0].TaskNo);
                    LogNet.LogInfo("-----------------ymh:WMS-成功:单号:【" + modelList[0].ErpVoucherNo == null ? "" : modelList[0].ErpVoucherNo + "】");
                }

                return(JSONUtil.JSONHelper.ObjectToJson <BaseMessage_Model <List <TBase_Model> > >(model));
            }
            catch (Exception ex)
            {
                //LogInfo.ErrorLog("------------------WMS失败:错误信息:" + ex.ToString());
                LogNet.LogInfo("------------------ymh:WMS-失败:错误信息:" + ex.ToString());
                model.HeaderStatus = "E";
                model.Message      = "保存" + GetModelChineseName() + "失败!" + ex.Message + ex.TargetSite;
                return(JSONUtil.JSONHelper.ObjectToJson <BaseMessage_Model <List <TBase_Model> > >(model));
            }
        }
예제 #8
0
        /// <summary>
        /// 表格数据
        /// </summary>
        /// <returns></returns>
        public ActionResult List(int limit, int page, string houseNo, string OrderType)

        {
            T_Interface_Func TIF          = new T_Interface_Func();
            string           json         = "";
            List <Kanban>    kanbansOrder = new List <Kanban>();
            var orderByEmergencyFlag      = new List <Kanban>();

            if (OrderType == "0")//出货单看板
            {
                json = "{\"data_no\":\"" + houseNo + "\",\"VoucherType\":\"6000\"}";
                string ERPJson      = TIF.GetModelListByInterface(json);
                var    returnKanban = JSONHelper.JsonToObject <ReturnKanban>(ERPJson);
                var    kanbans      = returnKanban.data == null ? new List <Kanban>() : returnKanban.data;

                LogNet.LogInfo("---------------------调用ERP接口:返回出货单看板参数:" + kanbans);

                orderByEmergencyFlag = kanbans.FindAll(x => x.EmergencyFlag == "True")
                                       .OrderBy(x => x.BusinessDate).ThenBy(x => x.TransportModeCode).ToList();
                orderByEmergencyFlag.ForEach(x => x.BackColor = "red");
                var orderByBusinessDate = kanbans.FindAll(x => !IsToday(x.BusinessDate) &&
                                                          Convert.ToDateTime(x.BusinessDate) < DateTime.Now &&
                                                          x.EmergencyFlag != "True").OrderBy(x => x.BusinessDate)
                                          .ThenBy(x => x.TransportModeCode).ToList();
                orderByBusinessDate.ForEach(x => x.BackColor = "yellow");
                var others = kanbans.FindAll(x => x.EmergencyFlag != "True" &&
                                             (IsToday(x.BusinessDate) || Convert.ToDateTime(x.BusinessDate) > DateTime.Now))
                             .OrderBy(x => x.BusinessDate).ThenBy(x => x.TransportModeCode);
                kanbansOrder.AddRange(orderByEmergencyFlag);
                kanbansOrder.AddRange(orderByBusinessDate);
                kanbansOrder.AddRange(others);
            }
            else if (OrderType == "1")//形态转换看板
            {
                json = "{\"data_no\":\"" + houseNo + "\",\"VoucherType\":\"6001\"}";
                string ERPJson      = TIF.GetModelListByInterface(json);
                var    returnKanban = JSONHelper.JsonToObject <ReturnKanban>(ERPJson);
                var    kanbans      = returnKanban.data;
                if (kanbans == null)
                {
                    kanbans = new List <Kanban>();
                }

                LogNet.LogInfo("---------------------调用ERP接口:返回形态看板参数:" + kanbans);

                orderByEmergencyFlag = kanbans.FindAll(x => x.EmergencyFlag == "True" &&
                                                       x.Status != "Approved").OrderBy(x => x.BusinessDate).ToList();
                orderByEmergencyFlag.ForEach(x => x.BackColor = "red");
                var orderByBusinessDate = kanbans.FindAll(x => !IsToday(x.BusinessDate) &&
                                                          x.Status != "Approved" && Convert.ToDateTime(x.BusinessDate) < DateTime.Now &&
                                                          x.EmergencyFlag != "True").OrderBy(x => x.BusinessDate).ToList();
                orderByBusinessDate.ForEach(x => x.BackColor = "yellow");
                var orderByStatus = kanbans.FindAll(x => x.Status == "Approved")
                                    .OrderBy(x => x.BusinessDate).ToList();
                orderByStatus.ForEach(x => x.BackColor = "blue");
                var others = kanbans.FindAll(x => x.EmergencyFlag != "True" &&
                                             (IsToday(x.BusinessDate) || Convert.ToDateTime(x.BusinessDate) > DateTime.Now) &&
                                             x.Status != "Approved").OrderBy(x => x.BusinessDate);
                kanbansOrder.AddRange(orderByEmergencyFlag);
                kanbansOrder.AddRange(orderByBusinessDate);
                kanbansOrder.AddRange(others);
                kanbansOrder.AddRange(orderByStatus);
            }
            else if (OrderType == "2")
            {
            }
            else
            {
            }

            //发货看板赋值
            var datas = new List <Kanban>();

            if (orderByEmergencyFlag.Count() >= limit || page == 1)
            {
                datas = kanbansOrder.Take(limit).ToList();
            }
            else
            {
                var pageDatas = kanbansOrder.Skip(limit * (page - 1)).Take(limit).ToList();
                datas.AddRange(orderByEmergencyFlag);
                datas.AddRange(pageDatas.Take(limit - orderByEmergencyFlag.Count()));
            }
            if (OrderType == "0")
            {
                datas.ForEach(x =>
                {
                    var details  = new TaskDetailsService().GetList(y => y.ERPVOUCHERNO == x.DocNo);
                    var taskTran = new TasktransService()
                                   .GetList(z => z.ERPVOUCHERNO == x.DocNo && z.TASKTYPE == 2).FirstOrDefault();
                    x.SHELVEQTY = details.Sum(a => a.UNSHELVEQTY);
                    x.CREATER   = taskTran == null ? "" : taskTran.CREATER;
                });
            }

            var jsonReturn = new
            {
                Result      = 1,
                ResultValue = (datas == null || datas.Count() == 0) ? "没有符合条件的数据" : "",
                Data        = datas,
                PageData    = new
                {
                    totalCount  = kanbansOrder.Count(),
                    pageSize    = limit,
                    currentPage = page,
                    totalPages  = kanbansOrder.Count() % limit > 0
                    ? (Math.Floor(Convert.ToDouble(kanbansOrder.Count() / limit)) + 1)
                    : (kanbansOrder.Count() / limit)
                }
            };

            return(Json(jsonReturn, JsonRequestBehavior.AllowGet));
        }