Forráskód Böngészése

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

Bitliker 9 éve
szülő
commit
efb52b437b

+ 1 - 1
WeiChat/build.gradle

@@ -13,7 +13,7 @@ android {
     }
     signingConfigs {
         config {
-            storeFile file('D:/config/applicationsignname[20150409]')
+            storeFile file('C:/Users/Arsiono/Desktop/applicationsignname[20150409]')
             storePassword '13237658359'
             keyAlias 'jie-20150409'
             keyPassword '13237658359'

+ 2 - 2
WeiChat/src/main/AndroidManifest.xml

@@ -2,8 +2,8 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     package="com.xzjmyk.pm.activity"
-    android:versionCode="79"
-    android:versionName="5.6.6">
+    android:versionCode="80"
+    android:versionName="5.6.7">
 
     <uses-sdk
         android:minSdkVersion="11"

+ 7 - 4
WeiChat/src/main/java/com/xzjmyk/pm/activity/CustomCrashActivity.java

@@ -12,7 +12,6 @@ import android.widget.Button;
 import android.widget.ImageView;
 import android.widget.Toast;
 
-import com.afollestad.materialdialogs.MaterialDialog;
 import com.alibaba.fastjson.JSON;
 import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
@@ -68,9 +67,13 @@ public class CustomCrashActivity extends Activity {
         stackTraceString = CustomActivityOnCrash.getAllErrorDetailsFromIntent(this,intent);
         if (stackTraceString != null){
             //Toast.makeText(this, stackTraceString, Toast.LENGTH_LONG).show();
-            new MaterialDialog.Builder(this).content(stackTraceString)
-                    .build().show();
-            getCode();
+//            new MaterialDialog.Builder(this).content(stackTraceString)
+//                    .build().show();
+            try {
+                getCode();
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
         }
         final Class<? extends Activity> activityClassFromIntent = CustomActivityOnCrash.getRestartActivityClassFromIntent(intent);
         final CustomActivityOnCrash.EventListener listenerFromIntent = CustomActivityOnCrash.getEventListenerFromIntent(intent);

+ 2 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/WebViewLoadActivity.java

@@ -143,7 +143,7 @@ public class WebViewLoadActivity extends BaseActivity {
 
             @Override
             public void onPageStarted(WebView view, String url, Bitmap favicon) {
-                progressDialog.show();
+//                progressDialog.show();
                 if (pb.getVisibility() == View.GONE){
                     pb.setVisibility(View.VISIBLE);
                 }
@@ -151,7 +151,7 @@ public class WebViewLoadActivity extends BaseActivity {
 
             @Override
             public void onPageFinished(WebView view, String url) {
-                progressDialog.dismiss();
+//               progressDialog.dismiss();
                 if (pb.getVisibility() == View.VISIBLE){
                     pb.setVisibility(View.GONE);
                 }

+ 8 - 8
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/crm/VisitReportAddActivity.java

@@ -232,11 +232,12 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
                     String end = tv_date_end.getText().toString().trim();
                     String current = TimeUtils.f_long_2_str(System.currentTimeMillis());
 
-                    if (StringUtils.isEmpty(start)) {
-                        Crouton.makeText(ct, "开始时间不能为空");
-                    } else if (StringUtils.isEmpty(end)) {
-                        Crouton.makeText(ct, "截止时间不能为空");
-                    } else if (current.compareTo(end) < 0) {
+//                    if (StringUtils.isEmpty(start)) {
+//                        Crouton.makeText(ct, "开始时间不能为空");
+//                    } else if (StringUtils.isEmpty(end)) {
+//                        Crouton.makeText(ct, "截止时间不能为空");
+//                    } else
+                    if (current.compareTo(end) < 0) {
                         Crouton.makeText(ct, "截止时间不能大于当前时间");
                     } else if (start.compareTo(end) < 0) {
                         CommonInterface.getInstance().getCodeByNet("VisitRecord", new CommonInterface.OnResultListener() {
@@ -347,10 +348,9 @@ public class VisitReportAddActivity extends BaseActivity implements View.OnClick
             emname = MyApplication.getInstance().mLoginUser.getNickName().trim();
         }
         String formStore = "";
-        if (tv_date_start.testValidity() && tv_date_end.testValidity()
-                && tv_customer_login.testValidity() && tv_linksman_login.testValidity()
+        if (tv_customer_login.testValidity() && tv_linksman_login.testValidity()
                 && tv_address_login.testValidity() && tv_visit_theme.testValidity()
-                && tv_visit_steps.testValidity() && tv_visit_content.testValidity()) {
+                && tv_visit_content.testValidity()) {
             formStore =
                     "{\n" +
                             "\"vr_id\":" + mVrId + ",\n" +

+ 101 - 13
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/form/DataFormDetailActivity.java

@@ -126,12 +126,19 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                     if (!ListUtils.isEmpty(forms)) {
                         for (int i = 0; i < forms.size(); i++) {
                             JSONObject items = forms.getJSONObject(i);
-                            set.add(items.getString("fd_group"));
+                            //控制分组数据下无数据,不显示
+                            if(items.getIntValue("mfd_isdefault")==-1){
+                                set.add(items.getString("fd_group"));
+                            }
+                           
                         }
                         //过滤分组
                         Iterator<String> iter = set.iterator();
                         formGroupSize = set.size();
+                        int formGroupId=-1;
                         while (iter.hasNext()) {
+                            formGroupId++;
+                            LogUtil.d("主表分组ID:"+formGroupId);
                             GroupData groupData = new GroupData();//分组
                             GroupData groupDataNet = new GroupData();//传输给配置界面
                             ArrayList<Data> itemData = new ArrayList<>();
@@ -157,7 +164,7 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                                     }
                                 }
 
-                                data.setGroupId(0);
+                                data.setGroupId(formGroupId);
                                 data.setGroup(items.getString("fd_group"));
                                 data.setIsDefault(items.getIntValue("mfd_isdefault"));
                                 data.setIsNeed(items.getIntValue("mfd_isdefault"));
@@ -258,7 +265,8 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                                         data.setIsDefault(items.getIntValue("mdg_isdefault"));
                                         data.setIsNeed(items.getIntValue("mdg_isdefault"));
                                         data.setType(items.getString("dg_type"));
-                                        data.setGroupId(items.getInteger("dg_group"));
+                                       // data.setGroupId(items.getInteger("dg_group"));
+                                        data.setGroupId(items.getInteger("dg_group")+(formGroupSize - 1));
                                         data.setGroup("明细项" + items.getInteger("dg_group"));
                                         if (detailId == items.getInteger("dg_group")) {
                                             //同类分组
@@ -336,7 +344,8 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                                     data.setIsDefault(items.getIntValue("mdg_isdefault"));
                                     data.setIsNeed(items.getIntValue("mdg_isdefault"));
                                     data.setType(items.getString("dg_type"));
-                                    data.setGroupId(1);
+                                  //  data.setGroupId(1);
+                                    data.setGroupId(1+(formGroupSize - 1));
                                     if (data.getIsNeed() == -1) {
                                         //逃逸筛选的数据组
                                         data.setDetailId(key_id);
@@ -602,13 +611,13 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
 
                 break;
             case R.id.oa_leave:
-                startActivity(new Intent(mContext,SelectCalendarActivity.class));
-//                startActivity(new Intent(mContext, FormListSelectActivity.class)
-//                        .putExtra("caller",
-//                                caller));
-//                if (formid != 0) {
-//                    finish();
-//                }
+//                startActivity(new Intent(mContext,SelectCalendarActivity.class));
+                startActivity(new Intent(mContext, FormListSelectActivity.class)
+                        .putExtra("caller",
+                                caller));
+                if (formid != 0) {
+                    finish();
+                }
                 break;
         }
         return super.onOptionsItemSelected(item);
@@ -906,7 +915,18 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                         @Override
                         public void onClick(View v) {
                             if (data.getType().equals("D")) {
-                                CommonUtil.showDateDialog(ct, (EditText) v);
+                             //   CommonUtil.showDateDialog(ct, (EditText) v);
+                                if ("Ask4Leave".equals(caller)||"FeePlease!CCSQ".equals(caller)){
+                                    startActivityForResult(new Intent(mContext,SelectCalendarActivity.class)
+                                            .putExtra("startDate",editText.getText().toString())
+                                            .putExtra("id", categoryIndex)
+                                            .putExtra("field",data.getField())
+                                            .putExtra("object", data)
+                                            ,0x30);
+                                }else{
+                                    CommonUtil.showDateDialog(ct, (EditText) v); 
+                                }
+                               
                             }
                             if (data.getType().equals("C")) {
                                 HashMap param = new HashMap<>();
@@ -1137,6 +1157,72 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
             case 0x25:
                 mAdapter = null;
                 initData();
+                break;
+            case 0x11:
+                Data model=data.getParcelableExtra("object");
+                 id=data.getIntExtra("id",0);
+                String startDate=data.getStringExtra("startDate");
+                String endDate=data.getStringExtra("endDate");
+
+                startDate=startDate+":00";
+                endDate=endDate+":0";
+                String field=data.getStringExtra("field");
+                LogUtil.d("id=" +id);
+                LogUtil.d("groupId=" + model.getGroupId());
+                if ("Ask4Leave".equals(caller)){
+                    //va_startime
+                    //va_endtime
+                    int va_alldays=0;
+                    int va_alltimes=0;
+                    List<Data>  tempLists= mAdapter.getmListData().get(model.getGroupId()).getDatas();
+                    for(int i=0;i<tempLists.size();i++){
+                        Data tempData=tempLists.get(i);
+                        if (tempData.getField().equals("va_startime")){
+                            va_alldays=i+1;
+                        }
+                        if (tempData.getField().equals("va_endtime")){
+                            va_alltimes=i+1;
+                        }
+                    }
+                    mAdapter.getmListData().get(model.getGroupId()).getDatas().get(va_alldays - 1).setValue(startDate);
+                    mAdapter.getmListData().get(model.getGroupId()).getDatas().get(va_alltimes - 1).setValue(endDate);
+                }
+                
+                if ("FeePlease!CCSQ".equals(caller)){
+                    int va_alldays=0;
+                    int va_alltimes=0;
+                    //fp_preenddate
+                    //fp_prestartdate
+                    if ("fp_preenddate".equals(field)||"fp_prestartdate".equals(field)){
+                        List<Data>  tempLists= mAdapter.getmListData().get(model.getGroupId()).getDatas();
+                        for(int i=0;i<tempLists.size();i++){
+                            Data tempData=tempLists.get(i);
+                            if (tempData.getField().equals("fp_preenddate")){
+                                va_alldays=i+1;
+                            }
+                            if (tempData.getField().equals("fp_prestartdate")){
+                                va_alltimes=i+1;
+                            }
+                        }
+                        mAdapter.getmListData().get(model.getGroupId()).getDatas().get(va_alltimes - 1).setValue(startDate);
+                        mAdapter.getmListData().get(model.getGroupId()).getDatas().get(va_alldays - 1).setValue(endDate);
+                    }
+                    if ("fpd_date1".equals(field)||"fpd_date2".equals(field)){
+                        List<Data>  tempLists= mAdapter.getmListData().get(model.getGroupId()).getDatas();
+                        for(int i=0;i<tempLists.size();i++){
+                            Data tempData=tempLists.get(i);
+                            if (tempData.getField().equals("fpd_date1")){
+                                va_alldays=i+1;
+                            }
+                            if (tempData.getField().equals("fpd_date2")){
+                                va_alltimes=i+1;
+                            }
+                        }
+                        mAdapter.getmListData().get(model.getGroupId()).getDatas().get(va_alldays - 1).setValue(startDate);
+                        mAdapter.getmListData().get(model.getGroupId()).getDatas().get(va_alltimes - 1).setValue(endDate);
+                    }
+                }
+               
                 break;
         }
 
@@ -1204,7 +1290,9 @@ public class DataFormDetailActivity extends BaseActivity implements View.OnClick
                 data.setIsNeed(items.getIntValue("mdg_isdefault"));
                 data.setType(items.getString("dg_type"));
                 data.setMaxlength(String.valueOf(items.getIntValue("dg_maxlength")));
-                data.setGroupId(groupId);//设置组id
+                LogUtil.d("新增分组id:"+(groupId+(formGroupSize-1)));
+                //data.setGroupId(groupId+(formGroupSize-1));//设置组id
+                data.setGroupId(groupId+(formGroupSize-1));//设置组id
                 groupid = items.getInteger("dg_group");
                 if (formid == 0) {
                     //录入

+ 152 - 57
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/form/SelectCalendarActivity.java

@@ -1,18 +1,18 @@
 package com.xzjmyk.pm.activity.ui.erp.activity.form;
 
 import android.content.Context;
+import android.content.Intent;
 import android.os.Bundle;
 import android.support.v4.app.Fragment;
 import android.support.v4.app.FragmentManager;
 import android.support.v4.app.FragmentPagerAdapter;
 import android.support.v4.view.ViewPager;
 import android.view.LayoutInflater;
-import android.view.Menu;
-import android.view.MenuItem;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.AdapterView;
 import android.widget.BaseAdapter;
+import android.widget.Button;
 import android.widget.LinearLayout;
 import android.widget.TextView;
 
@@ -21,6 +21,9 @@ import com.lidroid.xutils.view.annotation.ViewInject;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.fragment.CalendarDateFragmet;
+import com.xzjmyk.pm.activity.ui.erp.model.form.Data;
+import com.xzjmyk.pm.activity.ui.erp.util.LogUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
 import com.xzjmyk.pm.activity.ui.erp.view.NScrollerGridView;
 import com.xzjmyk.pm.activity.util.DateFormatUtil;
 
@@ -68,6 +71,8 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
     
     @ViewInject(R.id.gv_date_list)
     private NScrollerGridView gv_date_list;
+    @ViewInject(R.id.click_btn)
+    private Button click_btn;
     
     private List<String> mTimeData=new ArrayList<>();
     private  GridDataAdapter gAdapter;
@@ -78,47 +83,69 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
     
     private String currentSelectDate;
     
+    private String field;
+    
     private boolean startDate=true;
     private boolean startTime=true;
     
     private int status;//0:在录入(无值)1:在录入(有值)
-    private boolean swich=true;//true 按时间段   false按时间
-
-    @Override
-    public boolean onCreateOptionsMenu(Menu menu) {
-        getMenuInflater().inflate(R.menu.menu_signin_set, menu);
-        return super.onCreateOptionsMenu(menu);
-    }
-
-    
-    @Override
-    public boolean onOptionsItemSelected(MenuItem item) {
-        switch (item.getItemId()) {
-            case R.id.oa_leave:
-                if (swich){
-                    //按时间请假
-                    getSupportActionBar().setTitle("按时间请假");
-                    getSupportActionBar().setSubtitle("只适合普通请假");
-                    ll_bottom.setVisibility(View.GONE);
-                    swich=false;
-                 
-                    tv_date_start.setText("开始时间");
-                    tv_date_end.setText("结束时间");
-                }else{
-                    //按时间段请假
-                    getSupportActionBar().setTitle("按时段请假");
-                    getSupportActionBar().setSubtitle("只适合特殊请假");
-                    ll_bottom.setVisibility(View.VISIBLE);
-                    swich=true;
-                    
-                    tv_date_start.setText("开始日期");
-                    tv_date_end.setText("结束日期");
-                    
-                }
-                break;
-        }
-        return super.onOptionsItemSelected(item);
-    }
+    private boolean swich=false;//true 按时间段   false按时间
+
+//    @Override
+//    public boolean onCreateOptionsMenu(Menu menu) {
+//        getMenuInflater().inflate(R.menu.menu_date_select, menu);
+//        return super.onCreateOptionsMenu(menu);
+//    }
+//
+//    
+//    @Override
+//    public boolean onOptionsItemSelected(MenuItem item) {
+//        switch (item.getItemId()) {
+//            case R.id.oa_leave:
+//                if (swich){
+//                    //按时间请假
+//                    getSupportActionBar().setTitle("按时间请假");
+//                    getSupportActionBar().setSubtitle("只适合普通请假");
+//                    ll_bottom.setVisibility(View.GONE);
+//                    swich=false;
+//                    startDate=true;
+//                    startTime=true;
+//                 
+//                    tv_date_start.setText("开始时间");
+//                    tv_date_end.setText("结束时间");
+//                    
+//                    currentSelectDate=null;
+//                    v_date_start.setText("");
+//                    v_date_end.setText("");
+//                    v_time_start.setText("");
+//                    v_time_end.setText("");
+//                    swichDateButton(true);
+//                    ll_date_end.setEnabled(false);
+//                    ll_time_end.setEnabled(false);
+//                }else{
+//                    //按时间段请假
+//                    getSupportActionBar().setTitle("按时段请假");
+//                    getSupportActionBar().setSubtitle("只适合特殊请假");
+//                    ll_bottom.setVisibility(View.VISIBLE);
+//                    swich=true;
+//                    startDate=true;
+//                    startTime=true;
+//                    
+//                    currentSelectDate=null;
+//                    tv_date_start.setText("开始日期");
+//                    tv_date_end.setText("结束日期");
+//                    v_date_start.setText("");
+//                    v_date_end.setText("");
+//                    v_time_start.setText("");
+//                    v_date_end.setText("");
+//                    swichTimeButton(true);
+//                    ll_date_end.setEnabled(false);
+//                    ll_time_end.setEnabled(false);
+//                }
+//                break;
+//        }
+//        return super.onOptionsItemSelected(item);
+//    }
     
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -130,9 +157,28 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
     }
     
     
+    private Integer id;
+    private Data object;
     
     private void initView() {
         ViewUtils.inject(this);
+        getSupportActionBar().setTitle("按时间请假");
+        getSupportActionBar().setSubtitle("只适合普通请假");
+        Intent intent=getIntent();
+        String startDate="";
+        String endDate="";
+        if (intent!=null){
+          startDate=  intent.getStringExtra("startDate");
+          endDate=  intent.getStringExtra("endDate");
+            field=intent.getStringExtra("field");  
+            LogUtil.d("start:"+startDate+" end:"+endDate);
+          id = intent.getIntExtra("id", 0);
+          object = intent.getParcelableExtra("object");
+          if (!StringUtils.isEmpty(startDate)&&!StringUtils.isEmpty(endDate)){
+              v_date_start.setText(startDate);
+              v_date_end.setText(endDate);
+          } 
+        }
         initListener();
     }
 
@@ -146,33 +192,49 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
         ll_date_end.setEnabled(false);//不可点击
         ll_time_end.setEnabled(false);//不可点击
         
+        click_btn.setOnClickListener(this);
+        
         gv_date_list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
             @Override
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                 GridDataAdapter.ViewModle modle = (GridDataAdapter.ViewModle) view.getTag();
-                ToastMessage(modle.tv_text.getText().toString());
+                //ToastMessage(modle.tv_text.getText().toString());
+                if ((StringUtils.isEmpty(currentSelectDate) &&
+                        StringUtils.isEmpty(v_date_end.getText().toString())) ||
+                        (StringUtils.isEmpty(currentSelectDate) &&
+                                StringUtils.isEmpty(v_date_start.getText().toString()))) {
+                    ToastMessage("请先选择日期,再选择时间段!");
+                    return;
+                }
+                gAdapter.setSelected(position);
+                gAdapter.notifyDataSetChanged();
                 if (swich) {
                     //时间段请假:
-                    if (startTime){
-                        v_time_start.setText(currentSelectDate);
+                    if (startTime) {
+                        v_time_start.setText(modle.tv_text.getText().toString());
                         swichTimeButton(false);
-                        startTime=false;
-                    }else{
-                        v_time_end.setText(currentSelectDate);
+                        swichDateButton(false);
+                        startTime = false;
+                        startDate = false;
+                        currentSelectDate = null;//清空
+                    } else {
+                        v_time_end.setText(modle.tv_text.getText().toString());
                     }
                 } else {
                     //按时间请假:
-                    if (startDate){//按钮状态
+                    if (startDate) {//按钮状态
                         //开始时间
-                        v_date_start.setText(currentSelectDate +" "+ modle.tv_text.getText().toString());
+                        v_date_start.setText(currentSelectDate + " " + modle.tv_text.getText().toString());
                         //切换到开始时间
                         swichDateButton(false);//要不要清楚日历状态?
-                        startDate=false;
-                    }else{
+                        startDate = false;
+                        currentSelectDate = null;//清空
+                        v_date_end.setText("");
+                    } else {
                         //结束时间
-                        v_date_end.setText(currentSelectDate +" "+ modle.tv_text.getText().toString());
+                        v_date_end.setText(currentSelectDate + " " + modle.tv_text.getText().toString());
                     }
-                   
+
                 }
             }
         });
@@ -246,6 +308,7 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
        switch (v.getId()){
            case R.id.ll_date_start:
                startDate=true;
+               ll_date_end.setEnabled(true);
                swichDateButton(startDate);
                break;
            case R.id.ll_date_end:
@@ -253,13 +316,29 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
                swichDateButton(startDate);
                break;
            case R.id.ll_time_start:
-               startTime=true;
+               startTime = true;
+               ll_time_end.setEnabled(true);
                swichTimeButton(startTime);
                break;
            case R.id.ll_time_end:
                startTime=false;
                swichTimeButton(startTime);
                break;
+           case R.id.click_btn:
+               if (!StringUtils.isEmpty(v_date_start.getText().toString())&&!
+                       StringUtils.isEmpty(v_date_end.getText().toString())){
+                   Intent intent = new Intent();
+                   intent.putExtra("startDate",v_date_start.getText().toString());
+                   intent.putExtra("endDate", v_date_end.getText().toString());
+                   intent.putExtra("object",object);
+                   intent.putExtra("field",field);
+                   intent.putExtra("id",id);
+                   setResult(0x11, intent);
+                   finish(); 
+               }else{
+                   ToastMessage("请选择开始时间和结束时间!");
+               }
+               break;
        }
     }
 
@@ -282,6 +361,7 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
         private Context ct;
         private List<String> mData=new ArrayList<>();
         private LayoutInflater inflater;
+        private int selected=0;
         
         GridDataAdapter(Context ct,List<String> data){
             this.ct=ct;
@@ -304,6 +384,14 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
             return position;
         }
 
+        public int getSelected() {
+            return selected;
+        }
+
+        public void setSelected(int selected) {
+            this.selected = selected;
+        }
+
         @Override
         public View getView(int position, View convertView, ViewGroup parent) {
             ViewModle modle=null;
@@ -316,8 +404,15 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
             }else{
                modle= (ViewModle) convertView.getTag();
             }
-            
             modle.tv_text.setText(mData.get(position));
+            if (selected==position){
+                modle.tv_text.setSelected(true);
+                modle.tv_text.setTextColor(mContext.getResources().getColor(R.color.white));
+            }else {
+                modle.tv_text.setSelected(false);
+                modle.tv_text.setTextColor(mContext.getResources().getColor(R.color.black));
+            }
+            
             return convertView;
         }
         
@@ -359,10 +454,10 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
         currentSelectDate=DateFormatUtil.getStrDate4Date(date,"yyyy-MM-dd");
         if (swich){
             //按时间段
-            if (startTime){
-                v_time_start.setText(currentSelectDate);
+            if (startDate){
+                v_date_start.setText(currentSelectDate);
             }else{
-                v_time_end.setText(currentSelectDate);
+                v_date_end.setText(currentSelectDate);
             }
             
         }else{
@@ -377,6 +472,6 @@ public class SelectCalendarActivity extends BaseActivity implements View.OnClick
                 v_date_end.setText(currentSelectDate);
             }
         }
-       ToastMessage(currentSelectDate);
+       //ToastMessage(currentSelectDate);
     }
 }

+ 21 - 5
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/message/ProcessMsgActivity.java

@@ -137,8 +137,21 @@ public class ProcessMsgActivity extends BaseActivity implements View.OnClickList
                     progressDialog.dismiss();
                     break;
                 case Constants.APP_SOCKETIMEOUTEXCEPTION:
-                    ToastMessage(result);
-                    progressDialog.dismiss();
+                    try {
+                        ToastMessage(result);
+                        ViewUtil.ct = ct;
+                        ViewUtil.LoginERPTask(ct, mHandler, 0x16);
+                        progressDialog.dismiss();
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                    break;
+                case 0x16:
+                    try {
+                        initData();
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
                     break;
             }
         }
@@ -277,6 +290,7 @@ public class ProcessMsgActivity extends BaseActivity implements View.OnClickList
     public void onClick(View v) {
         switch (v.getId()) {
             case R.id.tv_process_un:
+                progressDialog.show();
                 page = 1;
                 tab_type = 1;
                 mAdapter = null;
@@ -288,6 +302,7 @@ public class ProcessMsgActivity extends BaseActivity implements View.OnClickList
 
                 break;
             case R.id.tv_process_already:
+                progressDialog.show();
                 page = 1;
                 tab_type = 2;
                 mAdapter = null;
@@ -299,6 +314,7 @@ public class ProcessMsgActivity extends BaseActivity implements View.OnClickList
 
                 break;
             case R.id.tv_process_me:
+                progressDialog.show();
                 page = 1;
                 tab_type = 3;
                 mAdapter = null;
@@ -317,7 +333,7 @@ public class ProcessMsgActivity extends BaseActivity implements View.OnClickList
 
 
     private void loadProcessToDo(int page) {
-        progressDialog.show();
+//        progressDialog.show();
         String url = Constants.getAppBaseUrl(ct) + "common/desktop/process/toDo.action";
         Map<String, Object> params = new HashMap<>();
         // count=10&page=1&limit=25
@@ -332,7 +348,7 @@ public class ProcessMsgActivity extends BaseActivity implements View.OnClickList
 
 
     private void loadProcesstoAlreadyDo(int page) {
-        progressDialog.show();
+ //       progressDialog.show();
         String url = Constants.getAppBaseUrl(ct) + "common/desktop/process/alreadyDo.action";
         Map<String, Object> params = new HashMap<>();
         params.put("count", String.valueOf(page*30));
@@ -346,7 +362,7 @@ public class ProcessMsgActivity extends BaseActivity implements View.OnClickList
     }
 
     private void loadProcessAlreadyLaunch(int page) {
-        progressDialog.show();
+  //      progressDialog.show();
         String url = Constants.getAppBaseUrl(ct) + "common/desktop/process/alreadyLaunch.action";
         Map<String, Object> params = new HashMap<>();
         params.put("count", String.valueOf(page*30));

+ 30 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/db/DBManager.java

@@ -45,6 +45,7 @@ public class DBManager {
         String sql = "replace into B2BMSG"
                 + "(b2b_content,b2b_time,b2b_hasRead,b2b_master)"
                 + " values (?, ?, ?, ?);";
+        if (!db.isOpen())return ;
         SQLiteStatement sta = db.compileStatement(sql);
         sta.bindString(1, entity.getContent());
         sta.bindString(2, entity.getTime());
@@ -59,6 +60,7 @@ public class DBManager {
         String groupBy = null;
         String having = null;
         String orderBy = " b2b_hasRead,b2b_time DESC";
+        if (!db.isOpen())return  entity;
         Cursor cursor = db.query(table, null, selection, selectionArgs, groupBy, having, orderBy);
         while (cursor.moveToNext()) {
             B2BMsg model = new B2BMsg();
@@ -79,6 +81,7 @@ public class DBManager {
         String sql = "update B2BMSG"
                 + " set b2b_hasRead=?"
                 + " where id=? and b2b_master=? ;";
+        if (!db.isOpen())return ;
         SQLiteStatement sta = db.compileStatement(sql);
         sta.bindLong(1, data.getHasRead());
         sta.bindLong(2, data.getId());
@@ -90,6 +93,7 @@ public class DBManager {
         String table = "B2BMSG";
         String[] whereArgs = {String.valueOf(data.getId()), data.getMaster()};
         String whereClause = "id=? and b2b_master=? ";
+        if (!db.isOpen())return ;
         db.delete(table, whereClause, whereArgs);
     }
 
@@ -101,6 +105,7 @@ public class DBManager {
         String sql = "replace into hrorgs"
                 + "(or_code,whichsys,or_subof,company,or_isleaf,or_name,or_id,or_flag,or_headmanname,or_headmancode,or_remark)"
                 + " values (?, ?, ?, ?, ?, ?, ?,?,?,?,?);";
+        if (!db.isOpen())return ;
         SQLiteStatement sta = db.compileStatement(sql);
         db.beginTransaction();
         for (int i = 0; i < hrorgsList.size(); i++) {
@@ -131,6 +136,7 @@ public class DBManager {
         String sql = "update hrorgs"
                 + " set or_remark=?"
                 + " where or_id=? and whichsys=?;";
+        if (!db.isOpen())return ;
         SQLiteStatement sta = db.compileStatement(sql);
         sta.bindLong(1, or_remark);
         sta.bindLong(2, or_id);//更新关键字段
@@ -146,6 +152,7 @@ public class DBManager {
         String sql = "update hrorgs"
                 + " set or_code=?,whichsys=?,or_subof=?,company=?,or_isleaf=?,or_name=?,or_id=?,or_flag=?"
                 + " where or_code=?;";
+        if (!db.isOpen())return ;
         SQLiteStatement sta = db.compileStatement(sql);
         db.beginTransaction();
         for (int i = 0; i < hrorgsList.size(); i++) {
@@ -173,6 +180,7 @@ public class DBManager {
      */
     public void saveEmployees(List<EmployeesEntity> employeesEntities) {
         String sql = "replace into employees(EM_ID,EM_CODE,EM_NAME,EM_POSITION,EM_DEFAULTORNAME,EM_DEPART,EM_MOBILE,EM_UU,COMPANY,WHICHSYS,Em_defaultorid,Em_flag,Em_imid,EM_EMAIL) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?,?,?,?,?);";
+        if (!db.isOpen())return ;
         SQLiteStatement sta = db.compileStatement(sql);
         db.beginTransaction();
         for (int i = 0; i < employeesEntities.size(); i++) {
@@ -205,6 +213,7 @@ public class DBManager {
         String sql = "update employees"
                 + " set EM_ID=?,EM_CODE=?,EM_NAME=?,EM_POSITION=?,EM_DEFAULTORNAME=?,EM_DEPART=?,EM_MOBILE=?,EM_UU=?,COMPANY=?,WHICHSYS=?,Em_defaultorid=?,Em_flag=?"
                 + " where EM_CODE=?;";
+        if (!db.isOpen())return ;
         SQLiteStatement sta = db.compileStatement(sql);
         db.beginTransaction();
         for (int i = 0; i < employeesEntities.size(); i++) {
@@ -237,6 +246,7 @@ public class DBManager {
         String sql = "insert into empdate"
                 + "(ed_lastdate,ed_kind,ed_company,ed_whichsys)"
                 + " values (?, ?, ?, ?);";
+        if (!db.isOpen())return ;
         SQLiteStatement sta = db.compileStatement(sql);
 
         sta.bindString(1, data.get("ed_lastdate").toString());
@@ -255,6 +265,7 @@ public class DBManager {
         String sql = "update empdate"
                 + " set ed_lastdate=?"
                 + " where ed_kind=? and ed_company=? and ed_whichsys=?;";
+        if (!db.isOpen())return ;
         SQLiteStatement sta = db.compileStatement(sql);
         sta.bindString(1, data.get("ed_lastdate").toString());
         sta.bindString(2, data.get("ed_kind").toString());
@@ -274,6 +285,7 @@ public class DBManager {
         String groupBy = null;
         String having = null;
         String orderBy = null;
+        if (!db.isOpen())return null;
         Cursor cursor = db.query(table, columns, where, selectionArgs, groupBy, having, orderBy);
         while (cursor.moveToNext()) {
             datestr = cursor.getString(cursor.getColumnIndex("ed_lastdate"));
@@ -290,6 +302,7 @@ public class DBManager {
         String table = "employees";
         String whereClause = "em_flag=?";
         String[] whereArgs = {"DELETE"};
+        if (!db.isOpen())return ;
         db.delete(table, whereClause, whereArgs);
 
         table = "hrorgs";
@@ -311,6 +324,7 @@ public class DBManager {
         String groupBy = null;
         String having = null;
         String orderBy = null;
+        if (!db.isOpen())return hrorgsEntities;
         Cursor cursor = db.query(table, columns, selection, selectionArgs, groupBy, having, orderBy);
         while (cursor.moveToNext()) {
             Hrorgs.HrorgItem hrorgItem = new Hrorgs().new HrorgItem();
@@ -362,6 +376,7 @@ public class DBManager {
 //        String having = null;
 //        String orderBy = null;
         //db.query(table, columns, selection, selectionArgs, groupBy, having, orderBy);
+        if (!db.isOpen())return 0;
         Cursor cursor =
                 db.rawQuery("select count(*) from employees where em_defaultorid=? and WHICHSYS=?", selectionArgs);
         if (cursor.moveToFirst()) {
@@ -377,6 +392,7 @@ public class DBManager {
         String table = "hrorgs";
         String[] whereArgs = {master};
         String whereClause = "whichsys=?";
+        if (!db.isOpen())return ;
         db.delete(table, whereClause, whereArgs);
         table = "employees";
         db.delete(table, whereClause, whereArgs);
@@ -395,6 +411,7 @@ public class DBManager {
         String groupBy = null;
         String having = null;
         String orderBy = null;
+        if (!db.isOpen())return hrorgsEntities;
         Cursor cursor = db.query(table, columns, selection, selectionArgs, groupBy, having, orderBy);
         while (cursor.moveToNext()) {
             hrorgsEntities = new HrorgsEntity();
@@ -427,6 +444,7 @@ public class DBManager {
         String groupBy = null;
         String having = null;
         String orderBy = null;
+        if (!db.isOpen())return hrorgsEntities;
         Cursor cursor = db.query(table, columns, selection, selectionArgs, groupBy, having, orderBy);
         while (cursor.moveToNext()) {
             HrorgsEntity hrorgsEntity = new HrorgsEntity();
@@ -496,8 +514,10 @@ public class DBManager {
         for (String e : selectionArgs) {
             Log.i("todo", "e=" + e);
         }
-        Cursor cursor = db.query(table, null, selection, selectionArgs, groupBy, having, orderBy);
         EmployeesEntity model = null;
+        if (!db.isOpen())return model;
+        Cursor cursor = db.query(table, null, selection, selectionArgs, groupBy, having, orderBy);
+       
         Log.i("todo", "e数据为空");
         while (cursor.moveToNext()) {
             Log.i("todo", "cursor.moveToNext()");
@@ -538,6 +558,7 @@ public class DBManager {
     }*/
     public void saveListToAllSubs(List<SubscriptionNumber> subscriptionNumbers) {
         String saveSql = "replace into AllSubs(subs_id,subs_title,subs_kind,subs_status,subs_type,subs_master,subs_username,subs_removed,subs_img) values (?,?,?,?,?,?,?,?,?)";
+        if (!db.isOpen())return ;
         SQLiteStatement sqLiteStatement = db.compileStatement(saveSql);
         for (int i = 0; i < subscriptionNumbers.size(); i++) {
             SubscriptionNumber subscriptionNumber = subscriptionNumbers.get(i);
@@ -561,6 +582,7 @@ public class DBManager {
         String groupBy = null;
         String having = null;
         String orderBy = null;
+        if (!db.isOpen())return subscriptionNumbers;
         Cursor cursor = db.query(table, null, selection, selectionArgs, groupBy, having, orderBy);
         while (cursor.moveToNext()) {
             SubscriptionNumber subscriptionNumber = new SubscriptionNumber();
@@ -585,6 +607,7 @@ public class DBManager {
         String sql = "update AllSubs"
                 + " set subs_status=?, subs_removed=? "
                 + " where subs_id=? and subs_master=? and subs_username=? ;";
+        if (!db.isOpen())return ;
         SQLiteStatement sta = db.compileStatement(sql);
         sta.bindLong(1, subscriptionNumber.getStatus());
         sta.bindLong(2, subscriptionNumber.getRemoved());
@@ -598,6 +621,7 @@ public class DBManager {
         String sql = "update AllSubs"
                 + " set subs_status=?, subs_removed=? "
                 + " where subs_id=? and subs_master=? and subs_username=? ;";
+        if (!db.isOpen())return ;
         SQLiteStatement sta = db.compileStatement(sql);
 
         for (int i = 0; i < subscriptionNumbers.size(); i++) {
@@ -633,6 +657,7 @@ public class DBManager {
         String table = "AllSubs";
         String[] whereArgs = {master, username};
         String whereClause = "subs_master=? and subs_username=? ";
+        if (!db.isOpen())return ;
         db.delete(table, whereClause, whereArgs);
     }
 
@@ -655,6 +680,7 @@ public class DBManager {
 
     public void saveListToMySubs(List<PersonalSubscriptionBean> personalSubscriptionBeans) {
         String saveSql = "replace into MySubs(subs_id,subs_title,subs_kind,subs_type,subs_applied,subs_master,subs_username,subs_img) values (?,?,?,?,?,?,?,?)";
+        if (!db.isOpen())return ;
         SQLiteStatement sqLiteStatement = db.compileStatement(saveSql);
         for (int i = 0; i < personalSubscriptionBeans.size(); i++) {
             PersonalSubscriptionBean personalSubscriptionBean = personalSubscriptionBeans.get(i);
@@ -676,6 +702,7 @@ public class DBManager {
         String groupBy = null;
         String having = null;
         String orderBy = null;
+        if (!db.isOpen())return  personalSubscriptionBeans;
         Cursor cursor = db.query(table, null, selection, selectionArgs, groupBy, having, orderBy);
         while (cursor.moveToNext()) {
             PersonalSubscriptionBean personalSubscriptionBean = new PersonalSubscriptionBean();
@@ -711,6 +738,7 @@ public class DBManager {
         String table = "MySubs";
         String[] whereArgs = {String.valueOf(personalSubscriptionBean.getNUM_ID()), personalSubscriptionBean.getMASTER(), personalSubscriptionBean.getUSERNAME()};
         String whereClause = "subs_id=? and subs_master=? and subs_username=? ";
+        if (!db.isOpen())return ;
         db.delete(table, whereClause, whereArgs);
     }
 
@@ -728,6 +756,7 @@ public class DBManager {
         String table = "MySubs";
         String[] whereArgs = {master, username};
         String whereClause = "subs_master=? and subs_username=? ";
+        if (!db.isOpen())return ;
         db.delete(table, whereClause, whereArgs);
     }
 

+ 12 - 12
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/CommonUtil.java

@@ -382,15 +382,15 @@ public class CommonUtil {
      * @author LiuJie
      * @功能:获取设备屏幕尺寸和密度
      */
-    public static String getDeviceInfo(Context ct) {
-        DisplayMetrics metric = new DisplayMetrics();
-        metric = ct.getApplicationContext().getResources().getDisplayMetrics();
-        int width = metric.widthPixels; // 屏幕宽度(像素)
-        int height = metric.heightPixels; // 屏幕高度(像素)
-        float density = metric.density; // 屏幕密度(0.75 / 1.0 / 1.5)
-        int densityDpi = metric.densityDpi; // 屏幕密度DPI(120 / 160 / 240)
-        return "width=" + width + "\nheight=" + height + "\ndensity=" + density + "\ndensityDpi=" + densityDpi;
-    }
+//    public static String getDeviceInfo(Context ct) {
+//        DisplayMetrics metric = new DisplayMetrics();
+//        metric = ct.getApplicationContext().getResources().getDisplayMetrics();
+//        int width = metric.widthPixels; // 屏幕宽度(像素)
+//        int height = metric.heightPixels; // 屏幕高度(像素)
+//        float density = metric.density; // 屏幕密度(0.75 / 1.0 / 1.5)
+//        int densityDpi = metric.densityDpi; // 屏幕密度DPI(120 / 160 / 240)
+//        return "width=" + width + "\nheight=" + height + "\ndensity=" + density + "\ndensityDpi=" + densityDpi;
+//    }
 
     // 获取手机型号
     public static String getDeviceModel() {
@@ -1145,9 +1145,9 @@ public class CommonUtil {
             sb.append("\n company:" + company);
             sb.append("\n----------------------设备信息输出-------------------------------------");
             //获取设备大小
-            String deviceInfo = CommonUtil.getDeviceInfo(ct);
-            System.out.println("deviceInfo=" + deviceInfo);
-            sb.append("\n" + deviceInfo);
+          //  String deviceInfo = CommonUtil.getDeviceInfo(ct);
+         //   System.out.println("deviceInfo=" + deviceInfo);
+           // sb.append("\n" + deviceInfo);
             sb.append("\n手机型号:" + CommonUtil.getDeviceModel());
             sb.append("\n手机生产厂商:" + CommonUtil.getDeviceManufacturer());
             //获取应用程序内存使用情况

BIN
WeiChat/src/main/res/drawable-hdpi/qiehuan2.png


+ 27 - 0
WeiChat/src/main/res/drawable/bg_select_red.xml

@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_selected="true">
+        <shape android:shape="rectangle">
+            <corners android:bottomLeftRadius="17dp" android:bottomRightRadius="17dp" android:topLeftRadius="17dp" android:topRightRadius="17dp"></corners>
+            <stroke android:width="1dp" android:color="@color/red"></stroke>
+            <solid android:color="@color/red"></solid>
+        </shape>
+    </item>
+
+    <item android:state_pressed="true">
+        <shape android:shape="rectangle">
+            <corners android:bottomLeftRadius="17dp" android:bottomRightRadius="17dp" android:topLeftRadius="17dp" android:topRightRadius="17dp"></corners>
+            <stroke android:width="1dp" android:color="@color/gray_light"></stroke>
+            <solid android:color="@color/gray_light"></solid>
+        </shape>
+
+    </item>
+
+    <item>
+        <shape android:shape="rectangle">
+            <corners android:bottomLeftRadius="16dp" android:bottomRightRadius="16dp" android:topLeftRadius="16dp" android:topRightRadius="16dp"></corners>
+            <stroke android:width="1dp" android:color="@color/gray_light"></stroke>
+            <solid android:color="@color/gray_light"></solid>
+        </shape>
+    </item>
+</selector>

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

@@ -393,7 +393,7 @@
                         android:gravity="center"
                         android:text="考勤统计"
                         android:textColor="@color/white"
-                        android:visibility="gone"/>
+                        android:visibility="invisible"/>
 
                     <TextView
                         android:layout_width="0dp"

+ 3 - 3
WeiChat/src/main/res/layout/activity_select_calendar.xml

@@ -54,7 +54,7 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_marginBottom="3dp"
-                    android:text="开始时间"/>
+                    android:text="结束时间"/>
 
                 <TextView
                     android:id="@+id/v_date_end"
@@ -77,7 +77,7 @@
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:orientation="horizontal"
-
+            android:visibility="gone"
             android:weightSum="2">
             <LinearLayout
                 android:id="@+id/ll_time_start"
@@ -153,7 +153,7 @@
             android:layout_marginTop="5dp"
             android:background="@drawable/bg_bule_btn"
             android:padding="10dp"
-            android:text="提交"
+            android:text="确定"
             android:textColor="@color/white"
             android:textSize="@dimen/text_main" />
     </LinearLayout>

+ 6 - 3
WeiChat/src/main/res/layout/activity_visit_report_add.xml

@@ -113,7 +113,7 @@
                 android:drawableRight="@drawable/nav_icon_search_default"
                 android:focusable="false"
                 android:focusableInTouchMode="false"
-                android:hint="请输入"
+                android:hint="请选择"
                 editTextFormExample:testType="nocheck" />
         </RelativeLayout>
 
@@ -214,10 +214,11 @@
                 android:id="@+id/tv_visit_theme"
                 style="@style/form_relative_right_text"
                 android:layout_centerVertical="true"
+                android:drawableRight="@drawable/nav_icon_search_default"
                 android:layout_marginLeft="11dp"
                 android:layout_toEndOf="@+id/textView"
                 android:layout_toRightOf="@+id/textView"
-                android:hint="请输入"
+                android:hint="请选择"
                 editTextFormExample:testType="nocheck" />
         </RelativeLayout>
         <RelativeLayout
@@ -277,6 +278,7 @@
                 android:layout_marginLeft="20dp"
                 android:layout_toRightOf="@+id/tv_id7"
                 android:text="*"
+                android:visibility="invisible"
                 android:textColor="@color/red" />
 
             <com.andreabaccega.widget.FormEditText xmlns:editTextFormExample="http://schemas.android.com/apk/res-auto"
@@ -285,7 +287,8 @@
                 android:drawableRight="@drawable/nav_icon_search_default"
                 android:focusable="false"
                 android:focusableInTouchMode="false"
-                android:hint="请选择"
+                android:enabled="false"
+                android:hint=""
                 editTextFormExample:testType="nocheck" />
         </RelativeLayout>
 

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

@@ -7,7 +7,7 @@
         android:orientation="vertical"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:background="@color/gray_light"
+        android:background="@drawable/bg_select_red"
         android:gravity="center"
         android:padding="5dp"
         android:text="08:30">

+ 14 - 0
WeiChat/src/main/res/menu/menu_date_select.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto">
+    <item
+        android:id="@+id/oa_signin_set"
+        android:title="切换"
+        app:showAsAction="always" />
+    <item
+        android:id="@+id/oa_leave"
+        android:title="切换"
+        android:icon="@drawable/qiehuan2"
+        app:showAsAction="ifRoom"  />
+
+</menu>