Sfoglia il codice sorgente

风险管理4月28日提交代码-liu.bolan

Liu.bolan 4 anni fa
parent
commit
fb52072bde
38 ha cambiato i file con 956 aggiunte e 404 eliminazioni
  1. 2 0
      RMA/app/src/main/java/cn/muchinfo/rma/business/account/AccountManager.kt
  2. 4 1
      RMA/app/src/main/java/cn/muchinfo/rma/business/account/adapter/AccountAdapter.kt
  3. 48 2
      RMA/app/src/main/java/cn/muchinfo/rma/business/contract/ContractManager.kt
  4. 187 12
      RMA/app/src/main/java/cn/muchinfo/rma/business/contract/adapter/ContractAdapter.kt
  5. 47 0
      RMA/app/src/main/java/cn/muchinfo/rma/business/hedge/HedgeManager.kt
  6. 96 6
      RMA/app/src/main/java/cn/muchinfo/rma/business/hedge/adapter/HedgeAdapter.kt
  7. 187 187
      RMA/app/src/main/java/cn/muchinfo/rma/protobuf/protoclasses/ManageServiceMI2.java
  8. 2 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/autoWidget/dialog/Dialog.kt
  9. 2 2
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/app/Constant.kt
  10. 2 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/accountmanager/futureaccount/FutureAccountViewModel.kt
  11. 3 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/business/BusinessManagementViewModel.kt
  12. 22 3
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/business/SettlementAuditActivity.kt
  13. 20 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/commodity/AddSpotGoodsActivity.kt
  14. 3 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/commodity/HedgeSpeciesDetailsActivity.kt
  15. 14 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/commodity/newcommodity/DemoViewHolder.kt
  16. 5 7
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/commodity/newcommodity/NewCommodityInformationActivity.kt
  17. 36 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/commodity/newcommodity/newhedge/NewHedgeSpeciesViewHolder.kt
  18. 11 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/commodity/viewholder/AddSpotCategoryViewHolder.kt
  19. 6 5
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/commodity/viewholder/ChangeLogViewHolder.kt
  20. 11 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/commodity/viewholder/InsuredVarietyViewHolder.kt
  21. 6 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/commodity/viewholder/SpotModelViewHolder.kt
  22. 42 36
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/contract/AddContractActivity.kt
  23. 4 4
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/contract/ContractDetailsActivity.kt
  24. 28 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/contract/ContractViewModel.kt
  25. 3 3
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/hedge/HedgeDetailsActivity.kt
  26. 29 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/hedge/HedgePlanViewModel.kt
  27. 3 2
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/inventory/inventorymanager/AddInventoryActivity.kt
  28. 20 20
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/inventory/inventorymanager/InventoryManagerViewModel.kt
  29. 2 2
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/registration/InvoiceRegistrationActivity.kt
  30. 2 2
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/registration/MidpointsRegistrationActivity.kt
  31. 2 2
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/registration/PaymentRegistrationActivity.kt
  32. 1 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/registration/RegistrationViewModel.kt
  33. 2 2
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/registration/SettlementRegistrationActivity.kt
  34. 90 88
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/warehouse/AddWareHouseInformationActivity.kt
  35. 2 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/warehouse/WarehouseInformationActivity.kt
  36. 10 10
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/warehouse/WarehouseInformationViewHolder.kt
  37. 1 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/procurement/ProcurementViewModel.kt
  38. 1 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/sale/SaleViewModel.kt

+ 2 - 0
RMA/app/src/main/java/cn/muchinfo/rma/business/account/AccountManager.kt

