| | |
| | | package cn.com.basic.face.service;
|
| | |
|
| | | import android.database.Cursor;
|
| | | import android.database.sqlite.SQLiteDatabase;
|
| | | import android.widget.Toast;
|
| | |
|
| | | import cn.com.basic.face.base.BaseApplication;
|
| | | import cn.com.basic.face.base.MainActivity;
|
| | | import cn.com.basic.face.discern.common.CommonVariables;
|
| | | import cn.com.basic.face.discern.common.ResultBean;
|
| | | import cn.com.basic.face.discern.common.SqliteSqlBean;
|
| | | import cn.com.basic.face.discern.entity.Visit;
|
| | | import cn.com.basic.face.discern.entity.VisitDetail;
|
| | | import cn.com.basic.face.discern.query.condition.AttendanceQueryCondition;
|
| | | import cn.com.basic.face.discern.query.condition.CheckInQueryCondition;
|
| | | import cn.com.basic.face.discern.query.item.OfflineAttenderRegisterItem;
|
| | | import cn.com.basic.face.discern.query.item.OfflineVisitItem;
|
| | | import cn.com.basic.face.fragment.CheckInFragment;
|
| | | import cn.com.basic.face.service.sqlite.CheckInDao;
|
| | | import cn.com.basic.face.service.sqlite.DictionaryDao;
|
| | |
| | | import cn.com.basic.face.discern.common.BaseCommonCallBack;
|
| | | import cn.com.basic.face.discern.query.item.CheckInQueryItem;
|
| | | import cn.com.basic.face.util.CharacterParser;
|
| | | import cn.com.basic.face.util.DateUtil;
|
| | | import cn.com.basic.face.util.SqliteSqlUtil;
|
| | |
|
| | | //登记
|
| | | public class CheckInMng extends BaseMng {
|
| | |
| | | return instance;
|
| | | }
|
| | |
|
| | | public void add(RequestParams params, final String visitReasonId) {
|
| | | public void add(RequestParams params, final String visitReasonId, OfflineVisitItem offlineVisitItem) {
|
| | | if (!BaseApplication.deviceAvailable) {
|
| | | return;
|
| | | }
|
| | | if (BaseApplication.getInstance().networkAvailable()) {
|
| | | params.setUri(AppApi.BASE_URL +AppApi.VISIT_ADD);
|
| | | params.addBodyParameter(Visit.FieldNames.deviceCompanyId, BaseApplication.getInstance().getAndroidDevice().getCompanyId());
|
| | | x.http().post(params, new BaseCommonCallBack() {
|
| | | @Override
|
| | | public void success() {
|
| | | SqliteSqlUtil.insert(getExtraList(SqliteSqlBean.class));
|
| | | Toast.makeText(BaseApplication.getInstance(),"添加成功", Toast.LENGTH_SHORT).show();
|
| | | CheckInFragment.getInstance().resetForm();
|
| | | if (visitReasonId == null || "".equals(visitReasonId)) {
|
| | |
| | | }
|
| | | });
|
| | | } else {
|
| | | // params.addBodyParameter(Visit.FieldNames.visitReasonId, visitReasonId);
|
| | | // params.addBodyParameter(Visit.FieldNames.visitReason, fragment_check_in_right_visitor_reason.getText().toString());
|
| | | // params.addBodyParameter(Visit.FieldNames.remark, fragment_check_in_right_remark.getText().toString());
|
| | | // params.addBodyParameter(Visit.FieldNames.visitorId, visitor.getRegisterId());
|
| | | // params.addBodyParameter(Visit.FieldNames.visiteeId, interviewee.getRegisterId());
|
| | | // params.addBodyParameter(Visit.FieldNames.visitorCompanyId, visitor.getCompanyId());
|
| | | // params.addBodyParameter(Visit.FieldNames.visiteeCompanyId, interviewee.getCompanyId());
|
| | | // SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
| | | // params.addBodyParameter(Visit.FieldNames.enterTime, sdf.format(new Date()));
|
| | | // params.addBodyParameter(Visit.FieldNames.currentStateId, ""+ CommonVariables.VisitType.VISITOR_ENTERED);
|
| | | // params.addBodyParameter(Visit.FieldNames.warning, visitor.getWarning());
|
| | | //
|
| | | // params.addBodyParameter(VisitDetail.FieldNames.stateId, ""+CommonVariables.VisitType.VISITOR_ENTERED);
|
| | | // params.addBodyParameter(VisitDetail.FieldNames.createTime, sdf.format(new Date()));
|
| | | // params.addBodyParameter(VisitDetail.FieldNames.deviceId, BaseApplication.getInstance().getAndroidDevice().getDeviceId());
|
| | | CheckInDao.getInstance().add(params);
|
| | | if (visitReasonId == null || "".equals(visitReasonId)) {
|
| | | DictionaryMng.getInstance().loadVisitReasonList();
|
| | | }
|
| | | final long result = CheckInDao.getInstance().addOfflineVisit(offlineVisitItem);
|
| | |
|
| | | MainActivity.getInstance().runOnUiThread(new Runnable() {
|
| | | @Override
|
| | | public void run() {
|
| | | if (result > 0) {
|
| | | Toast.makeText(BaseApplication.getInstance(), "添加成功", Toast.LENGTH_SHORT).show();
|
| | | if (visitReasonId == null || "".equals(visitReasonId)) {
|
| | | DictionaryMng.getInstance().loadVisitReasonList();
|
| | | }
|
| | | CheckInFragment.getInstance().resetForm();
|
| | | } else {
|
| | | Toast.makeText(BaseApplication.getInstance(), "添加失败", Toast.LENGTH_SHORT).show();
|
| | | }
|
| | | }
|
| | | });
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | params.addBodyParameter(CheckInQueryCondition.FieldNames.username, searchText);
|
| | | params.addBodyParameter(CommonVariables.Page.PAGE_NUM, pageNum+"");
|
| | | params.addBodyParameter(CommonVariables.Page.PAGE_SIZE, CommonVariables.Page.DEFAULT_PAGE_SIZE);
|
| | | params.addBodyParameter("deviceCompanyId", BaseApplication.getInstance().getAndroidDevice().getCompanyId());
|
| | | x.http().post(params, new BaseCommonCallBack() {
|
| | | public void success() {
|
| | | findCheckInLeftListAfterReturn(resultBean, isVisitorList, isSortByDept, append);
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | public void findCheckInLeftListAfterReturn(ResultBean resultBean, boolean isVisitorList, boolean isSortByDept, boolean append) {
|
| | | public void findCheckInLeftListAfterReturn(ResultBean resultBean, final boolean isVisitorList, final boolean isSortByDept, final boolean append) {
|
| | | List<CheckInQueryItem> list = resultBean.getList(CheckInQueryItem.class);
|
| | | if (list == null) {
|
| | | list = new ArrayList<>();
|
| | | }
|
| | |
|
| | | List prevList = null;
|
| | | if (append) {
|
| | |
| | | }
|
| | |
|
| | | sort(list, isSortByDept);
|
| | | List itemList = new ArrayList();
|
| | | final List itemList = new ArrayList();
|
| | | String name = "";
|
| | | String prev = "";
|
| | | for (int i = 0; i < list.size(); i++) {
|
| | |
| | | prev = name;
|
| | | }
|
| | | addPageFooter(resultBean.hasMorePages(), resultBean.getPageNum(), itemList);
|
| | | if (isVisitorList) {
|
| | | CheckInFragment.getInstance().get_fragment_check_in_left_visitor().show(itemList);
|
| | | if (BaseApplication.getInstance().networkAvailable()) {
|
| | | if (isVisitorList) {
|
| | | CheckInFragment.getInstance().get_fragment_check_in_left_visitor().show(itemList);
|
| | | } else {
|
| | | CheckInFragment.getInstance().get_fragment_check_in_left_interviewee().show(itemList, isSortByDept, append);
|
| | | }
|
| | | } else {
|
| | | CheckInFragment.getInstance().get_fragment_check_in_left_interviewee().show(itemList, isSortByDept, append);
|
| | | MainActivity.getInstance().runOnUiThread(new Runnable() {
|
| | | @Override
|
| | | public void run() {
|
| | | if (isVisitorList) {
|
| | | CheckInFragment.getInstance().get_fragment_check_in_left_visitor().show(itemList);
|
| | | } else {
|
| | | CheckInFragment.getInstance().get_fragment_check_in_left_interviewee().show(itemList, isSortByDept, append);
|
| | | }
|
| | | }
|
| | | });
|
| | | }
|
| | | }
|
| | |
|
| | | private void sort(List<CheckInQueryItem> list, final boolean sortedByDept) {
|
| | | if (!BaseApplication.deviceAvailable) {
|
| | | return;
|
| | | }
|
| | | if (list == null) {
|
| | | list = new ArrayList<>();
|
| | | }
|
| | | Collections.sort(list, new Comparator<CheckInQueryItem>() {
|
| | | @Override
|
| | |
| | | }
|
| | |
|
| | |
|
| | | public void sendOfflineCheckInToServer() {
|
| | | public void sendOfflineCheckInToServer(Integer mysqlVisitorId, long sqliteVisitorId) {
|
| | |
|
| | | }
|
| | |
|
| | | public boolean hasOfflineCheckInData() {
|
| | | return false;
|
| | | return CheckInDao.getInstance().hasOfflineCheckInData();
|
| | | }
|
| | |
|
| | | public void removeVisitorLastMonthData() {
|
| | | try {
|
| | | SQLiteDatabase db = MainActivity.getInstance().db;
|
| | | String sql="SELECT" +
|
| | | " a.register_id," +
|
| | | "a.username," +
|
| | | "a.surveillance_photo," +
|
| | | "d.company_name," +
|
| | | "a.tel," +
|
| | | "a.identify_num," +
|
| | | "b.dept_name," +
|
| | | "d.company_id," +
|
| | | "e.post_name," +
|
| | | "a.mobile_phone," +
|
| | | "a.warning," +
|
| | | "a.company" +
|
| | | " FROM" +
|
| | | " register a" +
|
| | | " LEFT JOIN company d ON d.company_id = a.company_id" +
|
| | | " LEFT JOIN department b ON a.department_id = b.dept_id" +
|
| | | " LEFT JOIN post e ON e.post_id = a.post_id" +
|
| | | " LEFT JOIN ( SELECT register_id, device_company_id from employee ) f ON f.register_id = a.register_id" +
|
| | | " WHERE" +
|
| | | " 1 = 1";
|
| | | String deviceCompanyId = BaseApplication.getInstance().getAndroidDevice().getCompanyId();
|
| | | sql += " AND ( f.device_company_id != " + deviceCompanyId+" OR f.device_company_id IS NULL"+")";
|
| | |
|
| | | sql+=" order by a.name_en";
|
| | |
|
| | | String count = "select count(*) as count from (" + sql + " ) _table";
|
| | | sql += " LIMIT 0, 100000";
|
| | | List<CheckInQueryItem> list = new ArrayList<CheckInQueryItem>();
|
| | | int b = list.size();
|
| | | CheckInQueryItem cqi = null;
|
| | | Cursor c = db.rawQuery(sql,new String[]{});
|
| | | while (c.moveToNext()) {
|
| | | cqi = new CheckInQueryItem();
|
| | | cqi.setRegisterId(c.getString(c.getColumnIndex("register_id")));
|
| | | list.add(cqi);
|
| | | }
|
| | | for (CheckInQueryItem item : list) {
|
| | | String sql1 = "delete from register where 1=1 and register_id = '" + item.getRegisterId() + "'";
|
| | | MainActivity.getInstance().db.execSQL(sql1);
|
| | | }
|
| | | } catch (Exception e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | |
|
| | | }
|