예제 #1
0
        public string Data_Select_SHIPbySDF(string SAPSN)
        {
            token = appClass.CRM_Gettoken();
            CRM_KH_XSQYSJ XSQY = crmModels.KH_HZHB.ReadBySAPSN(SAPSN, token);

            SAP_CompanyInfo[] data = crmModels.SAP_ORDER.ShipToParty(SAPSN, XSQY.XSZZ, XSQY.FXQD, XSQY.CPZ, token);
            return(Newtonsoft.Json.JsonConvert.SerializeObject(data));
        }
예제 #2
0
        public string Data_Insert_OrderMX(int ORDERTTID, int PRODUCTID)
        {
            token = appClass.CRM_Gettoken();

            //先看看这个产品有没有重复
            CRM_ORDER_MX[] MXdata = crmModels.ORDER_TT.ReadMXbyTTID(ORDERTTID, token);
            for (int i = 0; i < MXdata.Length; i++)
            {
                if (MXdata[i].PRODUCTID == PRODUCTID)
                {
                    webmsg.KEY = 0;
                    webmsg.MSG = "该产品已在订单中!";
                    return(Newtonsoft.Json.JsonConvert.SerializeObject(webmsg));
                }
            }
            CRM_ORDER_TT TTdata = crmModels.ORDER_TT.ReadTTbyID(ORDERTTID, token);



            CRM_PRODUCT_PRODUCT CP = crmModels.PRODUCT_PRODUCT.ReadByID(PRODUCTID, token);

            string    SAPSN  = crmModels.HG_STAFF.ReadBySTAFFID(appClass.CRM_GetStaffid(), token).STAFFNO;
            CRM_KH_KH KHuser = crmModels.KH_KH.ReadBySAPSN(SAPSN, token);

            CRM_PRODUCT_WARN[] Warn = crmModels.PRODUCT_WARN.ReadByKHIDandPRODUCTID(KHuser.KHID, PRODUCTID, token);

            CRM_KH_XSQYSJ XSQY = crmModels.KH_HZHB.ReadBySAPSN(TTdata.SDFID, token);



            CRM_ORDER_MX model = new CRM_ORDER_MX();

            model.ORDERTTID = ORDERTTID;
            model.PRODUCTID = PRODUCTID;
            model.CPPH      = CP.CPPH;
            model.CPMC      = CP.CPMC;
            model.DDDW      = CP.DDDW;
            model.DDSL      = 0;
            model.RATE      = CP.RATE;
            model.BZDW      = CP.BZDW;
            model.BZSL      = 0;
            double price = Convert.ToDouble(crmModels.SAP_ORDER.SAP_Price(CP.CPPH, TTdata.SDFID, XSQY.XSZZ, XSQY.FXQD, token));

            if (price == 0)
            {
                webmsg.KEY = 0;
                webmsg.MSG = "该产品没有维护价格,请联系业务员!";
                return(Newtonsoft.Json.JsonConvert.SerializeObject(webmsg));
            }
            model.PRICE  = price;
            model.AMOUNT = 0;
            if (Warn.Length != 0)
            {
                if (Warn[0].PROWARNID == 0)       //没有设置预警
                {
                    model.KYSL = 99999;
                }
                else
                {
                    model.KYSL = Warn[0].SYSL;
                }
            }
            else
            {
                model.KYSL = 99999;
            }

            model.BEIZ     = "";
            model.ISACTIVE = 1;

            int ii = crmModels.ORDER_TT.CreateMX(model, token);

            webmsg.KEY = ii;
            if (ii > 0)
            {
                webmsg.MSG = "添加成功!";
                Auto_UpdateOrder(ORDERTTID, false);
            }
            else
            {
                webmsg.MSG = "添加失败!";
            }
            return(Newtonsoft.Json.JsonConvert.SerializeObject(webmsg));
        }
