Browse Source

Merge branch 'developer_master' of https://gitlab.com/Arisono/SkWeiChat-Baidu into developer_master

gongpm 9 years ago
parent
commit
973ce2176f

+ 1 - 0
.gitignore

@@ -43,3 +43,4 @@ captures/
 gradlew
 gradlew.bat
 import-summary.txt
+build.gradle

+ 18 - 3
WeiChat/src/main/java/com/sk/weichat/db/dao/FriendDao.java

@@ -80,7 +80,8 @@ public class FriendDao {
 	 */
 	public void checkSystemFriend(String ownerId) {
 		try {
-			List<Friend> friendsList = friendDao.queryForEq("ownerId", ownerId);
+			//friendDao.queryForEq("ownerId", ownerId);
+			List<Friend> friendsList =getSysFriends(ownerId);
 
 			if (friendsList != null && friendsList.size() > 0) {// 说明不是第一次创建,直接返回
 					Log.i("FriendDao","发现已有系统菜单,直接返回!");
@@ -193,7 +194,7 @@ public class FriendDao {
 				chatMessage.setMessageState(ChatMessageListener.MESSAGE_SEND_SUCCESS);
 				// 为了使得初始生成的系统消息排在新朋友前面,所以在时间节点上延迟一点 1s
 				chatMessage.setTimeSend(TimeUtils.sk_time_current_time() + 6);
-				chatMessage.setContent(MyApplication.getInstance().getString(R.string.welcome_user_software));
+				chatMessage.setContent("您有一条新的任务...");
 				chatMessage.setMySend(false);// 表示不是自己发的
 				// 往消息表里插入一条记录
 				ChatMessageDao.getInstance().saveNewSingleChatMessage(ownerId, Friend.ID_ERP_TASK, chatMessage);
@@ -216,7 +217,7 @@ public class FriendDao {
 				chatMessage.setMessageState(ChatMessageListener.MESSAGE_SEND_SUCCESS);
 				// 为了使得初始生成的系统消息排在新朋友前面,所以在时间节点上延迟一点 1s
 				chatMessage.setTimeSend(TimeUtils.sk_time_current_time() + 5);
-				chatMessage.setContent(MyApplication.getInstance().getString(R.string.welcome_user_software));
+				chatMessage.setContent("您有一条新的消息...");
 				chatMessage.setMySend(false);// 表示不是自己发的
 				// 往消息表里插入一条记录
 				ChatMessageDao.getInstance().saveNewSingleChatMessage(ownerId, Friend.ID_ERP_ZHIHUI, chatMessage);
@@ -732,6 +733,20 @@ public class FriendDao {
 		return null;
 
 	}
+	public List<Friend> getSysFriends(String ownerId) {
+		try {
+			PreparedQuery<Friend> preparedQuery = friendDao.queryBuilder().where().eq("ownerId", ownerId).and()
+					.in("status", new Object[] {Friend.STATUS_SYSTEM }).and().eq("roomFlag", 0).and().eq("companyId", 0)
+					.prepare();
+			return friendDao.query(preparedQuery);
+		} catch (SQLException e) {
+			e.printStackTrace();
+		}
+		return null;
+
+	}
+
+
 
 	public List<Friend> getAllAttentions(String ownerId) {
 		try {

+ 31 - 15
WeiChat/src/main/java/com/sk/weichat/ui/PushNetMessageReceiver.java

@@ -15,6 +15,7 @@ import com.sk.weichat.ui.erp.activity.WebViewLoadActivity;
 import com.sk.weichat.ui.erp.util.Blowfish;
 import com.sk.weichat.ui.erp.util.CommonUtil;
 import com.sk.weichat.ui.erp.util.JsonValidator;
+import com.sk.weichat.ui.erp.util.StringUtils;
 import com.sk.weichat.ui.erp.util.ViewUtil;
 
 import org.apache.http.Header;
@@ -22,6 +23,11 @@ import org.apache.http.Header;
 import java.util.Date;
 import java.util.List;
 
+
+/**
+ * @desc:推送接口回调
+ * @author:Administrator on 2016/4/8 15:29
+ */
 public class PushNetMessageReceiver extends PushMessageReceiver {
 
 	@Override
@@ -34,12 +40,12 @@ public class PushNetMessageReceiver extends PushMessageReceiver {
 		params.put("channelId", channelId);
 		params.put("access_token", MyApplication.getInstance().mAccessToken);
 		params.put("deviceId", 1);
-	AsyncHttpClient client = new AsyncHttpClient();
-	SharedPreferences configSharePre = context.getSharedPreferences("app_config", Context.MODE_PRIVATE);
-	SharedPreferences.Editor editor = configSharePre.edit();
-	String url= configSharePre.getString("apiUrl", "http://192.168.1.240/api/vg1/");
-	Log.i("wang", url+"user/channelId/set");
-	client.post(url+"user/channelId/set", params, new AsyncHttpResponseHandler() {
+		AsyncHttpClient client = new AsyncHttpClient();
+		SharedPreferences configSharePre = context.getSharedPreferences("app_config", Context.MODE_PRIVATE);
+		SharedPreferences.Editor editor = configSharePre.edit();
+		String url= configSharePre.getString("apiUrl", "http://192.168.1.240/api/vg1/");
+		Log.i("wang", url+"user/channelId/set");
+		client.post(url+"user/channelId/set", params, new AsyncHttpResponseHandler() {
 
 		@Override
 		public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) {
@@ -85,12 +91,26 @@ public class PushNetMessageReceiver extends PushMessageReceiver {
 		Log.i("wang", "content=" + content);
 		Log.i("wang", "params=" + params);
 		if(new JsonValidator().validate(params)){
-			String titlePage=	JSON.parseObject(params).getString("title");
+			String titlePage=JSON.parseObject(params).getString("title");
 			String url=	JSON.parseObject(params).getString("url");
-			String master=		JSON.parseObject(params).getString("master");
-			String masterId=	JSON.parseObject(params).getString("masterId");
-			String uu=		JSON.parseObject(params).getString("uu");
-			CommonUtil.loadWebView(ct,url,titlePage,master,masterId,uu);
+			String master=JSON.parseObject(params).getString("master");
+			String masterId=JSON.parseObject(params).getString("masterId");
+			String uu=JSON.parseObject(params).getString("uu");
+			String platform=JSON.parseObject(params).getString("platform");
+
+			if (!StringUtils.isEmpty(platform)){
+				if ("B2B".equals(platform)){
+					Log.i("wang", "params=" + platform);
+					Log.i("wang", "url=" + url);
+					Log.i("wang", "titlePage=" + titlePage);
+					CommonUtil.loadWebViewToB2B(ct,url,titlePage);
+				}
+				if("ERP".equals(platform)){
+					CommonUtil.loadWebView(ct,url,titlePage,master,masterId,uu);
+				}
+			}else{
+				com.sk.weichat.ui.erp.net.ViewUtil.ToastMessage(ct,"参数异常");
+			}
 		}else{
 			com.sk.weichat.ui.erp.net.ViewUtil.ToastMessage(ct,"服务器未指定需要的参数");
 		}
@@ -109,8 +129,4 @@ public class PushNetMessageReceiver extends PushMessageReceiver {
 	}
 
 
-
-
-
-
 }

+ 64 - 24
WeiChat/src/main/java/com/sk/weichat/ui/erp/activity/SaleChartActivity.java

@@ -132,6 +132,7 @@ public class SaleChartActivity extends BaseActivity implements OnClickListener{
 			}
 		};
 	};
+	private int type;
 
 	@Override
 	public void onClick(View v) {
@@ -154,27 +155,50 @@ public class SaleChartActivity extends BaseActivity implements OnClickListener{
          	dialog.show();
          	falg=true;
 	    	break;
-	    case R.id.tv_premonth:
-	         calendar.add(Calendar.MONTH, -1);
-	         String date=new SimpleDateFormat("yyyy年MM月").format(calendar.getTime());   
-			 tv_date.setText(date);
-			 dateMap.put("YEAR",  calendar.get(Calendar.YEAR));
-			 dateMap.put("MONTH",  calendar.get(Calendar.MONTH)+1);
-			 initData();
-	    	break;
-	    case R.id.tv_nextmonth:
-	    	calendar.add(Calendar.MONTH, +1);
-	        date=new SimpleDateFormat("yyyy年MM月").format(calendar.getTime());   
-			tv_date.setText(date);
-			dateMap.put("YEAR",  calendar.get(Calendar.YEAR));
-			dateMap.put("MONTH",  calendar.get(Calendar.MONTH)+1);
-			initData();
-	    	break;
+		   case R.id.tv_premonth:
+			   if (id==7) {
+				   calendar.add(Calendar.DATE, -1);
+				   String date = new SimpleDateFormat("yyyy年MM月dd日").format(calendar.getTime());
+				   tv_date.setText(date);
+				   String year=new SimpleDateFormat("yyyyMM").format(calendar.getTime());
+				   dateMap.put("YEAR", year);
+				   dateMap.put("MONTH", calendar.get(Calendar.MONTH) + 1);
+				   dateMap.put("DAY", calendar.get(Calendar.DATE));
+			   }else{
+				   calendar.add(Calendar.MONTH, -1);
+				   String date = new SimpleDateFormat("yyyy年MM月").format(calendar.getTime());
+				   tv_date.setText(date);
+				   dateMap.put("YEAR", calendar.get(Calendar.YEAR));
+				   dateMap.put("MONTH", calendar.get(Calendar.MONTH) + 1);
+				   dateMap.put("DAY", calendar.get(Calendar.DATE));
+			   }
+			   initData();
+			   break;
+		   case R.id.tv_nextmonth:
+			   if (id==7) {
+				   calendar.add(Calendar.DATE, +1);
+				   String date = new SimpleDateFormat("yyyy年MM月dd日").format(calendar.getTime());
+				   tv_date.setText(date);
+				   String year=new SimpleDateFormat("yyyyMM").format(calendar.getTime());
+				   dateMap.put("YEAR", year);
+				   dateMap.put("MONTH", calendar.get(Calendar.MONTH) + 1);
+				   dateMap.put("DAY", calendar.get(Calendar.DATE));
+			   }else{
+				   calendar.add(Calendar.MONTH, +1);
+				   String  date = new SimpleDateFormat("yyyy年MM月").format(calendar.getTime());
+				   tv_date.setText(date);
+				   dateMap.put("YEAR", calendar.get(Calendar.YEAR));
+				   dateMap.put("MONTH", calendar.get(Calendar.MONTH) + 1);
+				   dateMap.put("DAY", calendar.get(Calendar.DATE));
+			   }
+			   initData();
+			   break;
 		default:
 			break;
 		}
 	}
 
+	private int id;
 	@Override
 	protected void onCreate(Bundle savedInstanceState) {
 		super.onCreate(savedInstanceState);
@@ -191,10 +215,29 @@ public class SaleChartActivity extends BaseActivity implements OnClickListener{
 	    getSupportActionBar().setTitle("统计分析");
 
         calendar = Calendar.getInstance(); // 设置当前日期
-        String date=new SimpleDateFormat("yyyy年MM月").format(calendar.getTime());   
-		tv_date.setText(date);
-		dateMap.put("YEAR", calendar.get(Calendar.YEAR));
-		dateMap.put("MONTH", calendar.get(Calendar.MONTH) + 1);
+
+		/**@注释:获取type 饼图,直方图  */
+		Intent intent=getIntent();
+		id=intent.getIntExtra("Id", 0);
+		type=intent.getIntExtra("type", 1);
+
+		if (id==7) {//銷售按天統計
+			String date = new SimpleDateFormat("yyyy年MM月dd日").format(calendar.getTime());
+			tv_date.setText(date);
+			dateMap.put("YEAR",  new SimpleDateFormat("yyyyMM").format(calendar.getTime()));
+			dateMap.put("MONTH", calendar.get(Calendar.MONTH) + 1);
+			dateMap.put("DAY", calendar.get(Calendar.DATE));
+			tv_nextmonth.setText("下一天");
+			tv_premonth.setText("上一天");
+		}else{
+			String date = new SimpleDateFormat("yyyy年MM月").format(calendar.getTime());
+			tv_date.setText(date);
+			dateMap.put("YEAR", calendar.get(Calendar.YEAR));
+			dateMap.put("MONTH", calendar.get(Calendar.MONTH) + 1);
+			dateMap.put("DAY", calendar.get(Calendar.DATE));
+			tv_nextmonth.setText("下一月");
+			tv_premonth.setText("上一月");
+		}
 
 		tv_date.setOnClickListener(this);
 		tv_premonth.setOnClickListener(this);
@@ -301,10 +344,7 @@ public class SaleChartActivity extends BaseActivity implements OnClickListener{
 			hl_adapter.notifyDataSetChanged();
 		}
 		url= Constants.getAppBaseUrl(this)+"mobile/common/getStatsByConfig.action";
-		/**@注释:获取type 饼图,直方图  */
-		Intent intent=getIntent();
-		int id=intent.getIntExtra("Id", 0);
-		int type=intent.getIntExtra("type", 1);
+
 		String sessionId= CommonUtil.getSharedPreferences(this, "sessionId");
 		progressDialog.show();
 		/**@注释:加载不同图 */

+ 6 - 0
WeiChat/src/main/java/com/sk/weichat/ui/erp/activity/WebViewCommActivity.java

@@ -49,6 +49,12 @@ public class WebViewCommActivity extends BaseActivity {
         pb = (ProgressBar) findViewById(R.id.pb);
         pb.setMax(100);
         url = intent.getStringExtra("url");
+        String  StartApp = intent.getStringExtra("isStartApp");//参数账套
+        if(!StringUtils.isEmpty(StartApp)){
+            if(StartApp.equals("true")){
+                isStartApp = true;
+            }
+        }
         String p = "";//动态改变文字显示
         try {
             p = intent.getStringExtra("p");

+ 1 - 0
WeiChat/src/main/java/com/sk/weichat/ui/erp/net/ViewUtil.java

@@ -747,6 +747,7 @@ public class ViewUtil {
     public static void AutoLoginErp(Context ct, Handler handler) {
         Log.i("LoginErp", "自动登录...");
         if (!StringUtils.isEmpty(Constants.getAppBaseUrl(ct))) {
+            ViewUtil.ct=ct;
             String url = Constants.getAppBaseUrl(ct);
             String master = CommonUtil.getSharedPreferences(ct, "erp_master");
             String phone = CommonUtil.getSharedPreferences(ct, "user_phone");

+ 15 - 1
WeiChat/src/main/java/com/sk/weichat/ui/erp/util/CommonUtil.java

@@ -30,6 +30,7 @@ import com.sk.weichat.bean.message.XmppMessage;
 import com.sk.weichat.broadcast.MsgBroadcast;
 import com.sk.weichat.db.dao.ChatMessageDao;
 import com.sk.weichat.db.dao.FriendDao;
+import com.sk.weichat.ui.erp.activity.WebViewCommActivity;
 import com.sk.weichat.ui.erp.activity.WebViewLoadActivity;
 import com.sk.weichat.util.TimeUtils;
 import com.sk.weichat.xmpp.listener.ChatMessageListener;
@@ -276,7 +277,7 @@ public class CommonUtil {
     }
 
     public static String getSharedPreferences(Context ct, String key) {
-        if (key == null) {
+        if (key == null||ct==null) {
             return null;
         }
         SharedPreferences sPreferences = ct.getSharedPreferences(AppShareName, Context.MODE_PRIVATE);
@@ -524,4 +525,17 @@ public class CommonUtil {
         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
         context.getApplicationContext().startActivity(intent);
     }
+
+    /**
+     * @desc:跳转到B2B
+     * @author:Administrator on 2016/4/8 14:55
+     */
+    public static void loadWebViewToB2B(Context ct,String url,String title){
+        Intent intent = new Intent(ct, WebViewCommActivity.class);
+        intent.putExtra("url", url);
+        intent.putExtra("p", title);
+        intent.putExtra("isStartApp", "true");
+        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+        ct.getApplicationContext().startActivity(intent);
+    }
 }

+ 1 - 6
WeiChat/src/main/java/com/sk/weichat/ui/me/MeFragment.java

@@ -111,8 +111,7 @@ public class MeFragment extends EasyFragment implements View.OnClickListener {
                         // 发送给主页刷新的广播
                         Intent intent = new Intent("com.app.home.update");
                         intent.putExtra("falg", "home");
-
-                        ct.sendBroadcast(intent);
+                        LocalBroadcastManager.getInstance(ct).sendBroadcast(intent);
                     } else {
                         com.sk.weichat.ui.erp.net.ViewUtil.ToastMessage(ct, "账套切换失败!");
                     }
@@ -230,13 +229,9 @@ public class MeFragment extends EasyFragment implements View.OnClickListener {
             case R.id.rl_company_change:
 //                    Log.i("LoginApp","手机号:"+MyApplication.getInstance().mLoginUser.getTelephone() );
 //                    Log.i("LoginApp","密码:"+ CommonUtil.getSharedPreferences(ct,"user_password"));
-
                 String commpany = CommonUtil.getSharedPreferences(ct, "erp_commpany");
-
                 com.sk.weichat.ui.erp.net.ViewUtil.LoginTask(MyApplication.getInstance().mLoginUser.getTelephone()
                         , CommonUtil.getSharedPreferences(ct, "user_password"), ct);
-
-
                 break;
             case R.id.rl_master_change:
                 changeMaster();

+ 26 - 5
WeiChat/src/main/java/com/sk/weichat/ui/message/MessageFragment.java

@@ -730,14 +730,25 @@ public class MessageFragment extends EasyFragment {
                     String result = msg.getData().getString("result");
                     NoticeEntity newsEntity = JSON.parseObject(result, NoticeEntity.class);
                     int size = newsEntity.getData().size();
+                    String em_id=CommonUtil.getSharedPreferences(getActivity(), "erp_emid");
                     int count = 0;
                     for (int i = 0; i < size; i++) {
                         if (!ObjectUtils.isEquals(newsEntity.getData().get(i).getSTATUS(), null)) {
                             if (((int) newsEntity.getData().get(i).getSTATUS()) != -1) {
-                                count++;
+                                if ((!StringUtils.isEmpty(em_id)&&newsEntity.getData().get(i).getNO_RECIPIENTID()!=null)){
+                                    if (newsEntity.getData().get(i).getNO_RECIPIENTID().toString().contains(em_id)) {
+                                        count++;
+                                    }
+                                }
                             }
                         } else {
-                            count++;
+                            if ((!StringUtils.isEmpty(em_id)&&newsEntity.getData().get(i).getNO_RECIPIENTID()!=null)){
+                                if (newsEntity.getData().get(i).getNO_RECIPIENTID().toString().contains(em_id)) {
+                                    count++;
+                                }
+                            }else{
+                                count++;
+                            }
                         }
                     }
                     if (count != 0) {
@@ -762,20 +773,30 @@ public class MessageFragment extends EasyFragment {
                     newsEntity = JSON.parseObject(result, NoticeEntity.class);
                     size = newsEntity.getData().size();
                     count = 0;
+                    em_id=CommonUtil.getSharedPreferences(getActivity(), "erp_emid");
                     for (int i = 0; i < size; i++) {
                         if (!ObjectUtils.isEquals(newsEntity.getData().get(i).getSTATUS(), null)) {
                             if (((int) newsEntity.getData().get(i).getSTATUS()) != -1) {
-                                count++;
+                                if ((!StringUtils.isEmpty(em_id)&&newsEntity.getData().get(i).getNO_RECIPIENTID()!=null)){
+                                    if (newsEntity.getData().get(i).getNO_RECIPIENTID().toString().contains(em_id)) {
+                                        count++;
+                                    }
+                                }
                             }
                         } else {
-                            count++;
+                            if ((!StringUtils.isEmpty(em_id)&&newsEntity.getData().get(i).getNO_RECIPIENTID()!=null)){
+                                if (newsEntity.getData().get(i).getNO_RECIPIENTID().toString().contains(em_id)) {
+                                    count++;
+                                }
+                            }else{
+                                count++;
+                            }
                         }
                     }
                     if (count != 0) {
                         //标注红点
                         Log.i("MessageFragment", " 通知 标注红点" + count);
                         String owerId = MyApplication.getInstance().mLoginUser.getUserId();
-
                         FriendDao.getInstance().markUserMessageRead(owerId, Friend.ID_ERP_NOTICE);
 
                         FriendDao.getInstance().markUserMessageUnRead(owerId, Friend.ID_ERP_ZHIHUI, count);

+ 20 - 0
WeiChat/src/main/java/com/sk/weichat/util/StringUtils.java

@@ -102,4 +102,24 @@ public class StringUtils {
 		}
 		return "";
 	}
+
+
+	/**
+	 * 判断给定字符串是否空白串。 空白串是指由空格、制表符、回车符、换行符组成的字符串 若输入字符串为null或空字符串,返回true
+	 *
+	 * @param input
+	 * @return boolean
+	 */
+	public static boolean isEmpty(String input) {
+		if (input == null || "".equals(input))
+			return true;
+
+		for (int i = 0; i < input.length(); i++) {
+			char c = input.charAt(i);
+			if (c != ' ' && c != '\t' && c != '\r' && c != '\n') {
+				return false;
+			}
+		}
+		return true;
+	}
 }

+ 15 - 10
WeiChat/src/main/res/values-v14/styles.xml

@@ -1,11 +1,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android">
 
-    <style name="style_bg_bar">
-        <item name="android:background">@color/antionbarcolor</item>
+    <!-- Application theme. -->
+    <style name="AppTheme" parent="AppBaseTheme">
+        <!-- All customizations that are NOT specific to a particular API-level can go here. -->
     </style>
-    <!---->
+
     <style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
-        <item name="android:windowTitleBackgroundStyle">@style/style_bg_bar</item>
         <item name="android:buttonStyle">@android:style/Widget.Button</item>
         <item name="android:windowAnimationStyle">@style/IMAnimationStyle</item>
         <item name="android:actionBarStyle">@style/IMActionBar</item>
@@ -15,23 +15,28 @@
         <item name="actionBarItemBackground">@drawable/actionbar_menu_selector</item>
         <item name="homeAsUpIndicator">@drawable/actionbar_up_indicator</item>
         <item name="android:listViewStyle">@style/IMListView</item>
+        <item name="actionBarTabStyle">@style/MyActionBar</item>
+        <item name="android:actionBarTabStyle">@style/MyActionBar</item>
     </style>
 
     <style name="IMActionBar" parent="@style/Widget.AppCompat.ActionBar">
         <item name="android:icon">@drawable/action_bar_divider</item>
+        <item name="android:background">@drawable/actionbar_bg</item>
         <item name="android:titleTextStyle">@style/IMActionBar.TitleTextStyle</item>
         <item name="android:subtitleTextStyle">@style/IMActionBar.SubTitleTextStyle</item>
         <item name="android:indeterminateProgressStyle">@style/ActionBarCustomProgressBar</item>
+        <item name="android:backgroundStacked">@color/green</item>
+        <item name="android:backgroundSplit">@color/red</item>
         <item name="titleTextStyle">@style/IMActionBar.TitleTextStyle</item>
         <item name="subtitleTextStyle">@style/IMActionBar.SubTitleTextStyle</item>
         <item name="icon">@drawable/action_bar_divider</item>
-        <item name="background">@drawable/BackBar</item>
-        <item name="android:backgroundStacked">@drawable/BackBar</item>
-        <item name="android:backgroundSplit">@drawable/BackBar</item>
-        <item name="backgroundStacked">@drawable/BackBar</item>
-        <item name="backgroundSplit">@drawable/BackBar</item>
+        <item name="background">@drawable/actionbar_bg</item>
+        <item name="backgroundStacked">@color/green</item>
+        <item name="backgroundSplit">@color/red</item>
         <item name="indeterminateProgressStyle">@style/ActionBarCustomProgressBar</item>
     </style>
 
-
+    <style name="MyActionBar" parent="Widget.AppCompat.ActionBar.TabView">
+        <item name="android:background">@color/green</item>
+    </style>
 </resources>

+ 1 - 1
build.gradle

@@ -4,7 +4,7 @@ buildscript {
         jcenter()
     }
     dependencies {
-        classpath 'com.android.tools.build:gradle:2.0.0'
+        classpath 'com.android.tools.build:gradle:1.3.0'
     }
 }
 allprojects {