Browse Source

增加排序字段,流程处理人设置为从填写的第一个开始

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@7374 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
hejq 9 years ago
parent
commit
9937f16d49

+ 6 - 2
src/main/java/com/uas/platform/b2b/mobile/service/impl/FeePleaseServiceImpl.java

@@ -62,6 +62,7 @@ public class FeePleaseServiceImpl implements FeePleaseService {
 			feePlease.setFp_status(MobileStatus.ENTERING.getPhrase());
 			feePlease.setFp_statuscode(MobileStatus.ENTERING.name());
 			feePlease.setFp_recorddate(new Date());
+			feePlease.setOrderdate(new Date());
 			Set<FeePleaseDetail> feeDetails = new HashSet<FeePleaseDetail>();
 			if (!CollectionUtils.isEmpty(feePleaseDetails)) {
 				for (FeePleaseDetail feePleaseDetail : feePleaseDetails) {
@@ -84,6 +85,7 @@ public class FeePleaseServiceImpl implements FeePleaseService {
 				fee.setFp_status(MobileStatus.ENTERING.getPhrase());
 				fee.setFp_statuscode(MobileStatus.ENTERING.name());
 				fee.setFp_recorddate(new Date());
+				fee.setOrderdate(new Date());
 				feePleaseDao.save(fee);
 				if (!CollectionUtils.isEmpty(feePleaseDetails)) {
 					for (FeePleaseDetail feedetail : feePleaseDetails) {
@@ -113,7 +115,7 @@ public class FeePleaseServiceImpl implements FeePleaseService {
 				log.setCaller("出差单");
 				log.setEmcode(feePlease.getEmcode());
 				log.setEnuu(feePlease.getEnuu());
-				for (int i = 1; i <= approvalFlowService.getMaxNodeByEnuuAndAppName(feePlease.getEnuu(),
+				for (int i = 0; i <= approvalFlowService.getMaxNodeByEnuuAndAppName(feePlease.getEnuu(),
 						appName); i++) {
 					ApprovalLog applog = new ApprovalLog(log);
 					applog.setNodedealman(approvalFlowService
@@ -124,7 +126,7 @@ public class FeePleaseServiceImpl implements FeePleaseService {
 							.getNodeInfoByEnuuAndAppNameAndNodelev(feePlease.getEnuu(), appName, i).getId());
 					applog = approvalLogDao.save(applog);
 					node = approvalFlowService.getNodeInfoByEnuuAndAppNameAndNodelev(feePlease.getEnuu(), appName,
-							node.getNodelev() + 1);
+							node.getNodelev());
 					if (applog.getId() != null) {
 						if (id != null) {
 							feePlease = feePleaseDao.findOne(id);
@@ -162,6 +164,8 @@ public class FeePleaseServiceImpl implements FeePleaseService {
 		PageParams params = new PageParams();
 		params.setCount(pageSize);
 		params.setPage(pageNumber);
+		String sorting = "{\"orderdate\":\"desc\"}";
+		params.setSorting(sorting);
 		final PageInfo pageInfo = new PageInfo(params);
 		pageInfo.filter("emcode", emcode);
 		pageInfo.filter("enuu", enuu);

+ 6 - 2
src/main/java/com/uas/platform/b2b/mobile/service/impl/VacationServiceImpl.java

@@ -53,6 +53,8 @@ public class VacationServiceImpl implements VacationService {
 		PageParams params = new PageParams();
 		params.setCount(pageSize);
 		params.setPage(pageNumber);
+		String sorting = "{\"orderdate\":\"desc\"}";
+		params.setSorting(sorting);
 		final PageInfo pageInfo = new PageInfo(params);
 		pageInfo.filter("emcode", emcode);
 		pageInfo.filter("enuu", enuu);
@@ -75,6 +77,7 @@ public class VacationServiceImpl implements VacationService {
 			SimpleDateFormat sdf = new SimpleDateFormat("yyMMmmSS");
 			vacation.setVa_code("AL" + sdf.format(new Date()));
 			vacation.setVa_date(new Date());
+			vacation.setOrderdate(new Date());
 			vacation.setVa_emname(userBaseInfoDao.findByUserUU(vacation.getEmcode()).getUserName());
 			vacation.setVa_recorder(userBaseInfoDao.findByUserUU(vacation.getEmcode()).getUserName());
 			va = vacationDao.save(vacation);
@@ -89,6 +92,7 @@ public class VacationServiceImpl implements VacationService {
 			va.setVa_statuscode(MobileStatus.ENTERING.name());
 			va.setVa_status(MobileStatus.ENTERING.getPhrase());
 			va.setVa_date(new Date());
+			va.setOrderdate(new Date());
 			va.setVa_startime(vacation.getVa_startime());
 			va.setVa_endtime(vacation.getVa_endtime());
 			va.setVa_remark(vacation.getVa_remark());
@@ -113,7 +117,7 @@ public class VacationServiceImpl implements VacationService {
 				log.setCaller("请假单");
 				log.setEmcode(vacation.getEmcode());
 				log.setEnuu(vacation.getEnuu());
-				for (int i = 1; i <= approvalFlowService.getMaxNodeByEnuuAndAppName(vacation.getEnuu(), appName); i++) {
+				for (int i = 0; i <= approvalFlowService.getMaxNodeByEnuuAndAppName(vacation.getEnuu(), appName); i++) {
 					ApprovalLog applog = new ApprovalLog(log);
 					applog.setNodedealman(approvalFlowService
 							.getNodeInfoByEnuuAndAppNameAndNodelev(vacation.getEnuu(), appName, i).getEmcode());
@@ -123,7 +127,7 @@ public class VacationServiceImpl implements VacationService {
 							.getNodeInfoByEnuuAndAppNameAndNodelev(vacation.getEnuu(), appName, i).getId());
 					applog = approvalLogDao.save(applog);
 					node = approvalFlowService.getNodeInfoByEnuuAndAppNameAndNodelev(vacation.getEnuu(), appName,
-							node.getNodelev() + 1);
+							node.getNodelev());
 					if (applog.getId() != null) {
 						// 新增待审批
 						AppFlowOperation operation = new AppFlowOperation();

+ 6 - 2
src/main/java/com/uas/platform/b2b/mobile/service/impl/WorkDailyServiceImpl.java

@@ -53,6 +53,7 @@ public class WorkDailyServiceImpl implements WorkDailyService {
 		WorkDaily daily = new WorkDaily();
 		if (workDaily.getWd_id() == null) {// 新增单据
 			workDaily.setWd_date(new Date());
+			workDaily.setOrderdate(new Date());
 			workDaily.setWd_status(MobileStatus.ENTERING.getPhrase());
 			workDaily.setWd_statuscode(MobileStatus.ENTERING.name());
 			SimpleDateFormat sdf = new SimpleDateFormat("yyMMHHss");
@@ -64,6 +65,7 @@ public class WorkDailyServiceImpl implements WorkDailyService {
 			daily.setWd_status(MobileStatus.ENTERING.getPhrase());
 			daily.setWd_statuscode(MobileStatus.ENTERING.name());
 			daily.setWd_date(new Date());
+			daily.setOrderdate(new Date());
 			daily.setWd_comment(workDaily.getWd_comment());
 			daily.setWd_plan(workDaily.getWd_plan());
 			daily.setWd_experience(workDaily.getWd_experience());
@@ -86,7 +88,7 @@ public class WorkDailyServiceImpl implements WorkDailyService {
 				log.setCaller("工作日报");
 				log.setEmcode(workDaily.getEmcode());
 				log.setEnuu(workDaily.getEnuu());
-				for (int i = 1; i <= approvalFlowService.getMaxNodeByEnuuAndAppName(workDaily.getEnuu(),
+				for (int i = 0; i <= approvalFlowService.getMaxNodeByEnuuAndAppName(workDaily.getEnuu(),
 						appName); i++) {
 					ApprovalLog applog = new ApprovalLog(log);
 					applog.setNodedealman(approvalFlowService
@@ -97,7 +99,7 @@ public class WorkDailyServiceImpl implements WorkDailyService {
 							.getNodeInfoByEnuuAndAppNameAndNodelev(workDaily.getEnuu(), appName, i).getId());
 					applog = approvalLogDao.save(applog);
 					node = approvalFlowService.getNodeInfoByEnuuAndAppNameAndNodelev(workDaily.getEnuu(), appName,
-							node.getNodelev() + 1);
+							node.getNodelev());
 					if (applog.getId() != null) {
 						workDaily = workDailyDao.findOne(workDaily.getWd_id());
 						workDaily.setWd_status(MobileStatus.COMMITED.getPhrase());
@@ -133,6 +135,8 @@ public class WorkDailyServiceImpl implements WorkDailyService {
 		PageParams params = new PageParams();
 		params.setCount(pageSize);
 		params.setPage(pageNumber);
+		String sorting = "{\"orderdate\":\"desc\"}";
+		params.setSorting(sorting);
 		final PageInfo pageInfo = new PageInfo(params);
 		pageInfo.filter("enuu", enuu);
 		pageInfo.filter("emcode", emcode);

+ 7 - 2
src/main/java/com/uas/platform/b2b/mobile/service/impl/WorkOvertimeServiceImpl.java

@@ -68,6 +68,7 @@ public class WorkOvertimeServiceImpl implements WorkOvertimeService {
 			workOvertime.setWo_statuscode(MobileStatus.ENTERING.name());
 			workOvertime.setWo_recorder(userBaseInfoDao.findByUserUU(workOvertime.getEmcode()).getUserName());
 			workOvertime.setWo_date(new Date());
+			workOvertime.setOrderdate(new Date());
 			Set<WorkOvertimeDet> workOvertimeDetails = new HashSet<WorkOvertimeDet>();
 			if (!CollectionUtils.isEmpty(workOvertimeDets)) {
 				for (WorkOvertimeDet workOvertimeDet : workOvertimeDets) {
@@ -93,6 +94,8 @@ public class WorkOvertimeServiceImpl implements WorkOvertimeService {
 				wo.setWo_status(MobileStatus.ENTERING.getPhrase());
 				wo.setWo_statuscode(MobileStatus.ENTERING.name());
 				wo.setWo_worktask(workOvertime.getWo_worktask());
+				wo.setWo_date(new Date());
+				wo.setOrderdate(new Date());
 				workOvertimeDao.save(wo);// 更新主表
 				if (!CollectionUtils.isEmpty(workOvertimeDets)) {
 					for (WorkOvertimeDet det : workOvertimeDets) {
@@ -127,7 +130,7 @@ public class WorkOvertimeServiceImpl implements WorkOvertimeService {
 				log.setCaller("加班单");
 				log.setEmcode(workOvertime.getEmcode());
 				log.setEnuu(workOvertime.getEnuu());
-				for (int i = 1; i <= approvalFlowService.getMaxNodeByEnuuAndAppName(workOvertime.getEnuu(),
+				for (int i = 0; i <= approvalFlowService.getMaxNodeByEnuuAndAppName(workOvertime.getEnuu(),
 						appName); i++) {
 					ApprovalLog applog = new ApprovalLog(log);
 					applog.setNodedealman(approvalFlowService
@@ -138,7 +141,7 @@ public class WorkOvertimeServiceImpl implements WorkOvertimeService {
 							.getNodeInfoByEnuuAndAppNameAndNodelev(workOvertime.getEnuu(), appName, i).getId());
 					applog = approvalLogDao.save(applog);
 					node = approvalFlowService.getNodeInfoByEnuuAndAppNameAndNodelev(workOvertime.getEnuu(), appName,
-							node.getNodelev() + 1);
+							node.getNodelev());
 					if (applog.getId() != null) {
 						workOvertime = workOvertimeDao.findOne(id);
 						workOvertime.setWo_status(MobileStatus.COMMITED.getPhrase());
@@ -174,6 +177,8 @@ public class WorkOvertimeServiceImpl implements WorkOvertimeService {
 		PageParams params = new PageParams();
 		params.setCount(pageSize);
 		params.setPage(pageNumber);
+		String sorting = "{\"orderdate\":\"desc\"}";
+		params.setSorting(sorting);
 		final PageInfo pageInfo = new PageInfo(params);
 		pageInfo.filter("emcode", emcode);
 		pageInfo.filter("enuu", enuu);

+ 64 - 4
src/main/java/com/uas/platform/b2b/mobile/service/impl/WorkScheduleServiceImpl.java

@@ -1,6 +1,8 @@
 package com.uas.platform.b2b.mobile.service.impl;
 
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 import org.apache.commons.collections.CollectionUtils;
@@ -8,15 +10,19 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.ui.ModelMap;
 
-import com.alibaba.fastjson.JSON;
+import com.uas.platform.b2b.dao.CommonDao;
 import com.uas.platform.b2b.dao.OfficeTaskDao;
+import com.uas.platform.b2b.dao.UserBaseInfoDao;
+import com.uas.platform.b2b.mobile.VisitRecordDao;
 import com.uas.platform.b2b.mobile.dao.OutPlanDao;
 import com.uas.platform.b2b.mobile.dao.OutSignDao;
 import com.uas.platform.b2b.mobile.dao.UserCenterDao;
+import com.uas.platform.b2b.mobile.enumeration.MobileStatus;
 import com.uas.platform.b2b.mobile.model.OutPlan;
 import com.uas.platform.b2b.mobile.model.OutPlanDetail;
 import com.uas.platform.b2b.mobile.model.OutSign;
 import com.uas.platform.b2b.mobile.model.UserCenter;
+import com.uas.platform.b2b.mobile.model.VisitRecord;
 import com.uas.platform.b2b.mobile.model.WorkSchedule;
 import com.uas.platform.b2b.mobile.service.WorkScheduleService;
 import com.uas.platform.b2b.model.OfficeTask;
@@ -38,6 +44,15 @@ public class WorkScheduleServiceImpl implements WorkScheduleService {
 	@Autowired
 	private OfficeTaskDao officeTaskDao;
 
+	@Autowired
+	private UserBaseInfoDao userBaseInfoDao;
+
+	@Autowired
+	private VisitRecordDao visitRecordDao;
+
+	@Autowired
+	private CommonDao commonDao;
+
 	@Override
 	public ModelMap getWorkSchedule(Long emcode, Long enuu) {
 		ModelMap map = new ModelMap();
@@ -45,7 +60,6 @@ public class WorkScheduleServiceImpl implements WorkScheduleService {
 		if (user != null) {
 			WorkSchedule workSchedule = new WorkSchedule();
 			List<OutPlan> meOutPlans = outPlanDao.findByRecorderCodeAndEnuu(emcode, enuu);
-			System.out.println(JSON.toJSON(meOutPlans));
 			List<OutPlanInfo> planInfos = new ArrayList<OutPlanInfo>();
 			if (!CollectionUtils.isEmpty(meOutPlans)) {
 				for (OutPlan ou : meOutPlans) {
@@ -69,11 +83,11 @@ public class WorkScheduleServiceImpl implements WorkScheduleService {
 					planInfos.add(info);
 				}
 			}
-			// List<OutSign> meOutSigns = outSignDao.findByEnuuAndEmcode(enuu,
-			// emcode);
 			List<OfficeTask> task = officeTaskDao.findByUuAndDomancode(enuu, emcode);
+			List<VisitRecord> records = getRecordsInOneMonth(emcode, enuu);
 			workSchedule.setTask(task);
 			workSchedule.setOutPlan(planInfos);
+			workSchedule.setVisitRecord(records);
 			map.put("me", workSchedule);
 			if (user.getIsAdmin().equals(Constant.YES)) {// 管理员,获取下属任务等
 				WorkSchedule workSchedules = new WorkSchedule();
@@ -121,12 +135,58 @@ public class WorkScheduleServiceImpl implements WorkScheduleService {
 						}
 					}
 				}
+				List<VisitRecord> virecords = new ArrayList<VisitRecord>();
+				if (!CollectionUtils.isEmpty(records)) {
+					for (VisitRecord record : records) {
+						VisitRecord rec = new VisitRecord();
+						rec.setVr_detail(record.getVr_detail());
+						rec.setVr_cuaddress(record.getVr_cuaddress());
+						rec.setVr_emname(record.getVr_emname());
+						rec.setVr_id(record.getVr_id());
+						rec.setVr_startdate(record.getVr_startdate());
+						rec.setVr_enddate(record.getVr_enddate());
+						rec.setVr_title(record.getVr_title());
+						rec.setVr_cuname(record.getVr_cuname());
+						rec.setVr_cucontact(record.getVr_cucontact());
+						virecords.add(rec);
+					}
+				}
 				workSchedules.setTask(othTasks);
 				workSchedules.setOutPlan(othOutPlans);
+				workSchedules.setVisitRecord(virecords);
 				map.put("other", workSchedules);
 			}
 		}
 		return map;
 	}
 
+	@Override
+	public ModelMap saveVisitRecord(VisitRecord visitRecord) {
+		ModelMap map = new ModelMap();
+		SimpleDateFormat sdf = new SimpleDateFormat("yyMMddss");
+		visitRecord.setStatuscode(MobileStatus.COMMITED.getPhrase());
+		visitRecord.setStatuscode(MobileStatus.COMMITED.name());
+		visitRecord.setCode("VR" + sdf.format(new Date()));
+		visitRecord.setVr_emname(userBaseInfoDao.findByUserUU(visitRecord.getEmuu()).getUserName());
+		visitRecord.setVr_date(new Date());
+		visitRecord = visitRecordDao.save(visitRecord);
+		if (visitRecord.getVr_id() != null) {
+			map.put("vr_id", visitRecord.getVr_id());
+			map.put("success", true);
+		} else {
+			map.put("success", false);
+		}
+		return map;
+	}
+
+	@Override
+	public List<VisitRecord> getRecordsInOneMonth(Long emuu, Long enuu) {
+		String sql = "select p.vr_detail vr_detail, p.vr_emname vr_emname, p.vr_id vr_id, p.vr_startdate vr_startdate, p.vr_cuaddress vr_ceaddress, "
+				+ "p.vr_title vr_title, p.vr_enddate vr_enddate, p.vr_cucontact vr_cucontact, p.vr_cuname vr_cuname from mobile$visitrecord p where "
+				+ "vr_emuu = " + emuu + " and vr_enuu = " + enuu
+				+ " and p.vr_date between add_months(sysdate,-1) and sysdate ";
+		List<VisitRecord> records = commonDao.queryForList(sql, VisitRecord.class);
+		return records;
+	}
+
 }