Exemple #1
0
        private IRfcTable CreateIrfcTableForTaskInfo(SAP_Common.SAP_Common sap_comm, DeliveryReceive_Model DeliveryInfo, UserInfo userModel, string functionName, string strRfcTableName)
        {
            IRfcTable rfcTable = sap_comm.CreateIrfcTable(functionName, strRfcTableName);
            //过账前,过滤掉收货数量为零的数据
            var lstDeliveryDetail = DeliveryInfo.lstDeliveryDetail.Where(t => t.CurrentPostQty > 0).ToList();

            foreach (var item in lstDeliveryDetail)
            {
                rfcTable.Insert();
                rfcTable.CurrentRow.SetValue("MATERIAL", item.MaterialNo);
                rfcTable.CurrentRow.SetValue("PLANT", item.Plant);
                rfcTable.CurrentRow.SetValue("STGE_LOC", item.StorageLoc);
                rfcTable.CurrentRow.SetValue("PO_NUMBER", item.VoucherNo);
                rfcTable.CurrentRow.SetValue("PO_ITEM", item.RowNo);

                rfcTable.CurrentRow.SetValue("MOVE_TYPE", "105");


                rfcTable.CurrentRow.SetValue("ENTRY_QNT", item.CurrentPostQty);
                rfcTable.CurrentRow.SetValue("BASE_UOM", item.Unit);
                rfcTable.CurrentRow.SetValue("MVT_IND", "B");
                //rfcTable.CurrentRow.SetValue("GR_RCPT", userModel.Name);
                rfcTable.CurrentRow.SetValue("GR_RCPT", string.Empty);

                rfcTable.CurrentRow.SetValue("REF_DOC", DeliveryInfo.MaterialDoc);
                rfcTable.CurrentRow.SetValue("REF_DOC_YR", DeliveryInfo.DocDate);
            }
            return(rfcTable);
        }
