فهرست منبع

风险管理3月15日提交代码-liu.bolan-期货交易请求

Liu.bolan 4 سال پیش
والد
کامیت
b372f6c5b6
52فایلهای تغییر یافته به همراه3956 افزوده شده و 132 حذف شده
  1. 2 0
      RMA/app/build.gradle
  2. 2 0
      RMA/app/src/main/AndroidManifest.xml
  3. 49 9
      RMA/app/src/main/java/cn/muchinfo/rma/business/future/FutureManager.kt
  4. 53 0
      RMA/app/src/main/java/cn/muchinfo/rma/business/future/adapter/FutureAdapter.kt
  5. 7 3
      RMA/app/src/main/java/cn/muchinfo/rma/global/GlobalDataCollection.kt
  6. 4 1
      RMA/app/src/main/java/cn/muchinfo/rma/global/data/ContractData.kt
  7. 2 2
      RMA/app/src/main/java/cn/muchinfo/rma/global/data/FinancialManageData.kt
  8. 6 2
      RMA/app/src/main/java/cn/muchinfo/rma/global/data/HedgePlanData.kt
  9. 9 0
      RMA/app/src/main/java/cn/muchinfo/rma/protobuf/funcode/FunCode.java
  10. 3312 0
      RMA/app/src/main/java/cn/muchinfo/rma/protobuf/protoclasses/MSIM.java
  11. 5 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/MainActivity.kt
  12. 13 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/autoWidget/CustomView.kt
  13. 65 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/autoWidget/NoScrollViewPager.java
  14. 20 3
      RMA/app/src/main/java/cn/muchinfo/rma/view/autoWidget/dialog/Dialog.kt
  15. 1 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/autoWidget/view/MangeNumberEditText2.java
  16. 2 2
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/app/Constant.kt
  17. 53 3
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/exposure/ExposureFragment.kt
  18. 6 6
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/exposure/ExposureViewModel.kt
  19. 81 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/exposure/HistoryExposureViewholder.kt
  20. 1 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/exposure/RealTimeExposureDetailsActivity.kt
  21. 17 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/future/entrusts/EntrustChildFragment.kt
  22. 37 4
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/future/entrusts/EntrustChildViewModel.kt
  23. 2 2
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/future/orderDeatails/OrderDetail.kt
  24. 3 3
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/future/orderDeatails/OrderDetailModel.kt
  25. 13 2
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/future/trade/GoodsTradeActivity.kt
  26. 2 2
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/HomeFragment.kt
  27. 1 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/business/BusinessManagementActivity.kt
  28. 2 2
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/business/MidpointsAuditActivity.kt
  29. 3 3
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/commodity/AddHedgeGoodsActivity.kt
  30. 7 5
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/commodity/CommodityInformationViewModel.kt
  31. 1 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/commodity/CommodityMiddleViewHolder.kt
  32. 1 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/commodity/FuturesVarietiesUI.kt
  33. 5 3
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/commodity/HedgeSpeciesDetailsActivity.kt
  34. 5 5
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/commodity/SpotVarietiesDetailsActivity.kt
  35. 1 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/commodity/viewholder/HedgeFutureVarietyViewholder.kt
  36. 12 6
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/contract/ContractDataViewHolder.kt
  37. 31 8
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/contract/ContractPublicView.kt
  38. 17 4
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/customerdata/AddCustomerDataActivity.kt
  39. 1 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/financial/FinancialActivity.kt
  40. 5 5
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/financial/FinancialViewholder.kt
  41. 1 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/financial/InvoiceRegisterActivity.kt
  42. 15 3
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/financial/PaymentReviewActivity.kt
  43. 13 9
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/hedge/AddHedgePlanActivity.kt
  44. 3 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/hedge/HedgePlanActivity.kt
  45. 2 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/hedge/HedgePlanViewHolder.kt
  46. 25 7
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/registration/InvoiceRegistrationActivity.kt
  47. 14 8
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/registration/PaymentRegistrationActivity.kt
  48. 20 7
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/registration/SettlementRegistrationActivity.kt
  49. 1 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/reportquery/ReportQueryActivity.kt
  50. 1 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/tradingquery/TradingQueryActivity.kt
  51. 1 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/procurement/ContractDetailActivity.kt
  52. 1 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/procurement/detailsviewholder/InvoiceRecordViewHolder.kt

+ 2 - 0
RMA/app/build.gradle

@@ -144,5 +144,7 @@ dependencies {
     //eventbus
     implementation 'org.greenrobot:eventbus:3.2.0'
     implementation "org.jetbrains.kotlin:kotlin-reflect:1.4.10"
+    //图表
+    implementation 'com.github.AAChartModel:AAChartCore-Kotlin:-SNAPSHOT'
 
 }

+ 2 - 0
RMA/app/src/main/AndroidManifest.xml

@@ -175,6 +175,8 @@
         <activity android:name=".view.base.future.costs.CostDetailsActivity"/>
 
         <activity android:name=".view.base.future.deals.DealDetailsActivity"/>
+
+        <activity android:name=".view.base.future.orderDeatails.OrderDetail"/>
     </application>
 
 </manifest>

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