예제 #3
0
        public string Data_Insert_OrderTT(string data)
        {
            token = appClass.CRM_Gettoken();

            string    SAPSN  = crmModels.HG_STAFF.ReadBySTAFFID(appClass.CRM_GetStaffid(), token).STAFFNO;
            CRM_KH_KH KHuser = crmModels.KH_KH.ReadBySAPSN(SAPSN, token);

            CRM_ORDER_TT cxdata = new CRM_ORDER_TT();

            cxdata.ISACTIVE = 10;
            cxdata.CJR      = appClass.CRM_GetStaffid();
            CRM_ORDER_TT[] TTdata = crmModels.ORDER_TT.ReadTTbyParam(cxdata, 0, 0, 0, token);
            if (TTdata.Length != 0)
            {
                webmsg.KEY = 0;
                webmsg.MSG = "存在未提交的订单!";
                return(Newtonsoft.Json.JsonConvert.SerializeObject(webmsg));
            }
            cxdata.ISACTIVE = 20;
            TTdata          = crmModels.ORDER_TT.ReadTTbyParam(cxdata, 0, 0, 0, token);
            if (TTdata.Length != 0)
            {
                webmsg.KEY = 0;
                webmsg.MSG = "存在未审核的订单!请联系业务员";
                return(Newtonsoft.Json.JsonConvert.SerializeObject(webmsg));
            }


            CRM_ORDER_TT model = Newtonsoft.Json.JsonConvert.DeserializeObject <CRM_ORDER_TT>(data);

            //校验付款时间,不可早于当前时间
            if (Convert.ToDateTime(model.FKSJ) < DateTime.Now.AddDays(-1))
            {
                webmsg.KEY = 0;
                webmsg.MSG = "付款时间不可早于当前日期!";
                return(Newtonsoft.Json.JsonConvert.SerializeObject(webmsg));
            }

            CRM_KH_KH     SDF  = crmModels.KH_KH.ReadBySAPSN(model.SDFID, token);
            CRM_KH_XSQYSJ XSQY = crmModels.KH_HZHB.ReadBySAPSN(model.SDFID, token);

            model.DDLX    = 1233;
            model.KHID    = KHuser.KHID;
            model.KHSAP   = KHuser.SAPSN;
            model.KHNAME  = KHuser.MC;
            model.SDFNAME = SDF.MC;
            model.TEL     = SDF.GSLXDH;
            model.XSZZ    = XSQY.XSZZ;
            model.FXQD    = XSQY.FXQD;
            model.CPZ     = XSQY.CPZ;

            model.ISACTIVE = 10;
            model.CJR      = appClass.CRM_GetStaffid();


            int i = crmModels.ORDER_TT.CreateTT(model, token);

            webmsg.KEY = i;
            if (i > 0)
            {
                webmsg.MSG = "新增成功!";
            }
            else
            {
                webmsg.MSG = "新增失败!";
            }
            return(Newtonsoft.Json.JsonConvert.SerializeObject(webmsg));
        }
