Example #1
0
        public string JHD_READ(string VBELN)
        {
            token = appClass.CRM_Gettoken();
            MODEL_ZBCFUN_JHD_READ data = crmModels.BarCode.JHD_READ(VBELN, token);

            return(Newtonsoft.Json.JsonConvert.SerializeObject(data));
        }
Example #2
0
        public ActionResult ScanFAHUO_JHDPart(string VBELN)
        {
            token = appClass.CRM_Gettoken();
            MODEL_ZBCFUN_JHD_READ data = crmModels.BarCode.JHD_READ(VBELN, token);

            ViewBag.data = data;
            CRM_BC_FXCHMX cx_fxch = new CRM_BC_FXCHMX();

            cx_fxch.VBELN = VBELN;
            CRM_BC_FXCHMX[] FXCHdata = crmModels.BC_FXCH.ReadMXbyParam(cx_fxch, token);
            ViewBag.FXCHdata = FXCHdata;
            return(View());
        }
Example #3
0
        public string Data_Insert_FXCH_ZZK(string JHD)
        {
            token = appClass.CRM_Gettoken();
            WebMSG msg = new WebMSG();

            MODEL_ZBCFUN_JHD_READ JHDdata = Newtonsoft.Json.JsonConvert.DeserializeObject <MODEL_ZBCFUN_JHD_READ>(JHD);

            //把扫进来的码统一转换成内盒码,然后看看有没有重复的码

            for (int i = 0; i < JHDdata.ET_ItemData.Length; i++)
            {
                List <DXM> result = new List <DXM>();
                for (int j = 0; j < JHDdata.ET_ItemData[i].TM.Length; j++)
                {
                    if (JHDdata.ET_ItemData[i].TM[j].Barcode.Length == 12)    //托码
                    {
                        //展开成内盒码进行校验
                        Sonluk.UI.Model.CRM.BC_CHTTService.CRM_BC_CHMX model = new Sonluk.UI.Model.CRM.BC_CHTTService.CRM_BC_CHMX();
                        model.TPM   = JHDdata.ET_ItemData[i].TM[j].Barcode;
                        model.KUNAG = JHDdata.ES_HeadData.ZZKGGKH;
                        Sonluk.UI.Model.CRM.BC_CHTTService.CRM_BC_CHMX[] MXdata = crmModels.BC_CHTT.ReadMXbyParam(model, token);
                        for (int k = 0; k < MXdata.Length; k++)
                        {
                            //result[result.Count] = new DXM();
                            DXM temp = new DXM();
                            temp.Dxm = MXdata[k].NHM;
                            result.Add(temp);
                        }

                        //看看是不是已经发货了的条码
                        CRM_BC_FXCHMX cxmodel = new CRM_BC_FXCHMX();
                        cxmodel.TPM = JHDdata.ET_ItemData[i].TM[j].Barcode;
                        CRM_BC_FXCHMX[] FHdata = crmModels.BC_FXCH.ReadMXbyParam(cxmodel, token);
                        if (FHdata.Length != 0)
                        {
                            msg.KEY = 0;
                            msg.MSG = JHDdata.ET_ItemData[i].POSNR + "行项目该物流码已发货:" + JHDdata.ET_ItemData[i].TM[j].Barcode;
                            return(Newtonsoft.Json.JsonConvert.SerializeObject(msg));
                        }
                    }
                    else if (JHDdata.ET_ItemData[i].TM[j].Barcode.Length == 15)    //箱码
                    {
                        Sonluk.UI.Model.CRM.BC_CHTTService.CRM_BC_CHMX model = new Sonluk.UI.Model.CRM.BC_CHTTService.CRM_BC_CHMX();
                        model.DXM   = JHDdata.ET_ItemData[i].TM[j].Barcode;
                        model.KUNAG = JHDdata.ES_HeadData.ZZKGGKH;
                        Sonluk.UI.Model.CRM.BC_CHTTService.CRM_BC_CHMX[] MXdata = crmModels.BC_CHTT.ReadMXbyParam(model, token);
                        for (int k = 0; k < MXdata.Length; k++)
                        {
                            //result[result.Count] = new DXM();
                            DXM temp = new DXM();
                            temp.Dxm = MXdata[k].NHM;
                            result.Add(temp);
                        }

                        //看看是不是已经发货了的条码
                        CRM_BC_FXCHMX cxmodel = new CRM_BC_FXCHMX();
                        cxmodel.DXM = JHDdata.ET_ItemData[i].TM[j].Barcode;
                        CRM_BC_FXCHMX[] FHdata = crmModels.BC_FXCH.ReadMXbyParam(cxmodel, token);
                        if (FHdata.Length != 0)
                        {
                            msg.KEY = 0;
                            msg.MSG = JHDdata.ET_ItemData[i].POSNR + "行项目该物流码已发货:" + JHDdata.ET_ItemData[i].TM[j].Barcode;
                            return(Newtonsoft.Json.JsonConvert.SerializeObject(msg));
                        }
                    }
                    else if (JHDdata.ET_ItemData[i].TM[j].Barcode.Length == 18)    //内盒码
                    {
                        DXM temp = new DXM();
                        temp.Dxm = JHDdata.ET_ItemData[i].TM[j].Barcode;
                        result.Add(temp);

                        //看看是不是已经发货了的条码
                        CRM_BC_FXCHMX cxmodel = new CRM_BC_FXCHMX();
                        cxmodel.NHM = JHDdata.ET_ItemData[i].TM[j].Barcode;
                        CRM_BC_FXCHMX[] FHdata = crmModels.BC_FXCH.ReadMXbyParam(cxmodel, token);
                        if (FHdata.Length != 0)
                        {
                            msg.KEY = 0;
                            msg.MSG = JHDdata.ET_ItemData[i].POSNR + "行项目该物流码已发货:" + JHDdata.ET_ItemData[i].TM[j].Barcode;
                            return(Newtonsoft.Json.JsonConvert.SerializeObject(msg));
                        }
                    }
                }
                List <DXM> checkdata = result.Distinct(new DXM.TravelTrafficInfoComparer()).ToList();
                if (result.Count != checkdata.Count)
                {
                    msg.KEY = 0;
                    msg.MSG = JHDdata.ET_ItemData[i].POSNR + "行项目的物流码重复";
                    return(Newtonsoft.Json.JsonConvert.SerializeObject(msg));
                }
            }



            List <ZSL_BCT110> RFCmodel = new List <ZSL_BCT110>();

            for (int i = 0; i < JHDdata.ET_ItemData.Length; i++)
            {
                for (int j = 0; j < JHDdata.ET_ItemData[i].TM.Length; j++)
                {
                    Sonluk.UI.Model.CRM.BC_CHTTService.CRM_BC_CHMX[] MXdata = null;
                    if (JHDdata.ET_ItemData[i].TM[j].Barcode.Length == 12)    //托码
                    {
                        Sonluk.UI.Model.CRM.BC_CHTTService.CRM_BC_CHMX model = new Sonluk.UI.Model.CRM.BC_CHTTService.CRM_BC_CHMX();
                        model.TPM   = JHDdata.ET_ItemData[i].TM[j].Barcode;
                        model.KUNAG = JHDdata.ES_HeadData.ZZKGGKH;
                        MXdata      = crmModels.BC_CHTT.ReadMXbyParam(model, token);
                    }
                    else if (JHDdata.ET_ItemData[i].TM[j].Barcode.Length == 15)    //箱码
                    {
                        Sonluk.UI.Model.CRM.BC_CHTTService.CRM_BC_CHMX model = new Sonluk.UI.Model.CRM.BC_CHTTService.CRM_BC_CHMX();
                        model.DXM   = JHDdata.ET_ItemData[i].TM[j].Barcode;
                        model.KUNAG = JHDdata.ES_HeadData.ZZKGGKH;
                        MXdata      = crmModels.BC_CHTT.ReadMXbyParam(model, token);
                    }
                    else if (JHDdata.ET_ItemData[i].TM[j].Barcode.Length == 18)    //内盒码
                    {
                        Sonluk.UI.Model.CRM.BC_CHTTService.CRM_BC_CHMX model = new Sonluk.UI.Model.CRM.BC_CHTTService.CRM_BC_CHMX();
                        model.NHM   = JHDdata.ET_ItemData[i].TM[j].Barcode;
                        model.KUNAG = JHDdata.ES_HeadData.ZZKGGKH;
                        MXdata      = crmModels.BC_CHTT.ReadMXbyParam(model, token);
                    }
                    else
                    {
                        MXdata = new UI.Model.CRM.BC_CHTTService.CRM_BC_CHMX[0];
                    }

                    for (int k = 0; k < MXdata.Length; k++)
                    {
                        ZSL_BCT110 temp = new ZSL_BCT110();
                        temp.VBELN  = MXdata[k].VBELN;
                        temp.POSNR  = MXdata[k].POSNR;
                        temp.NHM    = MXdata[k].NHM;
                        temp.DXM    = MXdata[k].DXM;
                        temp.TPM    = MXdata[k].TPM;
                        temp.VBELNN = JHDdata.ET_ItemData[i].VBELN;
                        temp.POSNRN = JHDdata.ET_ItemData[i].POSNR;
                        temp.MATNR  = JHDdata.ET_ItemData[i].MATNR;
                        temp.KUNAG  = JHDdata.ES_HeadData.KUNAG;
                        temp.LGORT  = JHDdata.ET_ItemData[i].LGORT;
                        temp.WERKS  = JHDdata.ET_ItemData[i].WERKS;
                        RFCmodel.Add(temp);
                    }
                }
            }
            //调用过账接口
            MES_RETURN RFCresult = crmModels.BarCode.JHD_UPDATE(RFCmodel.ToArray(), appClass.CRM_GetStaffid(), token);

            if (RFCresult.TYPE == "E")
            {
                msg.KEY = 0;
                msg.MSG = RFCresult.MESSAGE;
                return(Newtonsoft.Json.JsonConvert.SerializeObject(msg));
            }



            CRM_BC_FXCHTT TTmodel = new CRM_BC_FXCHTT();
            CRM_KH_KH     KHmodel = crmModels.KH_KH.ReadBySAPSN(JHDdata.ES_HeadData.KUNAG.TrimStart('0'), token);

            TTmodel.KHID    = KHmodel.KHID;
            TTmodel.SDFID   = crmModels.KH_KH.ReadByCRMID(KHmodel.PKHID.ToString(), token).KHID;
            TTmodel.KUNAG   = JHDdata.ES_HeadData.KUNAG;
            TTmodel.NAMEG   = JHDdata.ES_HeadData.NAMEG;
            TTmodel.VBELN   = JHDdata.ES_HeadData.VBELN;
            TTmodel.ZZKGGKH = JHDdata.ES_HeadData.ZZKGGKH;
            TTmodel.BEIZ    = "";
            TTmodel.CJR     = appClass.CRM_GetStaffid();
            int TTid = crmModels.BC_FXCH.TTCreate(TTmodel, token);

            if (TTid == 0)
            {
                msg.KEY = 0;
                msg.MSG = "保存失败";
                return(Newtonsoft.Json.JsonConvert.SerializeObject(msg));
            }


            for (int i = 0; i < JHDdata.ET_ItemData.Length; i++)
            {
                for (int j = 0; j < JHDdata.ET_ItemData[i].TM.Length; j++)
                {
                    Sonluk.UI.Model.CRM.BC_CHTTService.CRM_BC_CHMX[] MXdata = null;
                    if (JHDdata.ET_ItemData[i].TM[j].Barcode.Length == 12)    //托码
                    {
                        Sonluk.UI.Model.CRM.BC_CHTTService.CRM_BC_CHMX model = new Sonluk.UI.Model.CRM.BC_CHTTService.CRM_BC_CHMX();
                        model.TPM   = JHDdata.ET_ItemData[i].TM[j].Barcode;
                        model.KUNAG = JHDdata.ES_HeadData.ZZKGGKH;
                        MXdata      = crmModels.BC_CHTT.ReadMXbyParam(model, token);
                    }
                    else if (JHDdata.ET_ItemData[i].TM[j].Barcode.Length == 15)    //箱码
                    {
                        Sonluk.UI.Model.CRM.BC_CHTTService.CRM_BC_CHMX model = new Sonluk.UI.Model.CRM.BC_CHTTService.CRM_BC_CHMX();
                        model.DXM   = JHDdata.ET_ItemData[i].TM[j].Barcode;
                        model.KUNAG = JHDdata.ES_HeadData.ZZKGGKH;
                        MXdata      = crmModels.BC_CHTT.ReadMXbyParam(model, token);
                    }
                    else if (JHDdata.ET_ItemData[i].TM[j].Barcode.Length == 18)    //内盒码
                    {
                        Sonluk.UI.Model.CRM.BC_CHTTService.CRM_BC_CHMX model = new Sonluk.UI.Model.CRM.BC_CHTTService.CRM_BC_CHMX();
                        model.NHM   = JHDdata.ET_ItemData[i].TM[j].Barcode;
                        model.KUNAG = JHDdata.ES_HeadData.ZZKGGKH;
                        MXdata      = crmModels.BC_CHTT.ReadMXbyParam(model, token);
                    }
                    else
                    {
                        MXdata = new UI.Model.CRM.BC_CHTTService.CRM_BC_CHMX[0];
                    }

                    for (int k = 0; k < MXdata.Length; k++)
                    {
                        CRM_BC_FXCHMX MXmodel = new CRM_BC_FXCHMX();
                        MXmodel.FXCHTTID = TTid;
                        MXmodel.TPM      = MXdata[k].TPM;
                        MXmodel.DXM      = MXdata[k].DXM;
                        MXmodel.NHM      = MXdata[k].NHM;
                        MXmodel.CHARG    = MXdata[k].CHARG;
                        MXmodel.LWEDT    = MXdata[k].LWEDT;
                        MXmodel.VBELN    = JHDdata.ET_ItemData[i].VBELN;
                        MXmodel.POSNR    = JHDdata.ET_ItemData[i].POSNR;
                        MXmodel.MATNR    = JHDdata.ET_ItemData[i].MATNR;
                        MXmodel.MAKTX    = JHDdata.ET_ItemData[i].MAKTX;
                        int MXid = crmModels.BC_FXCH.MXCreate(MXmodel, token);
                        if (MXid == 0)
                        {
                            msg.KEY = 0;
                            msg.MSG = "保存失败,请联系管理员";
                            return(Newtonsoft.Json.JsonConvert.SerializeObject(msg));
                        }
                    }
                }
            }



            msg.KEY = 1;
            msg.MSG = "登记成功";
            return(Newtonsoft.Json.JsonConvert.SerializeObject(msg));
        }