diff --git a/src/main/java/com/zteits/oa/api/dto/asradaily/AsraDailyDateChangeDTO.java b/src/main/java/com/zteits/oa/api/dto/asradaily/AsraDailyDateChangeDTO.java
new file mode 100644
index 0000000..40dfab4
--- /dev/null
+++ b/src/main/java/com/zteits/oa/api/dto/asradaily/AsraDailyDateChangeDTO.java
@@ -0,0 +1,41 @@
+package com.zteits.oa.api.dto.asradaily;
+
+import com.zteits.oa.api.base.bean.BaiscDTO;
+
+import java.util.Date;
+
+public class AsraDailyDateChangeDTO extends BaiscDTO{
+
+ /**年:2018*/
+ private Integer years;
+
+ /**周:1-54周*/
+ private Integer weeks;
+
+ /**星期:1-7*/
+ private Integer weeksNum;
+
+ public Integer getYears() {
+ return years;
+ }
+
+ public void setYears(Integer years) {
+ this.years = years;
+ }
+
+ public Integer getWeeks() {
+ return weeks;
+ }
+
+ public void setWeeks(Integer weeks) {
+ this.weeks = weeks;
+ }
+
+ public Integer getWeeksNum() {
+ return weeksNum;
+ }
+
+ public void setWeeksNum(Integer weeksNum) {
+ this.weeksNum = weeksNum;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/zteits/oa/api/dto/asradaily/param/AsraDailyQueryReq.java b/src/main/java/com/zteits/oa/api/dto/asradaily/param/AsraDailyQueryReq.java
index 019f858..2db033c 100644
--- a/src/main/java/com/zteits/oa/api/dto/asradaily/param/AsraDailyQueryReq.java
+++ b/src/main/java/com/zteits/oa/api/dto/asradaily/param/AsraDailyQueryReq.java
@@ -1,17 +1,19 @@
package com.zteits.oa.api.dto.asradaily.param;
+import com.sun.istack.internal.NotNull;
import com.zteits.oa.api.base.bean.BaseRequest;
import java.util.Date;
public class AsraDailyQueryReq extends BaseRequest{
+ /**工时填写日期*/
+ @NotNull
+ private String dailyDate;
/**所属员工ID*/
private Long asarOpId;
- /**工时填写日期*/
- private Date dailyDate;
/**年:2018*/
private Integer years;
@@ -27,11 +29,11 @@ public class AsraDailyQueryReq extends BaseRequest{
this.asarOpId = asarOpId;
}
- public Date getDailyDate() {
+ public String getDailyDate() {
return dailyDate;
}
- public void setDailyDate(Date dailyDate) {
+ public void setDailyDate(String dailyDate) {
this.dailyDate = dailyDate;
}
diff --git a/src/main/java/com/zteits/oa/api/dto/asradaily/param/AsraDailySaveOrUpdateReq.java b/src/main/java/com/zteits/oa/api/dto/asradaily/param/AsraDailySaveOrUpdateReq.java
new file mode 100644
index 0000000..89fdf41
--- /dev/null
+++ b/src/main/java/com/zteits/oa/api/dto/asradaily/param/AsraDailySaveOrUpdateReq.java
@@ -0,0 +1,215 @@
+package com.zteits.oa.api.dto.asradaily.param;
+
+import com.zteits.oa.api.base.bean.BaiscDTO;
+
+import java.util.Date;
+
+public class AsraDailySaveOrUpdateReq extends BaiscDTO{
+ /**主键*/
+ private Long id;
+
+ /**所属项目ID*/
+ private Long projectId;
+
+ /**所属员工ID*/
+ private Long asarOpId;
+
+ /**操作员姓名*/
+ private String asarOpName;
+
+ /**年:2018*/
+ private Integer years;
+
+ /**周:1-54周*/
+ private Integer weeks;
+
+ /**星期:1-7*/
+ private Integer weeksNum;
+
+ /**工时填写日期*/
+ private String dailyDate;
+
+ /**数据状态:1有效,0无效,2:锁定*/
+ private Integer dataState;
+
+ /**创建人ID*/
+ private String createEmpid;
+
+ /**创建人*/
+ private String createEmpName;
+
+ /**创建时间*/
+ private Date createDate;
+
+ /**修改人*/
+ private String modfiyEmpid;
+
+ /**修改人*/
+ private String modfiyEmpName;
+
+ /**修改时间*/
+ private Date modfiyDate;
+
+ /**工时内容*/
+ private String dailyContent;
+
+ /**获取主键*/
+ public Long getId() {
+ return id;
+ }
+
+ /**设置主键*/
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ /**获取所属项目ID*/
+ public Long getProjectId() {
+ return projectId;
+ }
+
+ /**设置所属项目ID*/
+ public void setProjectId(Long projectId) {
+ this.projectId = projectId;
+ }
+
+ /**获取所属员工ID*/
+ public Long getAsarOpId() {
+ return asarOpId;
+ }
+
+ /**设置所属员工ID*/
+ public void setAsarOpId(Long asarOpId) {
+ this.asarOpId = asarOpId;
+ }
+
+ /**获取操作员姓名*/
+ public String getAsarOpName() {
+ return asarOpName;
+ }
+
+ /**设置操作员姓名*/
+ public void setAsarOpName(String asarOpName) {
+ this.asarOpName = asarOpName == null ? null : asarOpName.trim();
+ }
+
+ /**获取年:2018*/
+ public Integer getYears() {
+ return years;
+ }
+
+ /**设置年:2018*/
+ public void setYears(Integer years) {
+ this.years = years;
+ }
+
+ /**获取周:1-54周*/
+ public Integer getWeeks() {
+ return weeks;
+ }
+
+ /**设置周:1-54周*/
+ public void setWeeks(Integer weeks) {
+ this.weeks = weeks;
+ }
+
+ /**获取星期:1-7*/
+ public Integer getWeeksNum() {
+ return weeksNum;
+ }
+
+ /**设置星期:1-7*/
+ public void setWeeksNum(Integer weeksNum) {
+ this.weeksNum = weeksNum;
+ }
+
+ /**获取工时填写日期*/
+ public String getDailyDate() {
+ return dailyDate;
+ }
+
+ /**设置工时填写日期*/
+ public void setDailyDate(String dailyDate) {
+ this.dailyDate = dailyDate;
+ }
+
+ /**获取数据状态:1有效,0无效,2:锁定*/
+ public Integer getDataState() {
+ return dataState;
+ }
+
+ /**设置数据状态:1有效,0无效,2:锁定*/
+ public void setDataState(Integer dataState) {
+ this.dataState = dataState;
+ }
+
+ /**获取创建人ID*/
+ public String getCreateEmpid() {
+ return createEmpid;
+ }
+
+ /**设置创建人ID*/
+ public void setCreateEmpid(String createEmpid) {
+ this.createEmpid = createEmpid == null ? null : createEmpid.trim();
+ }
+
+ /**获取创建人*/
+ public String getCreateEmpName() {
+ return createEmpName;
+ }
+
+ /**设置创建人*/
+ public void setCreateEmpName(String createEmpName) {
+ this.createEmpName = createEmpName == null ? null : createEmpName.trim();
+ }
+
+ /**获取创建时间*/
+ public Date getCreateDate() {
+ return createDate;
+ }
+
+ /**设置创建时间*/
+ public void setCreateDate(Date createDate) {
+ this.createDate = createDate;
+ }
+
+ /**获取修改人*/
+ public String getModfiyEmpid() {
+ return modfiyEmpid;
+ }
+
+ /**设置修改人*/
+ public void setModfiyEmpid(String modfiyEmpid) {
+ this.modfiyEmpid = modfiyEmpid == null ? null : modfiyEmpid.trim();
+ }
+
+ /**获取修改人*/
+ public String getModfiyEmpName() {
+ return modfiyEmpName;
+ }
+
+ /**设置修改人*/
+ public void setModfiyEmpName(String modfiyEmpName) {
+ this.modfiyEmpName = modfiyEmpName == null ? null : modfiyEmpName.trim();
+ }
+
+ /**获取修改时间*/
+ public Date getModfiyDate() {
+ return modfiyDate;
+ }
+
+ /**设置修改时间*/
+ public void setModfiyDate(Date modfiyDate) {
+ this.modfiyDate = modfiyDate;
+ }
+
+ /**获取工时内容*/
+ public String getDailyContent() {
+ return dailyContent;
+ }
+
+ /**设置工时内容*/
+ public void setDailyContent(String dailyContent) {
+ this.dailyContent = dailyContent == null ? null : dailyContent.trim();
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/zteits/oa/api/service/report/query/AsraDailyQueryService.java b/src/main/java/com/zteits/oa/api/service/report/query/AsraDailyQueryService.java
index e848de8..a5b1d6a 100644
--- a/src/main/java/com/zteits/oa/api/service/report/query/AsraDailyQueryService.java
+++ b/src/main/java/com/zteits/oa/api/service/report/query/AsraDailyQueryService.java
@@ -1,5 +1,14 @@
package com.zteits.oa.api.service.report.query;
+import com.zteits.oa.api.base.bean.BizResult;
+import com.zteits.oa.api.base.bean.PageBean;
+import com.zteits.oa.api.dto.asradaily.AsraDailyDTO;
+import com.zteits.oa.api.dto.asradaily.param.AsraDailyQueryReq;
+import com.zteits.oa.api.dto.asradaily.param.AsraDailySaveOrUpdateReq;
+import com.zteits.oa.api.dto.asraop.AsraOpDTO;
+import com.zteits.oa.api.dto.asraop.param.AsraOpQueryReq;
+
+import javax.servlet.http.HttpServletRequest;
import java.util.List;
import com.zteits.oa.api.base.bean.BizResult;
@@ -49,6 +58,14 @@ public interface AsraDailyQueryService {
* 2018年8月1日 wangfs.
*/
BizResult queryAsraDailyAllForList(AsraDailyForTotalNumAndDetailReq request);
-
-
+
+ /**
+ * 提交工时日报
+ * @param
+ * @return
+ * @Author: xiejianpeng
+ * @Date: 2018/8/1 17:02
+ *
+ */
+ BizResult saveOrUpdateAsraDaily(AsraDailySaveOrUpdateReq request);
}
diff --git a/src/main/java/com/zteits/oa/report/biz/AsraDailyQueryServiceImpl.java b/src/main/java/com/zteits/oa/report/biz/AsraDailyQueryServiceImpl.java
index 82f1585..b3e767e 100644
--- a/src/main/java/com/zteits/oa/report/biz/AsraDailyQueryServiceImpl.java
+++ b/src/main/java/com/zteits/oa/report/biz/AsraDailyQueryServiceImpl.java
@@ -4,25 +4,28 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
+import com.alibaba.fastjson.JSONObject;
import com.xiaoleilu.hutool.date.DateUtil;
import com.xiaoleilu.hutool.util.CollectionUtil;
import com.zteits.oa.api.base.bean.BizResult;
import com.zteits.oa.api.dto.asradaily.AsraDailyDTO;
+import com.zteits.oa.api.dto.asradaily.param.AsraDailyQueryReq;
+import com.zteits.oa.api.dto.asradaily.param.AsraDailySaveOrUpdateReq;
+import com.zteits.oa.api.service.report.query.AsraDailyQueryService;
+import com.zteits.oa.report.dao.AsraDailyDao;
+import com.zteits.oa.report.domain.AsraDaily;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
import com.zteits.oa.api.dto.asradaily.AsraDailyOpNumForCurrentDayDTO;
import com.zteits.oa.api.dto.asradaily.AsraProjectAndPersonNumDTO;
import com.zteits.oa.api.dto.asradaily.QueryAsraDailyAllDetailForListReqDTO;
import com.zteits.oa.api.dto.asradaily.QueryAsraDailyAllForListReqDTO;
import com.zteits.oa.api.dto.asradaily.param.AsraDailyForTotalNumAndDetailReq;
-import com.zteits.oa.api.dto.asradaily.param.AsraDailyQueryReq;
-import com.zteits.oa.api.service.report.query.AsraDailyQueryService;
-import com.zteits.oa.report.dao.AsraDailyDao;
-import com.zteits.oa.report.domain.AsraDaily;
import com.zteits.oa.report.domain.sdo.AsraDailyDO;
import com.zteits.oa.report.domain.sdo.AsraDailyOpNumForCurrentDayDO;
+import java.util.Date;
/**
* Copyright: Copyright (c) 2018 zteits
@@ -47,7 +50,11 @@ public class AsraDailyQueryServiceImpl implements AsraDailyQueryService {
List asraDailyDTOs = new ArrayList<>();
List asraDailies = asraDailyDao.queryAsraDailyList(asraDailyQueryReq);
if(CollectionUtil.isNotEmpty(asraDailies)){
- BeanUtils.copyProperties(asraDailies,asraDailyDTOs,AsraDailyDTO.class);
+ for(AsraDaily asraDaily:asraDailies){
+ AsraDailyDTO asraDailyDTO = new AsraDailyDTO();
+ BeanUtils.copyProperties(asraDaily,asraDailyDTO);
+ asraDailyDTOs.add(asraDailyDTO);
+ }
}
return new BizResult<>(asraDailyDTOs);
}
@@ -123,4 +130,30 @@ public class AsraDailyQueryServiceImpl implements AsraDailyQueryService {
}
+ @Override
+ public BizResult saveOrUpdateAsraDaily(AsraDailySaveOrUpdateReq request) {
+ AsraDaily asraDaily = new AsraDaily();
+ BeanUtils.copyProperties(request, asraDaily);
+ asraDaily.setModfiyDate(new Date());
+ asraDaily.setModfiyEmpid(request.getAsarOpId() + "");
+ asraDaily.setModfiyEmpName(request.getAsarOpName() + "");
+ Date dailyDate = DateUtil.parseDate(request.getDailyDate());
+ asraDaily.setDailyDate(dailyDate);
+
+ int num;
+ if (null == request.getId()) {
+ //新增
+ asraDaily.setDataState(1);
+ asraDaily.setCreateDate(new Date());
+ asraDaily.setCreateEmpid(request.getAsarOpId()+"");
+ asraDaily.setCreateEmpName(request.getAsarOpName() + "");
+ num = asraDailyDao.saveAsraDaily(asraDaily);
+ } else {
+ //更新
+ num = asraDailyDao.updateAsraDaily(asraDaily);
+
+ }
+
+ return new BizResult<>(num);
+ }
}
diff --git a/src/main/java/com/zteits/oa/report/dao/AsraDailyDao.java b/src/main/java/com/zteits/oa/report/dao/AsraDailyDao.java
index 1ed55f6..29f8862 100644
--- a/src/main/java/com/zteits/oa/report/dao/AsraDailyDao.java
+++ b/src/main/java/com/zteits/oa/report/dao/AsraDailyDao.java
@@ -46,4 +46,24 @@ public interface AsraDailyDao {
* 2018年8月1日 wangfs.
*/
List queryAsraDailyAllForList(AsraDailyForTotalNumAndDetailReq request);
+
+ /**
+ * 保存日报信息
+ * @param
+ * @return
+ * @Author: xiejianpeng
+ * @Date: 2018/8/1 17:11
+ *
+ */
+ int saveAsraDaily(AsraDaily asraDaily);
+
+ /**
+ * 修改日报信息
+ * @param
+ * @return
+ * @Author: xiejianpeng
+ * @Date: 2018/8/1 17:11
+ *
+ */
+ int updateAsraDaily(AsraDaily asraDaily);
}
diff --git a/src/main/java/com/zteits/oa/report/dao/impl/AsraDailyDaoImpl.java b/src/main/java/com/zteits/oa/report/dao/impl/AsraDailyDaoImpl.java
index f35e0c6..a8f2543 100644
--- a/src/main/java/com/zteits/oa/report/dao/impl/AsraDailyDaoImpl.java
+++ b/src/main/java/com/zteits/oa/report/dao/impl/AsraDailyDaoImpl.java
@@ -50,7 +50,17 @@ public class AsraDailyDaoImpl implements AsraDailyDao{
example.createCriteria().andAsarOpIdEqualTo(asraDailyQueryReq.getAsarOpId())
.andYearsEqualTo(asraDailyQueryReq.getYears())
.andWeeksEqualTo(asraDailyQueryReq.getWeeks());
- return asraDailyMapper.selectByExample(example);
+ return asraDailyMapper.selectByExampleWithBLOBs(example);
+ }
+
+ @Override
+ public int saveAsraDaily(AsraDaily asraDaily) {
+ return asraDailyMapper.insertSelective(asraDaily);
+ }
+
+ @Override
+ public int updateAsraDaily(AsraDaily asraDaily) {
+ return asraDailyMapper.updateByPrimaryKeySelective(asraDaily);
}
/**
diff --git a/src/main/java/com/zteits/oa/report/web/AsraDailyController.java b/src/main/java/com/zteits/oa/report/web/AsraDailyController.java
index fe8e3cd..6e4088b 100644
--- a/src/main/java/com/zteits/oa/report/web/AsraDailyController.java
+++ b/src/main/java/com/zteits/oa/report/web/AsraDailyController.java
@@ -12,29 +12,21 @@ import com.zteits.oa.api.dto.asradaily.AsraDailyDTO;
import com.zteits.oa.api.dto.asradaily.AsraDailyOpNumForCurrentDayDTO;
import com.zteits.oa.api.dto.asradaily.QueryAsraDailyAllForListReqDTO;
import com.zteits.oa.api.dto.asradaily.param.AsraDailyForTotalNumAndDetailReq;
+import com.zteits.oa.api.dto.asradaily.AsraDailyDateChangeDTO;
import com.zteits.oa.api.dto.asradaily.param.AsraDailyQueryReq;
+import com.zteits.oa.api.dto.asradaily.param.AsraDailySaveOrUpdateReq;
import com.zteits.oa.api.dto.asraop.AsraOpDTO;
-import com.zteits.oa.api.dto.asraop.param.AsraOpQueryReq;
-import com.zteits.oa.api.dto.asraoprelations.AsraOpRelationsDTO;
-import com.zteits.oa.api.dto.asraoprelations.param.AsraOpRelationsQueryReq;
import com.zteits.oa.api.service.report.query.AsraDailyQueryService;
-import com.zteits.oa.api.service.report.query.AsraOpQueryService;
-import com.zteits.oa.api.service.report.query.AsraOpRelationsQueryService;
-import com.zteits.oa.report.domain.AsraDaily;
+import com.zteits.oa.util.pagepaper.DateForObjectUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -46,27 +38,23 @@ public class AsraDailyController {
private static final Logger logger = LoggerFactory.getLogger(AsraDailyController.class);
@Autowired
- private AsraOpQueryService asraOpQueryService;
-
- @Autowired
private AsraDailyQueryService asraDailyQueryService;
@RequestMapping(value="/queryAsraDailyList",method = RequestMethod.POST)
public BizResult> queryAsraDailyList(@RequestBody AsraDailyQueryReq asraDailyQueryReq, HttpServletRequest request){
- logger.info("日报系统-日报管理-根据登录人分页查询员工信息入参:{}", JSONObject.toJSON(asraDailyQueryReq));
+ logger.info("日报系统-日报管理-根据登录人查询日报信息入参:{}", JSONObject.toJSON(asraDailyQueryReq));
/**1.根据当前登录人查询登录人下面管理的员工-缓存中获取*/
AsraOpDTO asraOpDTO = (AsraOpDTO)request.getSession().getAttribute(SessionEnum.USER_INFO.key());
/**2.判断登录人和时间查询日报*/
- Date dailyDate = asraDailyQueryReq.getDailyDate();
- Integer week = DateUtil.weekOfYear(dailyDate);//第N周
- Integer year = DateUtil.year(dailyDate);//第N周
+ Date dailyDate = DateUtil.parseDate(asraDailyQueryReq.getDailyDate());
+ AsraDailyDateChangeDTO asraDailyDateChangeDTO = DateForObjectUtil.getAsraDailyDTO(dailyDate);
asraDailyQueryReq.setAsarOpId(asraOpDTO.getId());
- asraDailyQueryReq.setWeeks(week);
- asraDailyQueryReq.setYears(year);
+ BeanUtils.copyProperties(asraDailyDateChangeDTO,asraDailyQueryReq);
+ logger.info("日报系统-日报管理-根据登录人查询日报信息入参:{}", JSONObject.toJSON(asraDailyDateChangeDTO));
BizResult> result = asraDailyQueryService.queryAsraDailyList(asraDailyQueryReq);
- logger.info("日报系统-日报管理-根据登录人分页查询员工信息结束");
+ logger.info("日报系统-日报管理-根据登录人查询日报信息结束");
return result;
}
@@ -112,4 +100,23 @@ public class AsraDailyController {
}
+ @ApiOperation("保存或者修改工时日报")
+ @PostMapping("/saveOrUpdateAsraDaily")
+ public BizResult saveOrUpdateAsraDaily(@RequestBody AsraDailySaveOrUpdateReq asraDailySaveOrUpdateReq,HttpServletRequest request) {
+ logger.info("日报系统-日报管理-根据登录人提交日报信息入参:{}", JSONObject.toJSON(asraDailySaveOrUpdateReq));
+ /**1.根据当前登录人查询登录人下面管理的员工-缓存中获取*/
+ AsraOpDTO asraOpDTO = (AsraOpDTO)request.getSession().getAttribute(SessionEnum.USER_INFO.key());
+
+ /**2.判断登录人和时间查询日报*/
+ Date dailyDate = DateUtil.parseDate(asraDailySaveOrUpdateReq.getDailyDate());
+ AsraDailyDateChangeDTO asraDailyDateChangeDTO = DateForObjectUtil.getAsraDailyDTO(dailyDate);
+ asraDailySaveOrUpdateReq.setAsarOpId(asraOpDTO.getId());
+ asraDailySaveOrUpdateReq.setAsarOpName(asraOpDTO.getOpName());
+ asraDailySaveOrUpdateReq.setDataState(1);
+ BeanUtils.copyProperties(asraDailyDateChangeDTO,asraDailySaveOrUpdateReq);
+
+ BizResult bizResult = asraDailyQueryService.saveOrUpdateAsraDaily(asraDailySaveOrUpdateReq);
+ return bizResult;
+ }
+
}
diff --git a/src/main/java/com/zteits/oa/report/web/AsraOpController.java b/src/main/java/com/zteits/oa/report/web/AsraOpController.java
index fcadaa0..ebe5510 100644
--- a/src/main/java/com/zteits/oa/report/web/AsraOpController.java
+++ b/src/main/java/com/zteits/oa/report/web/AsraOpController.java
@@ -11,6 +11,7 @@ import com.zteits.oa.api.dto.asraoprelations.AsraOpRelationsDTO;
import com.zteits.oa.api.dto.asraoprelations.param.AsraOpRelationsQueryReq;
import com.zteits.oa.api.service.report.query.AsraOpQueryService;
import com.zteits.oa.api.service.report.query.AsraOpRelationsQueryService;
+import com.zteits.oa.report.web.vo.EasyUIDataGridVO;
import io.swagger.annotations.Api;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -29,45 +30,26 @@ import java.util.List;
@Api(value = "日报系统-员工管理", description = "日报系统-员工管理")
@RestController
@RequestMapping("/asraOp")
-public class AsraOpController {
+public class AsraOpController extends BizController {
private static final Logger logger = LoggerFactory.getLogger(AsraOpController.class);
@Autowired
private AsraOpQueryService asraOpQueryService;
- @Autowired
- private AsraOpRelationsQueryService asraOpRelationsQueryService;
-
@RequestMapping(value="/queryAsraOpPage",method = RequestMethod.POST)
- public BizResult> queryAsraOpPage(@RequestBody AsraOpQueryReq asraOpQueryReq, HttpServletRequest request){
+ public BizResult> queryAsraOpPage(@RequestBody AsraOpQueryReq asraOpQueryReq, HttpServletRequest request) throws IllegalAccessException, InstantiationException {
logger.info("日报系统-员工管理-根据登录人分页查询员工信息入参:{}", JSONObject.toJSON(asraOpQueryReq));
/**1.根据当前登录人查询登录人下面管理的员工-缓存中获取*/
AsraOpDTO asraOpDTO = (AsraOpDTO)request.getSession().getAttribute(SessionEnum.USER_INFO.key());
-
-// /**2.判断登录人是领导还是员工 ,2:员工,1:领导*/
-// List opIdLists = new ArrayList<>();
-// opIdLists.add(asraOpDTO.getId());
-// if(asraOpDTO.getRoleId() == 1){
-// /**如果是领导,获取领导下面的员工信息*/
-// AsraOpRelationsQueryReq asraOpRelationsQueryReq = new AsraOpRelationsQueryReq();
-// asraOpRelationsQueryReq.setParentId(asraOpDTO.getId());
-// BizResult> listBizResult = asraOpRelationsQueryService.queryAsraOpRelations(asraOpRelationsQueryReq);
-// if(listBizResult.isSuccess() && CollectionUtil.isNotEmpty(listBizResult.getData())){
-// for(AsraOpRelationsDTO asraOpRelationsDTO : listBizResult.getData()){
-// opIdLists.add(asraOpRelationsDTO.getOpId());
-// }
-// }
-// }
-// asraOpQueryReq.setOpIdLists(opIdLists);
asraOpQueryReq.setId(asraOpDTO.getId());
BizResult> result = asraOpQueryService.queryAsraOpForPage(asraOpQueryReq);
logger.info("日报系统-员工管理-根据登录人分页查询员工信息结果:{}", JSONObject.toJSON(result));
- return result;
+ return returnJqGridData(result, AsraOpDTO.class);
}
}
diff --git a/src/main/java/com/zteits/oa/report/web/BizController.java b/src/main/java/com/zteits/oa/report/web/BizController.java
new file mode 100644
index 0000000..15d1945
--- /dev/null
+++ b/src/main/java/com/zteits/oa/report/web/BizController.java
@@ -0,0 +1,321 @@
+package com.zteits.oa.report.web;
+
+import com.alibaba.fastjson.JSONObject;
+import com.zteits.oa.api.base.bean.BizResult;
+import com.zteits.oa.api.base.bean.PageBean;
+import com.zteits.oa.api.base.constants.ErrorType;
+import com.zteits.oa.api.base.exception.BizException;
+import com.zteits.oa.report.web.vo.EasyUIDataGridVO;
+import org.springframework.beans.BeanUtils;
+import org.springframework.util.CollectionUtils;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @描述:
+ * Copyright: Copyright (c) 2017 Alibb
+ *
+ * @ClassName: BizController.java
+ * @Description: 所有基于Spring MVC的Web控制器类(Action)的统一父类,提供一些便利的请求处理方法,如返回Json、文本数据等
+ * @version: v1.0.0
+ * @author: wangbiao
+ * @date: 2017年2月23日 下午1:26:50
+ *
+ * Modification History:
+ * Date Author Version Description
+ *---------------------------------------------------------*
+ * 2017年2月23日 wangbiao v1.0.0 创建
+ */
+public class BizController {
+ private static final String MIME_JSON = "application/json;charset=UTF-8";
+
+
+ /**
+ * 返回jqgrid格式数据
+ * @param bizResult
+ * @param voClass
+ * @return
+ * @throws InstantiationException
+ * @throws IllegalAccessException
+ * 2017年5月12日 zhaowg
+ */
+ protected BizResult> returnJqGridData(BizResult> bizResult, Class voClass) throws InstantiationException, IllegalAccessException {
+ PageBean pageBean = getBizResultData(bizResult);
+ //将DTO转换为VO
+ List vos = new ArrayList<>();
+ if(!CollectionUtils.isEmpty(pageBean.getDataList())){
+ for (DTO dto : pageBean.getDataList()) {
+ VO vo = voClass.newInstance();
+ BeanUtils.copyProperties(dto, vo);
+ vos.add(vo);
+ }
+ }
+ //返回jqGrid数据
+ EasyUIDataGridVO jqGridDatas = new EasyUIDataGridVO<>();
+ jqGridDatas.setTotal(pageBean.getPageTotals()==null?0:pageBean.getPageTotals());
+ jqGridDatas.setRows(vos);
+
+ BizResult> bizResultVO = new BizResult<>();
+ bizResultVO.setCode(bizResult.getCode());
+ bizResultVO.setErrMsg(bizResult.getErrMsg());
+ bizResultVO.setData(jqGridDatas);
+
+ return bizResultVO;
+ }
+
+ /**
+ * 返回jqgrid格式数据
+ * @param bizResult
+ * @return
+ * 2017年5月12日 zhaowg
+ */
+ protected BizResult> returnJqGridData(BizResult> bizResult) {
+ PageBean pageBean = getBizResultData(bizResult);
+ //返回jqGrid数据
+ EasyUIDataGridVO jqGridDatas = new EasyUIDataGridVO<>();
+ jqGridDatas.setTotal(pageBean.getPageTotals()==null?0:pageBean.getPageTotals());
+ jqGridDatas.setRows(pageBean.getDataList());
+
+ BizResult> bizResultVO = new BizResult<>();
+ bizResultVO.setCode(bizResult.getCode());
+ bizResultVO.setErrMsg(bizResult.getErrMsg());
+ bizResultVO.setData(jqGridDatas);
+
+ return bizResultVO;
+ }
+ /**
+ * 分页结果封装后返回标准格式JSON串.
+ * @param response
+ * @param result
+ */
+ @SuppressWarnings("unused")
+ public void returnJsonDataGrid(HttpServletResponse response,BizResult> result){
+ Map resultMap = new HashMap();
+
+ if(result == null){
+ throw new NullPointerException("result 为空,不能进行封装!");
+ }else if(result.getData() == null){
+ throw new NullPointerException("pageBean 为空,不能进行封装!");
+ }else{
+ if(result.getData() instanceof PageBean>) {
+ PageBean> pageBean = (PageBean>)result.getData();
+ Map map = new HashMap();
+ map.put("total", (null ==pageBean.getPageTotals()? 0 :pageBean.getPageTotals()));
+ map.put("rows", pageBean.getDataList() != null ? pageBean.getDataList() :new ArrayList