Browse Source

第二层基本完成备份

FANGLH 9 years ago
parent
commit
dc12f33b79

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/db/dao/MessageDao.java

@@ -280,7 +280,7 @@ public class MessageDao {
     }
 
     /**
-     * 删除某条消息:第二层的type都是一样的所以得从id上删除
+     * 删除某条消息:第二层的type都是一样的,所以得从id上删除
      * @param mag_id
      * @return
      */

+ 4 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/MainActivity.java

@@ -680,9 +680,10 @@ public class MainActivity extends BaseActivity implements NetWorkObservable.NetW
         unWorkReadTV = (TextView) findViewById(R.id.main_tab_five_tv);
         main_tab_three_tv = (TextView) findViewById(R.id.main_tab_three_tv);
 
-        //TODO 当前隐藏新功能提醒红点
-        PreferenceUtils.putInt(MainActivity.NEW_FUNCTION_NOTICE, 1);
-        PushManager.resumeWork(MyApplication.getInstance());
+//        //TODO 当前隐藏新功能提醒红点
+//        PreferenceUtils.putInt(MainActivity.NEW_FUNCTION_NOTICE, 1);
+//        PushManager.resumeWork(MyApplication.getInstance());
+
         int new_function_notice = PreferenceUtils.getInt(MyApplication.getInstance(), MainActivity.NEW_FUNCTION_NOTICE);
         if (new_function_notice == 1) {
             main_tab_three_tv.setVisibility(View.INVISIBLE);

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/TaskActivity.java

@@ -161,7 +161,7 @@ public class TaskActivity extends BaseActivity {
         setContentView(R.layout.task_listview);
         context = TaskActivity.this;
         ViewUtils.inject(this);
-        getSupportActionBar().setTitle("我的任务");
+        getSupportActionBar().setTitle("待办工作");
         String mLoginUserId = MyApplication.getInstance().mLoginUser.getUserId();
         // 表示已读
         FriendDao.getInstance().markUserMessageRead(mLoginUserId, Friend.ID_ERP_TASK);

+ 3 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/WebViewCommActivity.java

@@ -118,9 +118,9 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
         url = intent.getStringExtra("url");
         mSubsurl = intent.getStringExtra("url");
         isCookie = intent.getBooleanExtra("cookie", false);
-        String msg_type = intent.getStringExtra("type");
-        if(!StringUtils.isEmpty(msg_type)){
-            getSupportActionBar().setTitle(msg_type);
+        String msg_title = intent.getStringExtra("title");
+        if(!StringUtils.isEmpty(msg_title)){
+            getSupportActionBar().setTitle(msg_title);
         }
         String StartApp = intent.getStringExtra("isStartApp");//参数账套
 

+ 40 - 10
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/MsgsSecondCommonActivity.java

@@ -51,9 +51,11 @@ import java.util.Map;
  */
 public class MsgsSecondCommonActivity extends BaseActivity implements View.OnClickListener {
     private static final int GET_SECOND_MSGS = 17022801;
-    private static final int MSG_MARKED_READED = 17030301;
+    private static final int MSG_MARKED_READED = 0x35;
     @ViewInject(R.id.waitting_work_plv)
     private PullToRefreshListView myplv;
+    @ViewInject(R.id.more_msg_tv)
+    private TextView more_msg_tv;
     private String msg_title;
     private String msg_type;
     private NewMsgAdapter msgAdapter;
@@ -113,20 +115,26 @@ public class MsgsSecondCommonActivity extends BaseActivity implements View.OnCli
             try {
                 object = msgsArray.getJSONObject(i);
                 model = new MessageModel();
+                model.setId(object.getInteger("id"));
                 model.setTitle(object.getString("title"));
                 model.setSubTitle(object.getString("subTitle"));
                 model.setTime(object.getString("createTime"));
-                model.setType(object.getString("type"));
+                model.setHierarchy(1);
+                model.setType(msg_type);
+                model.setCount(1);
                 models.add(model);
             } catch (Exception e) {
                 e.printStackTrace();
             }
         }
         MessageDao.getInstance().createOrinstart(models);
-        if (MessageDao.getInstance().createOrinstart(model)) loadLocalData();
+        if (MessageDao.getInstance().createOrinstart(model)) {
+            loadLocalData();
+        }
     }
 
     private void initView() {
+        progressDialog.show();
         mEmptyLayout = new EmptyLayout(this, myplv.getRefreshableView());
         mEmptyLayout.setShowEmptyButton(false);
         mEmptyLayout.setShowErrorButton(false);
@@ -142,6 +150,7 @@ public class MsgsSecondCommonActivity extends BaseActivity implements View.OnCli
         msg_type = intent.getStringExtra("type");
         msg_title = intent.getStringExtra("title");
         em_code = intent.getStringExtra("emcode") == null ? CommonUtil.getSharedPreferences(ct, "erp_username") : intent.getStringExtra("emcode");
+//        ToastMessage("type:" + msg_type + ",title:" + msg_title + ",emcode:" + em_code);
 //        loadLocalData(true);
         if (!StringUtils.isEmpty(msg_title)) {
             getSupportActionBar().setTitle(msg_title);
@@ -168,6 +177,7 @@ public class MsgsSecondCommonActivity extends BaseActivity implements View.OnCli
         if (!ListUtils.isEmpty(msgModel)) { //当数据库中有数据时,
             msgAdapter.setMsgModel(msgModel);
             msgAdapter.notifyDataSetChanged();
+            myplv.getRefreshableView().setSelection(msgModel.size() -1);
         } else {
             mEmptyLayout.showEmpty();
         }
@@ -200,7 +210,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();
-                ToastMessage("点击position = " + mPosition + "," + " msg_id = "+ msg_id);
+                ToastMessage("点击position = " + mPosition + "," + " msg_id = " + msg_id);
                 doClickEvent(mPosition, msg_id);
             }
         });
@@ -209,11 +219,14 @@ public class MsgsSecondCommonActivity extends BaseActivity implements View.OnCli
             @Override
             public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
                 mPosition = (int) parent.getItemIdAtPosition(position);
+                msg_id = msgModel.get(mPosition).getId();
                 ToastMessage("长按position = " + mPosition);
                 showPopupWindow();
                 return true;
             }
         });
