Browse Source

提交类型 修改需求
提交内容
1.添加消息模块数据库两个字段,将数据库版本提高到89
2.修改采购单详情界面内容,现还有回复接口需要调节一下
3.修改通用单据详情界面,避免一场出现
4.修改消息模块相关内容,针对审批知会消息进行第三层处理

冲突文件 版本文件、ViewUtil 取网络

Bitliker 8 years ago
parent
commit
65eae3a835
21 changed files with 312 additions and 116 deletions
  1. 3 3
      WeiChat/version.properties
  2. 2 3
      app_core/common/src/main/java/com/common/LogUtil.java
  3. 3 1
      app_core/common/src/main/java/com/core/app/Constants.java
  4. 8 3
      app_core/common/src/main/java/com/core/dao/MessageDao.java
  5. 2 2
      app_core/common/src/main/java/com/core/db/DBOpenHelper.java
  6. 24 1
      app_core/common/src/main/java/com/core/model/MessageModel.java
  7. 1 0
      app_core/common/src/main/java/com/core/net/http/ViewUtil.java
  8. 1 1
      app_core/common/src/main/java/com/core/utils/CommonUtil.java
  9. 24 0
      app_core/common/src/main/res/drawable/edit_hint_right_angle.xml
  10. 1 0
      app_modular/appmessages/src/main/AndroidManifest.xml
  11. 2 1
      app_modular/appmessages/src/main/java/com/modular/appmessages/activity/MessageWebActivity.java
  12. 53 2
      app_modular/appmessages/src/main/java/com/modular/appmessages/activity/MsgThirdWebActivity.java
  13. 18 10
      app_modular/appmessages/src/main/java/com/modular/appmessages/activity/MsgsSecondCommonActivity.java
  14. 2 0
      app_modular/appmessages/src/main/java/com/modular/appmessages/presenter/MessagePresenter.java
  15. 3 2
      app_modular/apputils/src/main/java/com/modular/apputils/activity/BaseNetActivity.java
  16. 19 4
      app_modular/appworks/src/main/java/com/uas/appworks/OA/erp/activity/CommonDocDetailsActivity.java
  17. 23 21
      app_modular/appworks/src/main/java/com/uas/appworks/OA/erp/adapter/CommonDocMainMsgAdapter.java
  18. 91 46
      app_modular/appworks/src/main/java/com/uas/appworks/OA/platform/activity/PurchaseDetailsActivity.java
  19. 25 12
      app_modular/appworks/src/main/java/com/uas/appworks/OA/platform/adapter/PurchaseDetailsAdapter.java
  20. 2 0
      app_modular/appworks/src/main/res/layout/item_ls_purchase.xml
  21. 5 4
      app_modular/appworks/src/main/res/layout/item_purchase.xml

+ 3 - 3
WeiChat/version.properties

@@ -1,5 +1,5 @@
-#Wed Jan 17 09:43:32 CST 2018
-debugName=452
+#Wed Jan 17 16:30:39 CST 2018
+debugName=472
 versionName=624
-debugCode=452
+debugCode=472
 versionCode=163

+ 2 - 3
app_core/common/src/main/java/com/common/LogUtil.java

