public bool obOrderUpload(List <string> billNos) { var token = CommonToken.GetToken(); var http = new ArrowInterface.ArrowInterface(); var Helper = new OracleDBHelper(); var uploadParamRepository = new DefaultRepository <ObOrderUploadParam>(DBTypeEnums.ORACLE); var lhobounorderRepository = new DefaultRepository <LH_OUTBOUNDORDER>(DBTypeEnums.ORACLE); Dictionary <string, CompareEnum> compare = new Dictionary <string, CompareEnum>(); compare.Add("LHODONO", CompareEnum.In); var pars = uploadParamRepository.SelectWithWhere(new { LHODONO = billNos }, compare, null); List <string> errors = new List <string>(); pars.ForEach(p => { try { var result = http.obOrderUpload(token.Token, p); if (result.Success) { var sql = "UPDATE LH_OUTBOUNDORDER SET FSTATUS=:FSTATUS WHERE lhodoID=:lhodoID"; lhobounorderRepository.Execute(sql, new { FSTATUS = 7, lhodoID = p.lhodoID }, null); } else { errors.Add($"单据【{p.lhodoID}】车牌同步失败"); } } catch (OracleException e) { var message = string.Format($"单据【{p.lhodoID}】车牌上传结果更新失败"); Common_Arrow.LogHelper.Info(message); Common_Arrow.LogHelper.Error(e); } }); if (errors.Count > 0) { throw new Exception(string.Join("\r\n", errors)); } return(true); }
public bool SaveMergeBill(LH_MergeBill bill, List <string> LHOBODNOS) { var conn = DBConnectionFactory.GetConnection(DBTypeEnums.ORACLE); conn.Open(); var tran = conn.BeginTransaction(); try { bool result = false; LH_MergeBillRepository repository = new LH_MergeBillRepository(); var lhoutorderRepository = new DefaultRepository <LH_OUTBOUNDORDER>(DBTypeEnums.ORACLE); var sql = "SELECT * FROM MERGEBILL WHERE FBILLNO=:FBILLNO"; var temp = repository.GetSingle(sql, bill); if (temp == null) { result = repository.Insert(bill, tran); } else { result = repository.Update(bill, new { FBILLNO = bill.FBILLNO }); } sql = $"UPDATE LH_OUTBOUNDORDER SET FMEGREBILLNO=:FBILLNO,FCARNO=:CARNO WHERE LHODONO IN :LHODONOS"; result = lhoutorderRepository.Execute(sql, new { FBILLNO = bill.FBILLNO, LHODONOS = LHOBODNOS, CARNO = bill.FCARNO }, tran) == LHOBODNOS.Count; tran.Commit(); conn.Close(); return(result); } catch (Exception e) { tran.Rollback(); conn.Close(); LogHelper.Error(e); throw; } }