+
+
     }
 
     private void doClickEvent(int mPosition, int msg_id) {
@@ -222,7 +235,7 @@ public class MsgsSecondCommonActivity extends BaseActivity implements View.OnCli
         Intent intent_web = new Intent(mContext, WebViewCommActivity.class);
         intent_web.putExtra("url", url);
         intent_web.putExtra("id", msg_id);
-        intent_web.putExtra("type", msg_type);
+        intent_web.putExtra("title", msg_title);
         startActivityForResult(intent_web, MSG_MARKED_READED);
 
         mark_position.add(mPosition);
@@ -278,15 +291,14 @@ public class MsgsSecondCommonActivity extends BaseActivity implements View.OnCli
     private void doMarkReadMsg() {
         mark_position.add(mPosition);
         msgAdapter.setMark_position(mark_position);
-        MessageDao.getInstance().upStatus(msg_id, true);
+        MessageDao.getInstance().upStatus(msg_id,true); //点击保存本地为已读状态操作
         msgAdapter.notifyDataSetChanged();
     }
 
     private void doDeleteMsg() {
         msgModel.remove(mPosition);
         // TODO 删除本地数据库操作
-        MessageDao.getInstance().deleteByid(msgModel.get(mPosition).getId());
-        msgModel.remove(mPosition);
+        MessageDao.getInstance().deleteByid(msg_id);
         msgAdapter.notifyDataSetChanged();
     }
 
@@ -339,8 +351,8 @@ public class MsgsSecondCommonActivity extends BaseActivity implements View.OnCli
         }
 
         @Override
-        public View getView(int position, View convertView, ViewGroup parent) {
-            ViewHolder viewHolder;
+        public View getView(final int position, View convertView, ViewGroup parent) {
+            final ViewHolder viewHolder;
             if (convertView == null) {
                 convertView = View.inflate(ct, R.layout.item_secondmsgs, null);
                 viewHolder = new ViewHolder();
@@ -405,7 +417,25 @@ public class MsgsSecondCommonActivity extends BaseActivity implements View.OnCli
                     }
                 }
             }
+            if (msgModel.size() > 10){
+                more_msg_tv.setVisibility(View.VISIBLE);
+                more_msg_tv.setText(msgModel.size() + "条新消息");
 
+                more_msg_tv.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        //TODO 页面滚动到第XXX条新消息
+                        more_msg_tv.setVisibility(View.GONE);
+                        myplv.getRefreshableView().setSelection(0);
+                    }
+                });
+            }else {
+                more_msg_tv.setVisibility(View.GONE);
+            }
+
+            if (position == msgModel.size() -1){
+                progressDialog.dismiss();
+            }
             return convertView;
         }
 