@@ -220,12 +220,14 @@ class FutureManager {
         responseBack: (isSuccess: Boolean, respData: List<FutureEntrustData>?, error: Error?) -> Unit
     ) {
         MyOkHttpUtils().query(
-            URL = SPUtils.getInstance().getString(Constant.goCommonSearchUrl) + "/Ermcp/QueryErmcpHisOrderDetails",
+            URL = SPUtils.getInstance()
+                .getString(Constant.goCommonSearchUrl) + "/Ermcp/QueryErmcpHisOrderDetails",
             params = params,
             type = "1",
-            callback = object : ResponseCallback<BaseResult<List<FutureEntrustData>>>(){
+            callback = object : ResponseCallback<BaseResult<List<FutureEntrustData>>>() {
                 override fun onResponse(response: BaseResult<List<FutureEntrustData>>?, id: Int) {
-                    GlobalDataCollection.instance?.futureHisEntrustData = response?.data as ArrayList<FutureEntrustData>?
+                    GlobalDataCollection.instance?.futureHisEntrustData =
+                        response?.data as ArrayList<FutureEntrustData>?
                     responseBack(true, response?.data, null)
                 }
 
@@ -246,12 +248,13 @@ class FutureManager {
     fun queryErmcpHisTradeDetails(
         params: Map<String, String>,
         responseBack: (isSuccess: Boolean, respData: List<DealOrderData>?, error: Error?) -> Unit
-    ){
+    ) {
         MyOkHttpUtils().query(
-            URL = SPUtils.getInstance().getString(Constant.goCommonSearchUrl) + "/Ermcp/QueryErmcpHisTradeDetails",
+            URL = SPUtils.getInstance()
+                .getString(Constant.goCommonSearchUrl) + "/Ermcp/QueryErmcpHisTradeDetails",
             params = params,
             type = "1",
-            callback = object : ResponseCallback<BaseResult<List<DealOrderData>>>(){
+            callback = object : ResponseCallback<BaseResult<List<DealOrderData>>>() {
                 override fun onResponse(response: BaseResult<List<DealOrderData>>?, id: Int) {
                     responseBack(true, response?.data, null)
                 }
@@ -398,12 +401,13 @@ class FutureManager {
     fun queryAmountLog(
         params: Map<String, String>,
         responseBack: (isSuccess: Boolean, respData: List<AmountLogData>?, error: Error?) -> Unit
-    ){
+    ) {
         MyOkHttpUtils().query(
-            URL = SPUtils.getInstance().getString(Constant.goCommonSearchUrl) + "/TaAccount/QueryAmountLog",
+            URL = SPUtils.getInstance()
+                .getString(Constant.goCommonSearchUrl) + "/TaAccount/QueryAmountLog",
             params = params,
             type = "1",
-            callback = object : ResponseCallback<BaseResult<List<AmountLogData>>>(){
+            callback = object : ResponseCallback<BaseResult<List<AmountLogData>>>() {
                 override fun onResponse(response: BaseResult<List<AmountLogData>>?, id: Int) {
                     responseBack(true, response?.data, null)
                 }
@@ -416,6 +420,42 @@ class FutureManager {
         )
     }
 
+    /**
+     * 委托撤单
+     * @param orderId Long 委托单号
+     * @param marketId Int 市场id
+     * @param accountId Long 资金账户
+     * @param goodsId Int 商品id
+     */
+    fun cancelOrder(orderId: Long, marketId: Int, accountId: Long, goodsId: Int,
+                    callback: (isCompleted: Boolean, err: Error?) -> Unit) {
+        val tradeSocketManager = MyApplication.getInstance()?.tradeSocketManager.guard {
+            callback(false, Error("交易链路未初始化"))
+            return
+        }
+
+        val reqPacket = FutureAdapter.getCancelOrderReqInfo(
+            orderId, marketId, accountId, goodsId
+        )
+
+        tradeSocketManager.send(
+            reqPacket,
+            FunCode.ChannelOrderRsp,
+            object : Callback<Packet50> {
+                override fun onSuccess(rsp: Packet50?) {
+                    val rst = FutureAdapter.analysisChannelOrderRsq(rsp!!)
+                    callback(rst.first, rst.second)
+                }
+
+                override fun onFail(err: Error?) {
+                    // 发送数据失败
+                    callback(false, err)
+                }
+
+            }
+        )
+
+    }
 
 
 }

+ 53 - 0
RMA/app/src/main/java/cn/muchinfo/rma/business/future/adapter/FutureAdapter.kt

@@ -6,6 +6,7 @@ import cn.muchinfo.rma.global.GlobalDataCollection
 import cn.muchinfo.rma.netcore.packet.Packet50
 import cn.muchinfo.rma.protobuf.funcode.FunCode
 import cn.muchinfo.rma.protobuf.protoclasses.MSIM
+import com.blankj.utilcode.util.TimeUtils
 import java.io.ByteArrayOutputStream
 import java.lang.Exception
 import java.util.*
@@ -84,4 +85,56 @@ object FutureAdapter {
         }
     }
 
+
+    /**
+     * 委托撤单的报文装箱
+     */
+    fun getCancelOrderReqInfo(orderId : Long,marketId : Int ,accountId : Long,goodsId : Int): Packet50 {
+        val builder: MSIM.CancelOrderReq.Builder = MSIM.CancelOrderReq.newBuilder()
+
+        builder.setAccountID(accountId)
+        builder.setOldOrderId(orderId)
+        builder.setClientType(3)
+        builder.clientOrderTime = TimeUtils.getNowString()
+        builder.setOrderSrc(1)
+
+        val loginInfo = GlobalDataCollection.instance?.loginRsp!!
+        builder.setOperatorID(loginInfo.userID.toLong())
+        // FIXME: - 250000000005
+        builder.setHeader(
+            MessageHeadModel.getHead(
+                FunCode.CANCELORDERREQ,
+                loginInfo.userID,
+                GlobalDataCollection.instance?.accountId ?: 0,
+                goodsId,
+                marketId
+            )
+        )
+
+        val arrayOutputStream = ByteArrayOutputStream();
+        builder.build().writeTo(arrayOutputStream)
+        return Packet50(FunCode.ChannelOrderReq, arrayOutputStream.toByteArray())
+    }
+
+    /**
+     * 委托撤单报文解析
+     * @param packet50 Packet50
+     * @return Triple<Boolean, Error?, MSIM.CancelOrderRsp?>
+     */
+    fun analysisCancelOrderRsq(packet50: Packet50) : Triple<Boolean, Error?, MSIM.CancelOrderRsp?>{
+        return try {
+            val loginRsp = MSIM.CancelOrderRsp.parseFrom(packet50.content)
+            if (loginRsp.retCode == 0) {
+                // 操作成功
+                Triple(true, null, loginRsp)
+            } else {
+                // 操作失败
+                Triple(false, Error(ErrorMessageUtils.getErrorString(loginRsp.retCode)), null)
+            }
+        } catch (e: Exception) {
+            // 操作失败
+            Triple(false, Error("装箱失败"), null)
+        }
+    }
+
 }

+ 7 - 3
RMA/app/src/main/java/cn/muchinfo/rma/global/GlobalDataCollection.kt

@@ -61,7 +61,9 @@ class GlobalDataCollection : BaseGlobalData() {
                 accountData = AccountData()
             } else {
                 if (SPUtils.getInstance().getLong(Constant.SELECT_ACCOUNT_ID, 0) == 0L) {
-                    accountData = instance!!.accountDataList[0]
+                    if (instance?.accountDataList?.size != 0){
+                        accountData = instance?.accountDataList?.get(0)
+                    }
                 } else {
                     for (i in accountDataList.indices) {
                         if (accountDataList[i].accountid == SPUtils.getInstance().getLong(Constant.SELECT_ACCOUNT_ID)
@@ -72,8 +74,10 @@ class GlobalDataCollection : BaseGlobalData() {
                 }
                 // 还是没找到,就去第一个
                 if (accountData == null) {
-                    accountData = accountDataList[0]
-                    SPUtils.getInstance().put(Constant.SELECT_ACCOUNT_ID, accountData.accountid)
+                    if (accountDataList.isNotEmpty()){
+                        accountData = accountDataList[0]
+                        SPUtils.getInstance().put(Constant.SELECT_ACCOUNT_ID, accountData.accountid)
+                    }
                 }
             }
             return accountData

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

@@ -101,7 +101,8 @@ data class ContractData(
     var rightData : List<String>? = arrayListOf(),
     val brandname : String? = "",//品牌名称
     val modelname : String? = "",//型号名称
-    val goodsname : String? = ""
+    val goodsname : String? = "",
+    val amount : String? = ""//金额
 ) : Parcelable {
     constructor(parcel: Parcel) : this(
         parcel.readString(),
@@ -155,6 +156,7 @@ data class ContractData(
         parcel.createStringArrayList(),
         parcel.readString(),
         parcel.readString(),
+        parcel.readString(),
         parcel.readString()
     ) {
     }
@@ -212,6 +214,7 @@ data class ContractData(
         parcel.writeString(brandname)
         parcel.writeString(modelname)
         parcel.writeString(goodsname)
+        parcel.writeString(amount)
     }
 
     override fun describeContents(): Int {

+ 2 - 2
RMA/app/src/main/java/cn/muchinfo/rma/global/data/FinancialManageData.kt

@@ -42,7 +42,7 @@ data class FinancialManageData(
     val enumdicname : String? = "",
     val goodscode : String? = "",
     val goodsname : String? = "",
-    val invoiceAmount : String? = "",
+    val InvoiceAmount : String? = "",
     val operateapplyid : String? = "",
     val operateapplytype : String? = "",
     val pricemove : String? = "",
@@ -98,7 +98,7 @@ data class FinancialManageData(
         parcel.writeString(enumdicname)
         parcel.writeString(goodscode)
         parcel.writeString(goodsname)
-        parcel.writeString(invoiceAmount)
+        parcel.writeString(InvoiceAmount)
         parcel.writeString(operateapplyid)
         parcel.writeString(operateapplytype)
         parcel.writeString(pricemove)

+ 6 - 2
RMA/app/src/main/java/cn/muchinfo/rma/global/data/HedgePlanData.kt

@@ -38,7 +38,8 @@ data class HedgePlanData(
     val spotgoodsdesc :String? = "",
     val wrstandardid : String? = "",
     val wrstandardname : String? = "",
-    var indexSelect : Int = 0
+    var indexSelect : Int = 0,
+    val enumdicname : String? = ""//单位
 ) : Parcelable{
     constructor(parcel: Parcel) : this(
         parcel.readString(),
@@ -56,7 +57,8 @@ data class HedgePlanData(
         parcel.readString(),
         parcel.readString(),
         parcel.readString(),
-        parcel.readInt()
+        parcel.readInt(),
+        parcel.readString()
     ) {
     }
 
@@ -77,6 +79,7 @@ data class HedgePlanData(
         parcel.writeString(wrstandardid)
         parcel.writeString(wrstandardname)
         parcel.writeInt(indexSelect)
+        parcel.writeString(enumdicname)
     }
 
     override fun describeContents(): Int {
@@ -93,4 +96,5 @@ data class HedgePlanData(
         }
     }
 
+
 }

+ 9 - 0
RMA/app/src/main/java/cn/muchinfo/rma/protobuf/funcode/FunCode.java

@@ -132,4 +132,13 @@ public class FunCode {
      * 交易委托应答(196640)
      */
     public static final int ChannelOrderRsp = 196640;
+
+    /**
+     * 撤单请求
+     */
+    public static final int CANCELORDERREQ = 196611;
+    /**
+     * 撤单应答
+     */
+    public static final int CANCELORDERRSP = 196612;
 }

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 3312 - 0
RMA/app/src/main/java/cn/muchinfo/rma/protobuf/protoclasses/MSIM.java


+ 5 - 0
RMA/app/src/main/java/cn/muchinfo/rma/view/MainActivity.kt

@@ -16,6 +16,7 @@ import cn.muchinfo.rma.view.base.sale.SaleFragment
 import cn.muchinfo.rma.view.eventbus.EventConstent
 import cn.muchinfo.rma.view.eventbus.MessageEvent
 import com.blankj.utilcode.util.AppUtils
+import com.blankj.utilcode.util.LogUtils
 import com.facebook.drawee.backends.pipeline.Fresco
 import com.next.easynavigation.view.EasyNavigationBar
 import mtp.polymer.com.autowidget.dialog.createLoadingDialog
@@ -148,6 +149,10 @@ class MainActivity : BaseActivity<MainViewModel>() {
                     .setOnTabClickListener(object : EasyNavigationBar.OnTabClickListener{
                         override fun onTabSelectEvent(view: View?, position: Int): Boolean {
                              // FIXME 后期在此处添加首页滑动到顶部处理
+                            if (position == 4){
+                                exposureFragment.reFresh()
+                            }
+
                             return false
                         }
 

+ 13 - 0
RMA/app/src/main/java/cn/muchinfo/rma/view/autoWidget/CustomView.kt

@@ -18,6 +18,7 @@ import androidx.recyclerview.widget.RecyclerView
 import cn.bingoogolapple.bgabanner.BGABanner
 import cn.muchinfo.rma.R
 import cn.muchinfo.rma.view.autoWidget.view.MangeNumberEditText2
+import com.github.aachartmodel.aainfographics.aachartcreator.AAChartView
 import com.google.android.material.textfield.TextInputEditText
 import com.google.android.material.textfield.TextInputLayout
 import com.next.easynavigation.view.EasyNavigationBar
@@ -149,6 +150,18 @@ inline fun ViewManager.syncHScrollView(init: (@AnkoViewDslMarker SyncHScrollView
     return ankoView({ ctx: Context -> SyncHScrollView(ctx) }, theme = 0) { init() }
 }
 
+/** 图表view */
+inline fun ViewManager.chartview(): AAChartView = chartview {}
+inline fun ViewManager.chartview(init: (@AnkoViewDslMarker AAChartView).() -> Unit): AAChartView {
+    return ankoView({ ctx: Context -> AAChartView(ctx) }, theme = 0) { init() }
+}
+
+
+inline fun ViewManager.noScrollViewPager(): NoScrollViewPager = noScrollViewPager {}
+inline fun ViewManager.noScrollViewPager(init: (@AnkoViewDslMarker NoScrollViewPager).() -> Unit): NoScrollViewPager {
+    return ankoView({ ctx: Context -> NoScrollViewPager(ctx) }, theme = 0) { init() }
+}
+
 //inline fun ViewManager.banner(): Banner = banner { }
 //inline fun ViewManager.banner(init: (@AnkoViewDslMarker Banner).() -> Unit): Banner {
 //    return ankoView({ ctx: Context -> Banner(ctx, null) }, theme = 0) { init() }

+ 65 - 0
RMA/app/src/main/java/cn/muchinfo/rma/view/autoWidget/NoScrollViewPager.java

@@ -0,0 +1,65 @@
+package cn.muchinfo.rma.view.autoWidget;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.view.MotionEvent;
+import android.view.View;
+
+import androidx.viewpager.widget.ViewPager;
+
+public class NoScrollViewPager extends ViewPager {
+
+    private boolean noScroll = true;
+
+    public NoScrollViewPager(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    public NoScrollViewPager(Context context) {
+        super(context);
+    }
+
+    public void setNoScroll(boolean noScroll) {
+        this.noScroll = noScroll;
+    }
+
+    @Override
+    public void scrollTo(int x, int y) {
+        super.scrollTo(x, y);
+    }
+
+    @Override
+    protected boolean canScroll(View v, boolean checkV, int dx, int x, int y) {
+        if (v instanceof NoScrollViewPager || v instanceof NoScrollViewPager || v instanceof ViewPager) {
+            return true;
+        }
+        return super.canScroll(v, checkV, dx, x, y);
+    }
+
+    @Override
+    public boolean onTouchEvent(MotionEvent arg0) {
+        if (noScroll)
+            return false;
+        else
+            return super.onTouchEvent(arg0);
+    }
+
+    @Override
+    public boolean onInterceptTouchEvent(MotionEvent arg0) {
+        if (noScroll)
+            return false;
+        else
+            return super.onInterceptTouchEvent(arg0);
+    }
+
+    @Override
+    public void setCurrentItem(int item, boolean smoothScroll) {
+        super.setCurrentItem(item, smoothScroll);
+    }
+
+    @Override
+    public void setCurrentItem(int item) {
+        super.setCurrentItem(item);
+    }
+
+}

+ 20 - 3
RMA/app/src/main/java/cn/muchinfo/rma/view/autoWidget/dialog/Dialog.kt

@@ -17,6 +17,7 @@ import cn.muchinfo.rma.global.GlobalDataCollection
 import cn.muchinfo.rma.global.data.AccountData
 import cn.muchinfo.rma.global.data.AvaildGoodsGroupData
 import cn.muchinfo.rma.global.data.MiddleGoodsData
+import cn.muchinfo.rma.global.isBlankString
 
 import cn.muchinfo.rma.lifecycle.addObserver
 import cn.muchinfo.rma.lifecycle.getAppCompatActivity
@@ -203,14 +204,14 @@ fun AppCompatActivity.showDataSelectDialog(
     type: String = "1",
     selectTime: (String.() -> Unit)? = null
 ) {
-    val calendar = Calendar.getInstance(Locale.CHINA)
+    val calendar = Calendar.getInstance()
     DatePickerDialog(
         this,
         DatePickerDialog.OnDateSetListener { view, year, monthOfYear, dayOfMonth ->
             if (type == "1") {
-                selectTime?.invoke("$year-$monthOfYear-$dayOfMonth")
+                selectTime?.invoke("$year-${monthOfYear.monthformatting()}-$dayOfMonth")//月份要加1
             } else {
-                selectTime?.invoke("$year-$monthOfYear")
+                selectTime?.invoke("$year-${monthOfYear.plus(1)}")//月份要加1
             }
         },
         calendar.get(Calendar.YEAR),
@@ -219,6 +220,22 @@ fun AppCompatActivity.showDataSelectDialog(
     ).show()
 }
 
+fun Int.monthformatting() : String{
+    return if (this < 9){
+        "0" + this.plus(1).toString()
+    }else{
+        this.plus(1).toString()
+    }
+}
+
+fun Int.dayformatting() : String{
+    return if (this < 9){
+        "0" + this.plus(1).toString()
+    }else{
+        this.plus(1).toString()
+    }
+}
+
 
 fun LifecycleOwner.createWarningDialog(
     cancelable: Boolean = false,

+ 1 - 1
RMA/app/src/main/java/cn/muchinfo/rma/view/autoWidget/view/MangeNumberEditText2.java

@@ -42,7 +42,7 @@ public class MangeNumberEditText2 extends FrameLayout implements View.OnClickLis
     private boolean cll = false; // true,会自动去hint的值进行赋值
     private boolean canSubOrAdd = true;//为true时可以对加减号进行操作,false时不行
     //endregion
-
+    private boolean isAddOrSub = false;//是否点击了增加减少
 
     public double getChangeValue() {
         return changeValue;

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

@@ -11,9 +11,9 @@ object Constant {
      */
 //    const val baseurl = "http://103.40.249.127:28280/cfg?key=mtp_20"
 //    const val baseurl = "http://192.168.30.125:8080/cfg?key=test_125"
-    const val baseurl = "http://192.168.31.114:8080/cfg?key=test_114" // shenzhen01  123123
+//    const val baseurl = "http://192.168.31.114:8080/cfg?key=test_114" // shenzhen01  123123
 //    const val baseurl = "http://192.168.31.220:8080/cfg?key=test_220"//李倩
-//      const val baseurl = "http://192.168.30.211:8080/cfg?key=test_211"// 瑶姐
+      const val baseurl = "http://192.168.30.211:8080/cfg?key=test_211"// 瑶姐
 
     /**
      * 用sp存储基础url的key

+ 53 - 3
RMA/app/src/main/java/cn/muchinfo/rma/view/base/exposure/ExposureFragment.kt

@@ -9,6 +9,7 @@ import androidx.recyclerview.widget.RecyclerView
 import androidx.viewpager.widget.PagerAdapter
 import androidx.viewpager.widget.ViewPager
 import cn.muchinfo.rma.R
+import cn.muchinfo.rma.global.data.ExposureHistoryData
 import cn.muchinfo.rma.global.data.FinancialManageData
 import cn.muchinfo.rma.global.data.NumberSpotData
 import cn.muchinfo.rma.lifecycle.bindOptional
@@ -42,7 +43,7 @@ class ExposureFragment : BaseFragment<ExposureViewModel>() {
     private lateinit var viewPager: ViewPager
 
     /** tab标题 ***/
-    private val tabsArray: List<String> by lazy { arrayListOf("实时敞口", "现货数量", "期货数量", "历史敞口") }
+    private val tabsArray: List<String> by lazy { arrayListOf("实时敞口", "现货头寸", "期货头寸", "历史敞口") }
 
     /** 实时敞口 **/
     private val realTimeExposureUI by lazy { RealTimeExposureUI(this, viewModel) }
@@ -93,6 +94,11 @@ class ExposureFragment : BaseFragment<ExposureViewModel>() {
         }
     }
 
+    //切换底部tab时刷新数据
+    fun reFresh(){
+        realTimeExposureUI.reFresh()
+    }
+
     override fun onCreateView(
         inflater: LayoutInflater,
         container: ViewGroup?,
@@ -105,7 +111,7 @@ class ExposureFragment : BaseFragment<ExposureViewModel>() {
                     verticalLayout {
                         gravity = Gravity.CENTER_VERTICAL
                         textView {
-                            text = "采购"
+                            text = "敞口"
                             textColorInt = R.color.white
                             textSizeAuto = 36
                         }.lparams(wrapContent, wrapContent) {
@@ -145,7 +151,7 @@ class ExposureFragment : BaseFragment<ExposureViewModel>() {
                     marginStart = autoSize(32)
                     marginEnd = autoSize(32)
                 }
-                viewPager {
+                noScrollViewPager {
                     background = resources.getDrawable(R.color.white)
                     viewPager = this
                     adapter = pagerAdapter
@@ -179,6 +185,10 @@ class RealTimeExposureUI(
         ExposureContentAdapter(baseFragment.context)
     }
 
+    fun reFresh(){
+        viewModule.queryRealtimeExposure()
+    }
+
     @SuppressLint("RtlHardcoded")
     val root = _FrameLayout(baseFragment.context!!).apply {
         verticalLayout {
@@ -530,9 +540,49 @@ class HistoryExposureUI(
     private val baseFragment: Fragment,
     private val viewModule: ExposureViewModel
 ) {
+
+    private lateinit var swipeToLayout: SwipeToLoadLayout
+    private lateinit var statusLayout: StatusLayout
+
+    private val numberFutureAdapter: BaseAdapter<ExposureHistoryData, HistoryExposureViewholder> = BaseAdapter { _, _ -> HistoryExposureViewholder(baseFragment, viewModule) }
+
+    init {
+        viewModule.queryHisExposure()
+    }
+
     val root = _FrameLayout(baseFragment.context!!).apply {
         verticalLayout {
+            statusLayout(contentBlock = {
+                statusLayout = this
+//                bindTaskStatus(viewModule.status)
+                swipeToLoadLayout {
+                    swipeToLayout = this
+                    setEnableRefresh(true)
+                    setEnableLoadMore(false)
+                    setOnRefreshListener {
+                        viewModule.queryHisExposure()
+                    }
+                    setEnableScrollContentWhenLoaded(false)
+                    setEnableLoadMoreWhenContentNotFull(false)
+                    recyclerView {
+                        background = resources.getDrawable(R.color.white)
+                        adapter = numberFutureAdapter
+                    }.lparams(matchParent, matchParent)
+                }
+            }, emptyBlock = {
+                emptyView(hint = resources.getString(R.string.now_no_data))
+            }).lparams(matchParent, matchParent)
 
+            viewModule.exposureHistoryDataList.bindOptional(context){
+                if (it?.isEmpty() == true || it?.size == 0){
+                    statusLayout.showEmpty()
+                }else {
+                    if (swipeToLayout.getIsRefreshing()){
+                        swipeToLayout.finishRefresh()
+                    }
+                    numberFutureAdapter.setNewData(it)
+                }
+            }
         }
     }
 }

+ 6 - 6
RMA/app/src/main/java/cn/muchinfo/rma/view/base/exposure/ExposureViewModel.kt

@@ -118,8 +118,8 @@ class ExposureViewModel : BaseViewModel(){
         val newList = arrayListOf<ExposureRealTimeDetailsData>()
         respData.forEach {
             val newRightData = arrayListOf<String>()
-            newRightData.add(it.enumdicname + "\n" + it.qty)
-            newRightData.add(NumberUtils.roundNum(it.changeQty,2))
+            newRightData.add(it.wrstandardname + "\n" + it.qty + it.enumdicname)
+            newRightData.add(NumberUtils.roundNum(it.changeQty,2) + it.enumdicname)
             newRightData.add(it.relateNo ?: "")
             newRightData.add(NumberUtils.roundNum(it.convertfactor,2) + "\n" + NumberUtils.roundNum(it.convertratio,2))
             val newData = it.copy(rightData = newRightData)
@@ -194,12 +194,12 @@ class ExposureViewModel : BaseViewModel(){
         val newList = arrayListOf<RealExposureData>()
         respData.forEach {
             val newRightData = arrayListOf<String>()
-            newRightData.add(NumberUtils.roundNum(it.TotalSpotQty,2) + "\n" + it.MiddleGoodsHedgeRatio?.toPercentage())
-            newRightData.add(NumberUtils.roundNum(it.TotalNeedHedgeQty,2) + "\n" + NumberUtils.roundNum(it.TotalFutureQty,2))
+            newRightData.add(NumberUtils.roundNum(it.TotalSpotQty,2) + it.ENUMDICNAME + "\n" + it.MiddleGoodsHedgeRatio?.toPercentage())
+            newRightData.add(NumberUtils.roundNum(it.TotalNeedHedgeQty,2) + it.ENUMDICNAME + "\n" + NumberUtils.roundNum(it.TotalFutureQty,2) + it.ENUMDICNAME)
             newRightData.add(NumberUtils.roundNum(it.NeedHedgeExposoure,2) + "\n" + it.NeedHedgeRatio?.toPercentage())
             newRightData.add(NumberUtils.roundNum(it.TotalExposure,2) + "\n" +it.TotalHedgeRatio?.toPercentage())
-            newRightData.add(NumberUtils.roundNum(it.OriTotalSpotQty,2) + "\n" + NumberUtils.roundNum(it.DiffSpotQty,2))
-            newRightData.add(NumberUtils.roundNum(it.OriTotalFutuQty,2) + "\n" + NumberUtils.roundNum(it.DiffFutuQty,2))
+            newRightData.add(NumberUtils.roundNum(it.OriTotalSpotQty,2) + it.ENUMDICNAME + "\n" + NumberUtils.roundNum(it.DiffSpotQty,2) + it.ENUMDICNAME)
+            newRightData.add(NumberUtils.roundNum(it.OriTotalFutuQty,2) + it.ENUMDICNAME + "\n" + NumberUtils.roundNum(it.DiffFutuQty,2) + it.ENUMDICNAME)
             val newData = it.copy(rightData = newRightData)
             newList.add(newData)
         }

+ 81 - 0
RMA/app/src/main/java/cn/muchinfo/rma/view/base/exposure/HistoryExposureViewholder.kt

@@ -0,0 +1,81 @@
+package cn.muchinfo.rma.view.base.exposure
+
+import android.view.Gravity
+import android.view.MotionEvent
+import android.view.View
+import androidx.appcompat.app.AppCompatActivity
+import androidx.fragment.app.Fragment
+import butterknife.OnTouch
+import cn.muchinfo.rma.R
+import cn.muchinfo.rma.global.data.ExposureHistoryData
+import cn.muchinfo.rma.lifecycle.bindOptional
+import cn.muchinfo.rma.view.autoWidget.*
+import com.github.aachartmodel.aainfographics.aachartcreator.*
+import com.github.aachartmodel.aainfographics.aaoptionsmodel.AAScrollablePlotArea
+import mtp.polymer.com.autowidget.adapter.BaseViewHolder
+import org.jetbrains.anko.*
+
+class HistoryExposureViewholder(
+    private val baseFragment: Fragment,
+    private val viewModel: ExposureViewModel
+) : BaseViewHolder<ExposureHistoryData>(baseFragment.activity!!) {
+    override val itemSize: IntArray = intArrayOf(matchParent, wrapContent)
+
+    override fun _FrameLayout.createContentView() {
+
+        verticalLayout {
+            linearLayout {
+                gravity = Gravity.CENTER_VERTICAL
+                view {
+                    background = resources.getDrawable(R.color.rma_blue_color)
+                }.lparams(autoSize(4), autoSize(45)) {
+                    marginStart = autoSize(36)
+                }
+
+                textView {
+                    text = "标准铜(吨)"
+                    textSizeAuto = 34
+                    textColorInt = R.color.rma_blue_color
+                }.lparams(wrapContent, wrapContent)
+            }.lparams(matchParent, autoSize(84))
+
+            chartview {
+
+                val aaChartModel = AAChartModel()
+                    .chartType(AAChartType.Areaspline)
+                    .title("")
+                    .yAxisTitle("")
+                    .legendEnabled(false)
+                    .yAxisGridLineWidth(0f)
+                    .animationType(AAChartAnimationType.EaseOutQuart)
+                    .legendEnabled(true)
+                    .gradientColorEnable(true)
+                    .markerRadius(2f)
+                    .markerSymbol(AAChartSymbolType.Circle)
+                    .markerSymbolStyle(AAChartSymbolStyleType.InnerBlank)
+                    .scrollablePlotArea(
+                        AAScrollablePlotArea()
+                            .minWidth(3000)
+                            .scrollPositionX(1f))
+
+                data.bindOptional(context){
+                    val list = it?.data
+                    val totalexposureelement = AASeriesElement()
+                        .lineWidth(2f)
+                        .name("总敞口")
+                        .step(true)
+                        .data(list?.map { it.totalexposure }!!.toTypedArray())
+                    val needhedgeexposoureelement = AASeriesElement()
+                        .name("应套保敞口")
+                        .step(true)
+                        .data(list.map { it.needhedgeexposoure }.toTypedArray())
+                    aaChartModel.categories(list.map { it.reckondate }.toTypedArray())
+                    aaChartModel.series(arrayOf(totalexposureelement,needhedgeexposoureelement))
+                    aa_drawChartWithChartModel(aaChartModel)
+                }
+            }.lparams(matchParent, autoSize(416))
+
+        }.lparams(matchParent, autoSize(500))
+    }
+
+}

+ 1 - 1
RMA/app/src/main/java/cn/muchinfo/rma/view/base/exposure/RealTimeExposureDetailsActivity.kt

@@ -65,7 +65,7 @@ class RealTimeExposureDetailsActivity : BaseActivity<ExposureViewModel>() , Expo
                 gravity = Gravity.CENTER_VERTICAL
                 backgroundColorResource = R.color.rma_blue_color
                 textView {
-                    text = "套保品种 : " + data.ENUMDICNAME + "(" + data.MiddleGoodsCode + ")"
+                    text = "套保品种 : " + data.MiddleGoodsName + "(" + data.MiddleGoodsCode + ")"
                     textSizeAuto = 32
                     textColorInt = R.color.white
                 }.lparams(wrapContent, wrapContent){

+ 17 - 1
RMA/app/src/main/java/cn/muchinfo/rma/view/base/future/entrusts/EntrustChildFragment.kt

@@ -1,9 +1,11 @@
 package cn.muchinfo.rma.view.base.future.entrusts
 
+import android.app.Dialog
 import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import androidx.lifecycle.MutableLiveData
 import androidx.recyclerview.widget.RecyclerView
 import cn.muchinfo.rma.R
 import cn.muchinfo.rma.global.data.futureOrders.FutureEntrustData
@@ -11,6 +13,9 @@ import cn.muchinfo.rma.lifecycle.bindOptional
 import cn.muchinfo.rma.view.autoWidget.*
 import cn.muchinfo.rma.view.base.BaseFragment
 import cn.muchinfo.rma.view.base.future.enums.CustomerEnums
+import mtp.polymer.com.autowidget.dialog.createLoadingDialog
+import mtp.polymer.com.autowidget.utils.TaskUiModel
+import mtp.polymer.com.autowidget.utils.bindTaskStatus
 import org.jetbrains.anko.linearLayout
 import org.jetbrains.anko.matchParent
 import org.jetbrains.anko.support.v4.UI
@@ -20,6 +25,12 @@ import org.jetbrains.anko.support.v4.UI
  */
 class EntrustChildFragment(type: CustomerEnums.EntrustType) : BaseFragment<EntrustChildViewModel>() {
     private var type: CustomerEnums.EntrustType? = type
+    private var loadingDialog: Dialog? = null
+
+    /**
+     * 撤单请求状态
+     */
+    val loadingDialogStatus: MutableLiveData<TaskUiModel> = MutableLiveData()
 
     companion object {
         fun getInstance(type: CustomerEnums.EntrustType) = EntrustChildFragment(type)
@@ -36,6 +47,8 @@ class EntrustChildFragment(type: CustomerEnums.EntrustType) : BaseFragment<Entru
     ): View? {
         return UI {
             linearLayout {
+                loadingDialog = createLoadingDialog(hintStr = "请求中")
+                loadingDialog?.bindTaskStatus(context!!, loadingDialogStatus)
                 statusLayout(contentBlock = {
                     statusLayout = this
                     swipeToLoadLayout {
@@ -50,7 +63,7 @@ class EntrustChildFragment(type: CustomerEnums.EntrustType) : BaseFragment<Entru
                         recyclerView {
                             idEntrustList = this
                             background = resources.getDrawable(R.color.white, context.theme)
-                            adapter = viewModel.getAdapter()
+                            adapter = viewModel.getAdapter(this@EntrustChildFragment)
                         }.lparams(matchParent, matchParent)
                     }
                 }, emptyBlock = {
@@ -87,6 +100,9 @@ class EntrustChildFragment(type: CustomerEnums.EntrustType) : BaseFragment<Entru
         if (!hidden) viewModel.queryOrder()
     }
 
+    fun refresh(){
+        viewModel.queryOrder()
+    }
 //region
 
 //endregion

+ 37 - 4
RMA/app/src/main/java/cn/muchinfo/rma/view/base/future/entrusts/EntrustChildViewModel.kt

@@ -5,6 +5,7 @@ import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
 import android.widget.TextView
+import androidx.fragment.app.Fragment
 import androidx.lifecycle.MutableLiveData
 import androidx.recyclerview.widget.RecyclerView
 import cn.muchinfo.rma.R
@@ -12,10 +13,17 @@ import cn.muchinfo.rma.business.future.FutureManager
 import cn.muchinfo.rma.global.GlobalDataCollection
 import cn.muchinfo.rma.global.data.futureOrders.FutureEntrustData
 import cn.muchinfo.rma.global.isBlankString
+import cn.muchinfo.rma.netManage.base.InteractiveException
+import cn.muchinfo.rma.view.MyApplication
 import cn.muchinfo.rma.view.autoWidget.textColorInt
 import cn.muchinfo.rma.view.base.BaseViewModel
 import cn.muchinfo.rma.view.base.future.enums.CustomerEnums
+import cn.muchinfo.rma.view.base.future.holds.HoldFragment
 import cn.muchinfo.rma.view.base.future.interfaces.OnItemClickListener
+import kotlinx.coroutines.GlobalScope
+import kotlinx.coroutines.launch
+import mtp.polymer.com.autowidget.dialog.createWarningDialog
+import mtp.polymer.com.autowidget.utils.TaskUiModel
 import org.jetbrains.anko.backgroundColor
 import java.text.SimpleDateFormat
 import java.util.*
@@ -38,23 +46,25 @@ class EntrustChildViewModel : BaseViewModel() {
     /**
      * 获取配置器。
      */
-    fun getAdapter(): RecyclerView.Adapter<EntrustAdapter.EntrustHolder> {
-        return EntrustAdapter(context)
+    fun getAdapter(fragment : Fragment): RecyclerView.Adapter<EntrustAdapter.EntrustHolder> {
+        return EntrustAdapter(context,fragment)
     }
 
     /**
      * 通用的适配器。
      */
-    inner class EntrustAdapter(context: Context?) : RecyclerView.Adapter<EntrustAdapter.EntrustHolder>() {
+    inner class EntrustAdapter(context: Context?,fragment : Fragment) : RecyclerView.Adapter<EntrustAdapter.EntrustHolder>() {
         private var list: ArrayList<FutureEntrustData>? = null
         private var inflater: LayoutInflater? = null
         private var context: Context? = null
+        private var fragment : Fragment? = null
         private var selectedColor: Int = 0
 
         init {
             this.list = GlobalDataCollection.instance?.futureHisEntrustData
             this.inflater = LayoutInflater.from(context)
             this.context = context
+            this.fragment = fragment
             selectedColor = context?.getColor(R.color.p_list_item_select_color)!!
         }
 
@@ -108,7 +118,30 @@ class EntrustChildViewModel : BaseViewModel() {
 
             }
             entrust.idCancel?.setOnClickListener {
-
+                fragment?.createWarningDialog {
+                    setTitle("温馨提示")
+                    setMessage("确定撤销该笔委托吗?")
+                    addAction("取消") { dialog, _ -> dialog.dismiss() }
+                    addAction("确定") { dialog, _ ->
+                        (fragment as EntrustChildFragment).loadingDialogStatus.postValue(
+                            TaskUiModel.inFlight())
+                        GlobalScope.launch {
+                            MyApplication.getInstance()?.futureManager?.cancelOrder(orderId = itemData.orderid?.toLong() ?: 0,accountId = GlobalDataCollection.instance?.accountId ?: 0,marketId = itemData.marketid,goodsId = itemData.goodsid) { isCompleted, err ->
+                                if (isCompleted) {
+                                    (fragment as EntrustChildFragment).loadingDialogStatus.postValue(
+                                        TaskUiModel.success(msg = "请求成功"))
+                                    (fragment as EntrustChildFragment).refresh()
+                                }else{
+                                    (fragment as EntrustChildFragment).loadingDialogStatus.postValue(
+                                        TaskUiModel.failed(
+                                        InteractiveException(errorMessage = err?.message!!)
+                                    ))
+                                }
+                            }
+                        }
+                        dialog.dismiss()
+                    }
+                }?.show()
             }
 
             if (list?.get(position)?.selected == true) {

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

@@ -13,7 +13,7 @@ import kotlinx.android.synthetic.main.order_detail.*
 /**
  * 单据详情页面
  */
-class OrderDetail() : BaseActivity<OrderDetailModel>() {
+class OrderDetail : BaseActivity<OrderDetailModel>() {
 
     var data: ArrayList<OrderDetailData>? = null
     var titleName: String? = ""
@@ -42,6 +42,6 @@ class OrderDetail() : BaseActivity<OrderDetailModel>() {
 
         val layoutManager = LinearLayoutManager(this@OrderDetail)
         id_order_detail_list?.layoutManager = layoutManager
-        id_order_detail_list?.adapter = viewModel.getCostInfoAdapter()
+        id_order_detail_list?.adapter = viewModel.getCostInfoAdapter(context = this)
     }
 }

+ 3 - 3
RMA/app/src/main/java/cn/muchinfo/rma/view/base/future/orderDeatails/OrderDetailModel.kt

@@ -23,7 +23,7 @@ class OrderDetailModel: BaseViewModel() {
     /**
      * 获取配置器。
      */
-    fun getCostInfoAdapter(): RecyclerView.Adapter<OrderDetailAdapter.CostInfoHolder> {
+    fun getCostInfoAdapter(context: Context): RecyclerView.Adapter<OrderDetailAdapter.CostInfoHolder> {
         return OrderDetailAdapter(context, orderDetailList)
     }
 
@@ -35,9 +35,9 @@ class OrderDetailModel: BaseViewModel() {
         private var inflater: LayoutInflater? = null
         private var context: Context? = null
         init {
+            this.context = context
             this.list = list
             this.inflater = LayoutInflater.from(context)
-            this.context = context
         }
 
         override fun getItemCount(): Int {
@@ -45,7 +45,7 @@ class OrderDetailModel: BaseViewModel() {
         }
 
         class CostInfoHolder(itemView: View?) : RecyclerView.ViewHolder(itemView!!) {
-            var detailItem = itemView as DetailItem?
+            var detailItem = itemView?.findViewById<DetailItem>(R.id.id_item)
         }
 
         override fun onBindViewHolder(holder: CostInfoHolder, position: Int) {

+ 13 - 2
RMA/app/src/main/java/cn/muchinfo/rma/view/base/future/trade/GoodsTradeActivity.kt

@@ -20,6 +20,7 @@ import cn.muchinfo.rma.global.GlobalDataCollection
 import cn.muchinfo.rma.global.data.account.loginQeruy.GoodsInfo
 import cn.muchinfo.rma.global.data.futureOrders.FutureHoldData
 import cn.muchinfo.rma.global.database.AppDatabase
+import cn.muchinfo.rma.global.database.DataBase
 import cn.muchinfo.rma.global.room.Builder
 import cn.muchinfo.rma.global.toPercentage
 import cn.muchinfo.rma.lifecycle.bindOptional
@@ -38,6 +39,7 @@ import cn.muchinfo.rma.view.eventbus.MessageEvent
 import cn.muchinfo.rma.view.eventbus.QuoteMessageEvent
 import cn.muchinfo.rma.view.eventbus.TradeMessageEvent
 import com.blankj.utilcode.util.ConvertUtils
+import com.blankj.utilcode.util.LogUtils
 import com.blankj.utilcode.util.TimeUtils
 import com.blankj.utilcode.util.ToastUtils
 import com.qmuiteam.qmui.util.QMUIDisplayHelper
@@ -228,8 +230,11 @@ class GoodsTradeActivity : BaseActivity<GoodsTradeViewModel>() {
         val goodsids = quoteMessageEvent.goodsid
         //如果推送的goodsid包含当前页面的goodsid,则进行页面刷新
         if (goodsids.contains(goodsId?.toInt())){
-            val goodsInfo = GlobalDataCollection.instance?.goodsInfoList?.findLast { it.goodsid == goodsId?.toInt() }
-            viewModel.quoteDayData.postValue(GlobalDataCollection.instance?.goodsInfoAndQuotesList?.find { goodsInfo?.outgoodscode == it.outgoodscode }?.quoteDayData)
+            val goodsInfo = Builder.getDatabase<AppDatabase>().goodsInfoDao.getGoodsInfo(goodsId?.toInt() ?: 0)
+            val quote = GlobalDataCollection.instance?.goodsInfoAndQuotesList?.find { goodsInfo?.outgoodscode == it.outgoodscode }?.quoteDayData
+            if (quote != null){
+                viewModel.quoteDayData.postValue(quote)
+            }
         }
     }
 
@@ -426,6 +431,12 @@ class GoodsTradeActivity : BaseActivity<GoodsTradeViewModel>() {
                                     emptyView()
                                     numberEditText {
                                         priceInputEdittext = this
+                                        setOnTextChangeListener { view, value ->
+//                                            if (value.isNotEmpty()){
+//                                                viewModel.priceOrderType.postValue(FutureConstent.eOrderPriceSelectType_BidPrice)
+//
+//                                            }
+                                        }
                                         //拿到商品信息后对输入框进行初始化
                                         goodsInfoData.bindOptional(context) {
                                             setDecimal(it?.decimalplace ?: 2)

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

@@ -348,7 +348,7 @@ class HomeFragment : BaseFragment<HomeViewModel>() {
                                     }
 
                                     textView {
-                                        text = "业务管理"
+                                        text = "业务审核"
                                         textColorInt = R.color.black
                                         textSizeAuto = 26
                                     }.lparams(wrapContent, wrapContent) {
@@ -370,7 +370,7 @@ class HomeFragment : BaseFragment<HomeViewModel>() {
                                     }
 
                                     textView {
-                                        text = "财务管理"
+                                        text = "财务审核"
                                         textColorInt = R.color.black
                                         textSizeAuto = 26
                                     }.lparams(wrapContent, wrapContent) {

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

@@ -86,7 +86,7 @@ class BusinessManagementActivity : BaseActivity<BusinessManagementViewModel>(){
             topBar {
                 commonLeftButton()
                 commonTitle {
-                    text = "管理"
+                    text = "业务审核"
                 }
                 commonMenuButton(R.mipmap.rma_search) {
                     val intent = Intent()

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

@@ -136,7 +136,7 @@ class MidpointsAuditActivity : BaseActivity<BusinessManagementViewModel>(){
                                 gravity = Gravity.CENTER_VERTICAL
                                 linearLayout {
                                     textView {
-                                        text = "价类型"
+                                        text = "价类型"
                                         textColorInt = R.color.p_normal_summary_txt_color
                                         textSizeAuto = 29
                                     }.lparams(wrapContent, wrapContent) {
@@ -156,7 +156,7 @@ class MidpointsAuditActivity : BaseActivity<BusinessManagementViewModel>(){
                                 }.lparams(autoSize(450), wrapContent)
                                 linearLayout {
                                     textView {
-                                        text = "商品名称"
+                                        text = "现货品种"
                                         textColorInt = R.color.p_normal_summary_txt_color
                                         textSizeAuto = 29
                                     }.lparams(wrapContent, wrapContent) {

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

@@ -63,7 +63,7 @@ class AddHedgeGoodsActivity : BaseActivity<CommodityInformationViewModel>() {
         if (type == "2" || type == "3" || type == "5") {
             viewModel.queryMiddleGoodsDetail(data.middlegoodsid ?: "") {
                 selectAvalidGoodsData.postValue(this)
-                viewModel.queryGGConvertConfig(this.goodsgroupid ?: "")
+                viewModel.queryGGConvertConfig(this.srcgoodsgroupid ?: "")
             }
         }
     }
@@ -202,8 +202,8 @@ class AddHedgeGoodsActivity : BaseActivity<CommodityInformationViewModel>() {
                             }
 
                             textView {
-                                selectAvalidGoodsData.bindOptional(context) {
-                                    text = it?.goodunitname?.isBlankString()
+                                viewModel.ggConvertConfigDataList.bindOptional(context) {
+                                    text = it?.get(0)?.dstunitidname
                                 }
                                 text = "请选择套保品种自动填入"
                                 textSizeAuto = 31

+ 7 - 5
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/commodity/CommodityInformationViewModel.kt

@@ -108,6 +108,7 @@ class CommodityInformationViewModel : BaseViewModel() {
     val showGgConvertConfigDataList : MutableLiveData<List<GGConvertConfigData>> = MutableLiveData()
 
 
+
     /**
      * 新增套保品种时的套保品种名称选择
      */
@@ -175,11 +176,12 @@ class CommodityInformationViewModel : BaseViewModel() {
         }
         MyApplication.getInstance()?.commodityManager?.queryGGConvertConfig(params = params) { isSuccess, respData, _ ->
             if (isSuccess) {
-                if (goodsgroupid.isNotEmpty()){
-                    ggConvertConfigDataList.postValue(respData)
-                }else{
-                    showGgConvertConfigDataList.postValue(respData)
-                }
+                ggConvertConfigDataList.postValue(respData)
+//                if (goodsgroupid.isNotEmpty()){
+//
+//                }else{
+//                    showGgConvertConfigDataList.postValue(respData)
+//                }
 
             }
         }

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

@@ -101,7 +101,7 @@ class CommodityMiddleViewHolder(
                  linearLayout {
                      textView {
                          data.bindOptional(context){
-                             text = it?.needhedgeratio?.toPercentage()
+                             text = it?.needhedgeratio + "%"
                          }
                          textColorInt = R.color.rma_black_33
                          textSizeAuto = 34

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

@@ -82,7 +82,7 @@ class FuturesVarietiesUI(
                 verticalLayout {
                     gravity = Gravity.RIGHT
                     textView {
-                        text = "期货交易所/品种/"
+                        text = "目标期货交易所/品种/"
                         textSizeAuto = 24
                         textColorInt = R.color.hint_text_color
                     }.lparams(wrapContent, wrapContent) {

+ 5 - 3
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/commodity/HedgeSpeciesDetailsActivity.kt

@@ -115,12 +115,14 @@ class HedgeSpeciesDetailsActivity : BaseActivity<CommodityInformationViewModel>(
                 }
                 textView {
                     if (data.isvalid == "1"){
+                        textColorInt = R.color.rma_green_color
                         text = "正常"
                     }else{
-                        text = "无效"
+                        textColorInt = R.color.rma_yellow_text_color
+                        text = "停用"
                     }
                     textSizeAuto = 31
-                    textColorInt = R.color.rma_yellow_text_color
+
                 }.lparams(wrapContent, wrapContent) {
                     marginStart = autoSize(20)
                 }
@@ -254,7 +256,7 @@ class ChangeRecordUI(
     private val spotVarietiesNormalAdapter: BaseAdapter<ChangeLogData, ChangeLogViewHolder> = BaseAdapter { _, _ -> ChangeLogViewHolder(activity) }
 
     init {
-        viewModel.queryChangeLog(RelatedId = "")
+//        viewModel.queryChangeLog(RelatedId = )
     }
 
     val root = _FrameLayout(activity).apply {

+ 5 - 5
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/commodity/SpotVarietiesDetailsActivity.kt

@@ -57,7 +57,7 @@ class SpotVarietiesDetailsActivity : BaseActivity<CommodityInformationViewModel>
                             if (data.isvalid == "1"){
                                 text = "正常"
                             }else{
-                                text = "无效"
+                                text = "停用"
                             }
                             textSizeAuto = 31
                             textColorInt = R.color.rma_yellow_text_color
@@ -79,22 +79,22 @@ class SpotVarietiesDetailsActivity : BaseActivity<CommodityInformationViewModel>
                     viewModel.wrStandardDetails.bindOptional(context){
                         it?.gtList?.forEach {
                             viewItemUI()
-                            contentItem(itemTile = "型号" + viewModel.wrStandardDetails.value?.gtList?.indexOf(it)?.plus(1),itemContent = it.modelid)
+                            contentItem(itemTile = "型号" + viewModel.wrStandardDetails.value?.gtList?.indexOf(it)?.plus(1),itemContent = it.modelname)
                         }
                     }
 
                     viewModel.wrStandardDetails.bindOptional(context){
                         it?.gbList?.forEach {
                             viewItemUI()
-                            contentItem(itemTile = "品牌" + viewModel.wrStandardDetails.value?.gbList?.indexOf(it)?.plus(1),itemContent = it.brandid)
+                            contentItem(itemTile = "品牌" + viewModel.wrStandardDetails.value?.gbList?.indexOf(it)?.plus(1),itemContent = it.brandname)
                         }
                     }
 
                     viewModel.wrStandardDetails.bindOptional(context){
                         it?.wrsList?.forEach {
                             viewItemUI()
-                            contentItem(itemTile = "套保品种" + viewModel.wrStandardDetails.value?.wrsList?.indexOf(it)?.plus(1),itemContent = it.middlegoodsid)
-                            contentItem(itemTile = "套保系数" + viewModel.wrStandardDetails.value?.wrsList?.indexOf(it)?.plus(1),itemContent = it.convertratio.toPercentage())
+                            contentItem(itemTile = "套保品种" + viewModel.wrStandardDetails.value?.wrsList?.indexOf(it)?.plus(1),itemContent = it.middlegoodsname)
+                            contentItem(itemTile = "套保系数" + viewModel.wrStandardDetails.value?.wrsList?.indexOf(it)?.plus(1),itemContent = it.convertratio)
                         }
                     }
 

+ 1 - 1
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/commodity/viewholder/HedgeFutureVarietyViewholder.kt

@@ -40,7 +40,7 @@ class HedgeFutureVarietyViewholder(
 
                 textView {
                     data.bindOptional(context){
-                        text = it?.dstname
+                        text = it?.srcname
                     }
                     text = "请选择套保品种自动填入"
                     textSizeAuto = 31

+ 12 - 6
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/contract/ContractDataViewHolder.kt

@@ -264,10 +264,16 @@ class ContractDataViewHolder(
                         intent.setClass(context,AddContractActivity::class.java)
                         ActivityUtils.startActivity(intent)
                     }
-                    visibility = if (type == "1") {
-                        View.VISIBLE
-                    } else {
-                        View.GONE
+                    data.bindOptional(context) {
+                        visibility = if (type == "1") {
+                            if (it?.contracctstatus == "1") {
+                                View.VISIBLE
+                            } else {
+                                View.GONE
+                            }
+                        } else {
+                            View.GONE
+                        }
                     }
                     backgroundResource = R.drawable.rma_item_click_bg
                     gravity = Gravity.CENTER
@@ -309,8 +315,8 @@ class ContractDataViewHolder(
                         ActivityUtils.startActivity(intent)
                     }
                     data.bindOptional(context) {
-                        visibility = if (type == "2") {
-                            if (it?.contracctstatus == "4" || it?.contracctstatus == "6") {
+                        visibility = if (type == "1") {
+                            if (it?.contracctstatus == "4") {
                                 View.VISIBLE
                             } else {
                                 View.GONE

+ 31 - 8
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/contract/ContractPublicView.kt

@@ -350,6 +350,29 @@ fun _LinearLayout.contractDetailThreeView(data: ContractData) {
 
         viewItemUI()
 
+         linearLayout {
+            //只有在一口价时才显示
+            visibility = if (data.pricetype == "1") { View.VISIBLE } else { View.GONE }
+            gravity = Gravity.CENTER_VERTICAL
+            textView {
+                text = "金        额"
+                textSizeAuto = 31
+                textColorInt = R.color.p_normal_summary_txt_color
+            }.lparams(wrapContent, wrapContent) {
+                marginStart = autoSize(59)
+            }
+
+            textView {
+                text = data.amount + "元"
+                textColorInt = R.color.rma_black_33
+                textSizeAuto = 31
+            }.lparams(wrapContent, wrapContent) {
+                marginStart = autoSize(80)
+            }
+        }.lparams(matchParent, autoSize(132))
+
+        viewItemUI()
+
         linearLayout {
             visibility = if (data.pricetype == "1") {
                 View.GONE
@@ -377,10 +400,10 @@ fun _LinearLayout.contractDetailThreeView(data: ContractData) {
         viewItemUI()
 
         linearLayout {
-            if (data.pricetype == "1") {
-                visibility = View.GONE
-            } else {
+            if (data.pricetype == "3") {
                 visibility = View.VISIBLE
+            } else {
+                visibility = View.GONE
             }
             gravity = Gravity.CENTER_VERTICAL
             textView {
@@ -406,7 +429,7 @@ fun _LinearLayout.contractDetailThreeView(data: ContractData) {
 
             gravity = Gravity.CENTER_VERTICAL
             textView {
-                text = "  贴  水"
+                text = "  贴  水"
                 textSizeAuto = 31
                 textColorInt = R.color.p_normal_summary_txt_color
             }.lparams(wrapContent, wrapContent) {
@@ -414,7 +437,7 @@ fun _LinearLayout.contractDetailThreeView(data: ContractData) {
             }
 
             textView {
-                text = data.pricemove + "元"
+                text = data.pricemove + "元/" + data.enumdicname
                 textColorInt = R.color.rma_black_33
                 textSizeAuto = 31
             }.lparams(wrapContent, wrapContent) {
@@ -451,10 +474,10 @@ fun _LinearLayout.contractDetailThreeView(data: ContractData) {
         viewItemUI()
 
         linearLayout {
-            if (data.deliveryenddate?.isNotEmpty() == true) {
-                visibility = View.VISIBLE
-            } else {
+            if (data.pricetype == "1") {
                 visibility = View.GONE
+            } else {
+                visibility = View.VISIBLE
             }
             gravity = Gravity.CENTER_VERTICAL
             textView {

+ 17 - 4
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/customerdata/AddCustomerDataActivity.kt

@@ -14,6 +14,7 @@ import androidx.lifecycle.MutableLiveData
 import cn.muchinfo.rma.R
 import cn.muchinfo.rma.global.GlobalDataCollection
 import cn.muchinfo.rma.global.data.UserInfoData
+import cn.muchinfo.rma.global.isBlankString
 import cn.muchinfo.rma.global.utils.SelectIUtils
 import cn.muchinfo.rma.lifecycle.bindOptional
 import cn.muchinfo.rma.netManage.base.InteractiveException
@@ -197,6 +198,11 @@ class AddCustomerDataActivity : BaseActivity<CustomerDataViewModel>() {
                             gravity = Gravity.CENTER_VERTICAL
 
                             textView {
+                                if (status == "6"){
+                                    visibility = View.INVISIBLE
+                                }else{
+                                    visibility = View.VISIBLE
+                                }
                                 text = "*"
                                 textColorInt = R.color.rma_star_color
                                 textSizeAuto = 31
@@ -242,6 +248,11 @@ class AddCustomerDataActivity : BaseActivity<CustomerDataViewModel>() {
                             gravity = Gravity.CENTER_VERTICAL
 
                             textView {
+                                if (status == "6"){
+                                    visibility = View.INVISIBLE
+                                }else{
+                                    visibility = View.VISIBLE
+                                }
                                 text = "*"
                                 textColorInt = R.color.rma_star_color
                                 textSizeAuto = 31
@@ -303,7 +314,7 @@ class AddCustomerDataActivity : BaseActivity<CustomerDataViewModel>() {
                             textView {
                                 cardType.bindOptional(context) {
                                     it.let {
-                                        text = it?.value
+                                        text = it?.value?.isBlankString()
                                     }
                                 }
                                 document_type_text = this
@@ -340,7 +351,7 @@ class AddCustomerDataActivity : BaseActivity<CustomerDataViewModel>() {
 
                             editText {
                                 if (status != "1"){
-                                    setText(data.cardnum)
+                                    setText(data.cardnum?.isBlankString())
                                 }
                                 if (status != "1" && status != "2"){
                                     isEnabled = false
@@ -499,7 +510,7 @@ class AddCustomerDataActivity : BaseActivity<CustomerDataViewModel>() {
 
                             editText {
                                 if (status != "1"){
-                                    setText(data.mobile)
+                                    setText(data.mobile?.isBlankString())
                                 }
                                 if (status != "1" && status != "2"){
                                     isEnabled = false
@@ -533,7 +544,7 @@ class AddCustomerDataActivity : BaseActivity<CustomerDataViewModel>() {
 
                             editText {
                                 if (status != "1"){
-                                    setText(data.telphone)
+                                    setText(data.telphone?.isBlankString())
                                 }
                                 if (status != "1" && status != "2"){
                                     isEnabled = false
@@ -888,6 +899,8 @@ class AddCustomerDataActivity : BaseActivity<CustomerDataViewModel>() {
         if (cardType.value?.id?.isNullOrEmpty() == false) {
             // FIXME: - 证件类型要从数据库枚举中获取
             params["cardtype"] = cardType.value?.id?.toInt() ?: 0
+        }else{
+            params["cardtype"] = -1
         }
         // 证件号码
         if (!card_umber.text.isNullOrEmpty()) {

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

@@ -102,7 +102,7 @@ class FinancialActivity : BaseActivity<FinancialViewModel>(){
             topBar {
                 commonLeftButton()
                 commonTitle {
-                    text = "管理"
+                    text = "财务审核"
                 }
                 commonMenuButton(R.mipmap.rma_search) {
                     val intent = Intent()

+ 5 - 5
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/financial/FinancialViewholder.kt

@@ -104,7 +104,7 @@ class FinancialViewholder(private val activity: AppCompatActivity, private val v
                         topMargin = autoSize(15)
                     }
 
-                }.lparams(autoSize(150), autoSize(120))
+                }.lparams(autoSize(250), autoSize(120))
 
                 verticalLayout {
                     textView {
@@ -132,7 +132,7 @@ class FinancialViewholder(private val activity: AppCompatActivity, private val v
                         ellipsize = TextUtils.TruncateAt.END
                     }.lparams(wrapContent, wrapContent) {
                         topMargin = autoSize(25)
-                        gravity = Gravity.RIGHT
+
                     }
                     textView {
                          data.bindOptional(context){
@@ -145,7 +145,7 @@ class FinancialViewholder(private val activity: AppCompatActivity, private val v
                                     text = it.payamount +  "/" + it.deductamount
                                 }
                             }else{
-                                text = it?.invoiceAmount
+                                text = it?.InvoiceAmount
                             }
 
                         }
@@ -153,7 +153,7 @@ class FinancialViewholder(private val activity: AppCompatActivity, private val v
                         textColorInt = R.color.hint_text_color
                     }.lparams(wrapContent, wrapContent){
                         topMargin = autoSize(15)
-                        gravity = Gravity.RIGHT
+
                     }
                 }.lparams(autoSize(145), autoSize(120))
 
@@ -170,7 +170,7 @@ class FinancialViewholder(private val activity: AppCompatActivity, private val v
                     }.lparams(wrapContent, wrapContent) {
                         topMargin = autoSize(25)
                         marginEnd = autoSize(35)
-                        gravity = Gravity.RIGHT
+
                     }
 
                 }.lparams(autoSize(250), autoSize(120))

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

@@ -245,7 +245,7 @@ class InvoiceRegisterActivity : BaseActivity<FinancialViewModel>() {
                                     linearLayout {
                                         emptyView()
                                         textView {
-                                            text = data.invoiceAmount
+                                            text = data.InvoiceAmount
                                             textSizeAuto = 29
                                             textColorInt = R.color.rma_black_33
                                         }.lparams(wrapContent, wrapContent)

+ 15 - 3
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/financial/PaymentReviewActivity.kt

@@ -206,6 +206,8 @@ class PaymentReviewActivity : BaseActivity<FinancialViewModel>() {
                                             text = "款项类型"
                                         } else if (type == "2") {
                                             text = "类型"
+                                        }else if (type == "3") {
+                                            text = "类型"
                                         }
 
                                         textColorInt = R.color.p_normal_summary_txt_color
@@ -231,6 +233,12 @@ class PaymentReviewActivity : BaseActivity<FinancialViewModel>() {
                                                 }else if (data.contracttype == "2"){
                                                     text = "开票"
                                                 }
+                                            }else if (type == "3") {
+                                                if (data.contracttype == "1"){
+                                                    text = "收票"
+                                                }else if (data.contracttype == "2"){
+                                                    text = "开票"
+                                                }
                                             }
                                             textSizeAuto = 29
                                             textColorInt = R.color.rma_black_33
@@ -278,6 +286,8 @@ class PaymentReviewActivity : BaseActivity<FinancialViewModel>() {
                                             text = "登记金额"
                                         }else if (type == "2"){
                                             text = "发票金额"
+                                        }else if (type == "3"){
+                                            text = "发票金额"
                                         }
                                         textColorInt = R.color.p_normal_summary_txt_color
                                         textSizeAuto = 29
@@ -290,12 +300,14 @@ class PaymentReviewActivity : BaseActivity<FinancialViewModel>() {
                                         textView {
                                             if (type == "1"){
                                                 if (data.payamount.isNullOrEmpty()){
-                                                    text = data.deductamount
+                                                    text = data.deductamount?.isBlankString()
                                                 }else{
-                                                    text = data.payamount
+                                                    text = data.payamount?.isBlankString()
                                                 }
                                             }else if (type == "2"){
-                                                text = data.invoiceAmount
+                                                text = data.InvoiceAmount?.isBlankString()
+                                            }else if (type == "3"){
+                                                text = data.InvoiceAmount?.isBlankString()
                                             }
                                             textSizeAuto = 29
                                             textColorInt = R.color.rma_black_33

+ 13 - 9
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/hedge/AddHedgePlanActivity.kt

@@ -109,7 +109,11 @@ class AddHedgePlanActivity : BaseActivity<HedgePlanViewModel>() {
             topBar {
                 commonLeftButton()
                 commonTitle {
-                    text = "新增套保计划"
+                    if (type == "1"){
+                        text = "新增套保计划"
+                    }else {
+                        text = "修改套保计划"
+                    }
                 }
             }
 
@@ -283,20 +287,20 @@ class AddHedgePlanActivity : BaseActivity<HedgePlanViewModel>() {
                         linearLayout {
 
                             gravity = Gravity.CENTER_VERTICAL
-                            textView {
-                                text = "*"
-                                textColorInt = R.color.rma_star_color
-                                textSizeAuto = 31
-                            }.lparams(wrapContent, wrapContent) {
-                                marginStart = autoSize(37)
-                            }
+//                            textView {
+//                                text = "*"
+//                                textColorInt = R.color.rma_star_color
+//                                textSizeAuto = 31
+//                            }.lparams(wrapContent, wrapContent) {
+//                                marginStart = autoSize(37)
+//                            }
 
                             textView {
                                 text = "标仓系数"
                                 textSizeAuto = 31
                                 textColorInt = R.color.rma_black_33
                             }.lparams(wrapContent, wrapContent) {
-                                marginStart = autoSize(10)
+                                marginStart = autoSize(59)
                             }
 
                             textView {

+ 3 - 0
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/hedge/HedgePlanActivity.kt

@@ -236,6 +236,7 @@ class UnSubmitUI(
                     if (swipeToLayout.getIsRefreshing()) {
                         swipeToLayout.finishRefresh()
                     }
+                    statusLayout.showSuccess()
                     unSubmitAdapter.setNewData(it)
                 }
             }
@@ -297,6 +298,7 @@ class ToAuditUI(
                     if (swipeToLayout.getIsRefreshing()) {
                         swipeToLayout.finishRefresh()
                     }
+                    statusLayout.showSuccess()
                     unSubmitAdapter.setNewData(it)
                 }
             }
@@ -354,6 +356,7 @@ class ExecutionUI(
                     if (swipeToLayout.getIsRefreshing()) {
                         swipeToLayout.finishRefresh()
                     }
+                    statusLayout.showSuccess()
                     unSubmitAdapter.setNewData(it)
                 }
             }

+ 2 - 1
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/hedge/HedgePlanViewHolder.kt

@@ -115,12 +115,13 @@ class HedgePlanViewHolder(private val activity: AppCompatActivity,private val vi
                     gravity = Gravity.CENTER_VERTICAL
                     textView {
                         data.bindOptional(context){
-                            text = it?.planqty
+                            text = it?.planqty + it?.enumdicname
                         }
                         textSizeAuto = 22
                         textColorInt = R.color.hint_text_color
                     }.lparams(wrapContent, wrapContent){
                         gravity = Gravity.RIGHT
+                        marginEnd = autoSize(30)
                     }
                 }.lparams(autoSize(145), autoSize(120))
 

+ 25 - 7
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/registration/InvoiceRegistrationActivity.kt

@@ -209,7 +209,7 @@ class InvoiceRegistrationActivity : BaseActivity<RegistrationViewModel>() {
                                 gravity = Gravity.CENTER_VERTICAL
                                 linearLayout {
                                     textView {
-                                        text = "款总额"
+                                        text = "款总额"
                                         textColorInt = R.color.p_normal_summary_txt_color
                                         textSizeAuto = 29
                                     }.lparams(wrapContent, wrapContent) {
@@ -219,7 +219,7 @@ class InvoiceRegistrationActivity : BaseActivity<RegistrationViewModel>() {
                                     linearLayout {
                                         emptyView()
                                         textView {
-                                            text = data.loanamount
+                                            text = data.pricedamount?.toDouble()?.plus(data.reckonadjustamount?.toDouble() ?: 0.0).toString()
                                             textSizeAuto = 29
                                             textColorInt = R.color.rma_black_33
                                         }.lparams(wrapContent, wrapContent)
@@ -288,7 +288,12 @@ class InvoiceRegistrationActivity : BaseActivity<RegistrationViewModel>() {
                                 }.lparams(autoSize(450), wrapContent)
                                 linearLayout {
                                     textView {
-                                        text = "已收款"
+                                        if (data.contracttype == "1"){
+                                            text = "已付款"
+                                        }else{
+                                            text = "已收款"
+                                        }
+
                                         textColorInt = R.color.p_normal_summary_txt_color
                                         textSizeAuto = 29
                                     }.lparams(wrapContent, wrapContent) {
@@ -339,7 +344,12 @@ class InvoiceRegistrationActivity : BaseActivity<RegistrationViewModel>() {
                                 }.lparams(autoSize(450), wrapContent)
                                 linearLayout {
                                     textView {
-                                        text = "已开票额"
+                                        if (data.contracttype == "1"){
+                                            text = "已收票额"
+                                        }else{
+                                            text = "已开票额"
+                                        }
+
                                         textColorInt = R.color.p_normal_summary_txt_color
                                         textSizeAuto = 29
                                     }.lparams(wrapContent, wrapContent) {
@@ -398,7 +408,11 @@ class InvoiceRegistrationActivity : BaseActivity<RegistrationViewModel>() {
                             linearLayout {
                                 gravity = Gravity.CENTER_VERTICAL
                                 textView {
-                                    text = "开票金额"
+                                    if (data.contracttype == "1"){
+                                        text = "收票金额"
+                                    }else{
+                                        text = "开票金额"
+                                    }
                                     textSizeAuto = 31
                                     textColorInt = R.color.rma_black_33
                                 }.lparams(wrapContent, wrapContent){
@@ -441,7 +455,11 @@ class InvoiceRegistrationActivity : BaseActivity<RegistrationViewModel>() {
 
                             linearLayout {
                                 textView {
-                                    text = "待开票金额:"
+                                    if (data.contracttype == "1"){
+                                        text = "待收票金额:"
+                                    }else{
+                                        text = "待开票金额:"
+                                    }
                                     textColorInt = R.color.text_hit_color
                                     textSizeAuto = 29
                                 }.lparams(wrapContent, wrapContent){
@@ -449,7 +467,7 @@ class InvoiceRegistrationActivity : BaseActivity<RegistrationViewModel>() {
                                 }
 
                                 textView {
-                                    text = data.daikaiamount
+                                    text = data.daikaiamount + "元"
                                     textSizeAuto = 29
                                     textColorInt = R.color.rma_blue_color
                                 }.lparams(wrapContent, wrapContent){

+ 14 - 8
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/registration/PaymentRegistrationActivity.kt

@@ -9,6 +9,7 @@ import android.widget.EditText
 import cn.muchinfo.rma.R
 import cn.muchinfo.rma.global.ViewEnumUtils
 import cn.muchinfo.rma.global.data.ContractData
+import cn.muchinfo.rma.global.isBlankString
 import cn.muchinfo.rma.protobuf.protoclasses.ErmcpMI1
 import cn.muchinfo.rma.view.autoWidget.*
 import cn.muchinfo.rma.view.base.BaseActivity
@@ -152,7 +153,7 @@ class PaymentRegistrationActivity : BaseActivity<RegistrationViewModel>() {
                                 }.lparams(autoSize(450), wrapContent)
                                 linearLayout {
                                     textView {
-                                        text = "暂定价"
+                                        text = "暂定价贷款总额"
                                         textColorInt = R.color.p_normal_summary_txt_color
                                         textSizeAuto = 29
                                     }.lparams(wrapContent, wrapContent) {
@@ -162,7 +163,12 @@ class PaymentRegistrationActivity : BaseActivity<RegistrationViewModel>() {
                                     linearLayout {
                                         emptyView()
                                         textView {
-                                            text = data.price + "元"
+                                            text = if (data.pricetype != "3"){
+                                                "--"
+                                            }else{
+                                                data.price + "元"
+                                            }
+
                                             textSizeAuto = 29
                                             textColorInt = R.color.rma_black_33
                                         }.lparams(wrapContent, wrapContent) {
@@ -218,7 +224,7 @@ class PaymentRegistrationActivity : BaseActivity<RegistrationViewModel>() {
                             }
 
                             textView {
-                                text = "已登记点价信息"
+                                text = "已登记信息"
                                 textColorInt = R.color.rma_blue_color
                                 textSizeAuto = 34
                             }.lparams(wrapContent, wrapContent) {
@@ -230,7 +236,7 @@ class PaymentRegistrationActivity : BaseActivity<RegistrationViewModel>() {
                                 gravity = Gravity.CENTER_VERTICAL
                                 linearLayout {
                                     textView {
-                                        text = "已定价"
+                                        text = "已定价"
                                         textColorInt = R.color.p_normal_summary_txt_color
                                         textSizeAuto = 29
                                     }.lparams(wrapContent, wrapContent) {
@@ -240,7 +246,7 @@ class PaymentRegistrationActivity : BaseActivity<RegistrationViewModel>() {
                                     linearLayout {
                                         emptyView()
                                         textView {
-                                            text = data.pricedqty
+                                            text = data.pricedamount
                                             textSizeAuto = 29
                                             textColorInt = R.color.rma_black_33
                                         }.lparams(wrapContent, wrapContent)
@@ -312,7 +318,7 @@ class PaymentRegistrationActivity : BaseActivity<RegistrationViewModel>() {
                                 }.lparams(autoSize(450), wrapContent)
                                 linearLayout {
                                     textView {
-                                        text = "总计金额"
+                                        text = "合计总额"
                                         textColorInt = R.color.p_normal_summary_txt_color
                                         textSizeAuto = 29
                                     }.lparams(wrapContent, wrapContent) {
@@ -342,7 +348,7 @@ class PaymentRegistrationActivity : BaseActivity<RegistrationViewModel>() {
                                 gravity = Gravity.CENTER_VERTICAL
                                 linearLayout {
                                     textView {
-                                        text = "款总额"
+                                        text = "款总额"
                                         textColorInt = R.color.p_normal_summary_txt_color
                                         textSizeAuto = 29
                                     }.lparams(wrapContent, wrapContent) {
@@ -352,7 +358,7 @@ class PaymentRegistrationActivity : BaseActivity<RegistrationViewModel>() {
                                     linearLayout {
                                         emptyView()
                                         textView {
-                                            text = data.loanamount
+                                            text = data.pricedamount?.toDouble()?.plus(data.reckonadjustamount?.toDouble() ?: 0.0).toString()
                                             textSizeAuto = 29
                                             textColorInt = R.color.rma_black_33
                                         }.lparams(wrapContent, wrapContent)

+ 20 - 7
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/registration/SettlementRegistrationActivity.kt

@@ -13,6 +13,7 @@ import cn.muchinfo.rma.global.ViewEnumUtils
 import cn.muchinfo.rma.global.data.ContractData
 import cn.muchinfo.rma.protobuf.protoclasses.ErmcpMI1
 import cn.muchinfo.rma.view.autoWidget.*
+import cn.muchinfo.rma.view.autoWidget.utils.NumberUtils
 import cn.muchinfo.rma.view.base.BaseActivity
 import cn.muchinfo.rma.view.base.home.contract.emptyView
 import com.blankj.utilcode.util.ToastUtils
@@ -246,7 +247,19 @@ class SettlementRegistrationActivity : BaseActivity<RegistrationViewModel>() {
                                     linearLayout {
                                         emptyView()
                                         textView {
-                                            text = data.price
+                                            //1:一口价 2:点价 3:暂定价
+                                            if (data.pricetype == "1"){
+                                                text = data.price
+                                            }else if (data.pricetype == "2"){
+                                                text = data.pricedavg
+                                            }else if (data.pricetype == "3"){
+                                                if (data.pricedavg?.isNotEmpty() == true){
+                                                    text = NumberUtils.roundNum(data.pricedavg,2)
+                                                }else{
+                                                    text = data.price
+                                                }
+                                            }
+
                                             textSizeAuto = 29
                                             textColorInt = R.color.rma_black_33
                                         }.lparams(wrapContent, wrapContent)
@@ -270,7 +283,7 @@ class SettlementRegistrationActivity : BaseActivity<RegistrationViewModel>() {
                             }
 
                             textView {
-                                text = "合同基本信息"
+                                text = "已登记信息"
                                 textColorInt = R.color.rma_blue_color
                                 textSizeAuto = 34
                             }.lparams(wrapContent, wrapContent) {
@@ -461,7 +474,7 @@ class SettlementRegistrationActivity : BaseActivity<RegistrationViewModel>() {
                                 }
 
                                 textView {
-                                    text = "吨"
+                                    text = data.enumdicname
                                     textSizeAuto = 29
                                     textColorInt = R.color.rma_black_33
                                 }.lparams(wrapContent, wrapContent) {
@@ -479,7 +492,7 @@ class SettlementRegistrationActivity : BaseActivity<RegistrationViewModel>() {
                                 }
 
                                 textView {
-                                    text = "20"
+                                    text = data.unsureqty
                                     textSizeAuto = 29
                                     textColorInt = R.color.rma_item_click_color
                                 }.lparams(wrapContent, wrapContent) {
@@ -487,7 +500,7 @@ class SettlementRegistrationActivity : BaseActivity<RegistrationViewModel>() {
                                 }
 
                                 textView {
-                                    text = "吨"
+                                    text = data.enumdicname
                                     textSizeAuto = 29
                                     textColorInt = R.color.text_hit_color
                                 }.lparams(wrapContent, wrapContent) {
@@ -737,7 +750,7 @@ class SettlementRegistrationActivity : BaseActivity<RegistrationViewModel>() {
                                 }
 
                                 textView {
-                                    text = "加"
+                                    text = "加"
                                     textSizeAuto = 31
                                     textColorInt = R.color.rma_black_33
                                 }.lparams(wrapContent, wrapContent) {
@@ -760,7 +773,7 @@ class SettlementRegistrationActivity : BaseActivity<RegistrationViewModel>() {
                                 }
 
                                 textView {
-                                    text = "退还"
+                                    text = "减少"
                                     textSizeAuto = 31
                                     textColorInt = R.color.rma_black_33
                                 }.lparams(wrapContent, wrapContent) {

+ 1 - 0
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/reportquery/ReportQueryActivity.kt

@@ -316,6 +316,7 @@ class FinancialReportUI(
                     onThrottleFirstClick {
                         if (viewModel.isselectFinancialMonthOrDay.value == "1"){//日报表数据请求
                             viewModel.qryReportDayFinance(tradedate = tradedate.replace("-",""))
+//                            viewModel.qryReportDayFinance(tradedate = "20210310")
                             financialPaymentUI.queryRefrashByTime(tradeDate = tradedate)
                             financialInvoiceUI.queryRefrashByTime(tradeDate = tradedate)
                         }else{//月报表数据请求

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

@@ -44,7 +44,7 @@ class TradingQueryActivity : BaseActivity<TradingQueryViewModel>() {
 
     /** tab标题 **/
     private val tabsArray: List<String> by lazy {
-        arrayListOf("历史委托", "历史成交", "资金流水")
+        arrayListOf("历史委托", "历史成交", "历史流水")
     }
 
     /**历史委托UI**/

+ 1 - 1
RMA/app/src/main/java/cn/muchinfo/rma/view/base/procurement/ContractDetailActivity.kt

@@ -220,7 +220,7 @@ class ContractDetailsUI(
 
             val datalist = arrayListOf<ContractDetailsData>(
                 ContractDetailsData(title = ViewEnumUtils.getContractType(data.contracttype ?: "") + "-" + ViewEnumUtils.getPriceType(data.pricetype ?: "") + "合同",content = data.contractno?.isBlankString() ?: ""),
-                ContractDetailsData(title = if (data.contracttype == "1") { "销售方" }else{ "采购方" },content = if (data.contracttype == "1") { data.sellusername ?: "" }else{ data.buyusername ?: "" }),
+                ContractDetailsData(title = if (data.contracttype == "1") { "销售方" }else{ "采购方" },content = data.accountname ?: "" ),
                 ContractDetailsData(title = "现货品种",content = data.deliverygoodsname ?: ""),
                 ContractDetailsData(title = "产品类型",content = ViewEnumUtils.getProductType(data.producttype ?: "")),
                 ContractDetailsData(title = "产品规格",content = data.spotgoodsdesc ?: ""),

+ 1 - 1
RMA/app/src/main/java/cn/muchinfo/rma/view/base/procurement/detailsviewholder/InvoiceRecordViewHolder.kt

@@ -107,7 +107,7 @@ class InvoiceRecordViewHolder(private val activity: AppCompatActivity, private v
                                 text = it.payamount + "/" + it.deductamount
                             }
                         } else {
-                            text = it?.invoiceAmount
+                            text = it?.InvoiceAmount
                         }
                     }
                     textSizeAuto = 22

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است