Exemple #2
0
        public bool PrintQuality(DeliveryReceive_Model deliveryMdl, UserInfo userModel, ref string strErrMsg)
        {
            try
            {
                string strSql = "";
                strSql = string.Format("update t_receive set printqty = ISNULL(printqty,0) + {0} where ID = {1}  ", 1, deliveryMdl.ID);
                int i = OperationSql.ExecuteNonQuery2(CommandType.Text, strSql);
                if (i <= 0)
                {
                    strErrMsg = string.Format("未更新质检主表任何行:{0}", strSql);
                    return(false);
                }

                strSql = string.Format("update t_receivedetails set printqty = ISNULL(printqty,0) + {0}, printtime = sysdate where receive_id = {1} and voucherno = '{2}' ", 1, deliveryMdl.ID, deliveryMdl.VoucherNo);
                i      = OperationSql.ExecuteNonQuery2(CommandType.Text, strSql);
                if (i <= 0)
                {
                    strErrMsg = string.Format("未更新质检子表任何行:{0}", strSql);
                    return(false);
                }

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #3
0
        //public bool TaskInfoPostToSAP(ref DeliveryReceive_Model ProductionModel, UserInfo userModel, ref string strErrMsg)
        //{
        //    try
        //    {
        //        Production_SAP PSAP = new Production_SAP();
        //        return PSAP.PostProductionInfoToSAP(ref ProductionModel, userModel, ref strErrMsg);
        //    }
        //    catch (Exception ex)
        //    {
        //        throw ex;
        //    }
        //}

        public override bool CreateReceiveAndShelveTask(ref DeliveryReceive_Model DeliveryInfo, UserInfo userModel, ref string strErrMsg)
        {
            try
            {
                bool            bSucc               = false;
                string          strTaskNo           = string.Empty;
                ReceiveGoods_DB RGD                 = new ReceiveGoods_DB();
                string          strReceiveGoodsXml  = XMLUtil.XmlUtil.Serializer(typeof(DeliveryReceive_Model), DeliveryInfo);
                string          strUserWareHouseXml = XMLUtil.XmlUtil.Serializer(typeof(UserInfo), userModel);

                TOOL.WriteLogMethod.WriteLog("方法:CreateReceiveAndShelveTask---Prd---操作人:" + userModel.UserName + strReceiveGoodsXml);

                bSucc = RGD.CreateReceiveAndShelveTask(strReceiveGoodsXml, strUserWareHouseXml, userModel, ref strTaskNo, ref strErrMsg);

                if (bSucc == true)
                {
                    DeliveryInfo.TaskNo = strTaskNo;
                }
                return(bSucc);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #4
0
        public FrmCensorshipPrinting(DeliveryReceive_Model drMain, List <DeliveryReceiveDetail_Model> lstDetail)
        {
            InitializeComponent();

            _header = drMain;
            _detail = lstDetail;
        }
Exemple #5
0
        private void dgvList_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                bool   bSucc         = false;
                string strErrMsg     = string.Empty;
                string strHeaderText = this.dgvList.Columns[e.ColumnIndex].HeaderText;
                //if (AllowShowEditFormText.IndexOf(strHeaderText) < 0) return;

                if (e.RowIndex >= 0 &&
                    e.RowIndex < this.dgvList.Rows.Count && AllowShowEditFormText.IndexOf(strHeaderText) >= 0)
                {
                    DeliveryReceive_Model item = this.lstDelivery[e.RowIndex];

                    bSucc = Quality_Func.GetQualityDetails(item, ref lstDeliveryDetails, ref strErrMsg);

                    if (bSucc == false)
                    {
                        Common.Common_Func.ErrorMessage(strErrMsg, "编辑失败");
                        return;
                    }
                    using (FrmQuality FQ = new FrmQuality(item, lstDeliveryDetails))
                    {
                        FQ.ShowDialog();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Exemple #6
0
        public List <DeliveryReceiveDetail_Model> GetQualityDetailInfo(DeliveryReceive_Model DeliveryInfo)
        {
            try
            {
                string strSql = string.Format("select * from V_GETQUALITYDETAILINFO where receive_id = {0} and voucherno = '{1}' order by rowno asc ", DeliveryInfo.ID, DeliveryInfo.VoucherNo);
                List <DeliveryReceiveDetail_Model> lstDeliveryDetailInfo = new List <DeliveryReceiveDetail_Model>();

                using (SqlDataReader dr = OperationSql.ExecuteReader(System.Data.CommandType.Text, strSql))
                {
                    while (dr.Read())
                    {
                        DeliveryReceiveDetail_Model DRM = new DeliveryReceiveDetail_Model();
                        DRM.ID           = dr["ID"].ToInt32();
                        DRM.RowNo        = dr["RowNo"].ToDBString();
                        DRM.MaterialNo   = dr["MaterialNo"].ToDBString();
                        DRM.MaterialDesc = dr["MaterialDesc"].ToDBString();
                        DRM.ReceiveQty   = (decimal)dr["ReceiveQty"];
                        DRM.Unit         = dr["Unit"].ToDBString();
                        DRM.PrdVersion   = dr["PrdVersion"].ToDBString();
                        DRM.QualityQty   = (decimal)dr["QualityQty"];
                        DRM.UnQualityQty = (decimal)dr["UnQualityQty"];
                        DRM.VoucherNo    = dr["VoucherNo"].ToDBString();
                        DRM.QualityType  = dr["qualitytype"].ToDBString();//string.Empty;//Common_Func.GetComboBoxItem(Common_Func.GetParentMenuByMenu);
                        lstDeliveryDetailInfo.Add(DRM);
                    }
                }
                return(lstDeliveryDetailInfo);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #7
0
        /// <summary>
        /// 获取检验通知书表头数据
        /// </summary>
        /// <param name="strErrMsg"></param>
        /// <returns></returns>
        public bool GetQualityListByPage(ref List <DeliveryReceive_Model> modelList, DeliveryReceive_Model model, ref DividPage page, UserInfo user, ref string strError)
        {
            if (page == null)
            {
                page = new DividPage();
            }
            List <DeliveryReceive_Model> lstModel = new List <DeliveryReceive_Model>();

            try
            {
                using (SqlDataReader dr = Common_DB.QueryByDividPage(ref page, "V_GETQUALITYINFO", GetFilterSql(model, user)))
                {
                    while (dr.Read())
                    {
                        lstModel.Add(GetDeliveryReceive_ModelFromDataReader(dr));
                    }
                }

                modelList = lstModel;
                return(true);
            }
            catch (Exception ex)
            {
                strError = ex.Message;
                return(false);
            }
            finally
            {
            }
        }
Exemple #8
0
        public bool PostOutSideByDeliveryAndPOToSAP(ref DeliveryReceive_Model DeliveryInfo, UserInfo userModel, ref string strErrMsg)
        {
            try
            {
                var    sap_comm       = SAP_Common.SAP_Common.CreateInstance();
                string strMaterialDoc = string.Empty;
                string functionName   = "ZBAPI_GOODSMVT_CREATE_WX";
                Dictionary <string, string> lstParameters = new Dictionary <string, string>();

                Dictionary <string, Dictionary <string, object> > lstStructures = new Dictionary <string, Dictionary <string, object> >();
                Dictionary <string, object> header = new Dictionary <string, object>();
                header.Add("PSTNG_DATE", DateTime.Now.ToString("yyyy-MM-dd"));//.ToString("yyyy-MM-dd HH:mm:ss")
                header.Add("DOC_DATE", DateTime.Now.ToString("yyyy-MM-dd"));
                header.Add("REF_DOC_NO", DeliveryInfo.DeliveryNo);
                header.Add("BILL_OF_LADING", string.Empty);
                header.Add("GR_GI_SLIP_NO", userModel.UserName);
                header.Add("PR_UNAME", string.Empty);
                header.Add("HEADER_TXT", DeliveryInfo.OsDeliveryRemark);
                header.Add("BAR_CODE", string.Empty);
                lstStructures.Add("GOODSMVT_HEADER", header);

                Dictionary <string, string>        ParametersOutput = null;
                Dictionary <string, IRfcStructure> StructureOutputs = new Dictionary <string, IRfcStructure>();
                StructureOutputs.Add("GOODSMVT_HEADRET_01", null);
                StructureOutputs.Add("GOODSMVT_HEADRET_04", null);

                Dictionary <string, IRfcTable> rtbsOutput = new Dictionary <string, IRfcTable>();

                rtbsOutput.Add("RETURN", null);

                Dictionary <string, IRfcTable> lstTable = new Dictionary <string, IRfcTable>();
                lstTable.Add("GOODSMVT_ITEM_01", CreateIrfcTableForDeliveryInfo(sap_comm, DeliveryInfo, userModel, functionName, "GOODSMVT_ITEM_01"));
                lstTable.Add("GOODSMVT_ITEM_04", CreateIrfcTableForPOInfo(sap_comm, DeliveryInfo, userModel, functionName, "GOODSMVT_ITEM_04"));


                string strMaterialNo = string.Empty;

                bool bSucc = sap_comm.PostSapFunctionFromListTable(functionName, lstParameters, lstStructures, ref ParametersOutput, ref StructureOutputs, ref rtbsOutput
                                                                   , lstTable, ref strErrMsg);

                if (bSucc == true)
                {
                    DeliveryInfo.lstMaterialDoc = new List <MaterialDocument.MaterialDoc_Model>();

                    MaterialDocument.MaterialDoc_Model MDM = new MaterialDocument.MaterialDoc_Model();
                    MDM = sap_comm.GetMaterialDoc(70, StructureOutputs["GOODSMVT_HEADRET_01"]);
                    DeliveryInfo.lstMaterialDoc.Add(MDM);

                    MaterialDocument.MaterialDoc_Model MDMPO = new MaterialDocument.MaterialDoc_Model();
                    MDMPO = sap_comm.GetMaterialDoc(70, StructureOutputs["GOODSMVT_HEADRET_04"]);
                    DeliveryInfo.lstMaterialDoc.Add(MDMPO);
                }
                return(bSucc);
            }
            catch (RfcAbapRuntimeException ex)
            {
                throw ex;
            }
        }
Exemple #9
0
 private void CreateHeader(ref DeliveryReceive_Model DeliveryModel, IRfcStructure iRfcStructure)
 {
     if (iRfcStructure != null)
     {
         DeliveryModel.VoucherNo = iRfcStructure.GetString("EBELN");
         DeliveryModel.SupCode   = iRfcStructure.GetString("LIFNR");
         DeliveryModel.SupName   = iRfcStructure.GetString("NAME1");
     }
 }
Exemple #10
0
 private void GetQueryMain()
 {
     if (queryMain == null)
     {
         queryMain = new DeliveryReceive_Model(); bsMain.DataSource = queryMain;
     }
     queryMain.DeliveryNo = txtDeliveryNo.Text.Trim();
     //queryMain.Operator = Common_Var.CurrentUser.UserNo;
 }
Exemple #11
0
        public FrmQuality(DeliveryReceive_Model DeliveryModel, List <DeliveryReceiveDetail_Model> lstDeliveryDetails)
        {
            InitializeComponent();

            this.bsDelivery.DataSource      = DeliveryModel;
            DeliveryModel.lstDeliveryDetail = lstDeliveryDetails;
            this.bindListDeliveryDetails    = new System.ComponentModel.BindingList <DeliveryReceiveDetail_Model>(DeliveryModel.lstDeliveryDetail);
            this.dgvList.DataSource         = this.bindListDeliveryDetails;
            this.DeliveryModel    = DeliveryModel;
            this.dgvList.EditMode = DataGridViewEditMode.EditOnKeystrokeOrF2;
        }
Exemple #12
0
        private void InitMainQuery()
        {
            _serverMainPage = new DividPage();
            queryMain       = new DeliveryReceive_Model();
            lstMain         = new List <DeliveryReceive_Model>();

            pageList.GetShowCountsByDGV(dgvList);
            pageDetail.GetShowCountsByDGV(dgvDetail);

            bsMain.DataSource = queryMain;
        }
Exemple #13
0
        private List <DeliveryReceiveDetail_Model> CreateProductionDetails(ref DeliveryReceive_Model ProductionModel, IRfcTable rtb)
        {
            List <DeliveryReceiveDetail_Model> lstPrdReturnDetails = null;

            if (rtb != null)
            {
                if (rtb.RowCount > 0)
                {
                    lstPrdReturnDetails = new List <DeliveryReceiveDetail_Model>();
                }
                foreach (var itemRtb in rtb)
                {
                    ProductionModel.Plant     = itemRtb.GetString("WERKS");
                    ProductionModel.PlantName = itemRtb.GetString("NAME1");
                    ProductionModel.MoveType  = string.Empty;

                    DeliveryReceiveDetail_Model item = new DeliveryReceiveDetail_Model();
                    item.DeliveryNo           = itemRtb.GetString("AUFNR").TrimStart('0');
                    item.CreateTime           = string.Empty;
                    item.RowNo                = string.Empty;
                    item.VoucherNo            = itemRtb.GetString("AUFNR").TrimStart('0');
                    item.MaterialNo           = itemRtb.GetString("MATNR");
                    item.MaterialDesc         = itemRtb.GetString("MAKTX");
                    item.ClaimArriveTime      = string.Empty;
                    item.Unit                 = string.Empty;
                    item.CurrentlyDeliveryNum = itemRtb.GetInt("GAMNG");
                    item.ClaimDeliveryNum     = 0;
                    item.ReadyDeliveryNum     = 0;
                    item.WaitDeliveryNum      = 0;
                    item.InRoadDeliveryNum    = 0;
                    item.ReceiveTime          = string.Empty;
                    item.DeliveryAddress      = string.Empty;
                    item.CorrespondDepartment = string.Empty;
                    item.WorkCode             = string.Empty;
                    item.JingxinName          = string.Empty;
                    item.Plant                = itemRtb.GetString("WERKS");
                    item.PlantName            = itemRtb.GetString("NAME1");
                    item.PrdVersion           = string.Empty;
                    item.ReceiveQty           = 0;
                    item.IsUrgent             = 1;
                    item.PackCount            = 0;
                    item.StorageLoc           = string.Empty;
                    item.PrdReturnReason      = string.Empty;
                    item.Barcode              = string.Empty;
                    item.SerialNo             = string.Empty;
                    item.ReserveNumber        = string.Empty;
                    item.ReserveRowNo         = string.Empty;
                    item.OldReceiveQty        = itemRtb.GetInt("WEMNG");
                    item.TrackNo              = string.Empty;
                    lstPrdReturnDetails.Add(item);
                }
            }
            return(lstPrdReturnDetails);
        }
Exemple #14
0
 public override string CreateMessage(DeliveryReceive_Model DeliveryInfo, bool bTask, string strTaskErrMsg)
 {
     if (bTask)
     {
         return("上架任务创建成功!" + "\r\n上架任务号:" + DeliveryInfo.TaskNo);
     }
     else
     {
         return("上架任务创建失败:" + strTaskErrMsg);
     }
 }
Exemple #15
0
        public bool GetProductionReturnInfoForSAP(string strPrdReturnNo, ref DeliveryReceive_Model PrdReturnModel, ref string strErrMsg)
        {
            try
            {
                var       sap_comm     = SAP_Common.SAP_Common.CreateInstance();
                IRfcTable rtbInput     = null;
                string    tableindex   = null;
                string    functionName = "ZLS_TL_DETAIL_READ";
                Dictionary <string, string> lstParameters = new Dictionary <string, string>();
                lstParameters.Add("BEDNR", strPrdReturnNo);
                Dictionary <string, Dictionary <string, object> > lstStructures = null;
                List <string> ParameterNamesForOut                  = null;
                Dictionary <string, string> ParametersOutput        = null;
                List <string> StructureNamesForOut                  = null;
                Dictionary <string, IRfcStructure> StructureOutputs = null;
                List <string> tableNamesForOut = new List <string>()
                {
                    "IT_SCTL", "RETURN"
                };
                Dictionary <string, IRfcTable> rtbsOutput = null;

                bool bSucc = sap_comm.getSapFunctionToTable(functionName, lstParameters, lstStructures, rtbInput, tableindex, ParameterNamesForOut, out ParametersOutput, StructureNamesForOut,
                                                            out StructureOutputs, tableNamesForOut, out rtbsOutput, ref strErrMsg);

                if (bSucc == false)
                {
                    return(bSucc);
                }


                PrdReturnModel.DeliveryNo    = strPrdReturnNo;
                PrdReturnModel.VoucherType   = 30;
                PrdReturnModel.IsReceivePost = 1; //不过账
                PrdReturnModel.IsShelvePost  = 2;
                PrdReturnModel.IsQuality     = 1; //不质检
                PrdReturnModel.SupName       = string.Empty;
                PrdReturnModel.SupCode       = string.Empty;
                //PrdReturnModel.Plant = string.Empty;
                PrdReturnModel.PlantName        = string.Empty;
                PrdReturnModel.materialDocModel = new MaterialDocument.MaterialDoc_Model()
                {
                    MaterialDoc = string.Empty, MaterialDocDate = string.Empty
                };
                //PrdReturnModel.materialDocModel.MaterialDoc = string.Empty;

                PrdReturnModel.lstDeliveryDetail = CreateProductionReturnDetails(ref PrdReturnModel, rtbsOutput["IT_SCTL"]);

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #16
0
        //public bool PostOutSideByDeliveryToSAP(ref DeliveryReceive_Model DeliveryInfo, UserInfo userModel, ref string strErrMsg)
        //{
        //    try
        //    {
        //        bool bSucc = false;

        //        OutSideReceive_SAP ORSAP = new OutSideReceive_SAP();
        //        DeliveryReceive_DB DRD = new DeliveryReceive_DB();

        //        if (DRD.CheckDeliveryNoIsExist(DeliveryInfo.DeliveryNo) >= 1)
        //        {
        //            strErrMsg = "送货单已经收货,送货单号:" + DeliveryInfo.DeliveryNo;
        //            return false;
        //        }

        //        if (DeliveryInfo.lstDeliveryDetail.Where(t => t.OKSelect == true).Count() == 0)
        //        {
        //            strErrMsg = "请选中过账行!";
        //            return false;
        //        }

        //        DeliveryInfo.lstDeliveryDetail = DeliveryInfo.lstDeliveryDetail.Where(t => t.OKSelect == true).ToList();

        //        bSucc = ORSAP.PostOutSideByDeliveryToSAP(ref DeliveryInfo, userModel, ref strErrMsg);

        //        if (bSucc == false)
        //        {
        //            return bSucc;
        //        }

        //        bSucc = ORSAP.PostOutSideByPOToSAP(ref DeliveryInfo, userModel, ref strErrMsg);

        //        if (bSucc == true)
        //        {
        //            strErrMsg = GetMaterialDoc(DeliveryInfo);
        //        }
        //        else
        //        {
        //            return bSucc;
        //        }

        //        DeliveryInfo.VoucherType = 70;//外协送货单
        //        DeliveryInfo.IsQuality = 1;
        //        DeliveryInfo.IsReceivePost = 2;
        //        DeliveryInfo.IsShelvePost = 1;
        //        string strSaveMsg = string.Empty;
        //        string strOutSideDelivery = XMLUtil.XmlUtil.Serializer(typeof(DeliveryReceive_Model), DeliveryInfo);
        //        OutSideReceive_DB OSRD=new OutSideReceive_DB();
        //        TOOL.WriteLogMethod.WriteLog("方法:PostOutSideByDeliveryToSAP---操作人:" + userModel.UserName + strOutSideDelivery);
        //        //过账成功,插入数据库
        //        bSucc=OSRD.SaveOutSideDeliveryInfo(strOutSideDelivery, userModel, ref strSaveMsg);

        //        if (bSucc == false)
        //        {
        //            strErrMsg = strErrMsg + "\r\n" + "数据写入失败:" + strSaveMsg;
        //        }

        //        return bSucc;
        //    }
        //    catch (Exception ex)
        //    {
        //        strErrMsg = "Web异常:" + ex.Message;
        //        return false;
        //    }
        //}


        //public bool PostOutSideByDeliveryAndPOToSAP(ref DeliveryReceive_Model DeliveryInfo, UserInfo userModel, ref string strErrMsg)
        //{
        //    try
        //    {
        //        bool bSucc = false;

        //        OutSideReceive_SAP ORSAP = new OutSideReceive_SAP();
        //        DeliveryReceive_DB DRD = new DeliveryReceive_DB();

        //        if (DRD.CheckDeliveryNoIsExist(DeliveryInfo.DeliveryNo) >= 1)
        //        {
        //            strErrMsg = "送货单已经收货,送货单号:" + DeliveryInfo.DeliveryNo;
        //            return false;
        //        }

        //        if (DeliveryInfo.lstDeliveryDetail.Where(t => t.OKSelect == true).Count() == 0)
        //        {
        //            strErrMsg = "请选中过账行!";
        //            return false;
        //        }

        //        DeliveryInfo.lstDeliveryDetail = DeliveryInfo.lstDeliveryDetail.Where(t => t.OKSelect == true).ToList();

        //        bSucc = ORSAP.PostOutSideByDeliveryAndPOToSAP(ref DeliveryInfo, userModel, ref strErrMsg);

        //        if (bSucc == false)
        //        {
        //            return bSucc;
        //        }

        //        strErrMsg = GetMaterialDoc(DeliveryInfo);

        //        DeliveryInfo.VoucherType = 70;//外协送货单
        //        DeliveryInfo.IsQuality = 1;
        //        DeliveryInfo.IsReceivePost = 2;
        //        DeliveryInfo.IsShelvePost = 1;
        //        string strSaveMsg = string.Empty;
        //        string strOutSideDelivery = XMLUtil.XmlUtil.Serializer(typeof(DeliveryReceive_Model), DeliveryInfo);
        //        OutSideReceive_DB OSRD = new OutSideReceive_DB();
        //        TOOL.WriteLogMethod.WriteLog("方法:PostOutSideByDeliveryAndPOToSAP---操作人:" + userModel.UserName + strOutSideDelivery);
        //        //过账成功,插入数据库
        //        bSucc = OSRD.SaveOutSideDeliveryInfo(strOutSideDelivery, userModel, ref strSaveMsg);

        //        if (bSucc == false)
        //        {
        //            strErrMsg = strErrMsg + "\r\n" + "数据写入失败:" + strSaveMsg;
        //        }

        //        return bSucc;
        //    }
        //    catch (Exception ex)
        //    {
        //        strErrMsg = "Web异常:" + ex.Message;
        //        return false;
        //    }
        //}

        public string GetMaterialDoc(DeliveryReceive_Model DeliveryInfo)
        {
            string strMsgDoc = "过账成功!\r\n";

            foreach (var item in DeliveryInfo.lstMaterialDoc)
            {
                strMsgDoc = strMsgDoc + "物料凭证:" + item.MaterialDoc + "\r\n" + "凭证年度:"
                            + item.MaterialDocDate + "\r\n";
            }
            return(strMsgDoc);
        }
        //public bool TaskInfoPostToSAP(ref DeliveryReceive_Model PrdReturnModel, UserInfo userModel, ref string strErrMsg)
        //{
        //    try
        //    {
        //        bool bSucc = false;
        //        ProductionReturn_SAP PSAP = new ProductionReturn_SAP();

        //        //var lstNewPrdReturnDetails = PrdReturnModel.lstDeliveryDetail.GroupBy(t => t.TrackNo);

        //        //foreach (var item in lstNewPrdReturnDetails)
        //        //{
        //        //    PrdReturnModel.lstDeliveryDetail.Where(t => t.TrackNo == item.FirstOrDefault().TrackNo);
        //        //    bSucc = PSAP.PostProductionReturnInfoToSAP(ref PrdReturnModel, userModel, ref strErrMsg);
        //        //}
        //        //return bSucc;
        //        return PSAP.PostProductionReturnInfoToSAP(ref PrdReturnModel, userModel, ref strErrMsg);
        //    }
        //    catch (Exception ex)
        //    {
        //        strErrMsg = "Web异常:" + ex;
        //        return false;
        //    }
        //}

        public override bool CreateReceiveAndShelveTask(ref DeliveryReceive_Model DeliveryInfo, UserInfo userModel, ref string strErrMsg)
        {
            try
            {
                bool            bSucc               = false;
                string          strTaskNo           = string.Empty;
                ReceiveGoods_DB RGD                 = new ReceiveGoods_DB();
                string          strReceiveGoodsXml  = XMLUtil.XmlUtil.Serializer(typeof(DeliveryReceive_Model), DeliveryInfo);
                string          strUserWareHouseXml = XMLUtil.XmlUtil.Serializer(typeof(UserInfo), userModel);

                TOOL.WriteLogMethod.WriteLog("方法:CreateReceiveAndShelveTask--PrdRet---操作人:" + userModel.UserName + strReceiveGoodsXml);
                bSucc = RGD.CreateReceiveAndShelveTask(strReceiveGoodsXml, strUserWareHouseXml, userModel, ref strTaskNo, ref strErrMsg);

                if (bSucc == true)
                {
                    DeliveryInfo.TaskNo = strTaskNo;
                }
                return(bSucc);

                //DeliveryInfo.lstDeliveryDetail = DeliveryInfo.lstDeliveryDetail.GroupBy(s => s.MaterialNo).Select(g => new DeliveryReceiveDetail_Model()
                //{
                //    MaterialNo = g.Key,
                //    MaterialDesc = g.FirstOrDefault().MaterialDesc,
                //    ReceiveQty = g.Sum(a => a.ReceiveQty),
                //    PackCount = g.Sum(a => a.PackCount),
                //    CurrentlyDeliveryNum = g.Sum(a=>a.CurrentlyDeliveryNum),
                //    VoucherNo = g.FirstOrDefault().VoucherNo,
                //    Unit = g.FirstOrDefault().Unit,
                //    Plant = g.FirstOrDefault().Plant,
                //    RowNo=string.Empty,ClaimArriveTime = g.FirstOrDefault().ClaimArriveTime,
                //    ClaimDeliveryNum = g.FirstOrDefault().ClaimDeliveryNum,
                //    ReadyDeliveryNum = g.FirstOrDefault().ReadyDeliveryNum,
                //    WaitDeliveryNum = g.FirstOrDefault().WaitDeliveryNum,
                //    InRoadDeliveryNum = g.FirstOrDefault().InRoadDeliveryNum,
                //    ReceiveTime = g.FirstOrDefault().ReceiveTime,
                //    DeliveryAddress = g.FirstOrDefault().DeliveryAddress,
                //    CorrespondDepartment = g.FirstOrDefault().CorrespondDepartment,
                //    WorkCode = g.FirstOrDefault().WorkCode,
                //    JingxinName = g.FirstOrDefault().JingxinName,
                //    PlantName = g.FirstOrDefault().PlantName,
                //    PrdVersion = g.FirstOrDefault().PrdVersion,
                //    StorageLoc  =g.FirstOrDefault().StorageLoc,
                //    IsUrgent = g.FirstOrDefault().IsUrgent,
                //    PrdReturnReason = g.FirstOrDefault().PrdReturnReason,


                //}).ToList();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #18
0
        public bool PrintQuality(DeliveryReceive_Model deliveryMdl, UserInfo userModel, ref string strErrMsg)
        {
            ReceiveGoods_DB RGD = new ReceiveGoods_DB();

            if (!RGD.PrintQuality(deliveryMdl, userModel, ref strErrMsg))
            {
                strErrMsg = "更新打印次数失败!" + strErrMsg;
                return(false);
            }

            return(true);
        }
Exemple #19
0
        public bool PostProductionReturnInfoToSAP(ref DeliveryReceive_Model PrdReturnModel, UserInfo userModel, ref string strErrMsg)
        {
            try
            {
                var    sap_comm       = SAP_Common.SAP_Common.CreateInstance();
                string strMaterialDoc = string.Empty;
                string functionName   = "ZBAPI_GOODSMVT_CREATE_03";
                Dictionary <string, string> lstParameters = new Dictionary <string, string>();
                lstParameters.Add("I_BEDNR", PrdReturnModel.DeliveryNo);

                Dictionary <string, Dictionary <string, object> > lstStructures = new Dictionary <string, Dictionary <string, object> >();
                Dictionary <string, object> header = new Dictionary <string, object>();
                header.Add("PSTNG_DATE", DateTime.Now.ToString("yyyy-MM-dd"));
                header.Add("DOC_DATE", DateTime.Now.ToString("yyyy-MM-dd"));
                header.Add("REF_DOC_NO", PrdReturnModel.DeliveryNo);
                header.Add("BILL_OF_LADING", string.Empty);
                header.Add("GR_GI_SLIP_NO", userModel.UserName);
                header.Add("PR_UNAME", string.Empty);
                header.Add("HEADER_TXT", string.Empty);
                header.Add("BAR_CODE", string.Empty);
                lstStructures.Add("GOODSMVT_HEADER", header);

                Dictionary <string, string>        ParametersOutput = null;
                Dictionary <string, IRfcStructure> StructureOutputs = new Dictionary <string, IRfcStructure>();
                StructureOutputs.Add("GOODSMVT_HEADRET", null);

                Dictionary <string, IRfcTable> rtbsOutput = new Dictionary <string, IRfcTable>();

                rtbsOutput.Add("RETURN", null);

                string    strRfcTableName = "GOODSMVT_ITEM";
                IRfcTable rfcTable        = CreateIrfcTableForProductionReturnInfo(sap_comm, PrdReturnModel, userModel, functionName, strRfcTableName);


                string strMaterialNo = string.Empty;

                bool bSucc = sap_comm.PostSapFunctionFromTable(functionName, lstParameters, lstStructures, ref ParametersOutput, ref StructureOutputs, ref rtbsOutput
                                                               , "GOODSMVT_ITEM", rfcTable, ref strErrMsg);

                if (bSucc == true)
                {
                    //PrdReturnModel.materialDocModel = new MaterialDoc_Model();
                    PrdReturnModel.materialDocModel = sap_comm.GetMaterialDoc(30, StructureOutputs["GOODSMVT_HEADRET"]);
                }

                return(bSucc);
            }
            catch (RfcAbapRuntimeException ex)
            {
                throw ex;
            }
        }
Exemple #20
0
        private void InitMainQuery()
        {
            supplier = null;

            _serverMainPage = new DividPage();
            queryMain       = new DeliveryReceive_Model();
            lstMain         = new BindingList <DeliveryReceiveDetail_Model>();

            bsMain.DataSource = queryMain;

            txtOutSideSupCode.Text    = "";
            txtOutSideSupCode.Enabled = false;

            cbxSelectAll.Width     = colSelect.Width;
            cbxSelectAll.BackColor = dgvList.ColumnHeadersDefaultCellStyle.BackColor;
            cbxSelectAll.Font      = dgvList.ColumnHeadersDefaultCellStyle.Font;
        }
Exemple #21
0
 /// <summary>
 /// 获取检验通知书表体数据
 /// </summary>
 /// <param name="DeliveryInfo"></param>
 /// <param name="strErrMsg"></param>
 /// <returns></returns>
 public bool GetQualityDetailInfo(DeliveryReceive_Model DeliveryInfo, ref List <DeliveryReceiveDetail_Model> lstDeliveryDetailInfo, UserInfo userModel, ref string strErrMsg)
 {
     try
     {
         ReceiveGoods_DB RGD = new ReceiveGoods_DB();
         lstDeliveryDetailInfo = RGD.GetQualityDetailInfo(DeliveryInfo);
         if (lstDeliveryDetailInfo == null || lstDeliveryDetailInfo.Count == 0)
         {
             strErrMsg = "没有获取到质检数据!";
             return(false);
         }
         return(true);
     }
     catch (Exception ex)
     {
         strErrMsg = "Web异常:" + ex.Message;
         return(false);
     }
 }
Exemple #22
0
        private void PrintLabel()
        {
            if (lstMain == null || lstMain.Count <= 0)
            {
                return;
            }
            if (lstDetails == null || lstDetails.Count <= 0)
            {
                return;
            }
            if (!Common.Common_Func.CheckDgvOper(dgvDetail))
            {
                return;
            }

            List <DeliveryReceiveDetail_Model> lstPrintDetail = new List <DeliveryReceiveDetail_Model>();

            lstPrintDetail = lstDetails.FindAll(delegate(DeliveryReceiveDetail_Model temp) { return(temp.ReceiveQty >= 1); });
            if (lstPrintDetail == null || lstPrintDetail.Count <= 0)
            {
                MessageBox.Show("当前单据没有任何行收货", "提示");
                return;
            }

            int PrintRow = 0;

            foreach (DeliveryReceiveDetail_Model m in lstPrintDetail)
            {
                m.RowNumber = ++PrintRow;
            }

            string strError = string.Empty;
            DeliveryReceive_Model header = lstMain[dgvList.CurrentCell.RowIndex];

            //using (ReportView.FrmCensorshipPrinting frm = new ReportView.FrmCensorshipPrinting(header, lstPrintDetail))
            //{
            //    frm.ShowDialog();
            //}

            ReportView.FrmCensorshipPrinting frm = new ReportView.FrmCensorshipPrinting(header, lstPrintDetail);
            Common.Common_Func.ShowTabPageForm(this, frm, 2);
        }
Exemple #23
0
        /// <summary>
        /// 获取SAP PO信息
        /// </summary>
        /// <param name="strPONo"></param>
        /// <param name="DelivryModel"></param>
        /// <param name="strErrMsg"></param>
        public bool GetPOInfoForSAP(string strPONo, ref DeliveryReceive_Model DelivryModel, ref string strErrMsg)
        {
            try
            {
                var       sap_comm     = SAP_Common.SAP_Common.CreateInstance();
                IRfcTable rtbInput     = null;
                string    tableindex   = null;
                string    functionName = "ZLS_EBELN_READ";
                Dictionary <string, string> lstParameters = new Dictionary <string, string>();
                lstParameters.Add("I_EBELN", strPONo);
                Dictionary <string, Dictionary <string, object> > lstStructures = null;
                List <string> ParameterNamesForOut           = null;
                Dictionary <string, string> ParametersOutput = null;
                List <string> StructureNamesForOut           = new List <string>()
                {
                    "EBELN_HEAD"
                };
                Dictionary <string, IRfcStructure> StructureOutputs = null;
                List <string> tableNamesForOut = new List <string>()
                {
                    "E_EBELN", "RETURN"
                };
                Dictionary <string, IRfcTable> rtbsOutput = null;

                bool bSucc = sap_comm.getSapFunctionToTable(functionName, lstParameters, lstStructures, rtbInput, tableindex, ParameterNamesForOut, out ParametersOutput, StructureNamesForOut,
                                                            out StructureOutputs, tableNamesForOut, out rtbsOutput, ref strErrMsg);

                if (bSucc == false)
                {
                    return(bSucc);
                }

                CreateHeader(ref DelivryModel, StructureOutputs["EBELN_HEAD"]);
                DelivryModel.lstDeliveryDetail = CreateDetail(rtbsOutput["E_EBELN"]);

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #24
0
        public bool GetOutSideByDeliveryToSRM(ref DeliveryReceive_Model DeliveryModel, UserInfo userModel, ref string strErrMsg)
        {
            try
            {
                DeliveryReceive_DB DRD = new DeliveryReceive_DB();

                if (DRD.CheckDeliveryNoIsExist(DeliveryModel.DeliveryNo) >= 1)
                {
                    strErrMsg = "送货单已经收货,送货单号:" + DeliveryModel.DeliveryNo;
                    return(false);
                }

                DeliveryReceive_Func DRF = new DeliveryReceive_Func();
                return(DRF.GetDeliveryInfoToSRM(ref DeliveryModel, userModel, ref strErrMsg));
            }
            catch (Exception ex)
            {
                strErrMsg = "Web异常:" + ex.Message;
                return(false);
            }
        }
Exemple #25
0
        public DeliveryReceive_Model GetTaskInfoByID(string strTaskID, UserInfo userModel)
        {
            try
            {
                DeliveryReceive_Model deliveryModel = new DeliveryReceive_Model();
                deliveryModel.lstDeliveryDetail = new List <DeliveryReceiveDetail_Model>();
                string strSql = string.Format("select * from v_gettaskinfobyid where id = '{0}' and operatoruserno = '{1}'", strTaskID, userModel.UserNo);
                using (SqlDataReader dr = OperationSql.ExecuteReader(System.Data.CommandType.Text, strSql))
                {
                    while (dr.Read())
                    {
                        deliveryModel.ID           = dr["id"].ToInt32();
                        deliveryModel.VoucherType  = dr["VoucherType"].ToInt32();
                        deliveryModel.IsShelvePost = dr["IsShelvePost"].ToInt32();
                        deliveryModel.VoucherNo    = dr["taskno"].ToDBString();
                        deliveryModel.DeliveryNo   = dr["deliveryno"].ToDBString();
                        deliveryModel.MaterialDoc  = dr["MaterialDoc"].ToDBString();
                        deliveryModel.DocDate      = dr["docdate"].ToDateTimeNull();
                        deliveryModel.MoveType     = dr["movetype"].ToDBString();

                        DeliveryReceiveDetail_Model deliveryDetailModel = new DeliveryReceiveDetail_Model();
                        deliveryDetailModel.ID             = dr["taskdetailid"].ToInt32();
                        deliveryDetailModel.Plant          = dr["plant"].ToDBString();
                        deliveryDetailModel.MaterialNo     = dr["materialno"].ToDBString();
                        deliveryDetailModel.CurrentPostQty = dr["currentpostqty"].ToDecimal();
                        deliveryDetailModel.VoucherNo      = dr["VoucherNo"].ToDBString();
                        deliveryDetailModel.RowNo          = dr["RowNo"].ToDBString();
                        deliveryDetailModel.ReserveNumber  = dr["ReserveNumber"].ToDBString();
                        deliveryDetailModel.TrackNo        = dr["trackno"].ToDBString();
                        deliveryDetailModel.ReserveRowNo   = dr["ReserveRowNo"].ToDBString();
                        deliveryModel.lstDeliveryDetail.Add(deliveryDetailModel);
                    }
                }
                return(deliveryModel);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message + ex.TargetSite);
            }
        }
Exemple #26
0
        private DeliveryReceive_Model GetDeliveryReceive_ModelFromDataReader(SqlDataReader dr)
        {
            DeliveryReceive_Model model = new DeliveryReceive_Model();

            model.ID          = dr["ID"].ToInt32();
            model.CreateDate  = dr["createdate"].ToDateTime();
            model.DocDate     = dr["PostDate"].ToDateTime();
            model.PostDate    = dr["PostDate"].ToDateTime();
            model.VoucherNo   = dr["VoucherNo"].ToDBString();
            model.DeliveryNo  = dr["DeliveryNo"].ToDBString();
            model.SupCode     = dr["SupplierNo"].ToDBString();
            model.SupName     = dr["SupplierName"].ToDBString();
            model.Plant       = dr["Plant"].ToDBString();
            model.MoveType    = dr["MoveType"].ToDBString();
            model.MaterialDoc = dr["MaterialDoc"].ToDBString();
            model.PrintedQty  = dr["PrintedQty"].ToInt32();
            model.PrintTime   = dr["PrintTime"].ToDateTimeNull();

            model.Barcode = Common_Func.StrToCode128B(model.MaterialDoc);

            return(model);
        }
Exemple #27
0
        public bool SaveQualityDetailInfo(DeliveryReceive_Model DeliveryModel, UserInfo userModel, ref string strErrMsg)
        {
            try
            {
                if (DeliveryModel.lstDeliveryDetail == null || DeliveryModel.lstDeliveryDetail.Count == 0)
                {
                    strErrMsg = "没有质检数据!";
                    return(false);
                }

                if (DeliveryModel.lstDeliveryDetail.Where(t => t.OKSelect == true).Count() == 0)
                {
                    strErrMsg = "请选中质检行!";
                    return(false);
                }

                if (DeliveryModel.lstDeliveryDetail.Where(t => t.CurrentQualityQty > 0 || t.CurrentUnQualityQty > 0).Count() == 0)
                {
                    strErrMsg = "合格数量和不合格数量都为零,不能保存!";
                    return(false);
                }

                if (CheckQualityQty(DeliveryModel.lstDeliveryDetail.Where(t => t.CurrentQualityQty > 0 || t.CurrentUnQualityQty > 0).ToList(), ref strErrMsg) == false)
                {
                    return(false);
                }
                DeliveryModel.lstDeliveryDetail = DeliveryModel.lstDeliveryDetail.Where(t => t.OKSelect == true).ToList();
                string strDeliveryDetailXml = XMLUtil.XmlUtil.Serializer(typeof(DeliveryReceive_Model), DeliveryModel);
                TOOL.WriteLogMethod.WriteLog("方法:SaveQualityDetailInfo" + strDeliveryDetailXml);
                ReceiveGoods_DB RGD = new ReceiveGoods_DB();

                return(RGD.SaveQualityDetailInfo(strDeliveryDetailXml, userModel, ref strErrMsg));
            }
            catch (Exception ex)
            {
                strErrMsg = ex.Message;
                return(false);
            }
        }
Exemple #28
0
        private IRfcTable CreateIrfcTableForPOInfo(SAP_Common.SAP_Common sap_comm, DeliveryReceive_Model DeliveryInfo, UserInfo userModel, string functionName, string strRfcTableName)
        {
            IRfcTable rfcTable = sap_comm.CreateIrfcTable(functionName, strRfcTableName);
            //过账前,过滤掉收货数量为零的数据
            var lstDeliveryDetail = DeliveryInfo.lstDeliveryDetail.Where(t => t.ReceiveQty > 0).ToList();

            foreach (var item in lstDeliveryDetail)
            {
                rfcTable.Insert();
                //rfcTable.CurrentRow.SetValue("ORDERID", item.VoucherNo);
                rfcTable.CurrentRow.SetValue("MATERIAL", item.MaterialNo);
                rfcTable.CurrentRow.SetValue("PLANT", item.Plant);
                rfcTable.CurrentRow.SetValue("STGE_LOC", item.StorageLoc);
                //rfcTable.CurrentRow.SetValue("PO_ITEM", item.RowNo);
                rfcTable.CurrentRow.SetValue("MOVE_TYPE", "541");
                rfcTable.CurrentRow.SetValue("ENTRY_QNT", item.ReceiveQty);
                rfcTable.CurrentRow.SetValue("BASE_UOM", item.Unit);
                rfcTable.CurrentRow.SetValue("VENDOR", DeliveryInfo.OutSideSupCode.PadLeft(10, '0'));
                //rfcTable.CurrentRow.SetValue("MVT_IND", "B");
                rfcTable.CurrentRow.SetValue("GR_RCPT", string.Empty);
            }
            return(rfcTable);
        }
Exemple #29
0
 private void GetQueryMain()
 {
     if (queryMain == null)
     {
         queryMain = new DeliveryReceive_Model(); bsMain.DataSource = queryMain;
     }
     if (dtpStartDate.Checked)
     {
         queryMain.StartTime = dtpStartDate.Value;
     }
     else
     {
         queryMain.StartTime = null;
     }
     if (dtpEndDate.Checked)
     {
         queryMain.EndTime = dtpEndDate.Value;
     }
     else
     {
         queryMain.EndTime = null;
     }
 }
Exemple #30
0
 private void GetQueryDelivery()
 {
     if (DeliveryModel == null)
     {
         DeliveryModel = new DeliveryReceive_Model(); bsDelivery.DataSource = DeliveryModel;
     }
     if (dtpStartDate.Checked)
     {
         DeliveryModel.StartTime = dtpStartDate.Value;
     }
     else
     {
         DeliveryModel.StartTime = null;
     }
     if (dtpEndDate.Checked)
     {
         DeliveryModel.EndTime = dtpEndDate.Value;
     }
     else
     {
         DeliveryModel.EndTime = null;
     }
 }