SpringBoots 8 lat temu
rodzic
commit
82b8dc6342

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

@@ -55,6 +55,7 @@ import com.xzjmyk.pm.activity.ui.erp.util.LogUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.OACheckUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
 import com.xzjmyk.pm.activity.ui.erp.util.oa.CommonInterface;
+import com.xzjmyk.pm.activity.ui.erp.util.oa.OAConfig;
 import com.xzjmyk.pm.activity.ui.erp.util.oa.OAHttpUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.oa.http.OAHttpHelper;
 import com.xzjmyk.pm.activity.ui.erp.util.oa.http.OnHttpResultListener;
@@ -192,9 +193,7 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
         } else if (item.getItemId() == R.id.add_item) {
             if (isCrm) {//从客户
                 Intent intent = null;
-                //TODO 发布版本使用旧款的拜访报告
-                intent = new Intent(ct, VisitReportAddActivity.class);
-//              intent = new Intent(ct, OAConfig.canShowCrm2_0() ? AddVisitReportActivity.class : VisitReportAddActivity.class);
+                intent = new Intent(ct, OAConfig.canShowCrm2_0() ? AddVisitReportActivity.class : VisitReportAddActivity.class);
 
                 startActivityForResult(intent, 0x20);
             } else
@@ -252,6 +251,7 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
         }
     }
 
+
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -316,9 +316,7 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
                     }
                     startActivityForResult(intent, isMe ? 0x20 : 0x21);
                 } else if (e.isVisitRecord()) {
-                    //TODO 发布版本使用旧款的拜访报告
-                    intent = new Intent(ct, VisitReportAddActivity.class);
-//                    intent = new Intent(ct, OAConfig.canShowCrm2_0() ? AddVisitReportActivity.class : VisitReportAddActivity.class);
+                    intent = new Intent(ct, OAConfig.canShowCrm2_0() ? AddVisitReportActivity.class : VisitReportAddActivity.class);
                     intent.putExtra("type", 2);
                     String chche = object.containsKey("status") ? object.getString("status") == null ? "" : object.getString("status") : "";
                     boolean me = (isMe && !"已拜访".equals(chche) && !"".equals(chche));
@@ -328,9 +326,7 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
                     startActivityForResult(intent, isMe ? 0x20 : 0x21);
                 } else if (e.isMission()) {
                     if (util.isMissionOk(e)) {//外勤计划
-                        //TODO 发布版本使用旧款的拜访报告
-                        intent = new Intent(ct, VisitReportAddActivity.class);
-//                      intent = new Intent(ct, OAConfig.canShowCrm2_0() ? AddVisitReportActivity.class : VisitReportAddActivity.class);
+                        intent = new Intent(ct, OAConfig.canShowCrm2_0() ? AddVisitReportActivity.class : VisitReportAddActivity.class);
                         intent.putExtra("type", 3);
                         intent.putExtra("isOutplan", true);
                         intent.putExtra("isMe", isMe);//可以提交拜访报告
@@ -749,9 +745,7 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
                             intent.putExtra("type", 1);
                             break;
                         case 2:
-                            //TODO 发布版本使用旧款的拜访报告
-                            intent = new Intent(ct, VisitReportAddActivity.class);
-//                          intent = new Intent(ct, OAConfig.canShowCrm2_0() ? AddVisitReportActivity.class : VisitReportAddActivity.class);
+                            intent = new Intent(ct, OAConfig.canShowCrm2_0() ? AddVisitReportActivity.class : VisitReportAddActivity.class);
                             break;
                         default:
                             String caller = (String) menusMap.get(position).get("item_caller");
@@ -760,9 +754,7 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
                             intent = new Intent(ct, DataFormDetailActivity.class)
                                     .putExtra("caller", caller)
                                     .putExtra("title", name);
-
                             break;
-
                     }
                     if (intent != null)
                         startActivityForResult(intent, 0x20);
@@ -843,8 +835,10 @@ public class OAActivity extends BaseActivity implements View.OnClickListener, Wo
         int yeas = c.get(Calendar.YEAR);
         int month = c.get(Calendar.MONTH) + 1;
         int day = c.get(Calendar.DAY_OF_MONTH);
-        yeas_tv.setText(yeas + getString(R.string.common_year) + month + getString(R.string.common_month));
-        day_tv.setText(day + getString(R.string.common_day));
+//        yeas_tv.setText(yeas + getString(R.string.common_year) + month + getString(R.string.common_month));
+//        day_tv.setText(day + getString(R.string.common_day));
+        yeas_tv.setText(yeas + "年" + month + "月");
+        day_tv.setText(day + "日");
         week_tv.setText(TimeUtils.getWeek(TimeUtils.s_format.format(date)));
     }
 

+ 25 - 14
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/AttendanceFragment.java

@@ -21,6 +21,7 @@ import com.xzjmyk.pm.activity.ui.base.EasyFragment;
 import com.xzjmyk.pm.activity.ui.erp.model.oa.WorkModel;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
