Pārlūkot izejas kodu

风险管理11月11日提交代码-liu.bolan-风管bug

Liu.bolan 4 gadi atpakaļ
vecāks
revīzija
3a58ea9b13
33 mainītis faili ar 344 papildinājumiem un 102 dzēšanām
  1. 2 2
      RMA/app/src/main/java/cn/muchinfo/rma/business/future/FutureManager.kt
  2. 1 1
      RMA/app/src/main/java/cn/muchinfo/rma/global/data/AccountData.kt
  3. 3 3
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/chart/ChartViewModel.kt
  4. 1 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/chart/old/timeCharts/TimeChartView.java
  5. 2 2
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/future/markets/FutureMarket.kt
  6. 15 11
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/future/markets/MarketBaseModel.kt
  7. 1 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/future/markets/MarketFragment.kt
  8. 4 4
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/hnstcdys/dialog/HnstFloatListedDialog.kt
  9. 2 2
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/reference/ReferenceViewModel.kt
  10. 2 2
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/tjmd/TjmdHomeMarketViewHolder.kt
  11. 1 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/tjmd/TjmdHomeSonViewHolder.kt
  12. 3 3
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/tjmd/TjmdHomeViewModel.kt
  13. 4 4
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/platinumtreasure/PlatinumTreasureViewModel.kt
  14. 1 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/platinumtreasure/trade/PlatinumBuyOrSellUI.kt
  15. 1 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/platinumtreasure/trade/PlatinumTradeActivity.kt
  16. 1 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/platinumtreasure/trade/PositionDetailsActivity.kt
  17. 4 4
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/platinumtreasure/trade/PositionViewHolder.kt
  18. 14 4
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/procurement/ProcurementViewModel.kt
  19. 77 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/procurement/contraceui/ContractUI.kt
  20. 2 2
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/procurement/contraceui/SpotContractAdapter.java
  21. 4 4
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/recycling/RecyclingViewModel.kt
  22. 13 4
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/sale/SaleViewModel.kt
  23. 78 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/sale/contract/ContractUI.kt
  24. 1 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/sale/contract/SpotSellContractAdapter.java
  25. 3 3
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/warehousereceipt/BusinessHallActivity.kt
  26. 11 10
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/warehousereceipt/dialog/WarehouseFloatListedDialog.kt
  27. 27 18
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/warehousereceipt/tradecircle/TradeCircleListedBuyUI.kt
  28. 40 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/warehousereceipt/tradecircle/TradeCircleListedSellUI.kt
  29. 4 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/warehousereceipt/tradecircle/TradeCircleListedingActivity.kt
  30. 2 2
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/yrdzpurchase/BasePriceViewMoldel.kt
  31. 2 2
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/yrdzpurchase/PurchaseOrderViewModel.kt
  32. 1 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/yrdzpurchase/chart/YrdzChartViewModel.kt
  33. 17 7
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/yrdzpurchase/swaps/business/SwapsBusinessHallViewModel.kt

+ 2 - 2
RMA/app/src/main/java/cn/muchinfo/rma/business/future/FutureManager.kt