@@ -614,6 +614,7 @@ class AccountManager {
         hedgeaccountcode: String = "",
         hedgeaccountpwd: String = "",
         limitnumber: Long = 0,
+        marketid : Long = 0,
         status: Int = 1,
         accountname: String = "",
         currencyid: Int = 1,
@@ -637,6 +638,7 @@ class AccountManager {
             hedgeaccountcode,
             hedgeaccountpwd,
             limitnumber,
+            marketid,
             status,
             accountname,
             currencyid,

+ 4 - 1
RMA/app/src/main/java/cn/muchinfo/rma/business/account/adapter/AccountAdapter.kt

@@ -239,6 +239,7 @@ class AccountAdapter {
             hedgeaccountcode : String = "",
             hedgeaccountpwd : String = "",
             limitnumber : Long = 0,
+            marketid : Long = 0,
             status : Int = 1,
             accountname : String = "",
             currencyid : Int = 1,
@@ -261,9 +262,11 @@ class AccountAdapter {
                     loginInfo.userID,
                     GlobalDataCollection.instance?.accountId ?: 0,
                     0,
-                    18
+                    15101
                 )
             )
+            //黄常兵老板让写死一个
+            builder.marketid = 15101
             if (hedgeaccountcode.isNotEmpty()){
                 builder.hedgeaccountcode = hedgeaccountcode
             }

+ 48 - 2
RMA/app/src/main/java/cn/muchinfo/rma/business/contract/ContractManager.kt

@@ -47,6 +47,52 @@ class ContractManager {
     }
 
     /**
+     * 合同操作申请 服务端接口用于除了新增的其他操作
+     * @param contractInfo SpotContractInfo 参数
+     * @param OperateType String 操作类型 操作类型-1:保存草稿2:提交申请3:审核通过4:审核拒绝5:撤回6:正常完结7:异常终止
+     * @param Remark String 备注
+     * @param SpotContractID String  现货合同ID(602+Unix秒时间戳(10位)+xxxxxx)(修改时传入)
+     * @param callback Function2<[@kotlin.ParameterName] Boolean, [@kotlin.ParameterName] Error?, Unit>
+     */
+    fun orderOneContract(
+        contractInfo: SpotContractInfo,
+        OperateType: String,
+        Remark: String = "",
+        SpotContractID: String = "",
+        callback: (isCompleted: Boolean, err: Error?) -> Unit
+    ) {
+
+        val tradeSocketManager = MyApplication.getInstance()?.tradeSocketManager.guard {
+            callback(false, Error("交易链路未初始化"))
+            return
+        }
+
+        val reqPacket = ContractAdapter.getOneContractReqInfo(
+            contractInfo = contractInfo,
+            OperateType = OperateType,
+            Remark = Remark,
+            SpotContractID = SpotContractID
+        )
+
+        tradeSocketManager.send(
+            reqPacket,
+            FunCode.SpotContractOperateRsp,
+            object : Callback<Packet50> {
+                override fun onSuccess(rsp: Packet50?) {
+                    val rst = ContractAdapter.analysisOneContractRsq(rsp!!)
+                    callback(rst.first, rst.second)
+                }
+
+                override fun onFail(err: Error?) {
+                    // 发送数据失败
+                    callback(false, err)
+                }
+
+            }
+        )
+    }
+
+    /**
      * 合同操作申请
      * @param contractInfo SpotContractInfo 参数
      * @param OperateType String 操作类型 操作类型-1:保存草稿2:提交申请3:审核通过4:审核拒绝5:撤回6:正常完结7:异常终止
@@ -101,7 +147,7 @@ class ContractManager {
      * @param callback Function2<[@kotlin.ParameterName] Boolean, [@kotlin.ParameterName] Error?, Unit>
      */
     fun orderPerationContract(
-        info: ManageServiceMI2.ContractOperateApplyInfo = ManageServiceMI2.ContractOperateApplyInfo.newBuilder().build(),
+        info: ErmcpMI1.ContractOperateApplyInfo = ErmcpMI1.ContractOperateApplyInfo.newBuilder().build(),
         operateType: Int = 0,
         remark: String = "",
         operateApplyID: Long = 0,
@@ -121,7 +167,7 @@ class ContractManager {
 
         tradeSocketManager.send(
             reqPacket,
-            FunCode.ErmcpContractOperateApplyRsp,
+            FunCode.ContractOperateApplyRsp,
             object : Callback<Packet50> {
                 override fun onSuccess(rsp: Packet50?) {
                     val rst = ContractAdapter.analysisPerationContractRsq(rsp!!)

+ 187 - 12
RMA/app/src/main/java/cn/muchinfo/rma/business/contract/adapter/ContractAdapter.kt

@@ -20,8 +20,180 @@ import java.util.*
  */
 object ContractAdapter {
 
+    /**(重点提醒 这里属于服务端接口,仅用于审核等操作,,,)
+     * 获取新增采购合同报文
+     * @param contractInfo SpotContractInfo 新增合同信息
+     * @param OperateType String 操作类型-1:保存草稿2:提交申请3:审核通过4:审核拒绝5:撤回6:正常完结7:异常终止
+     * @param Remark String 备注
+     * @param SpotContractID String 现货合同ID(602+Unix秒时间戳(10位)+xxxxxx)
+     * @return Packet50 采购合同报文
+     */
+    fun getOneContractReqInfo(
+        contractInfo: SpotContractInfo = SpotContractInfo(),
+        OperateType: String,
+        Remark: String = "",
+        SpotContractID: String = ""
+    ): Packet50 {
+        val builder = ErmcpMI1.SpotContractOperateReq.newBuilder()
+        val contractInfobuilder = ErmcpMI1.SpotContractInfo.newBuilder()
+        contractInfo.let {
+            if (it.ContractNo.isNotEmpty()) {
+                contractInfobuilder.contractNo = it.ContractNo
+            }
+            if (it.Amount != 0.0) {
+                contractInfobuilder.amount = it.Amount
+            }
+//            if (it.BrandID.isNotEmpty()) {
+//                contractInfobuilder.spotGoodsBrandID = it.BrandID
+//            }
+            if (it.BuyUserID.toString() != "0") {
+                contractInfobuilder.buyUserID = it.BuyUserID.toInt()
+            }
+            if (it.SellUserID.toString() != "0") {
+                contractInfobuilder.sellUserID = it.SellUserID.toInt()
+            }
+            if (it.UserID.toString() != "0") {
+                contractInfobuilder.userID = it.UserID.toInt()
+            }
+            if (it.ContractAttachment.isNotEmpty()) {
+                contractInfobuilder.contractAttachment =
+                    ByteString.copyFrom(it.ContractAttachment.toByteArray())
+            }
+            if (it.WrStandardID.toString() != "0") {
+                contractInfobuilder.wrStandardID = it.WrStandardID.toInt()
+            }
+            if (it.ContractMargin != 0.0) {
+                contractInfobuilder.contractMargin = it.ContractMargin
+            }
+            if (it.ContractType != 0) {
+                contractInfobuilder.contractType = it.ContractType
+            }
+            if (it.SpotGoodsDesc.isNotEmpty()) {
+                contractInfobuilder.spotGoodsDescBytes =
+                    ByteString.copyFrom(it.SpotGoodsDesc.toByteArray())
+            }
+            if (it.ConvertFactor != 0.0) {
+                contractInfobuilder.convertFactor = it.ConvertFactor
+            }
+//            if (it.BizType.toString() != "0"){
+//                contractInfobuilder.bizType = it.BizType
+//            }
+//            if (it.SaleUserID.toString() != "0"){
+//                contractInfobuilder.saleUserID = it.SaleUserID
+//            }
+            if (it.DeliveryDesc.isNotEmpty()) {
+                contractInfobuilder.deliveryDesc = it.DeliveryDesc
+            }
+            if (it.DeliveryEndDate.isNotEmpty()) {
+                contractInfobuilder.deliveryEndDate = it.DeliveryEndDate
+            }
+            if (it.DeliveryGoodsID.toString() != "0") {
+                contractInfobuilder.deliveryGoodsID = it.DeliveryGoodsID.toInt()
+            }
+            if (it.DeliveryStartDate.isNotEmpty()) {
+                contractInfobuilder.deliveryStartDate = it.DeliveryStartDate
+            }
+            if (it.StartDate.isNotEmpty()){
+                contractInfobuilder.startDate = it.StartDate
+            }
+            if (it.EndDate.isNotEmpty()) {
+                contractInfobuilder.endDate = it.EndDate
+            }
+            if (it.GoodsID.toString() != "0") {
+                contractInfobuilder.goodsID = it.GoodsID.toInt()
+            }
+            if (it.MerUserID.toString() != "0") {
+                contractInfobuilder.merUserID = it.MerUserID.toInt()
+            }
+
+            if (it.PointDesc.isNotEmpty()) {
+                contractInfobuilder.pointDesc = it.PointDesc
+            }
+            if (it.Price != 0.0) {
+                contractInfobuilder.price = it.Price
+            }
+//            if (it.AccountID.toString() != "0"){
+//                contractInfobuilder.accountID = it.AccountID
+//            }
+
+            if (it.SpotGoodsBrandID.toString() != "0"){
+                contractInfobuilder.spotGoodsBrandID = it.SpotGoodsBrandID.toInt()
+            }
+            if (it.PriceMove != 0.0) {
+                contractInfobuilder.priceMove = it.PriceMove
+            }
+            if (it.PriceType != 0) {
+                contractInfobuilder.priceType = it.PriceType
+            }
+            if (it.PricedAmount != 0.0) {
+                contractInfobuilder.pricedAmount = it.PricedAmount
+            }
+            if (it.PricedQty != 0.0) {
+                contractInfobuilder.pricedQty = it.PricedQty
+            }
+            if (it.ProductType != 0) {
+                contractInfobuilder.productType = it.ProductType
+            }
+            if (it.Qty != 0.0) {
+                contractInfobuilder.qty = it.Qty
+            }
+//            contractInfobuilder.tradeDate = TimeUtils.getNowString(SimpleDateFormat("yyyyMMdd"))
+        }
+
+        val loginInfo = GlobalDataCollection.instance?.loginRsp!!
+        // FIXME: - 250000000005
+        builder.setHeader(
+            MessageHeadModel.getHead(
+                FunCode.SpotContractOperateReq,
+                loginInfo.userID,
+                GlobalDataCollection.instance?.accountId ?: 0,
+                0,
+                18
+            )
+        )
+        builder.setClientTicket(UUID.randomUUID().toString().replace("-", ""))
+        builder.operateType = OperateType.toInt()
+        if (OperateType == "1" || OperateType == "2") {
+            builder.info = contractInfobuilder.build()
+        }
+        builder.userID = loginInfo.loginID
+        builder.remark = Remark
+        builder.operateSrc = 2
+        if (SpotContractID.isNotEmpty()) {
+            builder.spotContractID = SpotContractID.toLong()
+        }
+        val arrayOutputStream = ByteArrayOutputStream();
+        builder.build().writeTo(arrayOutputStream)
+        return Packet50(FunCode.SpotContractOperateReq, arrayOutputStream.toByteArray())
+
+    }
 
     /**
+     * 新增采购合同报文解析
+     * @param packet50 Packet50
+     * @return Triple<Boolean, Error?, ErmcpMI1.SpotContractOperateRsp?>
+     */
+    fun analysisOneContractRsq(packet50: Packet50): Triple<Boolean, Error?, ErmcpMI1.SpotContractOperateRsp?> {
+        return try {
+            val resultRsp = ErmcpMI1.SpotContractOperateRsp.parseFrom(packet50.content)
+            if (resultRsp.retCode == 0) {
+                // 操作成功
+                Triple(true, null, resultRsp)
+            }else if (resultRsp.retCode == -1){
+                // 操作失败
+                Triple(false, Error(resultRsp.retDesc), null)
+            } else {
+                // 操作失败
+                Triple(false, Error(ErrorMessageUtils.getErrorString(resultRsp.retCode)), null)
+            }
+        } catch (e: Exception) {
+            // 操作失败
+            Triple(false, Error("装箱失败"), null)
+        }
+    }
+
+
+    /**(重点提醒 这里属于管理端接口,仅用于新增)
      * 获取新增采购合同报文
      * @param contractInfo SpotContractInfo 新增合同信息
      * @param OperateType String 操作类型-1:保存草稿2:提交申请3:审核通过4:审核拒绝5:撤回6:正常完结7:异常终止
@@ -86,19 +258,19 @@ object ContractAdapter {
                 contractInfobuilder.deliveryDesc = it.DeliveryDesc
             }
             if (it.DeliveryEndDate.isNotEmpty()) {
-                contractInfobuilder.deliveryEndDate = it.DeliveryEndDate
+                contractInfobuilder.deliveryEndDate = it.DeliveryEndDate + " 00:00:00"
             }
             if (it.DeliveryGoodsID.toString() != "0") {
                 contractInfobuilder.deliveryGoodsID = it.DeliveryGoodsID
             }
             if (it.DeliveryStartDate.isNotEmpty()) {
-                contractInfobuilder.deliveryStartDate = it.DeliveryStartDate
+                contractInfobuilder.deliveryStartDate = it.DeliveryStartDate + " 00:00:00"
             }
             if (it.StartDate.isNotEmpty()){
-                contractInfobuilder.startDate = it.StartDate
+                contractInfobuilder.startDate = it.StartDate + " 00:00:00"
             }
             if (it.EndDate.isNotEmpty()) {
-                contractInfobuilder.endDate = it.EndDate
+                contractInfobuilder.endDate = it.EndDate + " 00:00:00"
             }
             if (it.GoodsID.toString() != "0") {
                 contractInfobuilder.goodsID = it.GoodsID
@@ -174,9 +346,9 @@ object ContractAdapter {
      * @param packet50 Packet50
      * @return Triple<Boolean, Error?, ErmcpMI1.SpotContractOperateRsp?>
      */
-    fun analysisContractRsq(packet50: Packet50): Triple<Boolean, Error?, ErmcpMI1.SpotContractOperateRsp?> {
+    fun analysisContractRsq(packet50: Packet50): Triple<Boolean, Error?, ManageServiceMI2.GldErmcpSpotContractOperateRsp?> {
         return try {
-            val resultRsp = ErmcpMI1.SpotContractOperateRsp.parseFrom(packet50.content)
+            val resultRsp = ManageServiceMI2.GldErmcpSpotContractOperateRsp.parseFrom(packet50.content)
             if (resultRsp.retCode == 0) {
                 // 操作成功
                 Triple(true, null, resultRsp)
@@ -202,16 +374,16 @@ object ContractAdapter {
      * @return Packet50
      */
     fun getPerationContractReqInfo(
-        info: ManageServiceMI2.ContractOperateApplyInfo,
+        info: ErmcpMI1.ContractOperateApplyInfo,
         operateType: Int = 0,
         remark: String = "",
         operateApplyID: Long = 0
     ): Packet50 {
-        val builder = ManageServiceMI2.ErmcpContractOperateApplyReq.newBuilder()
+        val builder = ErmcpMI1.ContractOperateApplyReq.newBuilder()
         val loginInfo = GlobalDataCollection.instance?.loginRsp!!
         builder.setHeader(
             MessageHeadModel.getHead(
-                FunCode.ErmcpContractOperateApplyReq,
+                FunCode.ContractOperateApplyReq,
                 loginInfo.userID,
                 GlobalDataCollection.instance?.accountId ?: 0,
                 0,
@@ -227,7 +399,7 @@ object ContractAdapter {
         builder.info = info
         val arrayOutputStream = ByteArrayOutputStream()
         builder.build().writeTo(arrayOutputStream)
-        return Packet50(FunCode.ErmcpContractOperateApplyReq, arrayOutputStream.toByteArray())
+        return Packet50(FunCode.ContractOperateApplyReq, arrayOutputStream.toByteArray())
     }
 
 
@@ -236,13 +408,16 @@ object ContractAdapter {
      * @param packet50 Packet50
      * @return Triple<Boolean, Error?, ErmcpMI1.ContractOperateApplyRsp?>
      */
-    fun analysisPerationContractRsq(packet50: Packet50) : Triple<Boolean, Error?, ManageServiceMI2.ErmcpContractOperateApplyRsp?> {
+    fun analysisPerationContractRsq(packet50: Packet50) : Triple<Boolean, Error?, ErmcpMI1.ContractOperateApplyRsp?> {
 
         return try {
-            val loginRsp = ManageServiceMI2.ErmcpContractOperateApplyRsp.parseFrom(packet50.content)
+            val loginRsp = ErmcpMI1.ContractOperateApplyRsp.parseFrom(packet50.content)
             if (loginRsp.retCode == 0) {
                 // 操作成功
                 Triple(true, null, loginRsp)
+            }else if (loginRsp.retCode == -1){
+                // 操作失败
+                Triple(false, Error(loginRsp.retDesc), null)
             } else {
                 // 操作失败
                 Triple(false, Error(ErrorMessageUtils.getErrorString(loginRsp.retCode)), null)

+ 47 - 0
RMA/app/src/main/java/cn/muchinfo/rma/business/hedge/HedgeManager.kt

@@ -58,6 +58,53 @@ class HedgeManager {
      * @param remark String 备注
      * @param callback Function2<[@kotlin.ParameterName] Boolean, [@kotlin.ParameterName] Error?, Unit>
      */
+    fun orderOneHedge(
+        hedgePlanData: HedgePlanInfo = HedgePlanInfo(),
+        hedgePlanID: Long = 0,
+        operateType: Int = 0,
+        remark: String = "",
+        callback: (isCompleted: Boolean, err: Error?) -> Unit
+    ) {
+        val tradeSocketManager = MyApplication.getInstance()?.tradeSocketManager.guard {
+            callback(false, Error("交易链路未初始化"))
+            return
+        }
+
+        val reqPacket = HedgeAdapter.getOneHedgeReqInfo(
+            hedgePlanData = hedgePlanData,
+            hedgePlanID = hedgePlanID,
+            operateType = operateType,
+            remark = remark
+        )
+
+        tradeSocketManager.send(
+            reqPacket,
+            FunCode.HedgePlanOperateRsp,
+            object : Callback<Packet50> {
+                override fun onSuccess(rsp: Packet50?) {
+                    val rst = HedgeAdapter.analysisOneHedgeRsq(rsp!!)
+                    callback(rst.first, rst.second)
+                }
+
+                override fun onFail(err: Error?) {
+                    // 发送数据失败
+                    callback(false, err)
+                }
+
+            }
+        )
+
+    }
+
+
+    /**
+     * 套保计划操作请求
+     * @param hedgePlanData HedgePlanInfo 套保计划信息资料
+     * @param hedgePlanID Long 套保计划id
+     * @param operateType Int 操作类型-1:保存草稿2:提交申请3:审核通过4:审核拒绝5:撤回
+     * @param remark String 备注
+     * @param callback Function2<[@kotlin.ParameterName] Boolean, [@kotlin.ParameterName] Error?, Unit>
+     */
     fun orderHedge(
         hedgePlanData: HedgePlanInfo = HedgePlanInfo(),
         hedgePlanID: Long = 0,

+ 96 - 6
RMA/app/src/main/java/cn/muchinfo/rma/business/hedge/adapter/HedgeAdapter.kt

@@ -27,6 +27,90 @@ object HedgeAdapter {
      * @param remark String
      * @return Packet50
      */
+    fun getOneHedgeReqInfo(
+        hedgePlanData: HedgePlanInfo = HedgePlanInfo(),
+        hedgePlanID : Long = 0,
+        operateType : Int = 0,
+        remark : String = ""
+    ): Packet50 {
+        val builder = ErmcpMI1.HedgePlanOperateReq.newBuilder()
+        val hedgePlanInfoOrBuilder = ErmcpMI1.HedgePlanInfo.newBuilder()
+        hedgePlanData.let {
+            hedgePlanInfoOrBuilder.hedgePlanNo = hedgePlanData.HedgePlanNo
+            hedgePlanInfoOrBuilder.areaUserID = hedgePlanData.AreaUserID.toInt()
+            hedgePlanInfoOrBuilder.contractType = hedgePlanData.ContractType
+            hedgePlanInfoOrBuilder.deliveryGoodsID = hedgePlanData.DeliveryGoodsID.toInt()
+            hedgePlanInfoOrBuilder.productType = hedgePlanData.ProductType
+            hedgePlanInfoOrBuilder.spotGoodsDesc = hedgePlanData.SpotGoodsDesc
+            hedgePlanInfoOrBuilder.convertFactor = hedgePlanData.ConvertFactor
+            hedgePlanInfoOrBuilder.planQty = hedgePlanData.PlanQty
+        }
+        hedgePlanInfoOrBuilder.planTime = TimeUtils.getNowString()
+
+        val loginInfo = GlobalDataCollection.instance?.loginRsp
+        // FIXME: - 250000000005
+        builder.setHeader(
+            MessageHeadModel.getHead(
+                FunCode.HedgePlanOperateReq,
+                loginInfo?.userID ?: 0,
+                GlobalDataCollection.instance?.accountId ?: 0,
+                0,
+                18
+            )
+        )
+//        builder.tradeDate = TimeUtils.getNowString(java.text.SimpleDateFormat("yyyyMMdd"))
+        builder.setClientTicket(UUID.randomUUID().toString().replace("-", ""))
+        if (operateType == 1 || operateType == 2){
+            builder.info = hedgePlanInfoOrBuilder.build()
+        }
+
+        builder.remark = remark
+        builder.operateType = operateType
+        builder.operateSrc = 2
+        if(hedgePlanID != 0L){
+            builder.hedgePlanID = hedgePlanID
+        }
+        val arrayOutputStream = ByteArrayOutputStream();
+        builder.build().writeTo(arrayOutputStream)
+        return Packet50(FunCode.HedgePlanOperateReq, arrayOutputStream.toByteArray())
+    }
+
+    /**
+     * 套保计划报文解析
+     * @param packet50 Packet50
+     * @return Triple<Boolean, Error?, ErmcpMI1.SpotContractOperateRsp?>
+     */
+    fun analysisOneHedgeRsq(packet50: Packet50): Triple<Boolean, Error?, ErmcpMI1.HedgePlanOperateRsp?> {
+        return try {
+            val resultRsp = ErmcpMI1.HedgePlanOperateRsp.parseFrom(packet50.content)
+            if (resultRsp.retCode == 0) {
+                // 操作成功
+                Triple(true, null, resultRsp)
+            } else {
+                if (resultRsp.retCode == -1){
+                    // 操作失败
+                    Triple(false, Error(resultRsp.retDesc), null)
+                }else{
+                    // 操作失败
+                    Triple(false, Error(ErrorMessageUtils.getErrorString(resultRsp.retCode)), null)
+                }
+
+            }
+        } catch (e: Exception) {
+            // 操作失败
+            Triple(false, Error("装箱失败"), null)
+        }
+    }
+
+
+    /**
+     * 获取新套保计划报文
+     * @param hedgePlanData HedgePlanData
+     * @param hedgePlanID Long
+     * @param operateType Int
+     * @param remark String
+     * @return Packet50
+     */
     fun getHedgeReqInfo(
         hedgePlanData: HedgePlanInfo = HedgePlanInfo(),
         hedgePlanID : Long = 0,
@@ -43,9 +127,9 @@ object HedgeAdapter {
             builder.productType = hedgePlanData.ProductType
             builder.spotGoodsDesc = hedgePlanData.SpotGoodsDesc
             builder.convertFactor = hedgePlanData.ConvertFactor
-            builder.planTime = hedgePlanData.PlanTime
             builder.planQty = hedgePlanData.PlanQty
         }
+        builder.planTime = TimeUtils.getNowString()
 
         val loginInfo = GlobalDataCollection.instance?.loginRsp
         // FIXME: - 250000000005
@@ -85,13 +169,19 @@ object HedgeAdapter {
      */
     fun analysisHedgeRsq(packet50: Packet50): Triple<Boolean, Error?, ManageServiceMI2.ErmcpHedgePlanRsp?> {
         return try {
-            val loginRsp = ManageServiceMI2.ErmcpHedgePlanRsp.parseFrom(packet50.content)
-            if (loginRsp.retCode == 0) {
+            val resultRsp = ManageServiceMI2.ErmcpHedgePlanRsp.parseFrom(packet50.content)
+            if (resultRsp.retCode == 0) {
                 // 操作成功
-                Triple(true, null, loginRsp)
+                Triple(true, null, resultRsp)
             } else {
-                // 操作失败
-                Triple(false, Error(ErrorMessageUtils.getErrorString(loginRsp.retCode)), null)
+                if (resultRsp.retCode == -1){
+                    // 操作失败
+                    Triple(false, Error(resultRsp.retDesc), null)
+                }else{
+                    // 操作失败
+                    Triple(false, Error(ErrorMessageUtils.getErrorString(resultRsp.retCode)), null)
+                }
+
             }
         } catch (e: Exception) {
             // 操作失败

File diff suppressed because it is too large
+ 187 - 187
RMA/app/src/main/java/cn/muchinfo/rma/protobuf/protoclasses/ManageServiceMI2.java


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

@@ -424,5 +424,6 @@ data class SelectData(
     var value: String,
     var deliverygoodsid: String = "",//现货合同中的现货品种id
     var areauserid: String = "",//现货areauserid
-    var enumdicname: String = ""//现货商品的单位名称
+    var enumdicname: String = "",//现货商品的单位名称
+    var convertfactor: String = ""//标仓系数
 )

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

@@ -8,8 +8,8 @@ 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.220:8080/cfg?key=test_220"//李倩
+//    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.31.175:8080/cfg?key=test_175" // 8888  123123
 //    const val baseurl = "http://192.168.31.223:8080/cfg?key=test_223"

+ 2 - 0
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/accountmanager/futureaccount/FutureAccountViewModel.kt

@@ -97,6 +97,7 @@ class FutureAccountViewModel : BaseViewModel(){
         hedgeaccountcode: String = "",
         hedgeaccountpwd: String = "",
         limitnumber: Long = 0,
+        marketid : Long = 0,
         status: Int = 1,
         accountname: String = "",
         currencyid: Int = 1,
@@ -117,6 +118,7 @@ class FutureAccountViewModel : BaseViewModel(){
                 hedgeaccountcode = hedgeaccountcode,
                 hedgeaccountpwd = hedgeaccountpwd,
                 limitnumber = limitnumber,
+                marketid = marketid,
                 status = status,
                 accountname = accountname,
                 currencyid = currencyid,

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

@@ -4,6 +4,7 @@ import androidx.lifecycle.MutableLiveData
 import cn.muchinfo.rma.global.GlobalDataCollection
 import cn.muchinfo.rma.global.data.BusinessData
 import cn.muchinfo.rma.netManage.base.InteractiveException
+import cn.muchinfo.rma.protobuf.protoclasses.ErmcpMI1
 import cn.muchinfo.rma.view.MyApplication
 import cn.muchinfo.rma.view.autoWidget.toArrayList
 import cn.muchinfo.rma.view.base.BaseViewModel
@@ -143,13 +144,14 @@ class BusinessManagementViewModel : BaseViewModel() {
      * @param isSuccess Function1<[@kotlin.ParameterName] Boolean, Unit>
      */
     fun contractOperaOrder(
+        info: ErmcpMI1.ContractOperateApplyInfo= ErmcpMI1.ContractOperateApplyInfo.newBuilder().build(),
         operateApplyID : Long = 0,
         operateType: Int = 0,
         remark: String = "",
         isSuccess: (isCompleted: Boolean) -> Unit
     ){
         loadingDataDialogStatus.value = TaskUiModel.inFlight()
-        MyApplication.getInstance()?.contractManager?.orderPerationContract(operateApplyID = operateApplyID,operateType = operateType,remark = remark){isCompleted, err ->
+        MyApplication.getInstance()?.contractManager?.orderPerationContract(info = info,operateApplyID = operateApplyID,operateType = operateType,remark = remark){isCompleted, err ->
             if (isCompleted){
                 ToastUtils.showLong("请求成功")
                 loadingDialogStatus.postValue(TaskUiModel.success(msg = "请求成功"))

+ 22 - 3
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/business/SettlementAuditActivity.kt

@@ -12,12 +12,15 @@ import cn.muchinfo.rma.global.data.BusinessData
 import cn.muchinfo.rma.global.isBlankNumber
 import cn.muchinfo.rma.global.isBlankString
 import cn.muchinfo.rma.lifecycle.bindOptional
+import cn.muchinfo.rma.protobuf.protoclasses.ErmcpMI1
 import cn.muchinfo.rma.view.autoWidget.*
 import cn.muchinfo.rma.view.base.BaseActivity
 import cn.muchinfo.rma.view.base.home.contract.emptyView
+import com.google.protobuf.ByteString
 import mtp.polymer.com.autowidget.dialog.createLoadingDialog
 import mtp.polymer.com.autowidget.utils.bindTaskStatus
 import org.jetbrains.anko.*
+import org.json.JSONObject
 
 /**
  *  管理 - 结算审核页面
@@ -62,7 +65,7 @@ class SettlementAuditActivity : BaseActivity<BusinessManagementViewModel>() {
             }
             statusLayout(contentBlock = {
                 statusLayout = this
-                bindTaskStatus(viewModel.loadingDataDialogStatus)
+//                bindTaskStatus(viewModel.loadingDataDialogStatus)
                 frameLayout {
                     scrollView {
                         verticalLayout {
@@ -422,7 +425,7 @@ class SettlementAuditActivity : BaseActivity<BusinessManagementViewModel>() {
                         gravity = Gravity.CENTER_VERTICAL
                         textView {
                             onThrottleFirstClick {
-                                viewModel.contractOperaOrder(operateApplyID = data.operateapplyid?.toLong() ?: 0,operateType = 3,remark = ramsk_edittext.text.toString()){
+                                viewModel.contractOperaOrder(operateApplyID = data.operateapplyid?.toLong() ?: 0,operateType = 2,remark = ramsk_edittext.text.toString()){
                                     finish()
                                 }
                             }
@@ -437,7 +440,7 @@ class SettlementAuditActivity : BaseActivity<BusinessManagementViewModel>() {
 
                         textView {
                             onThrottleFirstClick {
-                                viewModel.contractOperaOrder(operateApplyID = data.operateapplyid?.toLong() ?: 0,operateType = 2,remark = ramsk_edittext.text.toString()){
+                                viewModel.contractOperaOrder(operateApplyID = data.operateapplyid?.toLong() ?: 0,operateType = 3,remark = ramsk_edittext.text.toString()){
                                     finish()
                                 }
                             }
@@ -469,4 +472,20 @@ class SettlementAuditActivity : BaseActivity<BusinessManagementViewModel>() {
         }
     }
 
+    /**
+     * 获取合同操作info
+     * @return ErmcpMI1.ContractOperateApplyInfo
+     */
+    private fun getPerationContractInfo(): ErmcpMI1.ContractOperateApplyInfo {
+        val json = JSONObject()
+//        json.put("InvoiceAmount",amount_edittext.text.toString().toDouble())
+        val contractInfobuilder = ErmcpMI1.ContractOperateApplyInfo.newBuilder()
+
+//        contractInfobuilder.relatedID = data.spotcontractid?.toLong() ?: 0// 现货合同ID
+        contractInfobuilder.operateApplyType = 2//款项
+//        contractInfobuilder.detailJson = ByteString.copyFrom(json.toString().toByteArray())
+
+        return contractInfobuilder.build()
+    }
+
 }

+ 20 - 0
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/commodity/AddSpotGoodsActivity.kt

@@ -309,6 +309,11 @@ class AddSpotGoodsActivity : BaseActivity<CommodityInformationViewModel>() {
                             emptyView()
 
                             imageView {
+                                if (type == "4"){
+                                    visibility = View.GONE
+                                }else{
+                                    visibility = View.VISIBLE
+                                }
                                 imageResource = R.mipmap.rma_more
                             }.lparams(autoSize(36), autoSize(36)) {
                                 marginEnd = autoSize(25)
@@ -331,6 +336,11 @@ class AddSpotGoodsActivity : BaseActivity<CommodityInformationViewModel>() {
                         viewItemUI()
 
                         linearLayout {
+                            if (type == "4"){
+                                visibility = View.GONE
+                            }else{
+                                visibility = View.VISIBLE
+                            }
                             onThrottleFirstClick {
                                 if (type == "4" || type == "3" || type == "5") {
                                     return@onThrottleFirstClick
@@ -372,6 +382,11 @@ class AddSpotGoodsActivity : BaseActivity<CommodityInformationViewModel>() {
                         viewItemUI()
 
                         linearLayout {
+                            if (type == "4"){
+                                visibility = View.GONE
+                            }else{
+                                visibility = View.VISIBLE
+                            }
                             onThrottleFirstClick {
                                 if (type == "4" || type == "3" || type == "5") {
                                     return@onThrottleFirstClick
@@ -413,6 +428,11 @@ class AddSpotGoodsActivity : BaseActivity<CommodityInformationViewModel>() {
                         }
 
                         linearLayout {
+                            if (type == "4"){//页面类型为详情时则需要屏蔽相关操作
+                                visibility = View.GONE
+                            }else{
+                                visibility = View.VISIBLE
+                            }
                             background = resources.getDrawable(R.color.white)
                             gravity = Gravity.CENTER_VERTICAL
                             emptyView()

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

@@ -265,7 +265,9 @@ class ChangeRecordUI(
                         text = "修改前套保比例"
                         textColorInt = R.color.hint_text_color
                         textSizeAuto = 23
-                    }.lparams(wrapContent, wrapContent)
+                    }.lparams(wrapContent, wrapContent){
+                        topMargin = autoSize(15)
+                    }
                     textView {
                         gravity = Gravity.CENTER
                         text = "修改后套保比例"

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

@@ -76,6 +76,19 @@ class DemoViewHolder(
                     marginStart = autoSize(20)
                 }
 
+
+            }.lparams(matchParent, autoSize(84))
+
+            linearLayout {
+
+                data.bindOptional(context) {
+                    if (it?.isSelectAll == 0) {
+                        visibility = View.GONE
+                    } else {
+                        visibility = View.VISIBLE
+                    }
+                }
+                gravity = Gravity.CENTER_VERTICAL
                 emptyView()
 
                 textView {
@@ -88,7 +101,7 @@ class DemoViewHolder(
                     }
                     data.bindOptional(context){
                         if (it?.data?.isvalid == "1"){
-                             visibility = View.VISIBLE
+                            visibility = View.VISIBLE
                         }else {
                             visibility = View.GONE
                         }

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

@@ -1,3 +1,5 @@
+@file:Suppress("DEPRECATION")
+
 package cn.muchinfo.rma.view.base.home.commodity.newcommodity
 
 import android.content.Intent
@@ -11,15 +13,11 @@ import androidx.viewpager.widget.PagerAdapter
 import androidx.viewpager.widget.ViewPager
 import cn.muchinfo.rma.R
 import cn.muchinfo.rma.global.data.DeliveryGoodsDetailData
-import cn.muchinfo.rma.global.data.MiddleGoodsData
 import cn.muchinfo.rma.global.data.MiddleGoodsDetail
 import cn.muchinfo.rma.lifecycle.bindOptional
 import cn.muchinfo.rma.view.autoWidget.*
 import cn.muchinfo.rma.view.base.BaseActivity
-import cn.muchinfo.rma.view.base.home.commodity.AddHedgeGoodsActivity
 import cn.muchinfo.rma.view.base.home.commodity.AddSpotGoodsActivity
-import cn.muchinfo.rma.view.base.home.commodity.CommodityMiddleViewHolder
-import cn.muchinfo.rma.view.base.home.commodity.newcommodity.newhedge.HedgeSpeciesData
 import cn.muchinfo.rma.view.base.home.commodity.newcommodity.newhedge.NewHedgeSpeciesViewHolder
 import cn.muchinfo.rma.view.base.home.contract.emptyView
 import cn.muchinfo.rma.view.base.home.registration.showPopups
@@ -122,10 +120,10 @@ class NewCommodityInformationActivity : BaseActivity<NewCommodityInformationView
 
                 imageView {
                     selectTab.bindOptional(context) {
-                        if (it == 0) {
-                            visibility = View.VISIBLE
+                        visibility = if (it == 0) {
+                            View.VISIBLE
                         } else {
-                            visibility = View.INVISIBLE
+                            View.INVISIBLE
                         }
                     }
 

+ 36 - 0
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/commodity/newcommodity/newhedge/NewHedgeSpeciesViewHolder.kt

@@ -8,6 +8,7 @@ import cn.muchinfo.rma.R
 import cn.muchinfo.rma.global.data.Ermcp3GoodsGroupEx
 import cn.muchinfo.rma.global.data.ErmcpDeliveryGoodsDetail
 import cn.muchinfo.rma.global.data.MiddleGoodsDetail
+import cn.muchinfo.rma.global.toPercentage
 import cn.muchinfo.rma.lifecycle.bindOptional
 import cn.muchinfo.rma.view.autoWidget.*
 import cn.muchinfo.rma.view.base.home.commodity.AddHedgeGoodsActivity
@@ -80,7 +81,42 @@ class NewHedgeSpeciesViewHolder(
                     marginStart = autoSize(20)
                 }
 
+                verticalLayout {
 
+                    textView {
+                        data.bindOptional(context){
+                            text = "套保比例" + it?.mg?.needhedgeratio?.toPercentage()
+                        }
+                        textSizeAuto = 25
+                        textColorInt = R.color.rma_green_color
+                    }.lparams(autoSize(225), wrapContent){
+                        topMargin = autoSize(15)
+                    }
+                    textView {
+                        data.bindOptional(context){
+                            text = "套利比例" + it?.mg?.evaluateratio?.toPercentage()
+                        }
+                        textSizeAuto = 25
+                        textColorInt = R.color.rma_green_color
+                    }.lparams(autoSize(225), wrapContent)
+
+                }.lparams(autoSize(225), autoSize(100)){
+                    marginStart = autoSize(20)
+                }
+
+
+
+            }.lparams(matchParent, autoSize(100))
+
+            linearLayout {
+                gravity = Gravity.CENTER_VERTICAL
+                data.bindOptional(context) {
+                    if (it?.isAllSelect == 0) {
+                        visibility = View.GONE
+                    } else {
+                        visibility = View.VISIBLE
+                    }
+                }
                 emptyView()
 
                 textView {

+ 11 - 0
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/commodity/viewholder/AddSpotCategoryViewHolder.kt

@@ -1,6 +1,7 @@
 package cn.muchinfo.rma.view.base.home.commodity.viewholder
 
 import android.view.Gravity
+import android.view.View
 import android.view.inputmethod.EditorInfo
 import android.widget.EditText
 import androidx.appcompat.app.AppCompatActivity
@@ -96,6 +97,11 @@ class AddSpotCategoryViewHolder(
                 emptyView()
 
                 imageView {
+                    if (operationType == "4"){//页面类型为详情时则需要屏蔽相关操作
+                        visibility = View.GONE
+                    }else{
+                        visibility = View.VISIBLE
+                    }
                     isEnabled =
                         !(operationType == "4" || operationType == "3" || operationType == "5")
                     onThrottleFirstClick {
@@ -186,6 +192,11 @@ class AddSpotCategoryViewHolder(
                 emptyView()
 
                 imageView {
+                    if (operationType == "4"){//页面类型为详情时则需要屏蔽相关操作
+                        visibility = View.GONE
+                    }else{
+                        visibility = View.VISIBLE
+                    }
                     imageResource = R.mipmap.rma_more
                 }.lparams(autoSize(36), autoSize(36)) {
                     marginEnd = autoSize(25)

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

@@ -38,18 +38,19 @@ class ChangeLogViewHolder(private val activity: AppCompatActivity) :
                     data.bindOptional(context) {
                         text = it?.beforevalue?.toPercentage()
                     }
-                    text = "修改前套保比例"
                     textColorInt = R.color.hint_text_color
-                    textSizeAuto = 31
-                }.lparams(autoSize(225), autoSize(100))
+                    textSizeAuto = 25
+                }.lparams(autoSize(225), wrapContent){
+                    topMargin = autoSize(15)
+                }
                 textView {
                     gravity = Gravity.CENTER
                     data.bindOptional(context) {
                         text = it?.aftervalue?.toPercentage()
                     }
                     textColorInt = R.color.hint_text_color
-                    textSizeAuto = 31
-                }.lparams(autoSize(225), autoSize(100))
+                    textSizeAuto = 25
+                }.lparams(autoSize(225), wrapContent)
             }.lparams(autoSize(225), autoSize(100))
 
             //备注

+ 11 - 0
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/commodity/viewholder/InsuredVarietyViewHolder.kt

@@ -1,6 +1,7 @@
 package cn.muchinfo.rma.view.base.home.commodity.viewholder
 
 import android.view.Gravity
+import android.view.View
 import android.view.inputmethod.EditorInfo
 import androidx.appcompat.app.AppCompatActivity
 import cn.muchinfo.rma.R
@@ -81,6 +82,11 @@ class InsuredVarietyViewHolder(
                 emptyView()
 
                 imageView {
+                    if (operationType == "4"){//页面类型为详情时则需要屏蔽相关操作
+                        visibility = View.GONE
+                    }else{
+                        visibility = View.VISIBLE
+                    }
                     imageResource = R.mipmap.rma_more
                 }.lparams(autoSize(36), autoSize(36)) {
                     marginEnd = autoSize(25)
@@ -185,6 +191,11 @@ class InsuredVarietyViewHolder(
                 emptyView()
 
                 imageView {
+                    if (operationType == "4"){//页面类型为详情时则需要屏蔽相关操作
+                        visibility = View.GONE
+                    }else{
+                        visibility = View.VISIBLE
+                    }
                     isEnabled = !(operationType == "4" || operationType == "3" || operationType == "5")
                     onThrottleFirstClick {
                         if (viewModel.middlegoodList.value?.size.toString() == "1") {

+ 6 - 0
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/commodity/viewholder/SpotModelViewHolder.kt

@@ -2,6 +2,7 @@ package cn.muchinfo.rma.view.base.home.commodity.viewholder
 
 import android.annotation.SuppressLint
 import android.view.Gravity
+import android.view.View
 import android.view.inputmethod.EditorInfo
 import androidx.appcompat.app.AppCompatActivity
 import cn.muchinfo.rma.R
@@ -92,6 +93,11 @@ class SpotModelViewHolder(
             emptyView()
 
             imageView {
+                if (operationType == "4"){//页面类型为详情时则需要屏蔽相关操作
+                    visibility = View.GONE
+                }else{
+                    visibility = View.VISIBLE
+                }
                 isEnabled = !(operationType == "4" || operationType == "3" || operationType == "5")
                 onThrottleFirstClick {
                     if (type == "1"){

+ 42 - 36
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/contract/AddContractActivity.kt

@@ -192,6 +192,7 @@ class AddContractActivity : BaseActivity<ContractViewModel>() {
             viewModel.queryUserInfo()
             viewModel.queryDeliveryGoods()//进入页面查询现货品种
             viewModel.queryAccMgrLoginUser()//查询登录账号
+            viewModel.queryAccMgrTaaccount()//查询期货账户
             initData()
             topBar {
                 commonLeftButton()
@@ -669,11 +670,20 @@ class AddContractActivity : BaseActivity<ContractViewModel>() {
                             }
                         }.lparams(matchParent, autoSize(132))
 
+
+
                         viewItemUI()
 
                         linearLayout {
                             background = resources.getDrawable(R.color.white)
                             gravity = Gravity.CENTER_VERTICAL
+                            onThrottleFirstClick {
+                                creatBottomSheetDialog(
+                                    "请选择品类", viewModel.getSelectWrsandData()
+                                ) {
+                                    selectWrStandModel.postValue(this)
+                                }
+                            }
                             textView {
                                 text = "*"
                                 textColorInt = R.color.rma_star_color
@@ -683,43 +693,39 @@ class AddContractActivity : BaseActivity<ContractViewModel>() {
                             }
 
                             textView {
-                                text = "标仓系数"
+                                text = "品        类"
                                 textSizeAuto = 31
                                 textColorInt = R.color.rma_black_33
                             }.lparams(wrapContent, wrapContent) {
                                 marginStart = autoSize(10)
                             }
 
-                            editText {
-
-                                coefficientWarehouse = this
-                                if (data.convertfactor?.isNotEmpty() == true) {
-                                    coefficientWarehouse.setText(data.convertfactor.toString())
+                            textView {
+                                selectWrStandModel.bindOptional(context) {
+                                    text = it?.value
+                                    textColorInt = R.color.rma_black_33
                                 }
-                                hint = "请输入标仓系数"
-                                background = null
-                                inputType = EditorInfo.TYPE_CLASS_NUMBER
-                                setDecimalInputType()
-                                hintColorStr = "#CCCCCC"
+                                text = "请选择品类"
                                 textSizeAuto = 31
-                                textColorStr = "#333333"
-                            }.lparams(matchParent, autoSize(132)) {
+                                textColorInt = R.color.rma_hint_text_color_ccc
+                            }.lparams(wrapContent, wrapContent) {
                                 marginStart = autoSize(80)
                             }
+
+                            emptyView()
+
+                            imageView {
+                                imageResource = R.mipmap.rma_more
+                            }.lparams(autoSize(36), autoSize(36)) {
+                                marginEnd = autoSize(25)
+                            }
                         }.lparams(matchParent, autoSize(132))
 
-                        viewItemUI()
+                         viewItemUI()
 
                         linearLayout {
                             background = resources.getDrawable(R.color.white)
                             gravity = Gravity.CENTER_VERTICAL
-                            onThrottleFirstClick {
-                                creatBottomSheetDialog(
-                                    "请选择品类", viewModel.getSelectWrsandData()
-                                ) {
-                                    selectWrStandModel.postValue(this)
-                                }
-                            }
                             textView {
                                 text = "*"
                                 textColorInt = R.color.rma_star_color
@@ -729,32 +735,32 @@ class AddContractActivity : BaseActivity<ContractViewModel>() {
                             }
 
                             textView {
-                                text = "品        类"
+                                text = "标仓系数"
                                 textSizeAuto = 31
                                 textColorInt = R.color.rma_black_33
                             }.lparams(wrapContent, wrapContent) {
                                 marginStart = autoSize(10)
                             }
 
-                            textView {
+                            editText {
+                                isEnabled = false
+                                coefficientWarehouse = this
+                                if (data.convertfactor?.isNotEmpty() == true) {
+                                    coefficientWarehouse.setText(data.convertfactor.toString())
+                                }
                                 selectWrStandModel.bindOptional(context) {
-                                    text = it?.value
-                                    textColorInt = R.color.rma_black_33
+                                    setText(it?.convertfactor)
                                 }
-                                text = "请选择品类"
+                                hint = "选择品类后自动填入"
+                                background = null
+                                inputType = EditorInfo.TYPE_CLASS_NUMBER
+                                setDecimalInputType()
+                                hintColorStr = "#CCCCCC"
                                 textSizeAuto = 31
-                                textColorInt = R.color.rma_hint_text_color_ccc
-                            }.lparams(wrapContent, wrapContent) {
+                                textColorStr = "#333333"
+                            }.lparams(matchParent, autoSize(132)) {
                                 marginStart = autoSize(80)
                             }
-
-                            emptyView()
-
-                            imageView {
-                                imageResource = R.mipmap.rma_more
-                            }.lparams(autoSize(36), autoSize(36)) {
-                                marginEnd = autoSize(25)
-                            }
                         }.lparams(matchParent, autoSize(132))
 
                         viewItemUI()

+ 4 - 4
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/contract/ContractDetailsActivity.kt

@@ -135,7 +135,7 @@ class ContractDetailsActivity : BaseActivity<ContractViewModel>(){
                     gravity = Gravity.CENTER_VERTICAL
                     textView {
                         onThrottleFirstClick {
-                            viewModel.orderContract(OperateType = "4",Remark = remarskText.text.toString(),SpotContractID = data.spotcontractid ?: ""){
+                            viewModel.orderOneContract(OperateType = "4",Remark = remarskText.text.toString(),SpotContractID = data.spotcontractid ?: ""){
                                 finish()
                             }
                         }
@@ -155,7 +155,7 @@ class ContractDetailsActivity : BaseActivity<ContractViewModel>(){
 
                     textView {
                         onThrottleFirstClick {
-                            viewModel.orderContract(OperateType = "3",Remark = remarskText.text.toString(),SpotContractID = data.spotcontractid ?: ""){
+                            viewModel.orderOneContract(OperateType = "3",Remark = remarskText.text.toString(),SpotContractID = data.spotcontractid ?: ""){
                                 finish()
                             }
                         }
@@ -175,7 +175,7 @@ class ContractDetailsActivity : BaseActivity<ContractViewModel>(){
 
                     textView {
                         onThrottleFirstClick {
-                            viewModel.orderContract(OperateType = "5",Remark = remarskText.text.toString(),SpotContractID = data.spotcontractid ?: ""){
+                            viewModel.orderOneContract(OperateType = "5",Remark = remarskText.text.toString(),SpotContractID = data.spotcontractid ?: ""){
                                 finish()
                             }
                         }
@@ -195,7 +195,7 @@ class ContractDetailsActivity : BaseActivity<ContractViewModel>(){
 
                     textView {
                         onThrottleFirstClick {
-                            viewModel.orderContract(OperateType = "6",Remark = remarskText.text.toString(),SpotContractID = data.spotcontractid ?: ""){
+                            viewModel.orderOneContract(OperateType = "6",Remark = remarskText.text.toString(),SpotContractID = data.spotcontractid ?: ""){
                                 finish()
                             }
                         }

+ 28 - 1
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/contract/ContractViewModel.kt

@@ -217,7 +217,7 @@ class ContractViewModel : BaseViewModel() {
     fun getSelectWrsandData():List<SelectData>{
         val newSelectData = arrayListOf<SelectData>()
         deliveryGoodsDetailsData.value?.gmlist?.forEach {
-            newSelectData.add(SelectData(id = it.wrstandardid ?: "",value = it.wrstandardname ?: ""))
+            newSelectData.add(SelectData(id = it.wrstandardid ?: "",value = it.wrstandardname ?: "", convertfactor = it.convertfactor ?: ""))
         }
         return newSelectData
     }
@@ -457,5 +457,32 @@ class ContractViewModel : BaseViewModel() {
         }
     }
 
+    /**
+     * 合同操作申请
+     * @param contractInfo SpotContractInfo 参数
+     * @param OperateType String 操作类型 操作类型-1:保存草稿2:提交申请3:审核通过4:审核拒绝5:撤回6:正常完结7:异常终止
+     * @param Remark String 备注
+     * @param SpotContractID String  现货合同ID(602+Unix秒时间戳(10位)+xxxxxx)(修改时传入)
+     */
+    fun orderOneContract(
+        contractInfo: SpotContractInfo = SpotContractInfo(),
+        OperateType: String,
+        Remark: String = "",
+        SpotContractID: String = "",
+        isSuccess: (isCompleted: Boolean) -> Unit
+    ) {
+        loadingDialogStatus.value = TaskUiModel.inFlight()
+        GlobalScope.launch {
+            MyApplication.getInstance()?.contractManager?.orderOneContract(contractInfo = contractInfo,OperateType = OperateType,Remark = Remark,SpotContractID = SpotContractID){isCompleted, err ->
+                if (isCompleted){
+                    loadingDialogStatus.postValue(TaskUiModel.success(msg = "请求成功"))
+                    isSuccess(true)
+                }else{
+                    loadingDialogStatus.postValue(TaskUiModel.failed(InteractiveException(errorMessage = err?.message!!)))
+                }
+            }
+        }
+    }
+
 
 }

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

@@ -208,7 +208,7 @@ class HedgeDetailsActivity : BaseActivity<HedgePlanViewModel>() {
                     gravity = Gravity.CENTER_VERTICAL
                     textView {
                         onThrottleFirstClick {
-                            viewModel.orderHedge(
+                            viewModel.orderOneHedge(
                                 hedgePlanID = data.hedgeplanid?.toLong() ?: 0,
                                 operateType = 4,
                                 remark = audit_opinion_edittext.text.toString()
@@ -232,7 +232,7 @@ class HedgeDetailsActivity : BaseActivity<HedgePlanViewModel>() {
 
                     textView {
                         onThrottleFirstClick {
-                            viewModel.orderHedge(
+                            viewModel.orderOneHedge(
                                 hedgePlanID = data.hedgeplanid?.toLong() ?: 0,
                                 operateType = 3,
                                 remark = audit_opinion_edittext.text.toString()
@@ -257,7 +257,7 @@ class HedgeDetailsActivity : BaseActivity<HedgePlanViewModel>() {
                     textView {
 
                         onThrottleFirstClick {
-                            viewModel.orderHedge(
+                            viewModel.orderOneHedge(
                                 hedgePlanID = data.hedgeplanid?.toLong() ?: 0,
                                 operateType = 5,
                                 remark = audit_opinion_edittext.text.toString()

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

@@ -213,5 +213,34 @@ class HedgePlanViewModel : BaseViewModel() {
         }
     }
 
+    /**
+     * 服务端接口用于新增外的请求
+     * @param hedgePlanData HedgePlanInfo 套保计划信息资料
+     * @param hedgePlanID Long 套保计划id
+     * @param operateType Int 操作类型-1:保存草稿2:提交申请3:审核通过4:审核拒绝5:撤回
+     * @param remark String 备注
+     * @param isSuccess [@kotlin.ExtensionFunctionType] Function1<Boolean, Unit>?
+     */
+    fun orderOneHedge(
+        hedgePlanData: HedgePlanInfo = HedgePlanInfo(),
+        hedgePlanID: Long = 0,
+        operateType: Int = 0,
+        remark: String = "",
+        isSuccess: (isCompleted: Boolean) -> Unit
+    ) {
+        loadingDialogStatus.value = TaskUiModel.inFlight()
+        GlobalScope.launch {
+            MyApplication.getInstance()?.hedgeManager?.orderOneHedge(hedgePlanData = hedgePlanData,hedgePlanID = hedgePlanID,operateType = operateType,remark = remark){isCompleted, err ->
+                if (isCompleted){
+                    ToastUtils.showLong("请求成功")
+                    loadingDialogStatus.postValue(TaskUiModel.success(msg = "请求成功"))
+                    isSuccess(true)
+                }else{
+                    loadingDialogStatus.postValue(TaskUiModel.failed(InteractiveException(errorMessage = err?.message!!)))
+                }
+            }
+        }
+    }
+
 
 }

+ 3 - 2
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/inventory/inventorymanager/AddInventoryActivity.kt

@@ -7,6 +7,7 @@ import android.view.inputmethod.EditorInfo
 import android.widget.EditText
 import androidx.lifecycle.MutableLiveData
 import cn.muchinfo.rma.R
+import cn.muchinfo.rma.global.data.DeliveryGoodsDetailData
 import cn.muchinfo.rma.global.data.WrStandardDetail
 import cn.muchinfo.rma.lifecycle.bindOptional
 import cn.muchinfo.rma.view.autoWidget.*
@@ -177,7 +178,7 @@ class AddInventoryActivity : BaseActivity<InventoryManagerViewModel>() {
                         "请选择品类",
                         viewModel.selectWrStandardModel(
                             viewModel.wrStandardDataDetail.value
-                                ?: WrStandardDetail()
+                                ?: DeliveryGoodsDetailData()
                         )
                     ) {
                         selectWrStandModel.postValue(this)
@@ -230,7 +231,7 @@ class AddInventoryActivity : BaseActivity<InventoryManagerViewModel>() {
                         "请选择品牌",
                         viewModel.selectWrStandardBrand(
                             viewModel.wrStandardDataDetail.value
-                                ?: WrStandardDetail()
+                                ?: DeliveryGoodsDetailData()
                         )
                     ) {
                         selectWrStandBrand.postValue(this)

+ 20 - 20
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/inventory/inventorymanager/InventoryManagerViewModel.kt

@@ -58,12 +58,12 @@ class InventoryManagerViewModel : BaseViewModel() {
     /**
      * 现货品种列表
      */
-    val wrStandardDataList: MutableLiveData<List<WrStandardData>> = MutableLiveData()
+    val wrStandardDataList: MutableLiveData<List<DeliveryGoodsData>> = MutableLiveData()
 
     /**
      * 现货品种详情
      */
-    val wrStandardDataDetail: MutableLiveData<WrStandardDetail> = MutableLiveData()
+    val wrStandardDataDetail: MutableLiveData<DeliveryGoodsDetailData> = MutableLiveData()
 
     /**
      * 仓库信息的正常列表
@@ -328,28 +328,29 @@ class InventoryManagerViewModel : BaseViewModel() {
      */
     fun queryWrStandardList() {
         val params = mutableMapOf<String, String>().apply {
-            put("userid", GlobalDataCollection.instance?.loginRsp?.userID.toString())
-            put("status", "1")
+            put("areauserid", GlobalDataCollection.instance?.loginRsp?.userID.toString())
         }
-        MyApplication.getInstance()?.commodityManager?.queryWrStandard(params) { isSuccess, respData, error ->
+        MyApplication.getInstance()?.commodityManager?.queryDeliveryGoods(params) { isSuccess, respData, error ->
             if (isSuccess) {
                 wrStandardDataList.postValue(respData)
             }
         }
     }
 
+
+
     /**
      * 根据选择控件进行数据重新组装(现货品种列表)
      * @param dataList List<UserInfoData>
      * @return ArrayList<SelectData>
      */
-    fun selectSpotVarietiesList(dataList: List<WrStandardData>): ArrayList<SelectData> {
+    fun selectSpotVarietiesList(dataList: List<DeliveryGoodsData>): ArrayList<SelectData> {
         val newSpotVarietiesList = arrayListOf<SelectData>()
         dataList.forEach {
             newSpotVarietiesList.add(
                 SelectData(
-                    id = it.wrstandardid ?: "",
-                    value = it.wrstandardname ?: "",
+                    id = it.deliverygoodsid ?: "",
+                    value = it.deliverygoodsname ?: "",
                     deliverygoodsid = it.deliverygoodsid ?: "",
                     enumdicname = it.enumdicname ?: ""
                 )
@@ -362,13 +363,12 @@ class InventoryManagerViewModel : BaseViewModel() {
      * 用来请求选择现货品种后的型号和品牌信息
      * @param wrstandardid String
      */
-    fun queryWrStandardDetail(wrstandardid: String) {
+    fun queryWrStandardDetail(deliverygoodsid: String) {
         val params = mutableMapOf<String, String>().apply {
-            put("userid", GlobalDataCollection.instance?.loginRsp?.userID.toString())
-            put("wrstandardid", wrstandardid)
+            put("areauserid", GlobalDataCollection.instance?.loginRsp?.userID.toString())
+            put("deliverygoodsid",deliverygoodsid)
         }
-
-        MyApplication.getInstance()?.commodityManager?.queryWrStandardDetail(params) { isSuccess, respData, _ ->
+        MyApplication.getInstance()?.commodityManager?.queryDeliveryGoodsDetail(params) { isSuccess, respData, error ->
             if (isSuccess) {
                 wrStandardDataDetail.postValue(respData?.get(0))
             }
@@ -376,14 +376,14 @@ class InventoryManagerViewModel : BaseViewModel() {
     }
 
     /**
-     * 根据选择控件进行数据重新组装(型号)
+     * 根据选择控件进行数据重新组装(型号) 品类
      * @param data WrStandardDetail
      * @return ArrayList<SelectData>
      */
-    fun selectWrStandardModel(data: WrStandardDetail): ArrayList<SelectData> {
+    fun selectWrStandardModel(data: DeliveryGoodsDetailData): ArrayList<SelectData> {
         val wrstandardModel = arrayListOf<SelectData>()
-        data.gtList.forEach {
-            wrstandardModel.add(SelectData(id = it.modelid, value = it.modelname))
+        data.gmlist?.forEach {
+            wrstandardModel.add(SelectData(id = it.wrstandardid ?: "", value = it.wrstandardname ?: ""))
         }
         return wrstandardModel
     }
@@ -393,10 +393,10 @@ class InventoryManagerViewModel : BaseViewModel() {
      * @param data WrStandardDetail
      * @return ArrayList<SelectData>
      */
-    fun selectWrStandardBrand(data: WrStandardDetail): ArrayList<SelectData> {
+    fun selectWrStandardBrand(data: DeliveryGoodsDetailData): ArrayList<SelectData> {
         val wrstandardBrand = arrayListOf<SelectData>()
-        data.gbList.forEach {
-            wrstandardBrand.add(SelectData(id = it.brandid, value = it.brandname))
+        data.gblist?.forEach {
+            wrstandardBrand.add(SelectData(id = it.brandid ?: "", value = it.brandname ?: ""))
         }
         return wrstandardBrand
     }

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

@@ -621,10 +621,10 @@ class InvoiceRegistrationActivity : BaseActivity<RegistrationViewModel>() {
      * 获取合同操作info
      * @return ErmcpMI1.ContractOperateApplyInfo
      */
-    private fun getPerationContractInfo(): ManageServiceMI2.ContractOperateApplyInfo {
+    private fun getPerationContractInfo(): ErmcpMI1.ContractOperateApplyInfo {
         val json = JSONObject()
         json.put("InvoiceAmount",amount_edittext.text.toString().toDouble())
-        val contractInfobuilder = ManageServiceMI2.ContractOperateApplyInfo.newBuilder()
+        val contractInfobuilder = ErmcpMI1.ContractOperateApplyInfo.newBuilder()
 
         contractInfobuilder.relatedID = data.spotcontractid?.toLong() ?: 0// 现货合同ID
         contractInfobuilder.operateApplyType = 4//款项

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

@@ -593,11 +593,11 @@ class MidpointsRegistrationActivity : BaseActivity<RegistrationViewModel>() {
      * @param qty String 数量   价格和数量都要用double类型,否则会报错
      * @return ErmcpMI1.ContractOperateApplyInfo
      */
-    private fun getPerationContractInfo(price : String,qty : String) : ManageServiceMI2.ContractOperateApplyInfo {
+    private fun getPerationContractInfo(price : String,qty : String) : ErmcpMI1.ContractOperateApplyInfo {
         val json = JSONObject()
         json.put("PricedPrice",price.toDouble())
         json.put("PricedQty",qty.toDouble())
-        val contractInfobuilder = ManageServiceMI2.ContractOperateApplyInfo.newBuilder()
+        val contractInfobuilder = ErmcpMI1.ContractOperateApplyInfo.newBuilder()
         contractInfobuilder.relatedID = data.spotcontractid?.toLong() ?: 0
         contractInfobuilder.operateApplyType = 1
         contractInfobuilder.detailJson = ByteString.copyFrom(json.toString().toByteArray())

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

@@ -673,14 +673,14 @@ class PaymentRegistrationActivity : BaseActivity<RegistrationViewModel>() {
      * 获取合同操作info
      * @return ErmcpMI1.ContractOperateApplyInfo
      */
-    private fun getPerationContractInfo(): ManageServiceMI2.ContractOperateApplyInfo {
+    private fun getPerationContractInfo(): ErmcpMI1.ContractOperateApplyInfo {
         val json = JSONObject()
         if (pay_checkbox.isChecked){
             json.put("PayAmount",registration_amount_edittext.text.toString().toDouble())
         }else if (refund_checkbox.isChecked){
             json.put("DeductAmount",registration_amount_edittext.text.toString().toDouble())
         }
-        val contractInfobuilder = ManageServiceMI2.ContractOperateApplyInfo.newBuilder()
+        val contractInfobuilder = ErmcpMI1.ContractOperateApplyInfo.newBuilder()
 
         contractInfobuilder.relatedID = data.spotcontractid?.toLong() ?: 0// 现货合同ID
         contractInfobuilder.operateApplyType = 3//款项

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

@@ -50,7 +50,7 @@ class RegistrationViewModel : BaseViewModel(){
      * @param isSuccess Function1<[@kotlin.ParameterName] Boolean, Unit>
      */
     fun orderPerationContract(
-        info: ManageServiceMI2.ContractOperateApplyInfo,
+        info: ErmcpMI1.ContractOperateApplyInfo,
         operateType: Int = 0,
         remark: String = "",
         isSuccess: (isCompleted: Boolean) -> Unit

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

@@ -913,7 +913,7 @@ class SettlementRegistrationActivity : BaseActivity<RegistrationViewModel>() {
      * 获取合同操作info
      * @return ErmcpMI1.ContractOperateApplyInfo
      */
-    private fun getPerationContractInfo(): ManageServiceMI2.ContractOperateApplyInfo {
+    private fun getPerationContractInfo(): ErmcpMI1.ContractOperateApplyInfo {
         val json = JSONObject()
         if (determine_edittext.text.toString().isNotEmpty()) {
             json.put("ReckonRealQty", determine_edittext.text.toString().toDouble())
@@ -936,7 +936,7 @@ class SettlementRegistrationActivity : BaseActivity<RegistrationViewModel>() {
             }
 
         }
-        val contractInfobuilder = ManageServiceMI2.ContractOperateApplyInfo.newBuilder()
+        val contractInfobuilder = ErmcpMI1.ContractOperateApplyInfo.newBuilder()
 
         contractInfobuilder.relatedID = data.spotcontractid?.toLong() ?: 0// 现货合同ID
         contractInfobuilder.operateApplyType = 2//交收

+ 90 - 88
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/warehouse/AddWareHouseInformationActivity.kt

@@ -1,3 +1,5 @@
+@file:Suppress("DEPRECATION")
+
 package cn.muchinfo.rma.view.base.home.warehouse
 
 import android.os.Bundle
@@ -41,7 +43,7 @@ class AddWareHouseInformationActivity : BaseActivity<WarehouseInformationViewMod
     /**
      * 是通过哪个列表来的 1 是正常列表 2 是停用列表
      */
-    val isFrom by lazy {
+    private val isFrom by lazy {
         intent.getStringExtra("isFrom")
     }
 
@@ -52,27 +54,27 @@ class AddWareHouseInformationActivity : BaseActivity<WarehouseInformationViewMod
     /**
      * 仓库简称
      */
-    lateinit var warehouse_referred: EditText
+    private lateinit var warehouse_referred: EditText
 
     /**
      * 仓库名称
      */
-    lateinit var warehouse_name: EditText
+    private lateinit var warehouse_name: EditText
 
     /**
      * 联系人
      */
-    lateinit var contact_edittext: EditText
+    private lateinit var contact_edittext: EditText
 
     /**
      * 联系电话
      */
-    lateinit var contact_phone: EditText
+    private lateinit var contact_phone: EditText
 
     /**
      * 详细地址
      */
-    lateinit var detailed_address: EditText
+    private lateinit var detailed_address: EditText
 
     /** 选择的仓库类型 warehouseinfoType **/
     val selectWareHouseType: MutableLiveData<SelectData> = MutableLiveData()
@@ -89,10 +91,10 @@ class AddWareHouseInformationActivity : BaseActivity<WarehouseInformationViewMod
     private fun showAddress() {
         addressDialog = AddressDialog(this, R.style.style_dialog)
         addressDialog?.setListener {
-            mData.postValue(addressDialog?.getIdList()!!)
+            mData.postValue(addressDialog?.idList!!)
         }
         addressDialog?.show()
-        val dialogWindow: Window? = addressDialog!!.getWindow()
+        val dialogWindow: Window? = addressDialog!!.window
         val lp = dialogWindow?.attributes
         lp?.width = ScreenUtils.getScreenWidth()
         lp?.height = ScreenUtils.getScreenHeight() * 2 / 3
@@ -201,6 +203,11 @@ class AddWareHouseInformationActivity : BaseActivity<WarehouseInformationViewMod
                             gravity = Gravity.CENTER_VERTICAL
 
                             textView {
+                                visibility = if (type == "4"){
+                                    View.INVISIBLE
+                                }else{
+                                    View.VISIBLE
+                                }
                                 text = "*"
                                 textColorInt = R.color.rma_star_color
                                 textSizeAuto = 31
@@ -219,11 +226,7 @@ class AddWareHouseInformationActivity : BaseActivity<WarehouseInformationViewMod
                                 if (type != "1"){
                                     setText(data.warehousecode)
                                 }
-                                if (type == "1" || type  == "5"){
-                                    isEnabled = true
-                                }else{
-                                    isEnabled = false
-                                }
+                                isEnabled = type == "1" || type  == "5"
                                 warehouse_referred = this
                                 hint = "请输入仓库简称"
                                 background = null
@@ -251,6 +254,11 @@ class AddWareHouseInformationActivity : BaseActivity<WarehouseInformationViewMod
                                 }
                             }
                             textView {
+                                visibility = if (type == "4"){
+                                    View.INVISIBLE
+                                }else{
+                                    View.VISIBLE
+                                }
                                 text = "*"
                                 textColorInt = R.color.rma_star_color
                                 textSizeAuto = 31
@@ -281,10 +289,10 @@ class AddWareHouseInformationActivity : BaseActivity<WarehouseInformationViewMod
                             emptyView()
 
                             imageView {
-                                if (type == "1" || type == "5") {
-                                    visibility = View.VISIBLE
+                                visibility = if (type == "1" || type == "5") {
+                                    View.VISIBLE
                                 } else {
-                                    visibility = View.GONE
+                                    View.GONE
                                 }
                                 imageResource = R.mipmap.rma_more
                             }.lparams(autoSize(36), autoSize(36)) {
@@ -299,6 +307,11 @@ class AddWareHouseInformationActivity : BaseActivity<WarehouseInformationViewMod
                             gravity = Gravity.CENTER_VERTICAL
 
                             textView {
+                                visibility = if (type == "4"){
+                                    View.INVISIBLE
+                                }else{
+                                    View.VISIBLE
+                                }
                                 text = "*"
                                 textColorInt = R.color.rma_star_color
                                 textSizeAuto = 31
@@ -317,11 +330,7 @@ class AddWareHouseInformationActivity : BaseActivity<WarehouseInformationViewMod
                                 if (type != "1"){
                                     setText(data.warehousename)
                                 }
-                                if (type == "1" || type  == "5"){
-                                    isEnabled = true
-                                }else{
-                                    isEnabled = false
-                                }
+                                isEnabled = type == "1" || type  == "5"
                                 warehouse_name = this
                                 hint = "请输入仓库名称"
                                 background = null
@@ -360,11 +369,7 @@ class AddWareHouseInformationActivity : BaseActivity<WarehouseInformationViewMod
                                 if (type != "1"){
                                     setText(data.contactname?.isBlankString())
                                 }
-                                if (type == "1" || type  == "5"){
-                                    isEnabled = true
-                                }else{
-                                    isEnabled = false
-                                }
+                                isEnabled = type == "1" || type  == "5"
                                 contact_edittext = this
                                 hint = "请输入联系人"
                                 background = null
@@ -403,11 +408,7 @@ class AddWareHouseInformationActivity : BaseActivity<WarehouseInformationViewMod
                                 if (type != "1"){
                                     setText(data.contactnum?.isBlankString())
                                 }
-                                if (type == "1" || type  == "5"){
-                                    isEnabled = true
-                                }else{
-                                    isEnabled = false
-                                }
+                                isEnabled = type == "1" || type  == "5"
                                 contact_phone = this
                                 hint = "请输入联系电话"
                                 background = null
@@ -487,10 +488,10 @@ class AddWareHouseInformationActivity : BaseActivity<WarehouseInformationViewMod
                             emptyView()
 
                             imageView {
-                                if (type == "1" || type == "5"){
-                                    visibility = View.VISIBLE
+                                visibility = if (type == "1" || type == "5"){
+                                    View.VISIBLE
                                 }else{
-                                    visibility = View.GONE
+                                    View.GONE
                                 }
                                 imageResource = R.mipmap.rma_more
                             }.lparams(autoSize(36), autoSize(36)) {
@@ -524,11 +525,7 @@ class AddWareHouseInformationActivity : BaseActivity<WarehouseInformationViewMod
                                 if (type != "1"){
                                     setText(data.address?.isBlankString())
                                 }
-                                if (type == "1" || type  == "5"){
-                                    isEnabled = true
-                                }else{
-                                    isEnabled = false
-                                }
+                                isEnabled = type == "1" || type  == "5"
                                 detailed_address = this
                                 hint = "请输入详细地址"
                                 background = null
@@ -558,58 +555,63 @@ class AddWareHouseInformationActivity : BaseActivity<WarehouseInformationViewMod
                         if (checkUpdate().not()) {
                             return@onThrottleFirstClick
                         }
-                        var provinceid: Long = 0L
-                        var cityid: Long = 0L
-                        var districtid: Int = 0
+                        var provinceid = 0L
+                        var cityid = 0L
+                        var districtid = 0
                         if (mData.value.isNullOrEmpty().not()) {
                             provinceid = mData.value?.get(0)?.autoid?.toLong() ?: 0L
                             cityid = mData.value?.get(1)?.autoid?.toLong() ?: 0L
                             districtid = mData.value?.get(2)?.autoid?.toInt() ?: 0
                         }
-                        if (type == "1") {//新增
-                            viewModel.warehouseApply(
-                                type = 1,
-                                warehousetype = selectWareHouseType.value?.id?.toInt() ?: 0,
-                                warehousecode = warehouse_referred.text.toString(),
-                                warehousename = warehouse_name.text.toString(),
-                                provinceid = provinceid,
-                                cityid = cityid,
-                                districtid = districtid,
-                                address = detailed_address.text.toString(),
-                                contactname = contact_edittext.text.toString(),
-                                contactnum = contact_phone.text.toString()
-                            ) {
-                                finish()
-                            }
-                        }else if (type == "5"){//修改
-                             viewModel.warehouseApply(
-                                type = 2,
-                                 warehouseid = data.autoid?.toLong() ?: 0,
-                                warehousetype = selectWareHouseType.value?.id?.toInt() ?: 0,
-                                warehousecode = warehouse_referred.text.toString(),
-                                warehousename = warehouse_name.text.toString(),
-                                provinceid = provinceid,
-                                cityid = cityid,
-                                districtid = districtid,
-                                address = detailed_address.text.toString(),
-                                contactname = contact_edittext.text.toString(),
-                                contactnum = contact_phone.text.toString()
-                            ) {
-                                finish()
-                            }
-                        }else if (type == "2"){//停用
-                            viewModel.warehouseStateChange(
-                                warehouseid = data.autoid?.toLong() ?: 0,
-                                warehousestatus = 2
-                            ){
-                                finish()
-                            }
-                        }else if (type == "3"){//恢复
-                            viewModel.warehouseStateChange(
-                                warehouseid = data.autoid?.toLong() ?: 0,
-                                warehousestatus = 1
-                            ){
-                                finish()
+                        when (type) {
+                            "1" -> {//新增
+                                viewModel.warehouseApply(
+                                    type = 1,
+                                    warehousetype = selectWareHouseType.value?.id?.toInt() ?: 0,
+                                    warehousecode = warehouse_referred.text.toString(),
+                                    warehousename = warehouse_name.text.toString(),
+                                    provinceid = provinceid,
+                                    cityid = cityid,
+                                    districtid = districtid,
+                                    address = detailed_address.text.toString(),
+                                    contactname = contact_edittext.text.toString(),
+                                    contactnum = contact_phone.text.toString()
+                                ) {
+                                    finish()
+                                }
+                            }
+                            "5" -> {//修改
+                                viewModel.warehouseApply(
+                                    type = 2,
+                                    warehouseid = data.autoid?.toLong() ?: 0,
+                                    warehousetype = selectWareHouseType.value?.id?.toInt() ?: 0,
+                                    warehousecode = warehouse_referred.text.toString(),
+                                    warehousename = warehouse_name.text.toString(),
+                                    provinceid = provinceid,
+                                    cityid = cityid,
+                                    districtid = districtid,
+                                    address = detailed_address.text.toString(),
+                                    contactname = contact_edittext.text.toString(),
+                                    contactnum = contact_phone.text.toString()
+                                ) {
+                                    finish()
+                                }
+                            }
+                            "2" -> {//停用
+                                viewModel.warehouseStateChange(
+                                    warehouseid = data.autoid?.toLong() ?: 0,
+                                    warehousestatus = 2
+                                ){
+                                    finish()
+                                }
+                            }
+                            "3" -> {//恢复
+                                viewModel.warehouseStateChange(
+                                    warehouseid = data.autoid?.toLong() ?: 0,
+                                    warehousestatus = 1
+                                ){
+                                    finish()
+                                }
                             }
                         }
 
@@ -653,7 +655,7 @@ class AddWareHouseInformationActivity : BaseActivity<WarehouseInformationViewMod
      * @return Boolean
      */
     private fun checkUpdate(): Boolean {
-        if (warehouse_referred.text.toString().isNullOrEmpty()) {
+        if (warehouse_referred.text.toString().isEmpty()) {
             ToastUtils.showLong("请输入仓库简称")
             return false
         }
@@ -663,7 +665,7 @@ class AddWareHouseInformationActivity : BaseActivity<WarehouseInformationViewMod
             return false
         }
 
-        if (warehouse_name.text.toString().isNullOrEmpty()) {
+        if (warehouse_name.text.toString().isEmpty()) {
             ToastUtils.showLong("请输入仓库名称")
             return false
         }

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

@@ -1,3 +1,5 @@
+@file:Suppress("DEPRECATION")
+
 package cn.muchinfo.rma.view.base.home.warehouse
 
 import android.content.Intent

+ 10 - 10
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/warehouse/WarehouseInformationViewHolder.kt

@@ -6,14 +6,10 @@ import android.view.View
 import androidx.appcompat.app.AppCompatActivity
 import cn.muchinfo.rma.R
 import cn.muchinfo.rma.global.data.WarehouseInfoData
-import cn.muchinfo.rma.global.database.DataBase
 import cn.muchinfo.rma.global.isBlankString
-import cn.muchinfo.rma.global.warehousestatus
 import cn.muchinfo.rma.lifecycle.bindOptional
 import cn.muchinfo.rma.view.autoWidget.*
 import cn.muchinfo.rma.view.base.home.contract.emptyView
-import cn.muchinfo.rma.view.base.home.customerdata.AddCustomerDataActivity
-import cn.muchinfo.rma.view.base.home.customerdata.CustomerDataDetailsActivity
 import com.blankj.utilcode.util.ActivityUtils
 import mtp.polymer.com.autowidget.adapter.BaseViewHolder
 import org.jetbrains.anko.*
@@ -57,12 +53,16 @@ class WarehouseInformationViewHolder(private val activity : AppCompatActivity,pr
                     textView {
                         //仓库类型 - 1 厂库 2 自有库 3 合作库
                         data.bindOptional(context){
-                            text = if (it?.warehousetype == "1"){
-                                "厂库"
-                            }else if (it?.warehousetype == "2"){
-                                "自有库"
-                            }else{
-                                "合作库"
+                            text = when (it?.warehousetype) {
+                                "1" -> {
+                                    "厂库"
+                                }
+                                "2" -> {
+                                    "自有库"
+                                }
+                                else -> {
+                                    "合作库"
+                                }
                             }
                         }
                         textSizeAuto = 29

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

@@ -140,7 +140,7 @@ class ProcurementViewModel : BaseViewModel() {
      */
     fun queryContract(type: String,contracttype : String) {
         val params = mutableMapOf<String, String>().apply {
-            put("userId", GlobalDataCollection.instance?.loginRsp?.userID.toString())
+            put("areauserid", GlobalDataCollection.instance?.loginRsp?.userID.toString())
             put("contracttype", contracttype)
             put("querytype", type)
         }

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

@@ -99,7 +99,7 @@ class SaleViewModel : BaseViewModel(){
      */
     fun queryContract(type: String,contracttype : String) {
         val params = mutableMapOf<String, String>().apply {
-            put("userId", GlobalDataCollection.instance?.loginRsp?.userID.toString())
+            put("areauserid", GlobalDataCollection.instance?.loginRsp?.userID.toString())
             put("contracttype", contracttype)
             put("querytype", type)
         }

Some files were not shown because too many files changed in this diff