public void 손절완료처리및종목제외전환() { log.Info("손절완료처리및종목제외전환 start"); // tbl_stock_myorderlist 에서 불러옴 List <StockMyOrder> 매도정정대상 = dacStock.매도정정대상조회(inqDate); for (int i = 0; i < 매도정정대상.Count; i++) { log.Info("손절완료처리및종목제외전환 : " + JsonConvert.SerializeObject(매도정정대상[i])); if (string.IsNullOrWhiteSpace(매도정정대상[i].confirmQty) || "0".Equals(매도정정대상[i].confirmQty)) { log.Info("confirmQty is 0"); continue; } if (매도정정대상[i].confirmPrice == null) { 매도정정대상[i].confirmPrice = "0"; } if (string.IsNullOrWhiteSpace(매도정정대상[i].confirmPrice) || "0".Equals(매도정정대상[i].confirmPrice)) { log.Info("confirmPrice is 0"); continue; } List <StockOrder> orderList = dacStock.tbl_stock_order_주문조회(inqDate, 매도정정대상[i].stockCode, "매도정정", "요청중"); if (orderList == null || orderList.Count < 1) { log.Info("해당 order 없음"); continue; } StockOrder order = orderList[0]; if (매도정정대상[i].Qty == null) { 매도정정대상[i].Qty = "0"; } if (string.IsNullOrWhiteSpace(order.Qty)) { order.Qty = "0"; } int myOrderQty = int.Parse(매도정정대상[i].Qty); int orderQty = int.Parse(order.Qty); if (myOrderQty != orderQty) { log.Info("Qty 다름"); continue; } if (매도정정대상[i].Price == null) { 매도정정대상[i].Price = "0"; } if (string.IsNullOrWhiteSpace(order.Price)) { order.Price = "0"; } int myOrderPrice = int.Parse(매도정정대상[i].Price); int orderPrice = int.Parse(order.Price); if (myOrderPrice != orderPrice) { log.Info("Price 다름"); continue; } if (string.IsNullOrWhiteSpace(order.orderNo)) { log.Info("주문번호가 없어서 myorderlist 에서 주문번호 업데이트"); dacStock.주문번호업데이트_bySeq(order.Seq, 매도정정대상[i].orderNo); } // tbl_stock_order 업데이트 dacStock.매도정정내역으로주문업데이트(inqDate, 매도정정대상[i].orderNo, 매도정정대상[i].stockCode, 매도정정대상[i].confirmQty, 매도정정대상[i].confirmPrice, 매도정정대상[i].orgOrderNo); log.Info("주식상태대기로변경 stockCode: " + 매도정정대상[i].stockCode + " confirmQty:" + 매도정정대상[i].confirmQty + " confirmPrice:" + 매도정정대상[i].confirmPrice); // tbl_stock_target 업데이트 dacStock.주식상태대기로변경(inqDate, 매도정정대상[i].stockCode, 매도정정대상[i].confirmQty, 매도정정대상[i].confirmPrice); int qty = string.IsNullOrWhiteSpace(매도정정대상[i].confirmQty) ? 0 : int.Parse(매도정정대상[i].confirmQty); int price = string.IsNullOrWhiteSpace(매도정정대상[i].confirmPrice) ? 0 : int.Parse(매도정정대상[i].confirmPrice); if (qty * price > 0) { TotalBalance += qty * price; // 세금제외 TotalBalance -= (int)(qty * price * 0.0028); } } log.Info("손절완료처리및종목제외전환 end"); }