@@ -110,7 +110,7 @@ class FutureManager {
         goodsInfoList.forEach {
             goodsInfoAndQuotesList?.add(
                 GoodsInfoAndQuotes(
-                    outgoodscode = it.outgoodscode,
+                    outgoodscode = it.goodscode.toUpperCase(),
                     goodsInfo = it
                 )
             )
@@ -182,7 +182,7 @@ class FutureManager {
         quoteList?.forEach { data ->
             val goodsInfoAndQuotes = goodsInfoAndQuotesList?.find {
                 if (it != null) {
-                    data.goodscode == it.outgoodscode
+                    data.goodscode.toUpperCase() == it.outgoodscode
                 } else {
                     false
                 }

+ 1 - 1
RMA/app/src/main/java/cn/muchinfo/rma/global/data/AccountData.kt

@@ -220,7 +220,7 @@ open class AccountData(
 
             val quoteDayData =
                 GlobalDataCollection.instance?.goodsInfoAndQuotesList?.find { data ->
-                    data.outgoodscode == goodsInfoData.goodscode
+                    data.outgoodscode == goodsInfoData.goodscode.toUpperCase()
                 }?.quoteDayData
             if (it.tradeproperty == "2") {//交易模式为所有权时才在我的页面算市值
                 valueOfposition += quoteDayData?.getPrice()?.times(

+ 3 - 3
RMA/app/src/main/java/cn/muchinfo/rma/view/base/chart/ChartViewModel.kt

@@ -62,7 +62,7 @@ class ChartViewModel : BaseViewModel() {
         // 订阅当前商品行情
         MyApplication.getInstance()?.quoteManager?.addSubscriptQuote(
             "11112",
-            setOf(outGoodsCode)
+            setOf(goodsCode)
         ) { isCompleted, err ->
             System.out.println(isCompleted)
         }
@@ -85,7 +85,7 @@ class ChartViewModel : BaseViewModel() {
      * 请求当前商品k线
      */
     fun queryKChart(type: String){
-        queryKChartData(outGoodsCode, type)
+        queryKChartData(goodsCode, type)
     }
 
     /**
@@ -143,7 +143,7 @@ class ChartViewModel : BaseViewModel() {
      */
     fun refreshTimePrice(timeChartView: TimeChartView){
         timeChartView.setLastPrice(
-            ChartDataAdapter().getGoodsInfoMarket(outGoodsCode)!!.quoteDayData.last.toString(), getColor(getApplication(),
+            ChartDataAdapter().getGoodsInfoMarket(goodsCode)!!.quoteDayData.last.toString(), getColor(getApplication(),
                 R.color.p_down_color))
     }
 

+ 1 - 1
RMA/app/src/main/java/cn/muchinfo/rma/view/base/chart/old/timeCharts/TimeChartView.java

@@ -131,7 +131,7 @@ public class TimeChartView extends FrameLayout implements ITouchEventResponse {
 
         // 这里是通过起始点和结束点 确认当前显示的宽高
         lineChart.initAxisY(timeChartData.getPreSettle(),
-                String.valueOf(new ChartDataAdapter().getGoodsInfoMarket(timeChartData.getOutGoodsCode()).getQuoteDayData().getLast()),
+                String.valueOf(new ChartDataAdapter().getGoodsInfoMarket(timeChartData.getGoodsCode()).getQuoteDayData().getLast()),
                 timeChartData.getDecimalPlace());
         lineChart.setDecimalNum(Integer.parseInt(timeChartData.getDecimalPlace()));
         lineChart.setLineData(lines);

+ 2 - 2
RMA/app/src/main/java/cn/muchinfo/rma/view/base/future/markets/FutureMarket.kt

@@ -49,7 +49,7 @@ class FutureMarket : BaseFragment<FutureMarketModel>() {
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
-
+        viewModel.getErmcpGoodsSortByPosition()
         viewModel.ermcpGoodsSortByPositionDataList.bindOptional(context!!){
             initViews(it ?: arrayListOf())
         }
@@ -61,7 +61,7 @@ class FutureMarket : BaseFragment<FutureMarketModel>() {
 
     override fun onResume() {
         super.onResume()
-        viewModel.getErmcpGoodsSortByPosition()
+//        viewModel.getErmcpGoodsSortByPosition()
         LogUtils.eTag("dashdkahsdkjahdkjsa","sadkalsjda")
     }
 

+ 15 - 11
RMA/app/src/main/java/cn/muchinfo/rma/view/base/future/markets/MarketBaseModel.kt

@@ -44,10 +44,13 @@ class MarketBaseModel : BaseViewModel() {
 
     fun getgoodsCodes(first: Int, last: Int): String {
         var goodsCodes = ""
-        val newList = list?.subList(first, last)
-        newList?.forEach {
-            goodsCodes = goodsCodes + it.outgoodscode + ","
+        if (first < last){
+            val newList = list?.subList(first, last)
+            newList?.forEach {
+                goodsCodes = goodsCodes + it.goodscode.toUpperCase() + ","
+            }
         }
+
         return goodsCodes
     }
 
@@ -74,8 +77,9 @@ class MarketBaseModel : BaseViewModel() {
                 callback(false, error)
             }
         }
-
-        list?.subList(first, last)?.let { addSubscriptQuote(tag = tag, goodsInfoList = it) }
+        if (first < last){
+            list?.subList(first, last)?.let { addSubscriptQuote(tag = tag, goodsInfoList = it) }
+        }
     }
 
     /**
@@ -86,7 +90,7 @@ class MarketBaseModel : BaseViewModel() {
     fun addSubscriptQuote(tag: String, goodsInfoList: List<GoodsInfo>) {
         GlobalScope.launch {
             MyApplication.getInstance()?.quoteManager?.addSubscriptQuote(
-                tag = tag, goodsCodeSet = goodsInfoList.map { it.outgoodscode ?: "" }.toSet()
+                tag = tag, goodsCodeSet = goodsInfoList.map { it.goodscode.toUpperCase() ?: "" }.toSet()
             ) { isCompleted, err ->
 
             }
@@ -163,18 +167,18 @@ class MarketBaseModel : BaseViewModel() {
 
             //获取盘面信息
             val quoteDayData = GlobalDataCollection.instance?.goodsInfoAndQuotesList?.find {
-                it.outgoodscode == list?.get(position)?.outgoodscode
+                it.outgoodscode == list?.get(position)?.goodscode?.toUpperCase()
             }?.quoteDayData
             if (quoteDayData != null) {
                 //最新价->今开->昨结 价格
                 if (quoteDayData.last != 0.0) {//优先最新价
-                    holder.idPrice?.text = quoteDayData.last.toString()
+                    holder.idPrice?.text = NumberUtils.roundNum(quoteDayData.last.toString(),2)
                 } else {//今开
                     if (quoteDayData.opened != 0.0) {
-                        holder.idPrice?.text = quoteDayData.opened.toString()
+                        holder.idPrice?.text = NumberUtils.roundNum(quoteDayData.opened.toString(),2)
                     } else {//昨结
                         if (quoteDayData.preclose != 0.0) {
-                            holder.idPrice?.text = quoteDayData.preclose.toString()
+                            holder.idPrice?.text = NumberUtils.roundNum(quoteDayData.preclose.toString(),2)
                         } else {
                             holder.idPrice?.text = "--"
                         }
@@ -267,7 +271,7 @@ class MarketBaseModel : BaseViewModel() {
 
                 val intent = Intent()
                 intent.putExtra("outGoodsCode", list?.get(position)?.outgoodscode)
-                intent.putExtra("goodsCode", list?.get(position)?.goodscode)
+                intent.putExtra("goodsCode", list?.get(position)?.goodscode?.toUpperCase())
                 intent.putExtra("goodsId", list?.get(position)?.goodsid.toString())
                 intent.putExtra("goodsGroupId", list?.get(position)?.goodsgroupid)
                 intent.putExtra("marketId", list?.get(position)?.marketid)

+ 1 - 1
RMA/app/src/main/java/cn/muchinfo/rma/view/base/future/markets/MarketFragment.kt

@@ -148,7 +148,7 @@ class MarketFragment(data: ExternalExchanges) : BaseFragment<MarketBaseModel>()
             val ermcpGoodsSortByPositionDataList = GlobalDataCollection.instance?.ermcpGoodsSortByPositionDataArrayList
             val allGoodsInfoList = DataBase.getInstance().goodsInfoDao().all
             ermcpGoodsSortByPositionDataList?.forEach {data ->
-                val goodsInfo = allGoodsInfoList.find { data.goodscode == it.goodscode }
+                val goodsInfo = allGoodsInfoList.find { data.goodscode == it.goodscode.toUpperCase() }
                 if (goodsInfo?.goodsname.isNullOrEmpty().not()){
                     list.add(goodsInfo!!)
                 }

+ 4 - 4
RMA/app/src/main/java/cn/muchinfo/rma/view/base/hnstcdys/dialog/HnstFloatListedDialog.kt

@@ -1047,10 +1047,10 @@ class FloatBuyListedUI(
                             ToastUtils.showLong("请输入基差")
                             return@onThrottleFirstClick
                         }
-                        if (basisInputEdittext.text.toString().toDouble() == 0.0) {
-                            ToastUtils.showLong("基差不能为零")
-                            return@onThrottleFirstClick
-                        }
+//                        if (basisInputEdittext.text.toString().toDouble() == 0.0) {
+//                            ToastUtils.showLong("基差不能为零")
+//                            return@onThrottleFirstClick
+//                        }
 
                         if (oneNumberInputEdittext.text.toString().isNullOrEmpty()) {
                             ToastUtils.showLong("请输入挂牌数量")

+ 2 - 2
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/reference/ReferenceViewModel.kt

@@ -75,7 +75,7 @@ class ReferenceViewModel : BaseViewModel(){
         var goodsCodes = ""
         val newList = list.subList(first, last)
         newList.forEach {
-            goodsCodes = goodsCodes + it.goodscode + ","
+            goodsCodes = goodsCodes + it.goodscode.toUpperCase() + ","
         }
         return goodsCodes
     }
@@ -88,7 +88,7 @@ class ReferenceViewModel : BaseViewModel(){
     fun addSubscriptQuote(tag: String, goodsInfoList: List<GoodsInfo>) {
         GlobalScope.launch {
             MyApplication.getInstance()?.quoteManager?.addSubscriptQuote(
-                tag = tag, goodsCodeSet = goodsInfoList.map { it.goodscode ?: "" }.toSet()
+                tag = tag, goodsCodeSet = goodsInfoList.map { it.goodscode.toUpperCase() ?: "" }.toSet()
             ) { isCompleted, err ->
 
             }

+ 2 - 2
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/tjmd/TjmdHomeMarketViewHolder.kt

@@ -36,7 +36,7 @@ class TjmdHomeMarketViewHolder(private val activity : AppCompatActivity,private
             gravity = Gravity.CENTER_VERTICAL
             onThrottleFirstClick {
                 viewModel.setOnItemClick(goodsid = data.value?.goodsid ?: "")
-                viewModel.queryKChartData(data.value?.goodsInfo?.goodscode ?: "","11")
+                viewModel.queryKChartData(data.value?.goodsInfo?.goodscode?.toUpperCase() ?: "","11")
             }
 
             data.bindOptional(context){
@@ -67,7 +67,7 @@ class TjmdHomeMarketViewHolder(private val activity : AppCompatActivity,private
                         var quoteDayData: QuoteDayData? = null
                         quotesList?.forEach {
                             if (it?.outgoodscode.isNullOrEmpty().not()){
-                                if (data?.goodsInfo?.goodscode == it.outgoodscode){
+                                if (data?.goodsInfo?.goodscode?.toUpperCase() == it.outgoodscode){
                                     quoteDayData = it?.quoteDayData ?: QuoteDayData()
                                 }
                             }

+ 1 - 1
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/tjmd/TjmdHomeSonViewHolder.kt

@@ -28,7 +28,7 @@ class TjmdHomeSonViewHolder(private val activity : AppCompatActivity,private val
                 val quoteGoodsListDataList = GlobalDataCollection.instance!!.quoteGoodsListDataArrayList
                 val intent = Intent()
                 intent.putExtra("goodsId", data.value?.goodsid.toString())
-                intent.putExtra("goodsCode", data.value?.goodscode)
+                intent.putExtra("goodsCode", data.value?.goodscode?.toUpperCase())
                 intent.putExtra("quoteGoodsListData", quoteGoodsListDataList?.find { data.value?.goodsid.toString() == it?.goodsid })
                 intent.setClass(context, SwapsBusinessHallActivity::class.java)
                 ActivityUtils.startActivity(intent)

+ 3 - 3
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/tjmd/TjmdHomeViewModel.kt

@@ -86,7 +86,7 @@ class TjmdHomeViewModel : BaseViewModel(){
         }
         dataList.postValue(list)
         if (list.size > 0){
-            queryKChartData(list.get(0).goodsInfo?.goodscode ?: "","11")
+            queryKChartData(list.get(0).goodsInfo?.goodscode?.toUpperCase() ?: "","11")
         }
 
         if (list.size > 10){
@@ -134,7 +134,7 @@ class TjmdHomeViewModel : BaseViewModel(){
         var goodsCodes = ""
         val newList = list.subList(first, last)
         newList.forEach {
-            goodsCodes = goodsCodes + it.goodsInfo?.goodscode + ","
+            goodsCodes = goodsCodes + it.goodsInfo?.goodscode?.toUpperCase() + ","
         }
         return goodsCodes
     }
@@ -147,7 +147,7 @@ class TjmdHomeViewModel : BaseViewModel(){
     fun addSubscriptQuote(tag: String, goodsInfoList: List<TjmdDemoData>) {
         GlobalScope.launch {
             MyApplication.getInstance()?.quoteManager?.addSubscriptQuote(
-                tag = tag, goodsCodeSet = goodsInfoList.map { it.goodsInfo?.goodscode ?: "" }.toSet()
+                tag = tag, goodsCodeSet = goodsInfoList.map { it.goodsInfo?.goodscode?.toUpperCase() ?: "" }.toSet()
             ) { isCompleted, err ->
 
             }

+ 4 - 4
RMA/app/src/main/java/cn/muchinfo/rma/view/base/platinumtreasure/PlatinumTreasureViewModel.kt

@@ -99,12 +99,12 @@ class PlatinumTreasureViewModel : BaseViewModel(){
         newList?.forEach {
             if (it.relatedgoodsid != 0){
                 if (DataBase.getInstance().goodsInfoDao().getGoodsInfo(it.relatedgoodsid) == null){
-                    goodsCodes = goodsCodes + it.goodscode + ","
+                    goodsCodes = goodsCodes + it.goodscode.toUpperCase() + ","
                 }else{
-                    goodsCodes = goodsCodes + it.goodscode + "," + DataBase.getInstance().goodsInfoDao().getGoodsInfo(it.relatedgoodsid).goodscode + ","
+                    goodsCodes = goodsCodes + it.goodscode.toUpperCase() + "," + DataBase.getInstance().goodsInfoDao().getGoodsInfo(it.relatedgoodsid).goodscode + ","
                 }
             }else{
-                goodsCodes = goodsCodes + it.goodscode + ","
+                goodsCodes = goodsCodes + it.goodscode.toUpperCase() + ","
             }
 
         }
@@ -128,7 +128,7 @@ class PlatinumTreasureViewModel : BaseViewModel(){
         }
         GlobalScope.launch {
             MyApplication.getInstance()?.quoteManager?.addSubscriptQuote(
-                tag = tag, goodsCodeSet = newGoodsInfoList.map { it.goodscode ?: "" }.toSet()
+                tag = tag, goodsCodeSet = newGoodsInfoList.map { it.goodscode.toUpperCase() ?: "" }.toSet()
             ) { isCompleted, err ->
 
             }

+ 1 - 1
RMA/app/src/main/java/cn/muchinfo/rma/view/base/platinumtreasure/trade/PlatinumBuyOrSellUI.kt

@@ -155,7 +155,7 @@ class PlatinumBuyOrSellUI(
                     ) {
                         initData(
                             goodsId = this.goodsid.toString(),
-                            outGoodsCode = this.goodscode ?: "",
+                            outGoodsCode = this.goodscode.toUpperCase() ?: "",
                             isShowLoading = false
                         )
                     }

+ 1 - 1
RMA/app/src/main/java/cn/muchinfo/rma/view/base/platinumtreasure/trade/PlatinumTradeActivity.kt

@@ -157,7 +157,7 @@ class PlatinumTradeActivity : BaseActivity<PlatinumTradeViewModel>(){
         if (goodsids.contains(goodsId?.toInt())){
             LogUtils.eTag("dasjhdkjagfkask","行情推送" + goodsId)
             val goodsInfo = DataBase.getInstance().goodsInfoDao().getGoodsInfo(goodsId?.toInt() ?: 0)
-            val quote = GlobalDataCollection.instance?.goodsInfoAndQuotesList?.find { goodsInfo?.goodscode == it.outgoodscode }?.quoteDayData
+            val quote = GlobalDataCollection.instance?.goodsInfoAndQuotesList?.find { goodsInfo?.goodscode?.toUpperCase() == it.outgoodscode }?.quoteDayData
             if (quote != null){
                 viewModel.quoteDayData.postValue(quote)
             }

+ 1 - 1
RMA/app/src/main/java/cn/muchinfo/rma/view/base/platinumtreasure/trade/PositionDetailsActivity.kt

@@ -61,7 +61,7 @@ class PositionDetailsActivity : BaseActivity<PlatinumTradeViewModel>() {
             val goodsInfo =
                 DataBase.getInstance().goodsInfoDao().getGoodsInfo(data.goodsid?.toInt() ?: 0)
             val quote =
-                GlobalDataCollection.instance?.goodsInfoAndQuotesList?.find { goodsInfo?.goodscode == it.outgoodscode }?.quoteDayData
+                GlobalDataCollection.instance?.goodsInfoAndQuotesList?.find { goodsInfo?.goodscode?.toUpperCase() == it.outgoodscode }?.quoteDayData
             if (quote != null) {
                 quoteDayData.postValue(quote)
             }

+ 4 - 4
RMA/app/src/main/java/cn/muchinfo/rma/view/base/platinumtreasure/trade/PositionViewHolder.kt

@@ -74,7 +74,7 @@ class PositionViewHolder(
                                 .getGoodsInfo(it?.goodsid?.toInt() ?: 0)
                             val quoteDayData =
                                 GlobalDataCollection.instance?.goodsInfoAndQuotesList?.find { data ->
-                                    data.outgoodscode == goodsInfoData.goodscode
+                                    data.outgoodscode == goodsInfoData.goodscode.toUpperCase()
                                 }?.quoteDayData
                             text = NumberUtils.roundNum(NumberUtils.doubleDistortion(quoteDayData?.bid?.times(
                                 it?.curpositionqty?.toDouble() ?: 0.0
@@ -94,7 +94,7 @@ class PositionViewHolder(
                                 .getGoodsInfo(it?.goodsid?.toInt() ?: 0)
                             val quoteDayData =
                                 GlobalDataCollection.instance?.goodsInfoAndQuotesList?.find { data ->
-                                    data.outgoodscode == goodsInfoData.goodscode
+                                    data.outgoodscode == goodsInfoData.goodscode.toUpperCase()
                                 }?.quoteDayData
 
 
@@ -199,7 +199,7 @@ class PositionViewHolder(
                                 .getGoodsInfo(it?.goodsid?.toInt() ?: 0)
                             val quoteDayData =
                                 GlobalDataCollection.instance?.goodsInfoAndQuotesList?.find { data ->
-                                    data.outgoodscode == goodsInfoData.goodscode
+                                    data.outgoodscode == goodsInfoData.goodscode.toUpperCase()
                                 }?.quoteDayData
                             text = NumberUtils.roundNum(NumberUtils.doubleDistortion(quoteDayData?.bid?.toString()),goodsInfoData.decimalplace)
                         }
@@ -262,7 +262,7 @@ class PositionViewHolder(
                         val goodsInfo = DataBase.getInstance().goodsInfoDao().getGoodsInfo(data.value?.goodsid?.toInt() ?: 0)
                         val intent = Intent()
                         intent.putExtra("outGoodsCode", goodsInfo.outgoodscode)
-                        intent.putExtra("goodsCode", goodsInfo.goodscode)
+                        intent.putExtra("goodsCode", goodsInfo.goodscode.toUpperCase())
                         intent.putExtra("goodsId", goodsInfo.goodsid.toString())
                         intent.putExtra("marketId", goodsInfo.marketid.toString())
                         intent.setClass(context, ChartActivity::class.java)

+ 14 - 4
RMA/app/src/main/java/cn/muchinfo/rma/view/base/procurement/ProcurementViewModel.kt

@@ -133,7 +133,7 @@ class ProcurementViewModel : BaseViewModel() {
      * 查询采购列表头部数据
      * @param tableKey String
      */
-    fun queryContractTitle(tableKey: String, type: String) {
+    fun queryContractTitle(tableKey: String, type: String,contractno : String = "",wrstandardname : String = "") {
         val params = mutableMapOf<String, String>().apply {
             put("tableKey", tableKey)
             put("tableType", "3")
@@ -150,7 +150,7 @@ class ProcurementViewModel : BaseViewModel() {
                     } else if (type == "4"){
                         finishTitle.postValue(newlist)
                     }
-                    querySpotContract(type)
+                    querySpotContract(type,contractno,wrstandardname)
                 }
             }
         }
@@ -160,17 +160,27 @@ class ProcurementViewModel : BaseViewModel() {
 
     /**
      * 现货合同查询
+     * isAll 是否查询全部合同 1 否 2是
      * @param QueryType String 查询类型 1-未提交 2-待审核 3-履约中 4-已完成
      */
-    fun querySpotContract(QueryType: String) {
+    fun querySpotContract(QueryType: String,contractno : String = "",wrstandardname : String = "",isAll : String = "1") {
 
         val params = mutableMapOf<String, String>().apply {
             put("userid", GlobalDataCollection.instance?.loginRsp?.userID.toString())
+            if (isAll == "1"){
+                put("querytype", QueryType)
+            }
             put(
                 "usertype",
                 GlobalDataCollection.instance?.userAccountData?.usertype?.toString() ?: ""
             )
-            put("querytype", QueryType)
+
+            if (contractno.isNotEmpty()){
+                put("contractno",contractno)
+            }
+            if (wrstandardname.isNotEmpty()){
+                put("wrstandardname",wrstandardname)
+            }
         }
 
         MyApplication.getInstance()?.contractManager?.queryContract(params = params) { isSuccess, respData, error ->

+ 77 - 0
RMA/app/src/main/java/cn/muchinfo/rma/view/base/procurement/contraceui/ContractUI.kt

@@ -3,6 +3,7 @@ package cn.muchinfo.rma.view.base.procurement.contraceui
 import android.annotation.SuppressLint
 import android.view.Gravity
 import android.view.MotionEvent
+import android.widget.EditText
 import androidx.appcompat.app.AppCompatActivity
 import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.RecyclerView
@@ -26,6 +27,12 @@ class SpotBuyUnSubmitUI(
     lateinit var horScrollview: CustomHorizontalScrollView
     lateinit var recyclerView: RecyclerView
 
+    //输入的合同编号
+    lateinit var contract_number : EditText
+
+    //输入的现货商品
+    lateinit var spot_goodsname : EditText
+
     val topAdapter by lazy {
         TopTabAdpater(activity)
     }
@@ -39,6 +46,76 @@ class SpotBuyUnSubmitUI(
         verticalLayout {
             viewModel.queryContractTitle(Constant.table_mobile_spotcontract_new,"1")
             contractAdapter.setOnContentScrollListener(this@SpotBuyUnSubmitUI)
+
+            linearLayout {
+                gravity = Gravity.CENTER_VERTICAL
+                linearLayout {
+                    gravity = Gravity.CENTER_VERTICAL
+                    backgroundResource = R.drawable.qyfg_search_item_bg
+                    editText {
+                        contract_number = this
+                        hint = "输入合同编号"
+                        background = null
+//                            inputType = EditorInfo.TYPE_CLASS_NUMBER or EditorInfo.TYPE_NUMBER_FLAG_DECIMAL or EditorInfo.TYPE_NUMBER_FLAG_SIGNED
+//                            setDecimalInputType()
+                        hintColorStr = "#CCCCCC"
+                        textSizeAuto = 31
+                        textColorStr = "#333333"
+                    }.lparams(matchParent, autoSize(90)) {
+                        marginStart = autoSize(20)
+                    }
+                }.lparams(0, autoSize(80),1f){
+                    marginStart = autoSize(20)
+                }
+
+                linearLayout {
+                    gravity = Gravity.CENTER_VERTICAL
+                    backgroundResource = R.drawable.qyfg_search_item_bg
+                    editText {
+                        spot_goodsname = this
+                        hint = "输入现货商品"
+                        background = null
+//                            inputType = EditorInfo.TYPE_CLASS_NUMBER or EditorInfo.TYPE_NUMBER_FLAG_DECIMAL or EditorInfo.TYPE_NUMBER_FLAG_SIGNED
+//                            setDecimalInputType()
+                        hintColorStr = "#CCCCCC"
+                        textSizeAuto = 31
+                        textColorStr = "#333333"
+                    }.lparams(matchParent, autoSize(90)) {
+                        marginStart = autoSize(20)
+                    }
+                }.lparams(0, autoSize(80),1f){
+                    marginStart = autoSize(20)
+                }
+
+                textView {
+                    onThrottleFirstClick {
+                        viewModel.querySpotContract(QueryType = "1",contractno = contract_number.text.toString(),wrstandardname = spot_goodsname.text.toString())
+                    }
+                    setPadding(20,15,20,15)
+                    backgroundResource = R.drawable.rma_item_click_bg
+                    text = "查询"
+                    textSizeAuto = 31
+                    textColorInt = R.color.rma_blue_color
+                }.lparams(wrapContent, wrapContent){
+                    marginStart = autoSize(20)
+                    marginEnd = autoSize(36)
+                }
+
+                textView {
+                    onThrottleFirstClick {
+                        viewModel.querySpotContract(QueryType = "1",isAll = "2")
+                    }
+                    setPadding(20,15,20,15)
+                    backgroundResource = R.drawable.rma_item_click_bg
+                    text = "全部合同"
+                    textSizeAuto = 31
+                    textColorInt = R.color.rma_blue_color
+                }.lparams(wrapContent, wrapContent){
+                    marginEnd = autoSize(36)
+                }
+
+            }.lparams(matchParent, autoSize(100))
+
             linearLayout {
                 linearLayout {
                     gravity = Gravity.LEFT or Gravity.CENTER_VERTICAL

+ 2 - 2
RMA/app/src/main/java/cn/muchinfo/rma/view/base/procurement/contraceui/SpotContractAdapter.java

@@ -214,7 +214,7 @@ public class SpotContractAdapter extends RecyclerView.Adapter<SpotContractAdapte
         });
         if (type.equals("1")){//控制未提交-重新提交
             if (GlobalDataCollection.Companion.getInstance().getFourLevelMenu("client_spots","client_spots_purchase","client_spots_purchase_new","client_spots_purchase_new_update")){
-                if (contractData.getContracctstatus().equals("4") || contractData.getContracctstatus().equals("6")){
+                if (contractData.getContracctstatus().equals("4") || contractData.getContracctstatus().equals("6") || contractData.getContracctstatus().equals("0")){
                     itemViewHolder.contract_resubmit.setVisibility(View.VISIBLE);
                 }else {
                     itemViewHolder.contract_resubmit.setVisibility(View.GONE);
@@ -247,7 +247,7 @@ public class SpotContractAdapter extends RecyclerView.Adapter<SpotContractAdapte
             viewModel.orderContract(new SpotContractInfo(), "3", "", contractData.getSpotcontractid(), new Function1<Boolean, Unit>() {
                 @Override
                 public Unit invoke(Boolean aBoolean) {
-                    viewModel.querySpotContract("1");
+                    viewModel.querySpotContract("1","","","1");
                     return null;
                 }
             });

+ 4 - 4
RMA/app/src/main/java/cn/muchinfo/rma/view/base/recycling/RecyclingViewModel.kt

@@ -72,12 +72,12 @@ class RecyclingViewModel : BaseViewModel(){
         newList?.forEach {
             if (it.relatedgoodsid != 0){
                 if (DataBase.getInstance().goodsInfoDao().getGoodsInfo(it.relatedgoodsid) == null){
-                    goodsCodes = goodsCodes + it.goodscode + ","
+                    goodsCodes = goodsCodes + it.goodscode.toUpperCase() + ","
                 }else{
-                    goodsCodes = goodsCodes + it.goodscode + "," + DataBase.getInstance().goodsInfoDao().getGoodsInfo(it.relatedgoodsid).goodscode + ","
+                    goodsCodes = goodsCodes + it.goodscode.toUpperCase() + "," + DataBase.getInstance().goodsInfoDao().getGoodsInfo(it.relatedgoodsid).goodscode + ","
                 }
             }else{
-                goodsCodes = goodsCodes + it.goodscode + ","
+                goodsCodes = goodsCodes + it.goodscode.toUpperCase() + ","
             }
 
         }
@@ -102,7 +102,7 @@ class RecyclingViewModel : BaseViewModel(){
         }
         GlobalScope.launch {
             MyApplication.getInstance()?.quoteManager?.addSubscriptQuote(
-                tag = tag, goodsCodeSet = newGoodsInfoList.map { it.goodscode ?: "" }.toSet()
+                tag = tag, goodsCodeSet = newGoodsInfoList.map { it.goodscode.toUpperCase() ?: "" }.toSet()
             ) { isCompleted, err ->
 
             }

+ 13 - 4
RMA/app/src/main/java/cn/muchinfo/rma/view/base/sale/SaleViewModel.kt

@@ -61,7 +61,7 @@ class SaleViewModel : BaseViewModel(){
      * 查询采购列表头部数据
      * @param tableKey String
      */
-    fun queryContractTitle(tableKey: String, type: String) {
+    fun queryContractTitle(tableKey: String, type: String,contractno : String = "",wrstandardname : String = "") {
         val params = mutableMapOf<String, String>().apply {
             put("tableKey", tableKey)
             put("tableType", "3")
@@ -78,7 +78,7 @@ class SaleViewModel : BaseViewModel(){
                     } else if (type == "4"){
                         finishTitle.postValue(newlist)
                     }
-                    querySpotContract(type)
+                    querySpotContract(type,contractno,wrstandardname)
                 }
             }
         }
@@ -90,15 +90,24 @@ class SaleViewModel : BaseViewModel(){
      * 现货合同查询
      * @param QueryType String 查询类型 1-未提交 2-待审核 3-履约中 4-已完成
      */
-    fun querySpotContract(QueryType: String) {
+    fun querySpotContract(QueryType: String,contractno : String = "",wrstandardname : String = "",isAll : String = "1") {
 
         val params = mutableMapOf<String, String>().apply {
             put("userid", GlobalDataCollection.instance?.loginRsp?.userID.toString())
+            if (isAll == "1"){
+                put("querytype", QueryType)
+            }
             put(
                 "usertype",
                 GlobalDataCollection.instance?.userAccountData?.usertype?.toString() ?: ""
             )
-            put("querytype", QueryType)
+
+            if (contractno.isNotEmpty()){
+                put("contractno",contractno)
+            }
+            if (wrstandardname.isNotEmpty()){
+                put("wrstandardname",wrstandardname)
+            }
         }
 
         MyApplication.getInstance()?.contractManager?.queryContract(params = params) { isSuccess, respData, error ->

+ 78 - 0
RMA/app/src/main/java/cn/muchinfo/rma/view/base/sale/contract/ContractUI.kt

@@ -3,6 +3,7 @@ package cn.muchinfo.rma.view.base.sale.contract
 import android.annotation.SuppressLint
 import android.view.Gravity
 import android.view.MotionEvent
+import android.widget.EditText
 import androidx.appcompat.app.AppCompatActivity
 import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.RecyclerView
@@ -36,11 +37,88 @@ class SpotSellUnSubmitUI(
         SpotSellContractAdapter(activity,"1",viewModel)
     }
 
+
+    //输入的合同编号
+    lateinit var contract_number : EditText
+
+    //输入的现货商品
+    lateinit var spot_goodsname : EditText
+
     @SuppressLint("RtlHardcoded")
     val root = _FrameLayout(activity).apply {
         verticalLayout {
             viewModel.queryContractTitle(Constant.table_mobile_spotcontract_new,"1")
             contractAdapter.setOnContentScrollListener(this@SpotSellUnSubmitUI)
+
+             linearLayout {
+                gravity = Gravity.CENTER_VERTICAL
+                linearLayout {
+                    gravity = Gravity.CENTER_VERTICAL
+                    backgroundResource = R.drawable.qyfg_search_item_bg
+                    editText {
+                        contract_number = this
+                        hint = "输入合同编号"
+                        background = null
+//                            inputType = EditorInfo.TYPE_CLASS_NUMBER or EditorInfo.TYPE_NUMBER_FLAG_DECIMAL or EditorInfo.TYPE_NUMBER_FLAG_SIGNED
+//                            setDecimalInputType()
+                        hintColorStr = "#CCCCCC"
+                        textSizeAuto = 31
+                        textColorStr = "#333333"
+                    }.lparams(matchParent, autoSize(90)) {
+                        marginStart = autoSize(20)
+                    }
+                }.lparams(0, autoSize(80),1f){
+                    marginStart = autoSize(20)
+                }
+
+                linearLayout {
+                    gravity = Gravity.CENTER_VERTICAL
+                    backgroundResource = R.drawable.qyfg_search_item_bg
+                    editText {
+                        spot_goodsname = this
+                        hint = "输入现货商品"
+                        background = null
+//                            inputType = EditorInfo.TYPE_CLASS_NUMBER or EditorInfo.TYPE_NUMBER_FLAG_DECIMAL or EditorInfo.TYPE_NUMBER_FLAG_SIGNED
+//                            setDecimalInputType()
+                        hintColorStr = "#CCCCCC"
+                        textSizeAuto = 31
+                        textColorStr = "#333333"
+                    }.lparams(matchParent, autoSize(90)) {
+                        marginStart = autoSize(20)
+                    }
+                }.lparams(0, autoSize(80),1f){
+                    marginStart = autoSize(20)
+                }
+
+                textView {
+                    onThrottleFirstClick {
+                        viewModel.querySpotContract(QueryType = "1",contractno = contract_number.text.toString(),wrstandardname = spot_goodsname.text.toString())
+                    }
+                    setPadding(20,15,20,15)
+                    backgroundResource = R.drawable.rma_item_click_bg
+                    text = "查询"
+                    textSizeAuto = 31
+                    textColorInt = R.color.rma_blue_color
+                }.lparams(wrapContent, wrapContent){
+                    marginStart = autoSize(20)
+                    marginEnd = autoSize(36)
+                }
+
+                textView {
+                    onThrottleFirstClick {
+                        viewModel.querySpotContract(QueryType = "1",isAll = "2")
+                    }
+                    setPadding(20,15,20,15)
+                    backgroundResource = R.drawable.rma_item_click_bg
+                    text = "全部合同"
+                    textSizeAuto = 31
+                    textColorInt = R.color.rma_blue_color
+                }.lparams(wrapContent, wrapContent){
+                    marginEnd = autoSize(36)
+                }
+
+            }.lparams(matchParent, autoSize(100))
+
             linearLayout {
                 linearLayout {
                     gravity = Gravity.LEFT or Gravity.CENTER_VERTICAL

+ 1 - 1
RMA/app/src/main/java/cn/muchinfo/rma/view/base/sale/contract/SpotSellContractAdapter.java

@@ -247,7 +247,7 @@ public class SpotSellContractAdapter extends RecyclerView.Adapter<SpotSellContra
             viewModel.orderContract(new SpotContractInfo(), "3", "", contractData.getSpotcontractid(), new Function1<Boolean, Unit>() {
                 @Override
                 public Unit invoke(Boolean aBoolean) {
-                    viewModel.querySpotContract("1");
+                    viewModel.querySpotContract("1","","","1");
                     return null;
                 }
             });

+ 3 - 3
RMA/app/src/main/java/cn/muchinfo/rma/view/base/warehousereceipt/BusinessHallActivity.kt

@@ -874,9 +874,9 @@ class BusinessHallActivity : BaseActivity<BusinessHallViewModel>() {
 
                 linearLayout {
                     if (buySelldata.buyorsell == "0") {
-                        visibility = View.VISIBLE
-                    } else {
                         visibility = View.GONE
+                    } else {
+                        visibility = View.VISIBLE
                     }
                     gravity = Gravity.CENTER_VERTICAL
                     onThrottleFirstClick {
@@ -1152,7 +1152,7 @@ class BusinessHallActivity : BaseActivity<BusinessHallViewModel>() {
                                 return@onThrottleFirstClick
                             }
 
-                            if (buySelldata.buyorsell == "0") {
+                            if (buySelldata.buyorsell == "1") {
                                 if (selectSpotDetailsData.value?.deliverygoodsid.isNullOrEmpty()) {
                                     ToastUtils.showLong("请选择现货仓单明细")
                                     return@onThrottleFirstClick

+ 11 - 10
RMA/app/src/main/java/cn/muchinfo/rma/view/base/warehousereceipt/dialog/WarehouseFloatListedDialog.kt

@@ -500,7 +500,7 @@ class FloatSellListedUI(
             linearLayout {
                 gravity = Gravity.CENTER_VERTICAL
                 textView {
-                    text = "估算价"
+                    text = "估算价"
                     textSizeAuto = 34
                     textColorInt = R.color.rma_hint_text_color_ccc
                 }.lparams(autoSize(214), wrapContent) {
@@ -523,7 +523,7 @@ class FloatSellListedUI(
             linearLayout {
                 gravity = Gravity.CENTER_VERTICAL
                 textView {
-                    text = "估算额"
+                    text = "估算额"
                     textSizeAuto = 34
                     textColorInt = R.color.rma_hint_text_color_ccc
                 }.lparams(autoSize(214), wrapContent) {
@@ -538,7 +538,7 @@ class FloatSellListedUI(
                             if (marginValue == 0.0){
                                 text = NumberUtils.roundNum(floatDelistingAmount ?: 0.0,2)
                             }else{
-                                text = NumberUtils.roundNum(floatDelistingAmount ?: 0.0,2) + "(履约保证金" + NumberUtils.roundNum(floatDelistingAmount?.times(marginValue) ?: 0.0,2) + ")"
+                                text = NumberUtils.roundNum(floatDelistingAmount ?: 0.0,2) + "(履约保证金" + NumberUtils.roundNum(floatDelistingAmount?.times(marginValue) ?: 0.0,2) + ")"
                             }
                         }
                     }
@@ -941,7 +941,7 @@ class FloatBuyListedUI(
             linearLayout {
                 gravity = Gravity.CENTER_VERTICAL
                 textView {
-                    text = "估算价"
+                    text = "估算价"
                     textSizeAuto = 34
                     textColorInt = R.color.rma_hint_text_color_ccc
                 }.lparams(autoSize(214), wrapContent) {
@@ -967,7 +967,7 @@ class FloatBuyListedUI(
             linearLayout {
                 gravity = Gravity.CENTER_VERTICAL
                 textView {
-                    text = "估算额"
+                    text = "估算额"
                     textSizeAuto = 34
                     textColorInt = R.color.rma_hint_text_color_ccc
                 }.lparams(autoSize(214), wrapContent) {
@@ -982,7 +982,7 @@ class FloatBuyListedUI(
                             if (marginValue == 0.0){
                                 text = NumberUtils.roundNum(floatDelistingAmount ?: 0.0,2)
                             }else{
-                                text = NumberUtils.roundNum(floatDelistingAmount ?: 0.0,2) + "(履约保证金" + NumberUtils.roundNum(floatDelistingAmount?.times(marginValue) ?: 0.0,2) + ")"
+                                text = NumberUtils.roundNum(floatDelistingAmount ?: 0.0,2) + "(履约保证金" + NumberUtils.roundNum(floatDelistingAmount?.times(marginValue) ?: 0.0,2) + ")"
                             }
                         }
                     }
@@ -1014,10 +1014,10 @@ class FloatBuyListedUI(
                             ToastUtils.showLong("请输入基差")
                             return@onThrottleFirstClick
                         }
-                        if (basisInputEdittext.text.toString().toDouble() == 0.0){
-                            ToastUtils.showLong("基差不能为零")
-                            return@onThrottleFirstClick
-                        }
+//                        if (basisInputEdittext.text.toString().toDouble() == 0.0){
+//                            ToastUtils.showLong("基差不能为零")
+//                            return@onThrottleFirstClick
+//                        }
 
                         if (oneNumberInputEdittext.text.toString().isNullOrEmpty()){
                             ToastUtils.showLong("请输入挂牌数量")
@@ -1047,6 +1047,7 @@ class FloatBuyListedUI(
                             DeliveryGoodsID = data.DeliveryGoodsID?.toInt() ?: 0,
                             WRPriceType = 2,
                             PriceMove = basisInputEdittext.text.toString().toDouble(),
+                            PriceFactor = 1.0,
                             WRTradeGoods = getWRTradeGoods(data),
                             TimevalidType = 4,
                             FirstRatio = 0.0,

+ 27 - 18
RMA/app/src/main/java/cn/muchinfo/rma/view/base/warehousereceipt/tradecircle/TradeCircleListedBuyUI.kt

@@ -72,8 +72,7 @@ class TradeCircleListedBuyUI(
     private val listedData: ListedData
 ) {
 
-    val marginValue : MutableLiveData<Double> = MutableLiveData()//履约保证金比例
-
+    val marginValue: MutableLiveData<Double> = MutableLiveData()//履约保证金比例
 
     //选择的资金账号
     val selectAccountData: MutableLiveData<AccountData> = MutableLiveData()
@@ -100,7 +99,7 @@ class TradeCircleListedBuyUI(
     lateinit var validity_of_listing: TextView
 
     //交收月
-    lateinit var delivery_month : TextView
+    lateinit var delivery_month: TextView
 
     //选择的履约模版数据
     val selectPerformanceStepData: MutableLiveData<PermancePlanTmpData> = MutableLiveData()
@@ -140,9 +139,7 @@ class TradeCircleListedBuyUI(
     @RequiresApi(Build.VERSION_CODES.O)
     val root = _FrameLayout(activity).apply {
         verticalLayout {
-
             setMarginValue()
-
             linearLayout {
                 gravity = Gravity.CENTER_VERTICAL
                 onThrottleFirstClick {
@@ -201,7 +198,11 @@ class TradeCircleListedBuyUI(
                     decimal = 2
                     setOnTextChangeListener { view, value ->
                         if (value.isNullOrEmpty().not()) {
-                            maxlistedNumber.postValue(viewModel.usedAccountData.value?.canUserAmount?.div(value.toDouble())?.toInt())
+                            maxlistedNumber.postValue(
+                                viewModel.usedAccountData.value?.canUserAmount?.div(
+                                    value.toDouble()
+                                )?.toInt()
+                            )
                             val delistingAmount = value.toDouble().times(
                                 listednumberEdittext.text.toString()
                                     .toDouble()
@@ -295,7 +296,7 @@ class TradeCircleListedBuyUI(
                         textView {
                             if (hasType == "1") {
                                 text = data.enumdicname
-                            }else{
+                            } else {
                                 text = listedData.WrFtWrstandard?.enumdicname
                             }
 
@@ -369,9 +370,9 @@ class TradeCircleListedBuyUI(
                         }.lparams(0, autoSize(132), 1f)
 
                         textView {
-                             if (hasType == "1") {
+                            if (hasType == "1") {
                                 text = data.enumdicname
-                            }else{
+                            } else {
                                 text = listedData.WrFtWrstandard?.enumdicname
                             }
                             textSizeAuto = 31
@@ -419,7 +420,9 @@ class TradeCircleListedBuyUI(
                             textChangedListener {
                                 afterTextChanged {
                                     if (it.toString().isNotEmpty()) {
-                                        marginValue.postValue(it?.toString()?.toDouble()?.div(100.0))
+                                        marginValue.postValue(
+                                            it?.toString()?.toDouble()?.div(100.0)
+                                        )
                                     }
                                 }
                             }
@@ -499,7 +502,7 @@ class TradeCircleListedBuyUI(
                 }
 
                 textView {
-                    viewModel.marketRunData.bindOptional(context){
+                    viewModel.marketRunData.bindOptional(context) {
                         text = it?.tradedate
                     }
                     validity_of_listing = this
@@ -635,12 +638,15 @@ class TradeCircleListedBuyUI(
                 }
 
                 textView {
-                    marginValue.bindOptional(context){
-                        if (onePriceInputEdittext.text.toString().isNullOrEmpty().not() && listednumberEdittext.text.toString().isNullOrEmpty().not()) {
-                            val delistingAmount = onePriceInputEdittext.text.toString().toDouble().times(
-                                listednumberEdittext.text.toString()
-                                    .toDouble()
-                            )
+                    marginValue.bindOptional(context) {
+                        if (onePriceInputEdittext.text.toString().isNullOrEmpty()
+                                .not() && listednumberEdittext.text.toString().isNullOrEmpty().not()
+                        ) {
+                            val delistingAmount =
+                                onePriceInputEdittext.text.toString().toDouble().times(
+                                    listednumberEdittext.text.toString()
+                                        .toDouble()
+                                )
                             one_delisting_amount.text =
                                 NumberUtils.roundNum(
                                     delistingAmount,
@@ -662,7 +668,10 @@ class TradeCircleListedBuyUI(
             textView {
                 viewModel.usedAccountData.bindOptional(context) {
                     text =
-                        "可用资金" + NumberUtils.roundNum(NumberUtils.doubleDistortion(it?.canUserAmount.toString()), 2)
+                        "可用资金" + NumberUtils.roundNum(
+                            NumberUtils.doubleDistortion(it?.canUserAmount.toString()),
+                            2
+                        )
                 }
                 textSizeAuto = 29
                 textColorInt = R.color.rma_black_33

+ 40 - 0
RMA/app/src/main/java/cn/muchinfo/rma/view/base/warehousereceipt/tradecircle/TradeCircleListedSellUI.kt

@@ -16,6 +16,7 @@ import androidx.lifecycle.MutableLiveData
 import cn.muchinfo.rma.R
 import cn.muchinfo.rma.global.GlobalDataCollection
 import cn.muchinfo.rma.global.data.*
+import cn.muchinfo.rma.global.toShowTime3
 import cn.muchinfo.rma.global.utils.TimeUtils
 import cn.muchinfo.rma.lifecycle.bindOptional
 import cn.muchinfo.rma.view.autoWidget.*
@@ -88,6 +89,9 @@ class TradeCircleListedSellUI(
     //挂牌最大数量
     val maxlistedNumber : MutableLiveData<Int> = MutableLiveData()
 
+    //交收月
+    lateinit var delivery_month: TextView
+
     //起摘数量输入框
     lateinit var startInputNumber: EditText
 
@@ -553,6 +557,42 @@ class TradeCircleListedSellUI(
 
             }.lparams(matchParent, autoSize(143))
 
+             itemView()
+
+            linearLayout {
+                onThrottleFirstClick {
+                    activity.showDataSelectDialog(type = "2") {
+                        delivery_month.text = this
+                    }
+                }
+                gravity = Gravity.CENTER_VERTICAL
+                textView {
+                    text = "交收月"
+                    textSizeAuto = 34
+                    textColorInt = R.color.rma_hint_text_color_ccc
+                }.lparams(autoSize(214), wrapContent) {
+                    marginStart = autoSize(36)
+                }
+
+                textView {
+//                    viewModel.marketRunData.bindOptional(context){
+//                        text = it?.tradedate?.toShowTime3("yyyy-MM","yyyyMMdd")
+//                    }
+                    text = com.blankj.utilcode.util.TimeUtils.getNowString()?.toShowTime3("yyyy-MM")
+                    delivery_month = this
+                    textSizeAuto = 34
+                    textColorInt = R.color.rma_black_33
+                }.lparams(wrapContent, wrapContent)
+
+                emptyView()
+
+                imageView {
+                    imageResource = R.mipmap.rma_search_by_time
+                }.lparams(autoSize(38), autoSize(38)) {
+                    marginEnd = autoSize(36)
+                }
+            }.lparams(matchParent, autoSize(143))
+
             itemView()
 
             linearLayout {

+ 4 - 0
RMA/app/src/main/java/cn/muchinfo/rma/view/base/warehousereceipt/tradecircle/TradeCircleListedingActivity.kt

@@ -347,6 +347,7 @@ class TradeCircleListedingActivity : BaseActivity<TradeCircleListedingViewModel>
                                                 .build(),
                                             TimevalidType = 3,
                                             FirstRatio = 0.0,
+                                            DeliveryMonth = sellUI.delivery_month.text.toString(),
                                             PerformanceTemplateID = sellUI.selectPerformanceStepData.value?.autoid?.toLong() ?: 0,
                                             BuyOrSell = 1,
                                             PriceDisplayMode = 1,
@@ -385,6 +386,7 @@ class TradeCircleListedingActivity : BaseActivity<TradeCircleListedingViewModel>
                                                 .toLong(),
                                             DeliveryGoodsID = listedData.DeliveryGoodsID?.toInt() ?: 0,
                                             WRPriceType = 1,
+                                            DeliveryMonth = sellUI.delivery_month.text.toString(),
                                             FixedPrice = sellUI.onePriceInputEdittext.text.toString()
                                                 .toDouble(),
                                             WRTradeGoods = WarehouseTradeMI1.WRGoodsInfo.newBuilder()
@@ -451,6 +453,7 @@ class TradeCircleListedingActivity : BaseActivity<TradeCircleListedingViewModel>
                                                 .toLong(),
                                             DeliveryGoodsID = data.deliverygoodsid?.toInt() ?: 0,
                                             WRPriceType = 1,
+                                            DeliveryMonth = sellUI.delivery_month.text.toString(),
                                             FixedPrice = sellUI.onePriceInputEdittext.text.toString()
                                                 .toDouble(),
                                             WRTradeGoods = WarehouseTradeMI1.WRGoodsInfo.newBuilder()
@@ -493,6 +496,7 @@ class TradeCircleListedingActivity : BaseActivity<TradeCircleListedingViewModel>
                                                 .toLong(),
                                             DeliveryGoodsID = listedData.DeliveryGoodsID?.toInt() ?: 0,
                                             WRPriceType = 1,
+                                            DeliveryMonth = sellUI.delivery_month.text.toString(),
                                             FixedPrice = sellUI.onePriceInputEdittext.text.toString()
                                                 .toDouble(),
                                             WRTradeGoods = WarehouseTradeMI1.WRGoodsInfo.newBuilder()

+ 2 - 2
RMA/app/src/main/java/cn/muchinfo/rma/view/base/yrdzpurchase/BasePriceViewMoldel.kt

@@ -80,7 +80,7 @@ class BasePriceViewMoldel : BaseViewModel(){
         var goodsCodes = ""
         val newList = list.subList(first, last)
         newList.forEach {
-            goodsCodes = goodsCodes + it.goodscode + ","
+            goodsCodes = goodsCodes + it.goodscode.toUpperCase() + ","
         }
         return goodsCodes
     }
@@ -93,7 +93,7 @@ class BasePriceViewMoldel : BaseViewModel(){
     fun addSubscriptQuote(tag: String, goodsInfoList: List<GoodsInfo>) {
         GlobalScope.launch {
             MyApplication.getInstance()?.quoteManager?.addSubscriptQuote(
-                tag = tag, goodsCodeSet = goodsInfoList.map { it.goodscode ?: "" }.toSet()
+                tag = tag, goodsCodeSet = goodsInfoList.map { it.goodscode.toUpperCase() ?: "" }.toSet()
             ) { isCompleted, err ->
 
             }

+ 2 - 2
RMA/app/src/main/java/cn/muchinfo/rma/view/base/yrdzpurchase/PurchaseOrderViewModel.kt

@@ -83,7 +83,7 @@ class PurchaseOrderViewModel : BaseViewModel(){
         var goodsCodes = ""
         val newList = list.subList(first, last)
         newList.forEach {
-            goodsCodes = goodsCodes + it.goodscode + ","
+            goodsCodes = goodsCodes + it.goodscode.toUpperCase() + ","
         }
         return goodsCodes
     }
@@ -96,7 +96,7 @@ class PurchaseOrderViewModel : BaseViewModel(){
     fun addSubscriptQuote(tag: String, goodsInfoList: List<GoodsInfo>) {
         GlobalScope.launch {
             MyApplication.getInstance()?.quoteManager?.addSubscriptQuote(
-                tag = tag, goodsCodeSet = goodsInfoList.map { it.goodscode ?: "" }.toSet()
+                tag = tag, goodsCodeSet = goodsInfoList.map { it.goodscode.toUpperCase() ?: "" }.toSet()
             ) { _, _ ->
 
             }

+ 1 - 1
RMA/app/src/main/java/cn/muchinfo/rma/view/base/yrdzpurchase/chart/YrdzChartViewModel.kt

@@ -174,7 +174,7 @@ class YrdzChartViewModel : BaseViewModel() {
      */
     fun refreshTimePrice(timeChartView: TimeChartView){
         timeChartView.setLastPrice(
-            ChartDataAdapter().getGoodsInfoMarket(outGoodsCode)!!.quoteDayData.last.toString(), getColor(getApplication(),
+            ChartDataAdapter().getGoodsInfoMarket(goodsCode)!!.quoteDayData.last.toString(), getColor(getApplication(),
                 R.color.p_down_color))
     }
 

+ 17 - 7
RMA/app/src/main/java/cn/muchinfo/rma/view/base/yrdzpurchase/swaps/business/SwapsBusinessHallViewModel.kt

@@ -6,7 +6,7 @@ import cn.muchinfo.rma.global.data.*
 import cn.muchinfo.rma.global.data.account.loginQeruy.GoodsInfo
 import cn.muchinfo.rma.netManage.base.InteractiveException
 import cn.muchinfo.rma.view.MyApplication
-import cn.muchinfo.rma.view.autoWidget.remove
+import cn.muchinfo.rma.view.autoWidget.toArrayList
 import cn.muchinfo.rma.view.base.BaseViewModel
 import com.blankj.utilcode.util.LogUtils
 import kotlinx.coroutines.GlobalScope
@@ -44,10 +44,10 @@ class SwapsBusinessHallViewModel : BaseViewModel(){
 
     //摘牌时选择的买卖大厅实体
     val selectData : MutableLiveData<OrderQuoteDetailData> = MutableLiveData()
+
     //弹出摘牌dialog
     val showPriceDialog : MutableLiveData<Boolean> = MutableLiveData<Boolean>().apply { value = false }
 
-
     /**
      * 查询买大厅数据
      */
@@ -57,8 +57,12 @@ class SwapsBusinessHallViewModel : BaseViewModel(){
             put("goodsid",goodsid)
             put("buyorsell","0")
         }
-        MyApplication.getInstance()?.swapsManager?.queryTjmdTradeOrderDetail(params = params){isSuccess, respData, error ->
+        MyApplication.getInstance()?.swapsManager?.queryTjmdTradeOrderDetail(params = params){ isSuccess, respData, _ ->
             if (isSuccess){
+                val newDataList = respData?.toArrayList()
+                newDataList?.sortWith(Comparator { t1, t2 ->
+                    (t2.orderprice?.toDouble()?.minus(t1.orderprice?.toDouble() ?: 0.0))?.toInt() ?: 0
+                })
                 businessBuyHallDataList.postValue(respData)
             }
         }
@@ -73,8 +77,14 @@ class SwapsBusinessHallViewModel : BaseViewModel(){
             put("goodsid",goodsid)
             put("buyorsell","1")
         }
-        MyApplication.getInstance()?.swapsManager?.queryTjmdTradeOrderDetail(params = params){isSuccess, respData, error ->
+        MyApplication.getInstance()?.swapsManager?.queryTjmdTradeOrderDetail(params = params){ isSuccess, respData, _ ->
             if (isSuccess){
+                val newDataList = respData?.toArrayList()
+                newDataList?.sortWith(Comparator { t1, t2 ->
+                    (t1.marketmaxsub?.toDouble()?.minus(t2?.marketmaxsub?.toDouble() ?: 0.0))?.toInt() ?: 0
+//                    ((t1.orderprice?.toDouble()?.plus(t1?.marketmaxsub?.toDouble() ?: 0.0))?.times(100))?.minus((t2.orderprice?.toDouble() ?: 0.0).plus(t2?.marketmaxsub?.toDouble() ?: 0.0))?.times(100)))
+
+                })
                 businessSellHallDataList.postValue(respData)
             }
         }
@@ -85,7 +95,7 @@ class SwapsBusinessHallViewModel : BaseViewModel(){
         val params = mutableMapOf<String, String>().apply {
             put("loginID", GlobalDataCollection.instance?.loginRsp?.loginID.toString())
         }
-        MyApplication.getInstance()?.initializeManager?.getTaAccounts(params = params) { isSuccess, respData, error ->
+        MyApplication.getInstance()?.initializeManager?.getTaAccounts(params = params) { isSuccess, respData, _ ->
             if (isSuccess) {
                 GlobalDataCollection.instance?.accountDataList = respData
                 resetAccountData()
@@ -173,7 +183,7 @@ class SwapsBusinessHallViewModel : BaseViewModel(){
         val params = mutableMapOf<String, String>().apply {
             put("goodsCodes", goodsCodes)
         }
-        MyApplication.getInstance()?.futureManager?.queryQuoteDay(params = params) { isSuccess, respData, error ->
+        MyApplication.getInstance()?.futureManager?.queryQuoteDay(params = params) { isSuccess, respData, _ ->
             if (isSuccess) {
                 if (respData?.isEmpty()?.not() == true) {
                     quoteDayData.postValue(respData[0])
@@ -207,7 +217,7 @@ class SwapsBusinessHallViewModel : BaseViewModel(){
         GlobalScope.launch {
             MyApplication.getInstance()?.quoteManager?.addSubscriptQuote(
                 tag = tag, goodsCodeSet = goodsCodes
-            ) { isCompleted, err ->
+            ) { _, _ ->
                 LogUtils.eTag("dingyuehangqing", goodsCodes)
             }
         }