+import com.xzjmyk.pm.activity.ui.erp.util.OACheckUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
 import com.xzjmyk.pm.activity.ui.erp.util.oa.WorkHandlerUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.oa.http.OAHttpHelper;
@@ -32,6 +33,7 @@ import com.xzjmyk.pm.activity.view.crouton.Crouton;
 import com.xzjmyk.pm.activity.wxapi.ApiPlatform;
 import com.xzjmyk.pm.activity.wxapi.ApiUtils;
 
+import java.text.DecimalFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
@@ -227,19 +229,28 @@ public class AttendanceFragment extends EasyFragment implements OnHttpResultList
 
 
     private void handlerDate(JSONObject object) {
-        l1.setText("应该出勤 " + getNull(object, "ychuqin") + " 天");
-        r1.setText("实际出勤 " + getNull(object, "achuqin") + " 天");
-        l2.setText("正常打卡 " + getNull(object, "nday") + " 天");
-        r2.setText(getString(R.string.sign_actualtime) + "    " + getNull(object, "atime") + " " + getString(R.string.sign_hour_day));
-        l3.setText(getString(R.string.sign_late) + "  " + getNull(object, "latecount") + " " + getString(R.string.sign_Times));
-        r3.setText(getString(R.string.sign_leave) + "  " + getNull(object, "earlycount") + " " + getString(R.string.sign_Times));
-        l4.setText(getString(R.string.sign_Absenteeism) + "  " + getNull(object, "noncount") + " " + getString(R.string.sign_Times));
-        l5.setText("请假    " + getNull(object, "qjdaty") + " 天");
-        r5.setText("加班    " + getNull(object, "overtime") + " 次/2小时");
-        l6.setText("出差    " + getNull(object, "outdays") + " 天");
-        r6.setText(getString(R.string.oaoutplan_title) + " " + getNull(object, "outcount") + " 天/3次");
-
-        r4.setText("补卡    " + getNull(object, "signcard") + " " + getString(R.string.sign_Times));
+        float achuqin = OACheckUtil.getJsonFloat(object, "achuqin");
+        int atime = (int) OACheckUtil.getJsonFloat(object, "atime");
+        DecimalFormat df = new DecimalFormat(".##");
+        String atimes = null;
+        if (achuqin != 0)
+            atimes = df.format(atime / achuqin);
+        else atimes = "0";
+        String achuqins = null;
+        if (achuqin == (int) achuqin) achuqins = String.valueOf((int) achuqin);
+        else achuqins = String.valueOf(achuqin);
+        l1.setText(getString(R.string.ychuqin) + "  " + OACheckUtil.getJson2Text(object, "ychuqin") + " 天");
+        r1.setText(getString(R.string.achuqin) + "  " + achuqins + " 天");
+        l2.setText(getString(R.string.nday) + "  " + OACheckUtil.getJson2Text(object, "nday") + " 天");
+        r2.setText(getString(R.string.sign_actualtime) + "  " + atimes + " " + getString(R.string.sign_hour_day));
+        l3.setText(getString(R.string.sign_late) + "  " + OACheckUtil.getJson2Text(object, "latecount") + " " + getString(R.string.sign_Times));
+        r3.setText(getString(R.string.sign_leave) + "  " + OACheckUtil.getJson2Text(object, "earlycount") + " " + getString(R.string.sign_Times));
+        l4.setText(getString(R.string.sign_Absenteeism) + "  " + OACheckUtil.getJson2Text(object, "noncount") + " " + getString(R.string.sign_Times));
+        r4.setText(getString(R.string.signcard) + "  " + OACheckUtil.getJson2Text(object, "signcard") + " " + getString(R.string.sign_Times));
+        l5.setText(getString(R.string.leave) + "  " + OACheckUtil.getJson2Text(object, "qjdaty") + " 天");
+        r5.setText(getString(R.string.overtime) + "  " + OACheckUtil.getJson2Text(object, "overtime") + " 次/2小时");
+        l6.setText(getString(R.string.outdays) + "  " + OACheckUtil.getJson2Text(object, "outdays") + " 天");
+        r6.setText(getString(R.string.oaoutplan_title) + " " + OACheckUtil.getJson2Text(object, "outcount") + " 天/3次");
     }
 
     private void setDate2Adapter(ArrayList<WorkModel> models) {
@@ -259,7 +270,7 @@ public class AttendanceFragment extends EasyFragment implements OnHttpResultList
         JSONObject object = JSON.parseObject(message);
         switch (what) {
             case 0x11:
-                handlerDate(object);
+                handlerDate(object.getJSONArray("listdata").getJSONObject(0));
                 break;
             case 0x12:
                 try {

+ 5 - 5
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/WorkPresenter.java

@@ -337,7 +337,7 @@ public class WorkPresenter implements OnHttpResultListener, IWorkPresenter {
                     public void result(SearchResult result) {
                         if (result instanceof PoiResult) {
                             List<PoiInfo> pois = ((PoiResult) result).getAllPoi();
-                            if (ListUtils.isEmpty(pois)) return;
+                            if (ListUtils.isEmpty(pois) || companyLocation == null) return;
                             for (int i = 0; i < pois.size(); i++) {
                                 double dis = BaiduMapUtil.getInstence().distance(compayLng, pois.get(i).location);
                                 if (companyLocation.getValidrange() < dis) {
@@ -375,11 +375,11 @@ public class WorkPresenter implements OnHttpResultListener, IWorkPresenter {
         //获取当前最近的位置信息
         if (!ListUtils.isEmpty(locationList)) {
             float dis = 0;
-            boolean first=true;
+            boolean first = true;
             for (WorkLocationModel location : locationList) {
-                float distance=BaiduMapUtil.getInstence().autoDistance(location.getLocation());
-                if (first||dis > distance) {
-                    dis =distance;
+                float distance = BaiduMapUtil.getInstence().autoDistance(location.getLocation());
+                if (first || dis > distance) {
+                    dis = distance;
                     companyLocation = location;
                 }
             }

+ 26 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/OACheckUtil.java

@@ -58,7 +58,23 @@ public class OACheckUtil {
         return 0;
     }
 
-
+    public static float getJsonFloat(JSONObject object, String... keys) {
+        if (object == null || keys == null || keys.length <= 0) return 0;
+        for (String key : keys) {
+            if (!object.containsKey(key) || object.get(key) == null)
+                continue;
+            if (object.get(key) instanceof Integer) {
+                return object.getInteger(key);
+            } else if (object.get(key) instanceof String) {
+                try {
+                    return  Float.valueOf(object.getString(key));
+                } catch (Exception e) {
+                    return 0;
+                }
+            }
+        }
+        return 0;
+    }
     /**
      * 获取json数据的int类型,因为接口经常返回一个null
      *
@@ -71,8 +87,16 @@ public class OACheckUtil {
         for (String key : keys) {
             if (!object.containsKey(key) || object.get(key) == null)
                 continue;
-            if (object.get(key) instanceof Integer)
+            if (object.get(key) instanceof Integer) {
                 return object.getInteger(key);
+            } else if (object.get(key) instanceof String) {
+                try {
+                    float mag = Float.valueOf(object.getString(key));
+                    return (int) mag;
+                } catch (Exception e) {
+                    return 0;
+                }
+            }
         }
         return 0;
     }

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/oa/OAConfig.java

@@ -26,6 +26,6 @@ public class OAConfig {
 
     /*是否显示Crm2.0功能*/
     public static boolean canShowCrm2_0() {
-        return true;
+        return false;
     }
 }

+ 7 - 0
WeiChat/src/main/res/values-en/strings.xml

@@ -1262,4 +1262,11 @@
     <string name="crm_icon3">My subordinates</string>
     <string name="crm_icon4">My indicators</string>
     <string name="crm_icon5">Forgotten customers</string>
+    <string name="leave">请假</string>
+    <string name="overtime">加班</string>
+    <string name="ychuqin">应该出勤</string>
+    <string name="achuqin">实际出勤</string>
+    <string name="nday">正常打卡</string>
+    <string name="outdays">出差</string>
+    <string name="signcard">补卡</string>
 </resources>

+ 8 - 0
WeiChat/src/main/res/values-zh-rCN/strings.xml

@@ -684,6 +684,14 @@
     <string name="input_meeting_left">遗留问题未按要求填写</string>
     <string name="input_meeting_next">后续工作未按要求填写</string>
 
+    <string name="leave">请假</string>
+    <string name="overtime">加班</string>
+    <string name="ychuqin">应该出勤</string>
+    <string name="achuqin">实际出勤</string>
+    <string name="nday">正常打卡</string>
+    <string name="outdays">出差</string>
+    <string name="signcard">补卡</string>
+
     <!--end by Bitliker-->
 
     <!--start by Arison-->

+ 7 - 0
WeiChat/src/main/res/values-zh-rTW/strings.xml

@@ -654,6 +654,13 @@
     <string name="input_meeting_resolution">會議決議未按要求填寫</string>
     <string name="input_meeting_left">遺留問題未按要求填寫</string>
     <string name="input_meeting_next">後續工作未按要求填寫</string>
+    <string name="leave">請假</string>
+    <string name="overtime">加班</string>
+    <string name="ychuqin">應該出勤</string>
+    <string name="achuqin">實際出勤</string>
+    <string name="nday">正常打卡</string>
+    <string name="outdays">出差</string>
+    <string name="signcard">補卡</string>
     <!--end by Bitliker-->
 
     <!--start by Arison-->

+ 7 - 0
WeiChat/src/main/res/values/strings.xml

@@ -1670,4 +1670,11 @@
     <string name="crm_icon3">我的下属</string>
     <string name="crm_icon4">我的指标</string>
     <string name="crm_icon5">遗忘的客户</string>
+    <string name="leave">请假</string>
+    <string name="overtime">加班</string>
+    <string name="ychuqin">应该出勤</string>
+    <string name="achuqin">实际出勤</string>
+    <string name="nday">正常打卡</string>
+    <string name="outdays">出差</string>
+    <string name="signcard">补卡</string>
 </resources>