예제 #4
0
        public bool Auto_UpdateOrder(int ORDERTTID, bool updateMX)
        {
            token = appClass.CRM_Gettoken();
            //更新订单抬头的信息
            CRM_ORDER_TT TTdata = crmModels.ORDER_TT.ReadTTbyID(ORDERTTID, token);

            CRM_ORDER_MX[]     MXdata   = crmModels.ORDER_TT.ReadMXbyTTID(ORDERTTID, token);
            SAP_DiscountInfo[] discount = crmModels.SAP_ORDER.SAP_Discount(TTdata.SDFID, token);

            double total    = 0;
            double MXzhekou = 0;

            for (int j = 0; j < MXdata.Length; j++)
            {
                total    = total + MXdata[j].AMOUNT;
                MXzhekou = MXzhekou + (double)(Math.Round((decimal)(MXdata[j].AMOUNT * Convert.ToDouble(discount[0].Rate)), 2, MidpointRounding.AwayFromZero));
            }
            TTdata.TOTAL    = total;
            TTdata.DISCOUNT = Convert.ToDouble(discount[0].Available);
            TTdata.RATE     = Convert.ToDouble(discount[0].Rate);
            //double OrderDiscount = TTdata.TOTAL * Convert.ToDouble(discount[0].Rate);
            double OrderDiscount = MXzhekou;// * Convert.ToDouble(discount[0].Rate);

            if (Convert.ToDouble(discount[0].Available) >= OrderDiscount)
            {
                TTdata.DISCOUNT_THIS = OrderDiscount;
            }
            else
            {
                TTdata.DISCOUNT_THIS = Convert.ToDouble(discount[0].Available);
            }
            TTdata.DISCOUNT_BALANCE = TTdata.DISCOUNT - TTdata.DISCOUNT_THIS;
            TTdata.ACTUAL           = TTdata.TOTAL - TTdata.DISCOUNT_THIS;
            TTdata.PREVIOUS_BALANCE = Convert.ToDouble(crmModels.SAP_ORDER.SAP_Balance(TTdata.SDFID, token));
            TTdata.PAY = TTdata.ACTUAL - TTdata.PREVIOUS_BALANCE;
            TTdata.XGR = appClass.CRM_GetStaffid();

            int i = crmModels.ORDER_TT.UpdateTT(TTdata, token);


            if (updateMX)
            {
                //更新订单中产品的价格
                CRM_KH_XSQYSJ XSQY = crmModels.KH_HZHB.ReadBySAPSN(TTdata.SDFID, token);
                for (int k = 0; k < MXdata.Length; k++)
                {
                    CRM_PRODUCT_WARN[] Warn = crmModels.PRODUCT_WARN.ReadByKHIDandPRODUCTID(TTdata.KHID, MXdata[k].PRODUCTID, token);
                    if (Warn.Length != 0)
                    {
                        if (Warn[0].PROWARNID == 0)
                        {
                            //没有设置预警
                            MXdata[k].KYSL = 99999;
                        }
                        else
                        {
                            MXdata[k].KYSL = Warn[0].SYSL;
                        }
                    }
                    else
                    {
                        MXdata[k].KYSL = 99999;
                    }


                    MXdata[k].PRICE = Convert.ToDouble(crmModels.SAP_ORDER.SAP_Price(MXdata[k].CPPH, TTdata.SDFID, XSQY.XSZZ, XSQY.FXQD, token));



                    int ii = crmModels.ORDER_TT.UpdateMX(MXdata[k], token);
                    if (ii <= 0)
                    {
                        return(false);
                    }
                }
            }



            if (i > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
예제 #5
0
        public string Data_Select_OrderTTCopyAndInsert(string TTdata, int FromID)
        {
            token = appClass.CRM_Gettoken();

            string    SAPSN  = crmModels.HG_STAFF.ReadBySTAFFID(appClass.CRM_GetStaffid(), token).STAFFNO;
            CRM_KH_KH KHuser = crmModels.KH_KH.ReadBySAPSN(SAPSN, token);

            CRM_ORDER_TT cxdata = new CRM_ORDER_TT();

            cxdata.ISACTIVE = 10;
            cxdata.CJR      = appClass.CRM_GetStaffid();
            CRM_ORDER_TT[] cxTTmodel = crmModels.ORDER_TT.ReadTTbyParam(cxdata, 0, 0, 0, token);
            if (cxTTmodel.Length != 0)
            {
                webmsg.KEY = 0;
                webmsg.MSG = "存在未提交的订单!请处理";
                return(Newtonsoft.Json.JsonConvert.SerializeObject(webmsg));
            }
            cxdata.ISACTIVE = 20;
            cxTTmodel       = crmModels.ORDER_TT.ReadTTbyParam(cxdata, 0, 0, 0, token);
            if (cxTTmodel.Length != 0)
            {
                webmsg.KEY = 0;
                webmsg.MSG = "存在未审核的订单!请联系业务员";
                return(Newtonsoft.Json.JsonConvert.SerializeObject(webmsg));
            }


            CRM_ORDER_TT TTmodel = Newtonsoft.Json.JsonConvert.DeserializeObject <CRM_ORDER_TT>(TTdata);

            //校验付款时间,不可早于当前时间
            if (Convert.ToDateTime(TTmodel.FKSJ) < DateTime.Now.AddDays(-1))
            {
                webmsg.KEY = 0;
                webmsg.MSG = "付款时间不可早于当前日期!";
                return(Newtonsoft.Json.JsonConvert.SerializeObject(webmsg));
            }

            CRM_KH_KH     SDF  = crmModels.KH_KH.ReadBySAPSN(TTmodel.SDFID, token);
            CRM_KH_XSQYSJ XSQY = crmModels.KH_HZHB.ReadBySAPSN(TTmodel.SDFID, token);

            TTmodel.DDLX     = 1233;
            TTmodel.KHID     = KHuser.KHID;
            TTmodel.KHSAP    = KHuser.SAPSN;
            TTmodel.KHNAME   = KHuser.MC;
            TTmodel.SDFNAME  = SDF.MC;
            TTmodel.TEL      = SDF.GSLXDH;
            TTmodel.XSZZ     = XSQY.XSZZ;
            TTmodel.FXQD     = XSQY.FXQD;
            TTmodel.CPZ      = XSQY.CPZ;
            TTmodel.BEIZ     = "";
            TTmodel.ISACTIVE = 10;
            TTmodel.CJR      = appClass.CRM_GetStaffid();


            int ORDERID = crmModels.ORDER_TT.CreateTT(TTmodel, token);

            if (ORDERID < 0)
            {
                webmsg.KEY = ORDERID;
                webmsg.MSG = "新建订单失败!";
                return(Newtonsoft.Json.JsonConvert.SerializeObject(webmsg));
            }


            CRM_ORDER_MX[] Fromdata = crmModels.ORDER_TT.ReadMXbyTTID(FromID, token);
            for (int i = 0; i < Fromdata.Length; i++)
            {
                Fromdata[i].ORDERTTID = ORDERID;
                int ii = crmModels.ORDER_TT.CreateMX(Fromdata[i], token);
                webmsg.KEY = ii;
                if (ii <= 0)
                {
                    webmsg.KEY = ii;
                    webmsg.MSG = "复制失败!";
                    return(Newtonsoft.Json.JsonConvert.SerializeObject(webmsg));
                }
            }
            webmsg.KEY = ORDERID;
            webmsg.MSG = "复制成功!";
            Auto_UpdateOrder(ORDERID, false);
            return(Newtonsoft.Json.JsonConvert.SerializeObject(webmsg));
        }