Administrator
2022-10-09 23f93897d618a5253a18b65b124196f95891f240
提交 | 用户 | 时间
58d006 1 package com.mandi.fendan.service.impl;
A 2
3 import java.util.ArrayList;
4 import java.util.Date;
5 import java.util.HashMap;
6 import java.util.List;
7 import java.util.Map;
8 import java.util.UUID;
9
10 import javax.annotation.Resource;
11
12 import com.mandi.fendan.mapper.*;
13 import com.mandi.fendan.util.ConvertTool;
14 import org.apache.commons.lang3.StringUtils;
15 import org.apache.poi.ss.usermodel.charts.ScatterChartSeries;
16 import org.springframework.stereotype.Service;
17 import org.springframework.transaction.annotation.Transactional;
18
19 import com.google.gson.JsonArray;
20 import com.google.gson.JsonElement;
21 import com.google.gson.JsonObject;
22 import com.google.gson.JsonParser;
23 import com.mandi.basicconfig.penum.PrefixEnum;
24 import com.mandi.common.BigDecimalfiter;
25 import com.mandi.common.JSONobj;
26 import com.mandi.common.Jacksonmethod;
27 import com.mandi.common.Wxhtmethod;
28 import com.mandi.common.ParamFileter.Fileoperation;
29 import com.mandi.dao.common.ObjectResult;
30 import com.mandi.fendan.persist.Fd_Bsheet;
31 import com.mandi.fendan.persist.Fd_Company;
32 import com.mandi.fendan.persist.Fd_Company_Vehicle;
33 import com.mandi.fendan.persist.Fd_Vehicle;
34 import com.mandi.fendan.persist.Fd_XSTD;
35 import com.mandi.fendan.persist.Fd_XSTDMX;
36 import com.mandi.fendan.persist.Fd_wlgs_fhdq;
37 import com.mandi.fendan.persist.VehicleStatus;
38 import com.mandi.fendan.persist.VehicleType;
39 import com.mandi.fendan.persist.Vehicle_XSTD;
40 import com.mandi.fendan.service.Ifd_bsheetService;
41 import com.mandi.fendan.util.Contants;
42 import com.mandi.fendan.util.FdtoNc;
43 import com.mandi.fendan.util.persist.Serviceenum;
44 import com.mandi.fendan.util.persist.WaitXSTD;
45 import com.mandi.fendan.util.persist.YktBsheet;
46 import com.mandi.system.persist.Login;
47 import com.mandi.system.persist.UserType;
48
49 import static com.mandi.fendan.util.Contants.*;
50
51 @Service
52 public class Fd_BsheetService implements Ifd_bsheetService {
53
54     @Resource
55     private Fd_BsheetMapper bsper;
56     @Resource
57     private Fd_VehicleMapper fdvper;
58     @Resource
59     private Fd_BsheetitemMapper bsiper;
60     @Resource
61     private VehicleXSTDMapper vhxper;
62     @Resource
63     private Fd_CompanyMapper fdcper;
64     @Resource
65     private Fd_ComVehicleMapper cvper;
66     @Resource
67     private Fd_XSTDMXMapper mxper;
68     @Resource
69     private Fd_XSTDMapper tdper;
70     @Resource
71     private Fd_fhdqMapper dqper;
72     @Resource
73     private FdtoNc fdtonc;
74     @Resource
75     private Fd_YKTMapper yktmper;
76     @Resource
77     private FdMxWlgsMapper fdMxWlgsMapper;
78
79     @Override
80     @Transactional(rollbackFor=Exception.class)
81     public ObjectResult<Map<String, Object>> saveFd_Bsheet(String vehicleInfo,String xstdNo, String bsitemlistStr, Login lg) throws Exception {
82         ObjectResult<Map<String, Object>> orr=new ObjectResult<Map<String,Object>>();
83         if(StringUtils.isEmpty(bsitemlistStr)){
84             orr.setCode(1);
85             orr.setErrmsg("业务参数为空,不能保存!");
86             return orr;
87         }
88         if(lg==null){
89             orr.setCode(1);
90             orr.setErrmsg("请登录账号!");
91             return orr;
92         }
93         if(StringUtils.isBlank(xstdNo)){
94             orr.setCode(1);
95             orr.setErrmsg("提单编号为空!");
96             return orr;
97         }
98         if(UserType.admin.toString().equals(lg.getWorkerno())){
99             orr.setCode(1);
100             orr.setErrmsg("管理员账号没有分单权限!");
101             return orr;
102         }
103         Fd_Company fdc=fdcper.getByCompanyNo(lg.getDepartno());
104         if(fdc==null){
105             orr.setCode(1);
106             orr.setErrmsg("账号没有配置物流公司,请联系管理员进行配置!");
107             return orr;
108         }
109
110         Fd_XSTD xstd=this.tdper.getbyttdbh(xstdNo);
111         if(xstd==null){
112             orr.setCode(1);
113             orr.setErrmsg("提单编号:"+xstdNo+" 不正确,未查询到该提单!");
114             return orr;
115         }
116         if(xstd.isTd_zcwcbz()){
117             orr.setCode(1);
118             orr.setErrmsg("该提单已经完成装车,不能分单!");
119             return orr;
120         }
121         if(xstd.getTd_wfdsl()<=0){
122             orr.setCode(1);
123             orr.setErrmsg("该提单已经分单完成,不能分单!");
124             return orr;
125         }
126         //送货
127         if(xstd.getTd_ztbz()==2){
128             if(fdc!=null){
129                 if(!fdc.isHasSPR()){
130                     orr.setCode(1);
131                     orr.setErrmsg("该账号没有自提权限!");
132                     return orr;
133                 }
134             }
135         }else{
136
137 //            Fd_wlgs_fhdq wldq=this.dqper.getbyNos(lg.getDepartno(),xstd.getTd_shddbh(),
138             // todo 下面的意义何在????默认查科技???
139 //                    xstd.getTd_ywdybh().equals(Contants.nc_ywdy_ZZ)?Contants.nc_ywdy_ZZ
140 //                        :xstd.getTd_ywdybh().equals(Contants.nc_ywdy_MS)?Contants.nc_ywdy_MS
141 //                        :Contants.nc_ywdy_KJ);
142             Fd_wlgs_fhdq wldq = this.dqper.getbyNos(lg.getDepartno(),xstd.getTd_shddbh(), ConvertTool.ncGetDefault(xstd.getTd_ywdybh()));
143             int total = fdMxWlgsMapper.selectCountByTdTdls(xstd.getTd_tdls());
144             if(wldq==null && total == 0){
145                 orr.setCode(1);
146                 orr.setErrmsg("该账号没有配置该地区的分单权限!");
147                 return orr;
148             }
149         }
150         String Rcompany="";
151         Map<String, Object> mm=this.dqper.getKH(xstd.getTd_khbh());
152         if(StringUtils.isBlank(xstd.getTd_fpbh())){
153             if(mm!=null)
154                 Rcompany=mm.get("name")==null?"":mm.get("name").toString();
155         }else{
156             /*Rcompany=(xstd.getTd_ywdybh().equals(Contants.nc_ywdy_ZZ)?"郑州报关":
157                         xstd.getTd_ywdybh().equals(Contants.nc_ywdy_MT)?"河南报关":
158                             xstd.getTd_ywdybh().equals(Contants.nc_ywdy_MS)?"明晟报关":
159                         "科技报关");*/
160             Rcompany = ConvertTool.covertToCustoms(xstd.getTd_ywdybh());
161         }
162
163         List<Fd_XSTD> tdl= new ArrayList<Fd_XSTD>();
164         Map<String, List<Fd_XSTDMX>> mxMp=new HashMap<String, List<Fd_XSTDMX>>();
165         List<Fd_XSTDMX> mxl=new ArrayList<Fd_XSTDMX>();
166         //是否保存一卡通业务单表头信息
167         boolean saveBT=false;
168         /*String bsDE=xstd.getTd_cqNo().equals(Contants.nc_ywdy_ZZ) ?
169                 Contants.zzSdepartNo :xstd.getTd_cqNo().equals(Contants.nc_ywdy_MS)?Contants.msSdepartNo:Contants.kjSdepartNo;*/
170         String bsDE = ConvertTool.ncCovertToYkt(xstd.getTd_cqNo());
171         String bbsNo="";
172         String ziti="";//是否自提
173         // 系统部门未找到
174         if (StringUtils.isBlank(bsDE)) {
175             orr.setCode(1);
176             orr.setErrmsg("提单未找到系统部门字段,请重新操作!");
177             return orr;
178         }
179         try {
180             JsonParser jp=new JsonParser();
181             JsonObject vjo=jp.parse(vehicleInfo).getAsJsonObject();
182             Fd_Vehicle fdv=new Fd_Vehicle();
183             fdv=JSONobj.getobj(vjo, fdv);
184             String driver=JSONobj.getstring(vjo, "driver");
185             String phone=JSONobj.getstring(vjo, "phone");
186             String vehicleId=JSONobj.getstring(vjo, "vehicleId").toUpperCase();
187 //            String IDNum=JSONobj.getstring(vjo, "IDNum");
188             fdv.setVehicleId(vehicleId);
189             if(StringUtils.isEmpty(fdv.getVehicleId())||StringUtils.isEmpty(fdv.getDriver())||StringUtils.isEmpty(fdv.getIDNum())||StringUtils.isEmpty(fdv.getPhone())){
190                 orr.setCode(1);
191                 orr.setErrmsg("车辆必填项不能为空!");
192                 return orr;
193             }
194             Fd_Vehicle fdv1=this.fdvper.getByVehicleId(fdv.getVehicleId());
195             if(fdv1==null){
196                 fdv.setCompanyNo(lg.getDepartno());
197                 fdv.setId(UUID.randomUUID()+"");
198                 fdv.setNote("");
199                 fdv.setState(true);
200                 fdv.setStatus(VehicleStatus.已配车);
201                 fdv.setType(VehicleType.临时车);
202                 fdvper.insert(fdv);
203             }else{
204                 if(fdv1.getType()==VehicleType.临时车){
205                     fdv.setDriver(fdv.getDriver());
206                     fdv.setPhone(fdv.getPhone());
207                     fdv.setIDNum(fdv.getIDNum());
208                     fdvper.update(fdv1);
209                 }
210             }
211
212 //            xstd.getTd_ywdybh().equals(Contants.zzywdyNo)?Contants.zzSdepartNo:Contants.kjSdepartNo
213             Fd_Bsheet fb=this.bsper.getbyVehicleId(fdv.getVehicleId(), Serviceenum.在办,bsDE);
214             if(fb==null){
215                 JsonObject pfob=Wxhtmethod.postJsonStr(Contants.YKTgetPrefix_url,PrefixEnum.productsale.toString());
216                 ObjectResult<String> pfor=new ObjectResult<String>();
217                 String bsNo=JSONobj.getstring(pfob, "item");
218                 int code=JSONobj.getint(pfob, "code");
219                 String errmsg=JSONobj.getstring(pfob, "errmsg");
220                 pfor.setCode(code);
221                 pfor.setErrmsg(errmsg);
222                 pfor.setItem(bsNo);
223                 if(pfor==null||pfor.getCode()!=0){
224                     throw new Exception(pfor.getErrmsg());
225                 }
226                 fb=new Fd_Bsheet();
227                 fb.setBsNo(pfor.getItem());
228                 fb.setCompanyName(lg.getDepartname());
229                 fb.setCompanyNo(lg.getDepartno());
230                 fb.setCreateid(lg.getUserid());
231                 fb.setCreateName(lg.getWorkername());
232                 fb.setCtime(new Date());
233                 fb.setDriver(driver);
234                 fb.setFdsheetNo(pfor.getItem());
235                 fb.setId(UUID.randomUUID()+"");
236                 fb.setPhone(phone);
237                 fb.setSendmsg(false);
238                 fb.setStatus(Serviceenum.在办);
239                 fb.setVehicleId(fdv.getVehicleId());
240                 fb.setSdepartNo(bsDE);
241                 fb.setUpdateTime(new Date());
242                 this.bsper.insert(fb);
243                 saveBT=true;
244             }else{
245                 fb.setDriver(driver);
246                 fb.setPhone(phone);
247                 fb.setUpdateTime(new Date());
248                 this.bsper.update(fb);
249             }
250             Fd_Company_Vehicle fdcv=cvper.getbyIDs(fdv.getVehicleId(), lg.getDepartno(),bsDE);
251             if(fdcv==null){
252                 fdcv=new Fd_Company_Vehicle();
253                 fdcv.setCompanyNo(lg.getDepartno());
254                 fdcv.setVehicleId(fdv.getVehicleId());
255                 fdcv.setSdepartNo(bsDE);
256                 cvper.insertIDs(fdcv);
257             }
258 //            if(StringUtils.isBlank(fb.getSdepartNo())){
259 //                if(xstd.getTd_ywdybh().equals(Contants.zzywdyNo)){
260 //                    this.bsper.updatesdepartNo(fb.getId(), Contants.zzSdepartNo);
261 //                    fb.setSdepartNo(Contants.zzSdepartNo);
262 //                    Fd_Company_Vehicle fdcv=cvper.getbyIDs(fdv.getVehicleId(), lg.getDepartno(),Contants.zzSdepartNo);
263 //                    if(fdcv==null){
264 //                        fdcv=new Fd_Company_Vehicle();
265 //                        fdcv.setCompanyNo(lg.getDepartno());
266 //                        fdcv.setVehicleId(fdv.getVehicleId());
267 //                        fdcv.setSdepartNo(Contants.zzSdepartNo);
268 //                        cvper.insertIDs(fdcv);
269 //                    }
270 //                }else{
271 //                    this.bsper.updatesdepartNo(fb.getId(), Contants.kjSdepartNo);
272 //                    fb.setSdepartNo(Contants.kjSdepartNo);
273 //                    Fd_Company_Vehicle fdcv=cvper.getbyIDs(fdv.getVehicleId(), lg.getDepartno(),Contants.kjSdepartNo);
274 //                    if(fdcv==null){
275 //                        fdcv=new Fd_Company_Vehicle();
276 //                        fdcv.setCompanyNo(lg.getDepartno());
277 //                        fdcv.setVehicleId(fdv.getVehicleId());
278 //                        fdcv.setSdepartNo(Contants.kjSdepartNo);
279 //                        cvper.insertIDs(fdcv);
280 //                    }
281 //                }
282 //            }
283             if(StringUtils.isBlank(ziti)){
284                 ziti=xstd.getTd_ztbz()==2?"自提":"非自提";
285             }
286 //            if(StringUtils.isBlank(fb.getSdepartNo())){
287 //                throw new Exception("生成的分单业务单:"+fb.getFdsheetNo()+"厂区未找到!");
288 //            }
289             //郑州
290 //            if(fb.getSdepartNo().equals(Contants.zzSdepartNo)){
291 //                if(!xstd.getTd_ywdybh().equals(Contants.zzywdyNo)){
292 ////                    throw new Exception("车辆生成的是郑州厂区一卡通业务单,科技提单:"+xstd.getTd_tdbh()+"不能配车!");
293 //                    if(saveBT){
294 //                        throw new Exception("科技厂区提单和郑州厂区提单不能同时使用同一辆车!");
295 //                    }else{
296 //                        throw new Exception(fb.getVehicleId()+" 有郑州厂区一卡通销售业务单,科技提单:"+xstd.getTd_tdbh()+"不能使用该车!");
297 //                    }
298 //                }
299 //            }else{
300 //                if(xstd.getTd_ywdybh().equals(Contants.zzywdyNo)){
301 ////                    throw new Exception("车辆生成的是科技厂区一卡通业务单,郑州提单:"+xstd.getTd_tdbh()+"不能配车!");
302 //                    if(saveBT){
303 //                        throw new Exception("科技厂区提单和郑州厂区提单不能同时使用同一辆车!");
304 //                    }else{
305 //                        throw new Exception(fb.getVehicleId()+" 有科技厂区一卡通销售业务单,郑州提单:"+xstd.getTd_tdbh()+"不能使用该车!");
306 //                    }
307 //                }
308 //            }
309
310             JsonArray ja=jp.parse(bsitemlistStr).getAsJsonArray();
311             //分单数量和毛重
312             int fdsl=0;
313             double fdmz=0;
314             for (JsonElement je: ja) {
315                 JsonObject itemJo=je.getAsJsonObject();
316                 //主键
317                 String tdmx_tdfl=JSONobj.getstring(itemJo, "tdfl");
318                 Fd_XSTDMX tdmx=this.mxper.get(tdmx_tdfl);
319                 //未找到的过滤掉  已分单的过滤掉  已装车的不处理
320                 if(tdmx==null||tdmx.getTdmx_fdbz()!=0||tdmx.getTdmx_zcbz()!=0){
321                     continue;
322                 }
323                 //关闭标志不为0不做处理
324                 if(tdmx.getTdmx_gbbz()!=0){
325                     continue;
326                 }
327                 fdsl++;
328                 fdmz=BigDecimalfiter.addscal(fdmz, tdmx.getTdmx_mz(), Contants.scale);
329
330                 tdmx.setTdmx_fdbz(1);
331                 tdmx.setTdmx_fdcph(fdv.getVehicleId());
332                 tdmx.setTdmx_fdywbh(fb.getBsNo());
333                 tdmx.setTdmx_fdwlgsbh(lg.getDepartno());
334                 this.mxper.updateFD(tdmx);
335                 mxl.add(tdmx);
336
337             }
338             Vehicle_XSTD vhxstd=this.vhxper.getbyIDs(fdv.getVehicleId(), xstdNo,lg.getDepartno());
339             if(vhxstd==null){
340                 vhxstd=new Vehicle_XSTD();
341                 vhxstd.setBsNo(fb.getBsNo());
342                 vhxstd.setCompanyNo(lg.getDepartno());
343                 vhxstd.setFd_num(fdsl);
344                 vhxstd.setFd_weight(fdmz);
345                 vhxstd.setVehicleId(fdv.getVehicleId());
346                 vhxstd.setXstdNo(xstdNo);
347                 this.vhxper.insert(vhxstd);
348             }else{
349                 vhxstd.setBsNo(fb.getBsNo());
350                 vhxstd.setCompanyNo(lg.getDepartno());
351                 vhxstd.setFd_num(vhxstd.getFd_num()+fdsl);
352                 vhxstd.setFd_weight(BigDecimalfiter.add(vhxstd.getFd_weight(),fdmz));
353                 vhxstd.setVehicleId(fdv.getVehicleId());
354                 vhxstd.setXstdNo(xstdNo);
355                 this.vhxper.updatewithIDs(vhxstd);
356             }
357             xstd.setTd_wfdsl(xstd.getTd_wfdsl()-fdsl);
358             xstd.setTd_wfdzl(BigDecimalfiter.subscal(xstd.getTd_wfdzl(), fdmz, Contants.scale));
359             this.tdper.updateFD(xstd);
360             if(saveBT){
361                 YktBsheet bs=new YktBsheet();
362 //                if(iskj==1){
363 //                    bs.setSdepartNo(Contants.kjSdepartNo);
364 //                    bs.setDcompany("明泰科技");
365 //                }else{
366 //                    bs.setSdepartNo(Contants.zzSdepartNo);
367 //                    bs.setDcompany("郑州眀泰");
368 //                }
369                 bs.setSdepartNo(fb.getSdepartNo());
370                 /*bs.setDcompany(fb.getSdepartNo().equals(Contants.kjSdepartNo)?"明泰科技":
371                     fb.getSdepartNo().equals(Contants.msSdepartNo)?"河南明晟新材料":
372                     "郑州眀泰"
373                     );*/
374                 bs.setDcompany(ConvertTool.covertToFactoryName(fb.getSdepartNo()));
375                 bs.setDriver(fdv.getDriver());
376                 bs.setNumberplates(StringUtils.upperCase(fdv.getVehicleId()));
377                 bs.setPhone(fdv.getPhone());
378                 bs.setRcompany(Rcompany);
379                 bs.setBussinessNo(fb.getBsNo());
380                 bs.setNote(ziti+";"+lg.getDepartname()+":"+lg.getWorkername()+"; 分单系统自动生成");
381                 String bsStr=Jacksonmethod.tojson(bs, false);
382                 bsDE=bs.getSdepartNo();
383                 bbsNo=bs.getBussinessNo();
384                 JsonObject joADDYWD=Wxhtmethod.postJsonStr(Contants.YKTaddYwd_url,bsStr);
385                 ObjectResult<String> ors=new ObjectResult<String>();
386                 String bsNo=JSONobj.getstring(joADDYWD, "item");
387                 int code=JSONobj.getint(joADDYWD, "code");
388                 String errmsg=JSONobj.getstring(joADDYWD, "errmsg");
389                 ors.setItem(bsNo);
390                 ors.setCode(code);
391                 ors.setErrmsg(errmsg);
392                 if(ors.getCode()!=0){
393                     throw new Exception(ors.getErrmsg());
394                 }
395                 this.bsper.updateShdw(fb.getId(), StringUtils.isBlank(Rcompany)?"未知发货单位":Rcompany);
396             }else {
397                 List<WaitXSTD> l=this.bsper.getAllKH(fb.getBsNo(), fb.getId());
398                 if(l!=null) {
399                     boolean iscz=false;//收货单位在明细中是否存在
400                     WaitXSTD wt=null;
401                     for (WaitXSTD waitXSTD : l) {
402                         if(fb.getShdw().equals(waitXSTD.getTd_khmc())) {
403                             iscz=true;
404                             break;
405                         }else {
406                             if(wt==null&&StringUtils.isNotBlank(waitXSTD.getTd_khmc())) {
407                                 wt=waitXSTD;
408                             }
409                         }
410                     }
411                     if(!iscz&&wt!=null) {
412                         fb.setShdw(wt.getTd_khmc());
413                         this.yktmper.updateshcompany(fb.getBsNo(), wt.getTd_khmc(),wt.getTd_shdd());
414                     }
415                 }
416
417             }
418             tdl.add(xstd);
419             mxMp.put(xstdNo, mxl);
420             //分单推送NC系统
421             if(tdl!=null&&tdl.size()>0){
422                 String fdhx=this.fdtonc.getNcdata(tdl, mxMp);
423                 Fileoperation.AppendContentToFile(Fileoperation.gettestFileName(), "明细配车 请求参数 ::"+fdhx);
424                 //todo 先注释掉NC部分,接口不通
425                 JsonObject joADDYWD=Wxhtmethod.postJsonStr(Contants.NCfdhx_url,fdhx);
426                 Fileoperation.AppendContentToFile(Fileoperation.gettestFileName(), "明细配车 url返回值 ::"+joADDYWD);
427                 if(joADDYWD==null||JSONobj.getint(joADDYWD, "code")!=0){
428                     throw new Exception(StringUtils.isEmpty(joADDYWD.get("msg").getAsString())?"分单回写NC系统出错!":joADDYWD.get("msg").getAsString());
429                 }else{
430                     String restult=joADDYWD.get("result").getAsString();
431                     JsonObject jr=jp.parse(restult).getAsJsonObject();
432                     if(jr==null||JSONobj.getint(jr, "respcode")!=111){
433                         throw new Exception(jr.get("respmsg").getAsString());
434                     }
435                 }
436             }
437         }catch(Exception e){
438             if(saveBT){
439                 JsonObject jo=new JsonObject();
440                 jo.addProperty("bussinessNo", bbsNo);
441                 jo.addProperty("sdepartNo",bsDE);
442                 Wxhtmethod.postJsonStr(Contants.YKTdelYwd_url,jo.toString());
443             }
444             throw new Exception(StringUtils.isEmpty(e.getMessage())?"提单明细分单出错!":e.getMessage());
445         }
446
447         orr.setCode(0);
448         orr.setItem(null);
449         return orr;
450     }
451
452     @Override
453     @Transactional(rollbackFor=Exception.class)
454     public ObjectResult<String> sendMsg(Login lg, String bussinessNo)throws Exception {
455         ObjectResult<String> orr=new ObjectResult<String>();
456         if(lg==null){
457             orr.setCode(1);
458             orr.setErrmsg("请登录账号!");
459             return orr;
460         }
461         if(UserType.admin.toString().equals(lg.getWorkerno())){
462             orr.setCode(1);
463             orr.setErrmsg("管理员账号没有分单权限!");
464             return orr;
465         }
466         if(StringUtils.isEmpty(bussinessNo)){
467             orr.setCode(1);
468             orr.setErrmsg("业务单参数为空!");
469             return orr;
470         }
471         Fd_Bsheet fdb=bsper.getbybsNo(bussinessNo);
472         if(fdb==null){
473             orr.setCode(1);
474             orr.setErrmsg("业务单未找到!");
475             return orr;
476         }
477         if(fdb.getStatus()!=Serviceenum.在办){
478             orr.setCode(1);
479             orr.setErrmsg("业务单不是在办状态!");
480             return orr;
481         }
482         JsonObject jos=new JsonObject();
483         jos.addProperty("bussinessNo", bussinessNo);
484         JsonObject jo=Wxhtmethod.postJsonStr(Contants.YKTsendMsg_url,jos.toString());
485         if(jo==null||jo.get("code").getAsInt()!=0){
486             throw new Exception(jo.get("errmsg").getAsString());
487         }
488         fdb.setSendmsg(true);
489         fdb.setInvitecode(jo.get("item").getAsString());
490         bsper.updateInvitaCode(fdb);
491
492         orr.setCode(0);
493         return orr;
494     }
495
496 }