+ 41 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/adapter/MessageAdapter.java

@@ -113,6 +113,47 @@ public class MessageAdapter extends BaseAdapter {
         } else {
             holder.num_tv.setVisibility(View.GONE);
         }
+
+        doShowMsgPhotos(holder, friend);
+    }
+
+    private void doShowMsgPhotos(ViewHolder holder, Friend friend) {
+        String msg_type = friend.getDescription();
+        if (!TextUtils.isEmpty(msg_type)){
+            int imageurl = 0;
+            switch (msg_type) {
+                case "note": // 通知公告
+                    imageurl = R.drawable.home_image_03_u;
+                    break;
+                case "common": // 普通知会
+//                    imageurl = R.drawable.
+                    break;
+                case "b2b": // b2b提醒
+                    imageurl = R.drawable.b2btixing;
+                    break;
+                case "crm":  // CRM提醒
+                    imageurl = R.drawable.crmtixing;
+                    break;
+                case "kpi": // 考勤提醒
+                    imageurl = R.drawable.kaoqintixing;
+                    break;
+                case "meeting": // 会议提醒
+                    imageurl = R.drawable.huiyitixing;
+                    break;
+                case "process": // 审批知会
+                    imageurl = R.drawable.shenpizhihui;
+                    break;
+                case "job": // 稽核提醒
+                    imageurl = R.drawable.jihetixing;
+                    break;
+                case "system": // 知会消息
+//                    imageurl = R.drawable.
+                    break;
+                case "task": // 任务提醒
+                    imageurl = R.drawable.home_image_02_u;
+                    break;
+            }holder.avatar_img.setImageResource(imageurl);
+        }
     }
 
     class ViewHolder {

+ 3 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/MessagePresenter.java

@@ -138,7 +138,9 @@ public class MessagePresenter implements HttpHandler.OnResultListener {
                 break;
             case LOAD_PROCESS://获取审批流接口
                 handlerProcess(object);
-                break; case LOAD_TASK://获取任务接口
+                break;
+
+            case LOAD_TASK://获取任务接口
                 handlerTask(object);
                 break;
         }

+ 12 - 0
WeiChat/src/main/res/drawable/more_msg_bg.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item>
+        <shape>
+            <solid android:color="@color/oa_bg" />
+            <corners android:radius="360dp" />
+            <padding android:bottom="0dp" android:left="20dp"
+                android:right="0dp" android:top="0dp" />
+        </shape>
+    </item>
+
+</selector>

+ 1 - 1
WeiChat/src/main/res/layout/activity_oamain.xml

@@ -395,7 +395,7 @@
                         android:orientation="vertical"
                         android:layout_marginTop="2dp"
                         android:paddingLeft="5dp"
-                        android:visibility="invisible"
+                        android:visibility="visible"
                         >
                         <FrameLayout
                             android:id="@+id/notice_head_area"

+ 6 - 5
WeiChat/src/main/res/layout/layout_main_tab_radio_group.xml

@@ -139,15 +139,16 @@
 
         <TextView
             android:id="@+id/main_tab_five_tv"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
+            android:layout_width="10dp"
+            android:layout_height="10dp"
             android:layout_gravity="top|right"
-            android:layout_marginRight="10dp"
-            android:background="@drawable/tab_unread_bg"
+            android:layout_marginRight="20dp"
+            android:layout_marginTop="5dp"
+            android:background="@drawable/hongdian"
             android:gravity="center"
             android:textColor="@android:color/white"
             android:textSize="10dp"
-            android:visibility="invisible" />
+            android:visibility="invisible"/>
     </FrameLayout>
 
 </com.xzjmyk.pm.activity.view.DivideRadioGroup>

+ 18 - 2
WeiChat/src/main/res/layout/waitting_works.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical">
@@ -15,4 +15,20 @@
         android:scrollbars="none">
 
     </com.handmark.pulltorefresh.library.PullToRefreshListView>
-</LinearLayout>
+
+    <TextView
+        android:id="@+id/more_msg_tv"
+        android:layout_width="120dp"
+        android:layout_height="40dp"
+        android:drawableLeft="@drawable/shangla"
+        android:text="999条新消息"
+        android:layout_alignParentRight="true"
+        android:textColor="@color/green"
+        android:drawablePadding="5dp"
+        android:layout_alignParentBottom="true"
+        android:background="@color/oa_bg"
+        android:gravity="center"
+        android:paddingLeft="5dp"
+        android:visibility="gone"
+        />
+</RelativeLayout>