public string GetInsertSql(TransportSettlementDetail model) { StringBuilder strSql = new StringBuilder(); StringBuilder strSql1 = new StringBuilder(); StringBuilder strSql2 = new StringBuilder(); strSql1.Append("tsId,"); strSql2.Append("@tsid,"); if (model.tgicId != null) { strSql1.Append("tgicId,"); strSql2.Append("" + model.tgicId + ","); } if (model.count != null) { strSql1.Append("count,"); strSql2.Append("" + model.count + ","); } if (model.sum != null) { strSql1.Append("sum,"); strSql2.Append("" + model.sum + ","); } if (model.inputDate != null) { strSql1.Append("inputDate,"); strSql2.Append("getdate(),"); } if (model.inputMan != null) { strSql1.Append("inputMan,"); strSql2.Append("'" + model.inputMan + "',"); } strSql.Append("insert into transportSettlementDetail("); strSql.Append(strSql1.ToString().Remove(strSql1.Length - 1)); strSql.Append(")"); strSql.Append(" values ("); strSql.Append(strSql2.ToString().Remove(strSql2.Length - 1)); strSql.Append(")"); strSql.Append(";set @tsdid=@@IDENTITY;"); return(strSql.ToString()); }
public void saveCompute(TransportSettlement transportSettlement, DataGridView dgv_detail, DataGridView dgv_note, string userName) { ArrayList sqlList = new ArrayList(); TransportSettlementDetail transportSettlementDetail = null; TransportNoteCorresponding transportNoteCorresponding = null; List <TransportNoteCorresponding> tnList = null; string nodeCode = null; int count = 0; decimal sum = 0; sqlList.Add(new TransportSettlementAction().GetInsertSql(transportSettlement)); foreach (DataGridViewRow dgvr in dgv_detail.Rows) { if (dgvr.Cells["id"].Value != null) { tnList = new List <TransportNoteCorresponding>(); transportSettlementDetail = new TransportSettlementDetail(); transportSettlementDetail.tgicId = long.Parse(dgvr.Cells["id"].Value.ToString()); transportSettlementDetail.inputMan = userName; count = 0; sum = 0; foreach (DataGridViewRow dgvrn in dgv_note.Rows) { if (dgvr.Cells["id"].Value.ToString() == dgvrn.Cells["did"].Value.ToString()) { count += 1; sum += decimal.Parse(Math.Round(compute(dgvr.Cells["price"].Value.ToString(), dgvrn.Cells["suttle"].Value.ToString(), dgvr.Cells["distance"].Value.ToString(), dgvr.Cells["formula"].Value.ToString()), 2).ToString()); string code = dgvrn.Cells["barcode"].Value.ToString(); nodeCode += ",'" + code + "'"; transportNoteCorresponding = new TransportNoteCorresponding(); transportNoteCorresponding.cnId = transportDB.queryConsignmentNoteID(code); transportNoteCorresponding.snId = transportDB.queryStockNoteID(code); transportNoteCorresponding.inputMan = userName; tnList.Add(transportNoteCorresponding); } } transportSettlementDetail.count = count; transportSettlementDetail.sum = sum; if (count > 0) { sqlList.Add(new TransportSettlementDetailAction().GetInsertSql(transportSettlementDetail)); foreach (TransportNoteCorresponding tnc in tnList) { sqlList.Add(new TransportNoteCorrespondingAction().GetInsertSql(tnc)); } } } }//运输明细循环 if (nodeCode != null) { sqlList.Add(transportDB.getNodeSql(nodeCode)); } transportDB.ExecuteTransaction(sqlList); }