@@ -40,9 +40,8 @@ public class LogUtil {
 	}
 
 	public static void i(String msg) {
-		if (BaseConfig.showLogAble() && msg != null && msg.length() > 0) {
-			Log.i("gongpengming", msg);
-		}
+		prinlnLongMsg("gongpengming", msg);
+
 	}
 
 	public static void i(String tag, String msg) {

+ 3 - 1
app_core/common/src/main/java/com/core/app/Constants.java

@@ -253,7 +253,9 @@ public class Constants {
             + "type varchar(20),"//类型
             + "hierarchy integer,"//类型
             + "readTime integer,"//阅读时间
-            + "isReaded integer"//阅读状态,1阅读
+            + "isReaded integer,"//阅读状态,1阅读
+            + "caller varchar(20),"//
+            + "keyValue integer"//
             + ")";
     //考勤地址表
     public static final String WORK_LOCATION = "CREATE TABLE work_location ("

+ 8 - 3
app_core/common/src/main/java/com/core/dao/MessageDao.java

@@ -263,7 +263,7 @@ public class MessageDao {
             String emcode = CommonUtil.getEmcode();
             if (StringUtil.isEmpty(master) || StringUtil.isEmpty(emcode)) return messageModels;
             db = DatabaseManager.getInstance().openDatabase();
-            String[] columns = {"id", "count", "title", "subTitle", "time", "type", "isReaded", "readTime"};
+            String[] columns = {"id", "count", "title", "subTitle", "time", "type", "isReaded", "readTime","caller","keyValue"};
 //TODO
             String selection = "hierarchy=? and master=? and emcode=?  and  isReaded!=? ";
             String[] selectArgs = {String.valueOf(0), master, emcode, String.valueOf(3)};
@@ -295,7 +295,7 @@ public class MessageDao {
             String emcode = CommonUtil.getEmcode();
             if (StringUtil.isEmpty(master) || StringUtil.isEmpty(emcode)) return messageModels;
             db = DatabaseManager.getInstance().openDatabase();
-            String[] columns = {"id", "count", "title", "subTitle", "time", "type", "isReaded", "readTime"};
+            String[] columns = {"id", "count", "title", "subTitle", "time", "type", "isReaded", "readTime","caller","keyValue"};
             Cursor c = null;
             String selection;
             if (platform) {
@@ -328,7 +328,6 @@ public class MessageDao {
         SQLiteDatabase db = null;
         long i = 0;
         try {
-            String readTime = TimeUtils.f_long_2_str(System.currentTimeMillis());
             String master = CommonUtil.getMaster();
             String emcode = CommonUtil.getEmcode();
             if (StringUtil.isEmpty(master) || StringUtil.isEmpty(emcode)) return false;
@@ -487,7 +486,11 @@ public class MessageDao {
             int isReaded = c.getInt(c.getColumnIndex("isReaded"));
             String readTime = c.getString(c.getColumnIndex("readTime"));
             int readStatus = c.getInt(c.getColumnIndex("isReaded"));
+            String caller = c.getString(c.getColumnIndex("caller"));
+            int keyValue = c.getInt(c.getColumnIndex("keyValue"));
             model = new MessageModel(id, hierarchy, count, title, subTitle, time, type, (isReaded == 1 || isReaded == 3), readStatus, readTime);
+           model.setCaller(caller);
+           model.setKeyValue(keyValue);
             messageModels.add(model);
         }
         return messageModels;
@@ -505,6 +508,8 @@ public class MessageDao {
         values.put("title", m.getTitle());
         values.put("subTitle", m.getSubTitle());
         values.put("hierarchy", m.getHierarchy());
+        values.put("caller", m.getCaller());
+        values.put("keyValue", m.getKeyValue());
         return values;
     }
 

+ 2 - 2
app_core/common/src/main/java/com/core/db/DBOpenHelper.java

@@ -13,8 +13,8 @@ import com.core.app.Constants;
  * @注释:建立数据库
  */
 public class DBOpenHelper extends SQLiteOpenHelper {
-    //TODO  上一个发布版本是87
-    private static final int DATABASE_VERSION = 88;
+    //TODO  上一个发布版本是88
+    private static final int DATABASE_VERSION = 89;
     public static String dataBaseName = "erp.db";
     public Context context;
 

+ 24 - 1
app_core/common/src/main/java/com/core/model/MessageModel.java

@@ -23,10 +23,13 @@ public class MessageModel implements Parcelable {
     private int readStatus;//阅读状态
     private String readTime;
 
+    private String caller;
+    private int keyValue;
+
     public MessageModel() {
     }
 
-    public MessageModel(int id, int hierarchy, int count,  String title, String subTitle, String time, String type, boolean isReaded, int readStatus, String readTime) {
+    public MessageModel(int id, int hierarchy, int count, String title, String subTitle, String time, String type, boolean isReaded, int readStatus, String readTime) {
         this.id = id;
         this.hierarchy = hierarchy;
         this.count = count;
@@ -51,6 +54,9 @@ public class MessageModel implements Parcelable {
         isReaded = in.readByte() != 0;
         readStatus = in.readInt();
         readTime = in.readString();
+        caller = in.readString();
+        keyValue = in.readInt();
+
     }
 
     @Override
@@ -66,6 +72,8 @@ public class MessageModel implements Parcelable {
         dest.writeByte((byte) (isReaded ? 1 : 0));
         dest.writeInt(readStatus);
         dest.writeString(readTime);
+        dest.writeString(caller);
+        dest.writeInt(keyValue);
     }
 
     @Override
@@ -153,6 +161,21 @@ public class MessageModel implements Parcelable {
         isReaded = readed;
     }
 
+    public String getCaller() {
+        return caller;
+    }
+
+    public void setCaller(String caller) {
+        this.caller = caller;
+    }
+
+    public int getKeyValue() {
+        return keyValue;
+    }
+
+    public void setKeyValue(int keyValue) {
+        this.keyValue = keyValue;
+    }
 
     /**
      * 1crm/CRM提醒

+ 1 - 0
app_core/common/src/main/java/com/core/net/http/ViewUtil.java

@@ -1046,6 +1046,7 @@ public class ViewUtil {
                                     String password) {
         mdProcessDialog.setContent(MyApplication.getInstance().getString(R.string.login_progress_erp));
         url = url + "mobile/login.action";
+//        url = CommonUtil.getAppBaseUrl(MyApplication.getInstance()) + "mobile/login.action";
         Map<String, String> params = new HashMap<String, String>();
         params.put("username", username);
         params.put("password", password);

+ 1 - 1
app_core/common/src/main/java/com/core/utils/CommonUtil.java

@@ -101,7 +101,7 @@ public class CommonUtil {
         }
         String baseUrl = getSharedPreferences(ct, "erp_baseurl");
 //        if (BaseConfig.isDebug()){
-//            baseUrl="http://192.168.253.203:8090/ERP/";
+//            baseUrl="http://192.168.253.97:8080/ERP/";
 //        }
 //        baseUrl="http://192.168.253.203:8090/ERP/
 

+ 24 - 0
app_core/common/src/main/res/drawable/edit_hint_right_angle.xml

@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_focused="true">
+        <shape>
+            <solid android:color="@color/base_bg"/>
+            <stroke android:width="0.6dp" android:color="@color/item_line"/>
+            <padding android:bottom="0.5dp" android:left="0.5dp" android:right="0.5dp" android:top="0.5dp"/>
+        </shape>
+    </item>
+    <item android:state_pressed="true">
+        <shape>
+            <solid android:color="@color/base_bg"/>
+            <stroke android:width="0.6dp" android:color="@color/item_line"/>
+            <padding android:bottom="0.5dp" android:left="0.5dp" android:right="0.5dp" android:top="0.5dp"/>
+        </shape>
+    </item>
+    <item>
+        <shape>
+            <solid android:color="@color/base_bg"/>
+            <stroke android:width="0.6dp" android:color="@color/item_line"/>
+            <padding android:bottom="0.5dp" android:left="0.5dp" android:right="0.5dp" android:top="0.5dp"/>
+        </shape>
+    </item>
+</selector>

+ 1 - 0
app_modular/appmessages/src/main/AndroidManifest.xml

@@ -8,6 +8,7 @@
         android:supportsRtl="true">
         <activity android:name=".activity.MsgsSecondCommonActivity" />
         <activity android:name=".activity.PlatMsgThirdActivity" />
+        <activity android:name=".activity.MsgThirdWebActivity" />
         <activity android:name=".activity.ProcessB2BActivity">
             <intent-filter>
                 <action android:name="com.modular.work.ProcessB2BActivity" />

+ 2 - 1
app_modular/appmessages/src/main/java/com/modular/appmessages/activity/MessageWebActivity.java

@@ -11,6 +11,8 @@ import android.view.MenuItem;
 import android.view.View;
 import android.webkit.CookieManager;
 import android.webkit.CookieSyncManager;
+import android.webkit.JsPromptResult;
+import android.webkit.JsResult;
 import android.webkit.SslErrorHandler;
 import android.webkit.WebChromeClient;
 import android.webkit.WebResourceRequest;
@@ -132,7 +134,6 @@ public class MessageWebActivity extends BaseActivity {
                 }
                 super.onProgressChanged(view, newProgress);
             }
-
         };
     }
     protected WebViewClient getWebViewClient() {

+ 53 - 2
app_modular/appmessages/src/main/java/com/modular/appmessages/activity/MsgThirdWebActivity.java

@@ -1,9 +1,17 @@
 package com.modular.appmessages.activity;
 
+import android.content.Intent;
 import android.os.Build;
+import android.view.View;
+import android.webkit.JsPromptResult;
+import android.webkit.JsResult;
 import android.webkit.ValueCallback;
+import android.webkit.WebChromeClient;
+import android.webkit.WebView;
+import android.webkit.WebViewClient;
 
 import com.common.LogUtil;
+import com.uas.appworks.OA.erp.activity.CommonDocDetailsActivity;
 
 /**
  * Created by Bitlike on 2018/1/16.
@@ -19,11 +27,54 @@ public class MsgThirdWebActivity extends MessageWebActivity {
             webViewRefresh.evaluateJavascript("javascript:openUrl()", new ValueCallback<String>() {
                 @Override
                 public void onReceiveValue(String value) {
-                    LogUtil.i("onReceiveValue   value="+value);
+                    LogUtil.i("onReceiveValue   value=" + value);
                 }
             });
-        }else{
+        } else {
 
         }
     }
+
+
+    @Override
+    protected WebChromeClient getWebChromeClient() {
+        return new WebChromeClient() {
+            @Override
+            public void onProgressChanged(WebView view, int newProgress) {
+                progressBar.setProgress(newProgress);
+                if (newProgress == 100) {
+                    progressBar.setProgress(newProgress);
+                    progressBar.setVisibility(View.GONE);
+                }
+                super.onProgressChanged(view, newProgress);
+            }
+
+            @Override
+            public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
+                LogUtil.i("onJsAlert url=" + url);
+                LogUtil.i("onJsAlert message=" + message);
+                LogUtil.i("onJsAlert result=" + result.toString());
+                Intent intent = getIntent();
+                if (intent != null  ) {
+                    String caller = intent.getStringExtra("caller");
+                    int keyValue = intent.getIntExtra("keyValue", 0);
+                    LogUtil.i("onJsAlert caller=" + caller);
+                    LogUtil.i("onJsAlert keyValue=" + keyValue);
+                    startActivity(caller, keyValue);
+                }
+                result.cancel();
+                return true;
+            }
+        };
+    }
+
+
+    private void startActivity(String caller, int keyValue) {
+        startActivity(new Intent(ct, CommonDocDetailsActivity.class)
+                .putExtra("caller", caller)
+                .putExtra("keyValue", keyValue)
+                .putExtra("device", true)
+                .putExtra("message", true)
+                .putExtra("status", "已审批"));
+    }
 }

+ 18 - 10
app_modular/appmessages/src/main/java/com/modular/appmessages/activity/MsgsSecondCommonActivity.java

@@ -382,6 +382,7 @@ public class MsgsSecondCommonActivity extends BaseActivity implements View.OnCli
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                 mPosition = (int) parent.getItemIdAtPosition(position);
                 msg_id = msgModel.get(mPosition).getId();
+                MessageModel model = msgModel.get(mPosition);
 //                ToastMessage("点击position = " + mPosition + "," + " msg_id = " + msg_id);
                 if (platform) {
                     Log.i("msg_title,msg_context", msg_title + "," + Html.fromHtml(msgModel.get(mPosition).getSubTitle()));
@@ -399,7 +400,7 @@ public class MsgsSecondCommonActivity extends BaseActivity implements View.OnCli
                         MessageDao.getInstance().upStatusByType("kpi", true);// 考勤消息进入第二层后全部标为已读
                         msgAdapter.notifyDataSetChanged();
                     } else {
-                        doClickEvent(mPosition, msg_id);
+                        doClickEvent(mPosition, model);
                     }
                 }
 
@@ -438,16 +439,23 @@ public class MsgsSecondCommonActivity extends BaseActivity implements View.OnCli
     }
 
 
-    private void doClickEvent(int mPosition, int msg_id) {
-        baseUrl = CommonUtil.getSharedPreferences(mContext, "erp_baseurl");
-        String url = baseUrl + "mobile/message/getDetail.action";
-//        IntentUtils.linkCommonWeb(ct,url + "?id=" + msg_id,msg_title,"","",false,true);
-
-        Intent intent_web = new Intent("com.modular.main.WebViewCommActivity");
-        intent_web.putExtra("url", url + "?id=" + msg_id);
-        intent_web.putExtra("title", msg_title);
-        intent_web.putExtra("cookie", true);
+    private void doClickEvent(int mPosition, MessageModel model ) {
+        baseUrl = CommonUtil.getAppBaseUrl(ct);
+        String url = baseUrl + "mobile/message/getDetail.action?id=" + model.getId();
+        Intent intent_web = new Intent(ct,MsgThirdWebActivity.class);
+        intent_web.putExtra(IntentUtils.KEY_URL, url);
+        intent_web.putExtra(IntentUtils.KEY_TITLE, msg_title);
+        intent_web.putExtra(IntentUtils.KEY_NEER_COOKIE, true);
+        intent_web.putExtra(IntentUtils.KEY_NEER_SHARE, false);
+        intent_web.putExtra(IntentUtils.KEY_SHARE_IMAGE, "");
+        intent_web.putExtra(IntentUtils.KEY_SHARE_CONTENT, "");
+        intent_web.putExtra("caller",model.getCaller());
+        intent_web.putExtra("keyValue",model.getKeyValue());
         startActivityForResult(intent_web, MSG_MARKED_READED);
+//        intent_web.putExtra("url", url + "?id=" + msg_id);
+//        intent_web.putExtra("title", msg_title);
+//        intent_web.putExtra("cookie", true);
+//        startActivityForResult(intent_web, MSG_MARKED_READED);
 
         Log.d("322msg_id", msg_id + ":" + url);
         msgModel.get(mPosition).setReaded(true);

+ 2 - 0
app_modular/appmessages/src/main/java/com/modular/appmessages/presenter/MessagePresenter.java

@@ -624,6 +624,8 @@ public class MessagePresenter implements OnHttpResultListener {
                     detailModel.setTime(DateFormatUtil.long2Str(JSONUtil.getTime(detail, "createTime"), "yyyy-MM-dd HH:mm"));
                     detailModel.setType(type);
                     detailModel.setHierarchy(1);
+                    detailModel.setCaller(JSONUtil.getText(detail,"caller"));
+                    detailModel.setKeyValue(JSONUtil.getInt(detail,"keyValue"));
                     detailModels.add(detailModel);
                 }
             }

+ 3 - 2
app_modular/apputils/src/main/java/com/modular/apputils/activity/BaseNetActivity.java

@@ -39,7 +39,7 @@ import java.util.Locale;
 public abstract class BaseNetActivity extends ActionBackActivity {
     protected Activity ct;
     private CustomProgressDialog progressDialog;
-    private HttpClient httpClient;
+    protected HttpClient httpClient;
 
     @Override
     protected void onResume() {
@@ -97,6 +97,7 @@ public abstract class BaseNetActivity extends ActionBackActivity {
 
     private void initHttpConfig() {
         String baseUrl = getBaseUrl();
+        LogUtil.i("baseUrl="+baseUrl);
         if (!StringUtil.isEmpty(baseUrl)) {
             httpClient = new HttpClient.Builder(baseUrl).isDebug(true)
                     .connectTimeout(5000)
@@ -113,7 +114,7 @@ public abstract class BaseNetActivity extends ActionBackActivity {
                     .addHeaders(parameter.getHeaders())
                     .method(parameter.getMode())
                     .url(parameter.getUrl())
-                    .isDebug(false);
+                    .isDebug(true);
             if (parameter.autoProgress()) {
                 showProgress();
             }

+ 19 - 4
app_modular/appworks/src/main/java/com/uas/appworks/OA/erp/activity/CommonDocDetailsActivity.java

@@ -28,6 +28,7 @@ import com.common.LogUtil;
 import com.common.data.JSONUtil;
 import com.common.data.ListUtils;
 import com.common.data.StringUtil;
+import com.common.data.TextUtil;
 import com.common.system.ActivityUtils;
 import com.core.api.wxapi.ApiPlatform;
 import com.core.api.wxapi.ApiUtils;
@@ -141,11 +142,13 @@ public class CommonDocDetailsActivity extends BaseActivity {
     }
 
     private boolean device;
+    private boolean message;
 
     public void initView() {
         Intent intent = getIntent();
         if (intent != null) {
             device = intent.getBooleanExtra("device", false);
+            message = intent.getBooleanExtra("message", false);
         }
 
         platform = ApiUtils.getApiModel() instanceof ApiPlatform;
@@ -313,7 +316,9 @@ public class CommonDocDetailsActivity extends BaseActivity {
             finish();
         }
         if (item.getItemId() == android.R.id.home) {
-            if (device) {
+            if (message) {
+                endMessage();
+            } else if (device) {
                 endDevice();
             } else {
                 if (ActivityUtils.isExsitMianActivity(mContext, FormListSelectActivity.class)) {
@@ -584,8 +589,12 @@ public class CommonDocDetailsActivity extends BaseActivity {
                 }
             }
         } catch (JSONException e) {
+            if (e != null)
+                LogUtil.i("JSONException =" + e.getMessage());
             e.printStackTrace();
         } catch (Exception e) {
+            if (e != null)
+                LogUtil.i("Exception =" + e.getMessage());
             e.printStackTrace();
         }
 
@@ -645,7 +654,7 @@ public class CommonDocDetailsActivity extends BaseActivity {
         if (device) {
             LogUtil.i("real_status=" + real_status);
             resanddel_ll.setVisibility(View.GONE);
-            if (real_status.equals("已审核")&&!StringUtil.isEmpty(mCaller)&&(mCaller.equals("DeviceChange!Use")||mCaller.equals("DeviceChange!Inspect"))) {
+            if (real_status.equals("已审核") && !StringUtil.isEmpty(mCaller) && (mCaller.equals("DeviceChange!Use") || mCaller.equals("DeviceChange!Inspect"))) {
                 sureTv.setVisibility(View.VISIBLE);
                 sureTv.setOnClickListener(new View.OnClickListener() {
                     @Override
@@ -1037,7 +1046,7 @@ public class CommonDocDetailsActivity extends BaseActivity {
     }
 
     private void getapplypeomsg(String em_number) {
-        if (!em_number.isEmpty()) {
+        if (TextUtils.isEmpty(em_number)) {
             String whichsys = CommonUtil.getSharedPreferences(mContext, "erp_master");
             String[] selectionArgs = {em_number == null ? "" : em_number, whichsys};
             String selection = "em_code=? and whichsys=? ";
@@ -1083,7 +1092,9 @@ public class CommonDocDetailsActivity extends BaseActivity {
     @Override
     public boolean onKeyDown(int keyCode, KeyEvent event) {
         if ((keyCode == KeyEvent.KEYCODE_BACK)) {
-            if (device) {
+            if (message) {
+                endMessage();
+            } else if (device) {
                 endDevice();
             } else {
                 if (ActivityUtils.isExsitMianActivity(mContext, FormListSelectActivity.class)) {
@@ -1115,6 +1126,10 @@ public class CommonDocDetailsActivity extends BaseActivity {
 
     }
 
+    private void endMessage() {
+        onBackPressed();
+    }
+
     private void endDevice() {
         String dc_class = null;
         if (mCaller.equals("DeviceChange!Use")) {

+ 23 - 21
app_modular/appworks/src/main/java/com/uas/appworks/OA/erp/adapter/CommonDocMainMsgAdapter.java

@@ -9,6 +9,7 @@ import android.widget.TextView;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONException;
+import com.common.data.ListUtils;
 import com.uas.appworks.R;
 import com.uas.appworks.OA.erp.model.CommonDocAMBean;
 
@@ -62,39 +63,40 @@ public class CommonDocMainMsgAdapter extends BaseAdapter {
     @Override
     public View getView(int position, View convertView, ViewGroup parent) {
         ViewHolder viewHolder = null;
-        if (convertView == null){
+        if (convertView == null) {
             viewHolder = new ViewHolder();
-            convertView =  View.inflate(mContext, R.layout.item_comdoc_am,null);
+            convertView = View.inflate(mContext, R.layout.item_comdoc_am, null);
             viewHolder.docmainmsg_list = (TextView) convertView.findViewById(R.id.item_comdoc_am_list_tv);
             viewHolder.docmainmsg_value = (TextView) convertView.findViewById(R.id.item_comdoc_am_value_tv);
             convertView.setTag(viewHolder);
-        }else {
+        } else {
             viewHolder = (ViewHolder) convertView.getTag();
         }
 
-        if (mFormconfigsBean != null && formdataBeans != null){
-                viewHolder.docmainmsg_list.setText(mFormconfigsBean.get(position).getFD_CAPTION());
-                    try {
-                        if (formdataBeans.getJSONObject(0).getString(mFormconfigsBean.get(position).getFD_FIELD()) != null) {
-                            if (!formdataBeans.getJSONObject(0).getString(mFormconfigsBean.get(position).getFD_FIELD()).equals("null")){
-                                Log.i("VALUE",mFormconfigsBean.get(position).getFD_FIELD().toString());
-                                viewHolder.docmainmsg_value.setText(formdataBeans.getJSONObject(0)
-                                        .getString(mFormconfigsBean.get(position).getFD_FIELD().toString()));
-                            }else {
-                                viewHolder.docmainmsg_value.setText("");
-                            }
-
-                        } else  {
-                            viewHolder.docmainmsg_value.setText("");
-                        }
-                    } catch (JSONException e) {
-                        e.printStackTrace();
+        if (mFormconfigsBean != null && formdataBeans != null) {
+            viewHolder.docmainmsg_list.setText(mFormconfigsBean.get(position).getFD_CAPTION());
+            if (!ListUtils.isEmpty(formdataBeans)) try {
+                if (formdataBeans.getJSONObject(0).getString(mFormconfigsBean.get(position).getFD_FIELD()) != null) {
+                    if (!formdataBeans.getJSONObject(0).getString(mFormconfigsBean.get(position).getFD_FIELD()).equals("null")) {
+                        Log.i("VALUE", mFormconfigsBean.get(position).getFD_FIELD().toString());
+                        viewHolder.docmainmsg_value.setText(formdataBeans.getJSONObject(0)
+                                .getString(mFormconfigsBean.get(position).getFD_FIELD().toString()));
+                    } else {
+                        viewHolder.docmainmsg_value.setText("");
                     }
+
+                } else {
+                    viewHolder.docmainmsg_value.setText("");
+                }
+            } catch (JSONException e) {
+                e.printStackTrace();
+            }
         }
 
         return convertView;
     }
-    class ViewHolder{
+
+    class ViewHolder {
         TextView docmainmsg_list;
         TextView docmainmsg_value;
     }

+ 91 - 46
app_modular/appworks/src/main/java/com/uas/appworks/OA/platform/activity/PurchaseDetailsActivity.java

@@ -7,6 +7,7 @@ import android.support.v7.widget.DividerItemDecoration;
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
 import android.text.Editable;
+import android.text.TextUtils;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -20,6 +21,7 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baidu.cyberplayer.utils.G;
+import com.baidu.platform.comapi.map.E;
 import com.chad.library.adapter.base.BaseViewHolder;
 import com.common.LogUtil;
 import com.common.data.CalendarUtil;
@@ -29,10 +31,13 @@ import com.common.data.ListUtils;
 import com.common.data.StringUtil;
 import com.common.thread.ThreadPool;
 import com.core.app.Constants;
+import com.core.app.MyApplication;
 import com.core.net.http.http.OAHttpHelper;
 import com.core.utils.CommonUtil;
+import com.core.utils.ToastUtil;
 import com.core.utils.time.wheel.DateTimePicker;
 import com.core.widget.listener.EditChangeListener;
+import com.me.network.app.http.HttpClient;
 import com.me.network.app.http.Method;
 import com.modular.apputils.activity.BaseNetActivity;
 import com.modular.apputils.listener.OnSmartHttpListener;
@@ -45,7 +50,9 @@ import com.uas.appworks.R;
 
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 
 /**
@@ -67,7 +74,8 @@ public class PurchaseDetailsActivity extends BaseNetActivity implements OnSmartH
 
     @Override
     protected String getBaseUrl() {
-        return "http://uas.ubtob.com/";
+//        return "http://uas.ubtob.com/";
+        return "http://192.168.253.102:8090/platform-b2b/";
     }
 
     @Override
@@ -80,6 +88,7 @@ public class PurchaseDetailsActivity extends BaseNetActivity implements OnSmartH
         if (varStatus == null) {
             varStatus = "";
         }
+        getSupportActionBar().setTitle(varStatus);
         initView();
         initData();
     }
@@ -92,44 +101,97 @@ public class PurchaseDetailsActivity extends BaseNetActivity implements OnSmartH
     }
 
     private void initData() {
-        handleMessage(TestStr.PURCHASE_STR);
+        loadData();
     }
 
 
     private void loadData() {
+        varId = 937370;
+        int enuu = 10041559;
+        String phone = "15671616315";
         Parameter.Builder builder = new Parameter.Builder();
+        String url = "mobile/sale/orders/" + varId + "/info";//卖方
         builder.mode(Method.GET)
-                .url("sale/orders/" + varId + "/info");
+                .url(url)
+                .record(0x11)
+                .showLog(true)
+                .autoProgress(true)
+                .addParams("en_uu", enuu)
+                .addParams("user_tel", phone);
         requestHttp(builder, this);
     }
 
 
     private void verifiReply(List<Purchase> purchases) {
-        LogUtil.prinlnLongMsg("gongpengming", "json=" + JSON.toJSONString(purchases));
-        reply();
+        for (Purchase purchase : purchases) {
+            if (!TextUtils.isEmpty(purchase.getDate()) &&
+                    !TextUtils.isEmpty(purchase.getNumber()) &&
+                    !TextUtils.isEmpty(purchase.getRemarksInput())) {
+                reply(purchase);
+            }
+        }
     }
 
-    private void reply() {
+    private void reply(Purchase purchases) {
+        int enuu = 10041559;
+        String phone = "15671616315";
         Parameter.Builder builder = new Parameter.Builder();
-        String json = null;
+        Map<String, Object> map = new HashMap<>();
+        map.put("qty", purchases.getNumber());
+        map.put("delivery", 10);//DateFormatUtil.str2Long(purchases.getDate(),DateFormatUtil.YMD)
+        map.put("remark", purchases.getRemarksInput());
+        String json = JSONUtil.map2JSON(map);
+        LogUtil.i("json=" + json);
         builder.mode(Method.POST)
-                .url("sale/orders/items/{orderItemId}/reply")
-                .addParams("json", json);
+                .url("mobile/sale/orders/items/" + purchases.getId() + "/reply")
+                .addParams("en_uu", enuu)
+                .addParams("body", json)
+                .showLog(true)
+                .autoProgress(true)
+                .addParams("user_tel", phone);
         requestHttp(builder, this);
     }
 
 
-    private void handleMessage(final String message) {
+    private void setData2Adapter(List<Purchase> dataList) {
+        mAdapter = new PurchaseDetailsAdapter(ct, varStatus, dataList);
+        mAdapter.setOnReplyLisenter(new PurchaseDetailsAdapter.OnReplyLisenter() {
+            @Override
+            public void reply(List<Purchase> purchases) {
+                PurchaseDetailsActivity.this.verifiReply(purchases);
+            }
+        });
+        mRecyclerView.setAdapter(mAdapter);
+
+    }
+
+    @Override
+    public void onSuccess(int what, String message, Tags tag) throws Exception {
+        LogUtil.i("message=" + message);
+        switch (what) {
+            case 0x11:
+                handleMessage(message);
+                break;
+        }
+    }
+
+    @Override
+    public void onFailure(int what, String message, Tags tag) throws Exception {
+        ToastUtil.showToast(ct, message);
+    }
+
+
+    private void handleMessage(final String message) throws Exception {
         ThreadPool.getThreadPool().addTask(new Runnable() {
             @Override
             public void run() {
                 JSONObject object = JSON.parseObject(message);
                 final List<Purchase> dataList = new ArrayList<>();
                 dataList.add(getPurchase(object));
-                JSONArray dataJSONs = JSONUtil.getJSONArray(object, "DATA");
-                if (!ListUtils.isEmpty(dataJSONs)) {
-                    for (int i = 0; i < dataJSONs.size(); i++) {
-                        dataList.add(getPurchase(dataJSONs.getJSONObject(i)));
+                JSONArray orderItems = JSONUtil.getJSONArray(object, "orderItems");
+                if (!ListUtils.isEmpty(orderItems)) {
+                    for (int i = 0; i < orderItems.size(); i++) {
+                        dataList.add(getPurchase(orderItems.getJSONObject(i)));
                     }
                 }
                 OAHttpHelper.getInstance().post(new Runnable() {
@@ -142,46 +204,29 @@ public class PurchaseDetailsActivity extends BaseNetActivity implements OnSmartH
         });
     }
 
+
     private Purchase getPurchase(JSONObject object) {
         Purchase purchase = new Purchase();
-        int id = JSONUtil.getInt(object, "ID");
-        String client = JSONUtil.getText(object, "CLIENT");
-        String address = JSONUtil.getText(object, "ADDRESS");
-        String time = JSONUtil.getText(object, "TIME");
-        String remarks = JSONUtil.getText(object, "REMARKS");
-        String alls = JSONUtil.getText(object, "ALLS");
-        String number = JSONUtil.getText(object, "NUMBER");
-        String date = JSONUtil.getText(object, "DELIVERYDATE");
-        purchase.setNumber(number);
-        purchase.setDate(date);
+        int id = JSONUtil.getInt(object, "id");
+        String client = JSONUtil.getText(object, "receiveName");//客户
+        String address = JSONUtil.getText(object, "shipAddress");//收货地址
+        String code = JSONUtil.getText(object, "code");//采购单号
+        String time = DateFormatUtil.long2Str(JSONUtil.getLong(object, "erpDate", "date"), DateFormatUtil.YMD_HMS);//单据时间
+        String remarks = JSONUtil.getText(object, "remark");//备注
+        String alls = JSONUtil.getText(object, "amount");//总额
+        String number = JSONUtil.getText(object, "qty");//数量
+        String date = DateFormatUtil.long2Str(JSONUtil.getLong(object, "delivery"), DateFormatUtil.YMD);//交货日期
+        String replyRemark = JSONUtil.getText(object, "replyRemark");//采购单号
         purchase.setId(id);
+        purchase.setCode(code);
         purchase.setCustomer(client);
         purchase.setAddress(address);
         purchase.setTime(time);
         purchase.setRemarks(remarks);
         purchase.setTotal(alls);
+        purchase.setDate(date);
+        purchase.setNumber(number);
+        purchase.setRemarksInput(replyRemark);
         return purchase;
     }
-
-    private void setData2Adapter(List<Purchase> dataList) {
-        mAdapter = new PurchaseDetailsAdapter(ct, varStatus, dataList);
-        mAdapter.setOnReplyLisenter(new PurchaseDetailsAdapter.OnReplyLisenter() {
-            @Override
-            public void reply(List<Purchase> purchases) {
-                PurchaseDetailsActivity.this.verifiReply(purchases);
-            }
-        });
-        mRecyclerView.setAdapter(mAdapter);
-
-    }
-
-    @Override
-    public void onSuccess(int what, String message, Tags tag) throws Exception {
-
-    }
-
-    @Override
-    public void onFailure(int what, String message, Tags tag) throws Exception {
-
-    }
 }

+ 25 - 12
app_modular/appworks/src/main/java/com/uas/appworks/OA/platform/adapter/PurchaseDetailsAdapter.java

@@ -5,6 +5,7 @@ import android.content.Context;
 import android.support.v7.widget.AppCompatTextView;
 import android.support.v7.widget.RecyclerView;
 import android.text.Editable;
+import android.text.TextUtils;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -17,6 +18,7 @@ import com.common.data.CalendarUtil;
 import com.common.data.DateFormatUtil;
 import com.common.data.ListUtils;
 import com.common.data.StringUtil;
+import com.common.data.TextUtil;
 import com.common.system.DisplayUtil;
 import com.core.utils.time.wheel.DateTimePicker;
 import com.core.widget.listener.EditChangeListener;
@@ -35,13 +37,14 @@ public class PurchaseDetailsAdapter extends RecyclerView.Adapter<RecyclerView.Vi
     private Context context;
     private List<Purchase> purchases;
     private LayoutInflater mInflater;
-    private String status;
+    private boolean canReply;
 
     public PurchaseDetailsAdapter(Context context, String status, List<Purchase> purchases) {
         this.context = context;
         this.purchases = purchases;
-        this.status = status;
         mInflater = LayoutInflater.from(context);
+        canReply = (status != null && !status.equals("已结案"));
+
     }
 
     @Override
@@ -79,8 +82,8 @@ public class PurchaseDetailsAdapter extends RecyclerView.Adapter<RecyclerView.Vi
     }
 
     class ViewHolder extends RecyclerView.ViewHolder {
-        TextView timeTv, remarksTv, totalTv,dateEd;
-        EditText  numberEd, remarksInputEd;
+        TextView timeTv, remarksTv, totalTv, dateEd;
+        EditText numberEd, remarksInputEd;
 
         public ViewHolder(ViewGroup viewGroup) {
             this(mInflater.inflate(R.layout.item_purchase, viewGroup, false));
@@ -94,6 +97,12 @@ public class PurchaseDetailsAdapter extends RecyclerView.Adapter<RecyclerView.Vi
             dateEd = itemView.findViewById(R.id.dateEd);
             numberEd = itemView.findViewById(R.id.numberEd);
             remarksInputEd = itemView.findViewById(R.id.remarksInputEd);
+            if (!canReply) {
+                numberEd.setClickable(false);
+                numberEd.setFocusable(false);
+                remarksInputEd.setClickable(false);
+                remarksInputEd.setFocusable(false);
+            }
         }
     }
 
@@ -132,14 +141,13 @@ public class PurchaseDetailsAdapter extends RecyclerView.Adapter<RecyclerView.Vi
         Purchase purchase = purchases.get(position);
         holder.totalTv.setText(purchase.getTotal());
         holder.addressTv.setText(purchase.getAddress());
-        holder.customerTv.setText(purchase.getNumber());
-        holder.codeTv.setText(purchase.getRemarksInput());
-        holder.remarksTv.setText(purchase.getRemarks());
+        holder.customerTv.setText(purchase.getCustomer());
+        holder.codeTv.setText(purchase.getCode());
+        holder.remarksTv.setText(TextUtils.isEmpty(purchase.getRemarks()) ? "无" : purchase.getRemarks());
         holder.timeTv.setText(purchase.getTime());
     }
 
     private void onBindViewHolder(BtnViewHolder holder) {
-        boolean canReply = (status != null && !status.equals("已结案"));
         holder.replyBtn.setFocusable(canReply);
         holder.replyBtn.setClickable(canReply);
         holder.replyBtn.setPressed(!canReply);
@@ -162,10 +170,15 @@ public class PurchaseDetailsAdapter extends RecyclerView.Adapter<RecyclerView.Vi
         holder.dateEd.setText(purchase.getDate());
         holder.numberEd.setText(purchase.getNumber());
         holder.remarksInputEd.setText(purchase.getRemarksInput());
-        holder.dateEd.setTag(position);
-        holder.dateEd.setOnClickListener(onClickListener);
-        holder.numberEd.addTextChangedListener(new TextChangListener(position, 1));
-        holder.remarksInputEd.addTextChangedListener(new TextChangListener(position, 2));
+
+        if (canReply) {
+            holder.dateEd.setTag(position);
+            holder.dateEd.setOnClickListener(onClickListener);
+            holder.numberEd.addTextChangedListener(new TextChangListener(position, 1));
+            holder.remarksInputEd.addTextChangedListener(new TextChangListener(position, 2));
+        }
+
+
     }
 
     private View.OnClickListener onClickListener = new View.OnClickListener() {

+ 2 - 0
app_modular/appworks/src/main/res/layout/item_ls_purchase.xml

@@ -37,6 +37,8 @@
         android:id="@+id/addressTv"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
+        android:lines="1"
+        android:ellipsize="end"
         android:layout_alignTop="@id/addressTag"
         android:layout_toRightOf="@id/customerTag"
         android:text="客户:"

+ 5 - 4
app_modular/appworks/src/main/res/layout/item_purchase.xml

@@ -108,14 +108,15 @@
         android:textColor="@color/text_main"
         android:textSize="@dimen/text_main" />
 
-    <android.support.v7.widget.AppCompatEditText
+    <android.support.v7.widget.AppCompatTextView
         android:id="@+id/numberUnit"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_alignTop="@id/numberTag"
         android:layout_toRightOf="@id/numberEd"
-        android:background="@drawable/edit_white_right_angle"
         android:gravity="center_vertical"
+        android:padding="0.5dp"
+        android:layout_marginLeft="@dimen/padding"
         android:inputType="number"
         android:text="PCS"
         android:textColor="@color/text_main"
@@ -134,12 +135,12 @@
     <android.support.v7.widget.AppCompatEditText
         android:id="@+id/remarksInputEd"
         android:layout_width="100dp"
-        android:layout_height="25dp"
+        android:layout_height="wrap_content"
+        android:minHeight="25dp"
         android:layout_alignTop="@id/remarksInputTag"
         android:layout_toRightOf="@id/timeTag"
         android:background="@drawable/edit_white_right_angle"
         android:gravity="center_vertical"
-        android:inputType="number"
         android:text="客户:"
         android:textColor="@color/text_main"
         android:textSize="@dimen/text_main" />