|
|
@@ -25,399 +25,408 @@ import java.util.*;
|
|
|
|
|
|
@Service
|
|
|
public class WxOaApproveServiceImpl implements WxOaApproveService {
|
|
|
- @Autowired
|
|
|
- private WxOaApproveMapper oaApproveMapper;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private WxOaArticlesMapper oaArticlesMapper;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private WxTeacherMapper teacherMapper;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private WxPushApi wxPushApi;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private WxSchoolMapper wxSchoolMapper;
|
|
|
-
|
|
|
- public int oaCreate(String oaString){
|
|
|
- JSONObject parse = JSONObject.parseObject(oaString);
|
|
|
- OaApproveDO oaApprove = new OaApproveDO();
|
|
|
- String approveTitle = parse.getString("approveTitle");
|
|
|
- oaApprove.setApproveTitle(approveTitle);
|
|
|
- String approveDetails = parse.getString("approveDetails");
|
|
|
- oaApprove.setApproveDetails(approveDetails);
|
|
|
- oaApprove.setApproveFiles(parse.getString("approveFiles"));
|
|
|
- /** 类型 1、出差 2、用品 3、外出 4、请假*/
|
|
|
- Integer type = parse.getInteger("approveType");
|
|
|
- oaApprove.setApproveType(type);
|
|
|
- oaApprove.setAppType(parse.getInteger("appType"));
|
|
|
- oaApprove.setApproveStatus(1);
|
|
|
- oaApprove.setCreatDate(new Date());
|
|
|
- Long proposer = parse.getLong("proposer");
|
|
|
- oaApprove.setProposer(proposer);
|
|
|
- oaApprove.setSchoolId(teacherMapper.get(proposer).getSchoolId());
|
|
|
- Long approver = parse.getLong("approver");
|
|
|
- oaApprove.setApprover(approver);
|
|
|
- oaApprove.setStartDate(DateFormatUtil.string2Date(parse.getString("startDate")));
|
|
|
- oaApprove.setEndDate(DateFormatUtil.string2Date(parse.getString("endDate")));
|
|
|
- oaApprove.setAddress(parse.getString("address"));
|
|
|
- int i = oaApproveMapper.save(oaApprove);
|
|
|
- if (i>0){
|
|
|
- SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
- TeacherDO teacherDO = teacherMapper.get(approver);
|
|
|
- TeacherDO teacher = teacherMapper.get(proposer);
|
|
|
- SchoolDO schoolDO = wxSchoolMapper.get(teacherDO.getSchoolId());
|
|
|
- if (type!= null && 2==type) {
|
|
|
- String articles1 = parse.getString("oaArticlesDOS");
|
|
|
- List<OaArticlesDO> oaArticlesDOS = JSONObject.parseArray(articles1, OaArticlesDO.class);
|
|
|
- if (ObjectUtils.isNotEmpty(oaArticlesDOS)) {
|
|
|
- for (OaArticlesDO articles : oaArticlesDOS) {
|
|
|
- articles.setApproveId(oaApprove.getApproveId());
|
|
|
- oaArticlesMapper.save(articles);
|
|
|
- }
|
|
|
- }
|
|
|
- wxPushApi.wxPush(schoolDO.getSchoolAppid(),schoolDO.getSchoolSecret(),teacherDO.getOpenid(),"ohqfldHKfEmZPrLthLYt3h5SEjqd0AY7UFdngTDLTFY","您有一个待审批事项",approveTitle,teacher.getTeacherName(),format.format(new Date()),approveDetails,"点击查看详情","");
|
|
|
- }else {
|
|
|
- wxPushApi.wxPush(schoolDO.getSchoolAppid(),schoolDO.getSchoolSecret(),teacherDO.getOpenid(),"ohqfldHKfEmZPrLthLYt3h5SEjqd0AY7UFdngTDLTFY","您有一个待审批事项",approveTitle,teacher.getTeacherName(),format.format(new Date()),approveDetails,"点击查看详情","");
|
|
|
- }
|
|
|
- return i;
|
|
|
- }else {
|
|
|
- return 0;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- * oa单列表
|
|
|
- * @param teacherId
|
|
|
- */
|
|
|
- public Map<String, Object> oaList(Long teacherId, Integer pageIndex, Integer pageSize){
|
|
|
- Integer pageStart = (pageIndex-1) * pageSize;
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- List<OaApproveDO> proposes = oaApproveMapper.selectOaApproveListByProposer(teacherId, pageStart, pageSize);
|
|
|
- if (ObjectUtils.isNotEmpty(proposes)){
|
|
|
- for (int i = 0; i <proposes.size() ; i++) {
|
|
|
- OaApproveDO oaApprove = proposes.get(i);
|
|
|
- Long proposer = oaApprove.getProposer();
|
|
|
- if (proposer>0){
|
|
|
- TeacherDO teacherDO = teacherMapper.get(proposer);
|
|
|
- if (ObjectUtils.isNotEmpty(teacherDO)){
|
|
|
- oaApprove.setProposerName(teacherDO.getTeacherName());
|
|
|
- oaApprove.setProposerPhoto(teacherDO.getTeacherPhoto());
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- Long approver = oaApprove.getApprover();
|
|
|
- if (approver>0){
|
|
|
- TeacherDO teacherDO = teacherMapper.get(approver);
|
|
|
- if (ObjectUtils.isNotEmpty(teacherDO)){
|
|
|
- oaApprove.setApproverName(teacherDO.getTeacherName());
|
|
|
- oaApprove.setApproverPhoto(teacherDO.getTeacherPhoto());
|
|
|
- }
|
|
|
- }
|
|
|
- List<OaArticlesDO> articles = oaArticlesMapper.selectListByApproveId(oaApprove.getApproveId());
|
|
|
- oaApprove.setOaArticlesDOS(articles);
|
|
|
- }
|
|
|
- }
|
|
|
- map.put("proposes",proposes);
|
|
|
- List<OaApproveDO> approves = oaApproveMapper.selectOaApproveListByApprover(teacherId, pageStart, pageSize);
|
|
|
- if (ObjectUtils.isNotEmpty(approves)){
|
|
|
- for (int i = 0; i <approves.size() ; i++) {
|
|
|
- OaApproveDO oaApprove = approves.get(i);
|
|
|
- Long proposer = oaApprove.getProposer();
|
|
|
- if (proposer>0){
|
|
|
- TeacherDO teacherDO = teacherMapper.get(proposer);
|
|
|
- if (ObjectUtils.isNotEmpty(teacherDO)){
|
|
|
- oaApprove.setProposerName(teacherDO.getTeacherName());
|
|
|
- oaApprove.setProposerPhoto(teacherDO.getTeacherPhoto());
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- Long approver = oaApprove.getApprover();
|
|
|
- if (approver>0){
|
|
|
- TeacherDO teacherDO = teacherMapper.get(approver);
|
|
|
- if (ObjectUtils.isNotEmpty(teacherDO)){
|
|
|
- oaApprove.setApproverName(teacherDO.getTeacherName());
|
|
|
- oaApprove.setApproverPhoto(teacherDO.getTeacherPhoto());
|
|
|
- }
|
|
|
- }
|
|
|
- List<OaArticlesDO> articles = oaArticlesMapper.selectListByApproveId(oaApprove.getApproveId());
|
|
|
- oaApprove.setOaArticlesDOS(articles);
|
|
|
- }
|
|
|
- }
|
|
|
- map.put("approves",approves);
|
|
|
- return map;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 审批
|
|
|
- * @param teacherId
|
|
|
- * @param approveId
|
|
|
- * @param status
|
|
|
- * @param approveOpinion
|
|
|
- * @return
|
|
|
- * @throws Exception
|
|
|
- */
|
|
|
- public String approve(Long teacherId,Long approveId, Integer status, String approveOpinion) throws Exception {
|
|
|
- OaApproveDO oaApproveDO = oaApproveMapper.get(approveId);
|
|
|
- if (ObjectUtils.isNotEmpty(oaApproveDO)){
|
|
|
- Long approver = oaApproveDO.getApprover();
|
|
|
- if (ObjectUtils.isNotEmpty(approver)){
|
|
|
- if (approver.compareTo(teacherId)==0){
|
|
|
- Leader a = new Manager(teacherMapper.get(teacherId).getTeacherName());
|
|
|
- String s = a.handleRequest(teacherMapper,oaApproveMapper, oaApproveDO, status, approveOpinion);
|
|
|
- return s;
|
|
|
- }else {
|
|
|
- throw new Exception("这个单据您没有资格审批,请联系管理员");
|
|
|
- }
|
|
|
- }else {
|
|
|
- throw new Exception("这个单据您没有资格审批,请联系管理员");
|
|
|
- }
|
|
|
- }else {
|
|
|
- throw new Exception("请查看单据是否存在");
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 详情
|
|
|
- * @param approveId
|
|
|
- * @return
|
|
|
- * @throws Exception
|
|
|
- */
|
|
|
- public Map<String, Object> oaDetails(Long approveId) throws Exception {
|
|
|
- OaApproveDO oaApprove = oaApproveMapper.get(approveId);
|
|
|
- if (ObjectUtils.isNotEmpty(oaApprove)){
|
|
|
- Map<String, Object> maps = new HashMap<>();
|
|
|
- maps.put("oaApprove",oaApprove);
|
|
|
- if (1==oaApprove.getApproveType()){
|
|
|
- //出差
|
|
|
- Long proposer = oaApprove.getProposer();
|
|
|
- if (proposer>0){
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- map.put("key","申请人");
|
|
|
- map.put("value",teacherMapper.get(proposer).getTeacherName());
|
|
|
- maps.put("proposer",map);
|
|
|
- }
|
|
|
- List<Map<String, Object>> map2 = new ArrayList<>();
|
|
|
- String approveName = oaApprove.getApproverName();
|
|
|
- if (ObjectUtils.isNotEmpty(approveName)){
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- map.put("key","申请流程");
|
|
|
- map.put("value",approveName);
|
|
|
- map2.add(map);
|
|
|
- }
|
|
|
- Date startDate = oaApprove.getStartDate();
|
|
|
- if (ObjectUtils.isNotEmpty(startDate)){
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- map.put("key","开始时间");
|
|
|
- map.put("value",oaApprove.getStartDate());
|
|
|
- map2.add(map);
|
|
|
- }
|
|
|
-
|
|
|
- Date endDate = oaApprove.getEndDate();
|
|
|
- if (ObjectUtils.isNotEmpty(endDate)){
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- map.put("key","结束时间");
|
|
|
- map.put("value",endDate);
|
|
|
- map2.add(map);
|
|
|
- }
|
|
|
- String address = oaApprove.getAddress();
|
|
|
- if (ObjectUtils.isNotEmpty(address)){
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- map.put("key","地址");
|
|
|
- map.put("value",address);
|
|
|
- map2.add(map);
|
|
|
- }
|
|
|
-
|
|
|
- String approveDetails = oaApprove.getApproveDetails();
|
|
|
- if (ObjectUtils.isNotEmpty(approveDetails)){
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- map.put("key","出差事由");
|
|
|
- map.put("value",approveDetails);
|
|
|
- map2.add(map);
|
|
|
- }
|
|
|
-
|
|
|
- Long approver = oaApprove.getApprover();
|
|
|
- List<Map<String, Object>> map3 = new ArrayList<>();
|
|
|
- if (approver>0){
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- map.put("key","审批人");
|
|
|
- map.put("value",teacherMapper.get(approver).getTeacherName());
|
|
|
- map3.add(map);
|
|
|
- }
|
|
|
- String approveOpinion = oaApprove.getApproveOpinion();
|
|
|
- if (approver>0){
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- map.put("key","审批意见");
|
|
|
- map.put("value",approveOpinion);
|
|
|
- map3.add(map);
|
|
|
- }
|
|
|
- maps.put("approve",map3);
|
|
|
-
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- String approveFiles = oaApprove.getApproveFiles();
|
|
|
- if (ObjectUtils.isNotEmpty(approveFiles)){
|
|
|
- map.put("key","附件");
|
|
|
- map.put("value", JSON.parseArray(approveFiles));
|
|
|
- }
|
|
|
- maps.put("approveFiles",map);
|
|
|
- maps.put("basic",map2);
|
|
|
- }else if (2==oaApprove.getApproveType()){
|
|
|
- //用品
|
|
|
- Long proposer = oaApprove.getProposer();
|
|
|
- if (proposer>0){
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- map.put("key","申请人");
|
|
|
- map.put("value",teacherMapper.get(proposer).getTeacherName());
|
|
|
- maps.put("proposer",map);
|
|
|
- }
|
|
|
-
|
|
|
- List<Map<String, Object>> map2 = new ArrayList<>();
|
|
|
- String approveName = oaApprove.getApproverName();
|
|
|
- if (ObjectUtils.isNotEmpty(approveName)){
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- map.put("key","物品用途");
|
|
|
- map.put("value",approveName);
|
|
|
- map2.add(map);
|
|
|
- }
|
|
|
-
|
|
|
- String approveDetails = oaApprove.getApproveDetails();
|
|
|
- if (ObjectUtils.isNotEmpty(approveDetails)){
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- map.put("key","领取说明");
|
|
|
- map.put("value",approveDetails);
|
|
|
- map2.add(map);
|
|
|
- }
|
|
|
-
|
|
|
- List<OaArticlesDO> articles = oaArticlesMapper.selectListByApproveId(oaApprove.getApproveId());
|
|
|
- if (ObjectUtils.isNotEmpty(articles)){
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- List<Object> maps1 = new ArrayList<>();
|
|
|
- for (int i = 0; i <articles.size() ; i++) {
|
|
|
- List<Map<String, Object>> maps2 = new ArrayList<>();
|
|
|
- OaArticlesDO articles1 = articles.get(i);
|
|
|
- String artName = articles1.getArtName();
|
|
|
- if (ObjectUtils.isNotEmpty(artName)){
|
|
|
- Map<String, Object> hashMap = new HashMap<>();
|
|
|
- hashMap.put("key","物品名称");
|
|
|
- hashMap.put("value",artName);
|
|
|
- maps2.add(hashMap);
|
|
|
- }
|
|
|
- Integer artCount = articles1.getArtCount();
|
|
|
- if (ObjectUtils.isNotEmpty(artCount)){
|
|
|
- Map<String, Object> hashMap = new HashMap<>();
|
|
|
- hashMap.put("key","物品数量");
|
|
|
- hashMap.put("value",artCount);
|
|
|
- maps2.add(hashMap);
|
|
|
- }
|
|
|
- maps1.add(maps2);
|
|
|
-
|
|
|
- }
|
|
|
- map.put("key","物品明细");
|
|
|
- map.put("value",maps1);
|
|
|
- map2.add(map);
|
|
|
- }
|
|
|
-
|
|
|
- List<Map<String, Object>> map3 = new ArrayList<>();
|
|
|
- Long approver = oaApprove.getApprover();
|
|
|
- if (approver>0){
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- map.put("key","接收人");
|
|
|
- map.put("value",teacherMapper.get(approver).getTeacherName());
|
|
|
- map3.add(map);
|
|
|
- }
|
|
|
- String approveOpinion = oaApprove.getApproveOpinion();
|
|
|
- if (approver>0){
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- map.put("key","审批意见");
|
|
|
- map.put("value",approveOpinion);
|
|
|
- map3.add(map);
|
|
|
- }
|
|
|
- maps.put("approve",map3);
|
|
|
-
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- String approveFiles = oaApprove.getApproveFiles();
|
|
|
- if (ObjectUtils.isNotEmpty(approveFiles)){
|
|
|
- map.put("key","附件");
|
|
|
- map.put("value",JSON.parseArray(approveFiles));
|
|
|
- }
|
|
|
- maps.put("approveFiles",map);
|
|
|
- maps.put("basic",map2);
|
|
|
- }else if (4==oaApprove.getApproveType()){
|
|
|
- //请假
|
|
|
- Long proposer = oaApprove.getProposer();
|
|
|
- if (proposer>0){
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- map.put("key","申请人");
|
|
|
- map.put("value",teacherMapper.get(proposer).getTeacherName());
|
|
|
- maps.put("proposer",map);
|
|
|
- }
|
|
|
- List<Map<String, Object>> map2 = new ArrayList<>();
|
|
|
- String approveName = oaApprove.getApproverName();
|
|
|
- if (ObjectUtils.isNotEmpty(approveName)){
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- map.put("key","请假类型");
|
|
|
- map.put("value",approveName);
|
|
|
- map2.add(map);
|
|
|
- }
|
|
|
- Date startDate = oaApprove.getStartDate();
|
|
|
- if (ObjectUtils.isNotEmpty(startDate)){
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- map.put("key","开始时间");
|
|
|
- map.put("value",oaApprove.getStartDate());
|
|
|
- map2.add(map);
|
|
|
- }
|
|
|
-
|
|
|
- Date endDate = oaApprove.getEndDate();
|
|
|
- if (ObjectUtils.isNotEmpty(endDate)){
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- map.put("key","结束时间");
|
|
|
- map.put("value",endDate);
|
|
|
- map2.add(map);
|
|
|
- }
|
|
|
-
|
|
|
- String approveDetails = oaApprove.getApproveDetails();
|
|
|
- if (ObjectUtils.isNotEmpty(approveDetails)){
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- map.put("key","请假事由");
|
|
|
- map.put("value",approveDetails);
|
|
|
- map2.add(map);
|
|
|
- }
|
|
|
-
|
|
|
- Long approver = oaApprove.getApprover();
|
|
|
- List<Map<String, Object>> map3 = new ArrayList<>();
|
|
|
- if (approver>0){
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- map.put("key","审批人");
|
|
|
- map.put("value",teacherMapper.get(approver).getTeacherName());
|
|
|
- map3.add(map);
|
|
|
- }
|
|
|
- String approveOpinion = oaApprove.getApproveOpinion();
|
|
|
- if (approver>0){
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- map.put("key","审批意见");
|
|
|
- map.put("value",approveOpinion);
|
|
|
- map3.add(map);
|
|
|
- }
|
|
|
- maps.put("approve",map3);
|
|
|
-
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- String approveFiles = oaApprove.getApproveFiles();
|
|
|
- if (ObjectUtils.isNotEmpty(approveFiles)){
|
|
|
- map.put("key","附件");
|
|
|
- map.put("value",JSON.parseArray(approveFiles));
|
|
|
- }
|
|
|
- maps.put("approveFiles",map);
|
|
|
- maps.put("basic",map2);
|
|
|
- }else {
|
|
|
-
|
|
|
- }
|
|
|
- return maps;
|
|
|
- }else {
|
|
|
- throw new Exception("单据异常,请联系管理员");
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
+ @Autowired
|
|
|
+ private WxOaApproveMapper oaApproveMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private WxOaArticlesMapper oaArticlesMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private WxTeacherMapper teacherMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private WxPushApi wxPushApi;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private WxSchoolMapper wxSchoolMapper;
|
|
|
+
|
|
|
+ public int oaCreate(String oaString) {
|
|
|
+ JSONObject parse = JSONObject.parseObject(oaString);
|
|
|
+ OaApproveDO oaApprove = new OaApproveDO();
|
|
|
+ String approveTitle = parse.getString("approveTitle");
|
|
|
+ oaApprove.setApproveTitle(approveTitle);
|
|
|
+ String approveDetails = parse.getString("approveDetails");
|
|
|
+ oaApprove.setApproveDetails(approveDetails);
|
|
|
+ oaApprove.setApproveFiles(parse.getString("approveFiles"));
|
|
|
+ /** 类型 1、出差 2、用品 3、外出 4、请假*/
|
|
|
+ Integer type = parse.getInteger("approveType");
|
|
|
+ oaApprove.setApproveType(type);
|
|
|
+ oaApprove.setAppType(parse.getInteger("appType"));
|
|
|
+ oaApprove.setApproveStatus(1);
|
|
|
+ oaApprove.setCreatDate(new Date());
|
|
|
+ Long proposer = parse.getLong("proposer");
|
|
|
+ oaApprove.setProposer(proposer);
|
|
|
+ oaApprove.setSchoolId(teacherMapper.get(proposer).getSchoolId());
|
|
|
+ Long approver = parse.getLong("approver");
|
|
|
+ oaApprove.setApprover(approver);
|
|
|
+ oaApprove.setStartDate(DateFormatUtil.string2Date(parse.getString("startDate")));
|
|
|
+ oaApprove.setEndDate(DateFormatUtil.string2Date(parse.getString("endDate")));
|
|
|
+ oaApprove.setAddress(parse.getString("address"));
|
|
|
+ int i = oaApproveMapper.save(oaApprove);
|
|
|
+ if (i > 0) {
|
|
|
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ TeacherDO teacherDO = teacherMapper.get(approver);
|
|
|
+ TeacherDO teacher = teacherMapper.get(proposer);
|
|
|
+ SchoolDO schoolDO = wxSchoolMapper.get(teacherDO.getSchoolId());
|
|
|
+ if (type != null && 2 == type) {
|
|
|
+ String articles1 = parse.getString("oaArticlesDOS");
|
|
|
+ List<OaArticlesDO> oaArticlesDOS = JSONObject.parseArray(articles1, OaArticlesDO.class);
|
|
|
+ if (ObjectUtils.isNotEmpty(oaArticlesDOS)) {
|
|
|
+ for (OaArticlesDO articles : oaArticlesDOS) {
|
|
|
+ articles.setApproveId(oaApprove.getApproveId());
|
|
|
+ oaArticlesMapper.save(articles);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ wxPushApi.wxPush(schoolDO.getSchoolAppid(), schoolDO.getSchoolSecret(), teacherDO.getOpenid(),
|
|
|
+ "ohqfldHKfEmZPrLthLYt3h5SEjqd0AY7UFdngTDLTFY", "您有一个待审批事项", approveTitle,
|
|
|
+ teacher.getTeacherName(), format.format(new Date()), approveDetails, "点击查看详情",
|
|
|
+ "https://school-wechat.ubtob.com/approvel-detail/false/" +oaApprove.getApproveId());
|
|
|
+ } else {
|
|
|
+ wxPushApi.wxPush(schoolDO.getSchoolAppid(), schoolDO.getSchoolSecret(), teacherDO.getOpenid(),
|
|
|
+ "ohqfldHKfEmZPrLthLYt3h5SEjqd0AY7UFdngTDLTFY", "您有一个待审批事项", approveTitle,
|
|
|
+ teacher.getTeacherName(), format.format(new Date()), approveDetails, "点击查看详情",
|
|
|
+ "https://school-wechat.ubtob.com/approvel-detail/false/" +oaApprove.getApproveId());
|
|
|
+ }
|
|
|
+ return i;
|
|
|
+ } else {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * oa单列表
|
|
|
+ *
|
|
|
+ * @param teacherId
|
|
|
+ */
|
|
|
+ public Map<String, Object> oaList(Long teacherId, Integer pageIndex, Integer pageSize) {
|
|
|
+ Integer pageStart = (pageIndex - 1) * pageSize;
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ List<OaApproveDO> proposes = oaApproveMapper.selectOaApproveListByProposer(teacherId, pageStart, pageSize);
|
|
|
+ if (ObjectUtils.isNotEmpty(proposes)) {
|
|
|
+ for (int i = 0; i < proposes.size(); i++) {
|
|
|
+ OaApproveDO oaApprove = proposes.get(i);
|
|
|
+ Long proposer = oaApprove.getProposer();
|
|
|
+ if (proposer > 0) {
|
|
|
+ TeacherDO teacherDO = teacherMapper.get(proposer);
|
|
|
+ if (ObjectUtils.isNotEmpty(teacherDO)) {
|
|
|
+ oaApprove.setProposerName(teacherDO.getTeacherName());
|
|
|
+ oaApprove.setProposerPhoto(teacherDO.getTeacherPhoto());
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ Long approver = oaApprove.getApprover();
|
|
|
+ if (approver > 0) {
|
|
|
+ TeacherDO teacherDO = teacherMapper.get(approver);
|
|
|
+ if (ObjectUtils.isNotEmpty(teacherDO)) {
|
|
|
+ oaApprove.setApproverName(teacherDO.getTeacherName());
|
|
|
+ oaApprove.setApproverPhoto(teacherDO.getTeacherPhoto());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<OaArticlesDO> articles = oaArticlesMapper.selectListByApproveId(oaApprove.getApproveId());
|
|
|
+ oaApprove.setOaArticlesDOS(articles);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ map.put("proposes", proposes);
|
|
|
+ List<OaApproveDO> approves = oaApproveMapper.selectOaApproveListByApprover(teacherId, pageStart, pageSize);
|
|
|
+ if (ObjectUtils.isNotEmpty(approves)) {
|
|
|
+ for (int i = 0; i < approves.size(); i++) {
|
|
|
+ OaApproveDO oaApprove = approves.get(i);
|
|
|
+ Long proposer = oaApprove.getProposer();
|
|
|
+ if (proposer > 0) {
|
|
|
+ TeacherDO teacherDO = teacherMapper.get(proposer);
|
|
|
+ if (ObjectUtils.isNotEmpty(teacherDO)) {
|
|
|
+ oaApprove.setProposerName(teacherDO.getTeacherName());
|
|
|
+ oaApprove.setProposerPhoto(teacherDO.getTeacherPhoto());
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ Long approver = oaApprove.getApprover();
|
|
|
+ if (approver > 0) {
|
|
|
+ TeacherDO teacherDO = teacherMapper.get(approver);
|
|
|
+ if (ObjectUtils.isNotEmpty(teacherDO)) {
|
|
|
+ oaApprove.setApproverName(teacherDO.getTeacherName());
|
|
|
+ oaApprove.setApproverPhoto(teacherDO.getTeacherPhoto());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<OaArticlesDO> articles = oaArticlesMapper.selectListByApproveId(oaApprove.getApproveId());
|
|
|
+ oaApprove.setOaArticlesDOS(articles);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ map.put("approves", approves);
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 审批
|
|
|
+ *
|
|
|
+ * @param teacherId
|
|
|
+ * @param approveId
|
|
|
+ * @param status
|
|
|
+ * @param approveOpinion
|
|
|
+ * @return
|
|
|
+ * @throws Exception
|
|
|
+ */
|
|
|
+ public String approve(Long teacherId, Long approveId, Integer status, String approveOpinion) throws Exception {
|
|
|
+ OaApproveDO oaApproveDO = oaApproveMapper.get(approveId);
|
|
|
+ if (ObjectUtils.isNotEmpty(oaApproveDO)) {
|
|
|
+ Long approver = oaApproveDO.getApprover();
|
|
|
+ if (ObjectUtils.isNotEmpty(approver)) {
|
|
|
+ if (approver.compareTo(teacherId) == 0) {
|
|
|
+ Leader a = new Manager(teacherMapper.get(teacherId).getTeacherName());
|
|
|
+ String s = a.handleRequest(wxSchoolMapper,wxPushApi,teacherMapper, oaApproveMapper, oaApproveDO, status, approveOpinion);
|
|
|
+ return s;
|
|
|
+ } else {
|
|
|
+ throw new Exception("这个单据您没有资格审批,请联系管理员");
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ throw new Exception("这个单据您没有资格审批,请联系管理员");
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ throw new Exception("请查看单据是否存在");
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 详情
|
|
|
+ *
|
|
|
+ * @param approveId
|
|
|
+ * @return
|
|
|
+ * @throws Exception
|
|
|
+ */
|
|
|
+ public Map<String, Object> oaDetails(Long approveId) throws Exception {
|
|
|
+ OaApproveDO oaApprove = oaApproveMapper.get(approveId);
|
|
|
+ if (ObjectUtils.isNotEmpty(oaApprove)) {
|
|
|
+ Map<String, Object> maps = new HashMap<>();
|
|
|
+ maps.put("oaApprove", oaApprove);
|
|
|
+ if (1 == oaApprove.getApproveType()) {
|
|
|
+ //出差
|
|
|
+ Long proposer = oaApprove.getProposer();
|
|
|
+ if (proposer > 0) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("key", "申请人");
|
|
|
+ map.put("value", teacherMapper.get(proposer).getTeacherName());
|
|
|
+ maps.put("proposer", map);
|
|
|
+ }
|
|
|
+ List<Map<String, Object>> map2 = new ArrayList<>();
|
|
|
+ String approveName = oaApprove.getApproverName();
|
|
|
+ if (ObjectUtils.isNotEmpty(approveName)) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("key", "申请流程");
|
|
|
+ map.put("value", approveName);
|
|
|
+ map2.add(map);
|
|
|
+ }
|
|
|
+ Date startDate = oaApprove.getStartDate();
|
|
|
+ if (ObjectUtils.isNotEmpty(startDate)) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("key", "开始时间");
|
|
|
+ map.put("value", oaApprove.getStartDate());
|
|
|
+ map2.add(map);
|
|
|
+ }
|
|
|
+
|
|
|
+ Date endDate = oaApprove.getEndDate();
|
|
|
+ if (ObjectUtils.isNotEmpty(endDate)) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("key", "结束时间");
|
|
|
+ map.put("value", endDate);
|
|
|
+ map2.add(map);
|
|
|
+ }
|
|
|
+ String address = oaApprove.getAddress();
|
|
|
+ if (ObjectUtils.isNotEmpty(address)) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("key", "地址");
|
|
|
+ map.put("value", address);
|
|
|
+ map2.add(map);
|
|
|
+ }
|
|
|
+
|
|
|
+ String approveDetails = oaApprove.getApproveDetails();
|
|
|
+ if (ObjectUtils.isNotEmpty(approveDetails)) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("key", "出差事由");
|
|
|
+ map.put("value", approveDetails);
|
|
|
+ map2.add(map);
|
|
|
+ }
|
|
|
+
|
|
|
+ Long approver = oaApprove.getApprover();
|
|
|
+ List<Map<String, Object>> map3 = new ArrayList<>();
|
|
|
+ if (approver > 0) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("key", "审批人");
|
|
|
+ map.put("value", teacherMapper.get(approver).getTeacherName());
|
|
|
+ map3.add(map);
|
|
|
+ }
|
|
|
+ String approveOpinion = oaApprove.getApproveOpinion();
|
|
|
+ if (approver > 0) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("key", "审批意见");
|
|
|
+ map.put("value", approveOpinion);
|
|
|
+ map3.add(map);
|
|
|
+ }
|
|
|
+ maps.put("approve", map3);
|
|
|
+
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ String approveFiles = oaApprove.getApproveFiles();
|
|
|
+ if (ObjectUtils.isNotEmpty(approveFiles)) {
|
|
|
+ map.put("key", "附件");
|
|
|
+ map.put("value", JSON.parseArray(approveFiles));
|
|
|
+ }
|
|
|
+ maps.put("approveFiles", map);
|
|
|
+ maps.put("basic", map2);
|
|
|
+ } else if (2 == oaApprove.getApproveType()) {
|
|
|
+ //用品
|
|
|
+ Long proposer = oaApprove.getProposer();
|
|
|
+ if (proposer > 0) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("key", "申请人");
|
|
|
+ map.put("value", teacherMapper.get(proposer).getTeacherName());
|
|
|
+ maps.put("proposer", map);
|
|
|
+ }
|
|
|
+
|
|
|
+ List<Map<String, Object>> map2 = new ArrayList<>();
|
|
|
+ String approveName = oaApprove.getApproverName();
|
|
|
+ if (ObjectUtils.isNotEmpty(approveName)) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("key", "物品用途");
|
|
|
+ map.put("value", approveName);
|
|
|
+ map2.add(map);
|
|
|
+ }
|
|
|
+
|
|
|
+ String approveDetails = oaApprove.getApproveDetails();
|
|
|
+ if (ObjectUtils.isNotEmpty(approveDetails)) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("key", "领取说明");
|
|
|
+ map.put("value", approveDetails);
|
|
|
+ map2.add(map);
|
|
|
+ }
|
|
|
+
|
|
|
+ List<OaArticlesDO> articles = oaArticlesMapper.selectListByApproveId(oaApprove.getApproveId());
|
|
|
+ if (ObjectUtils.isNotEmpty(articles)) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ List<Object> maps1 = new ArrayList<>();
|
|
|
+ for (int i = 0; i < articles.size(); i++) {
|
|
|
+ List<Map<String, Object>> maps2 = new ArrayList<>();
|
|
|
+ OaArticlesDO articles1 = articles.get(i);
|
|
|
+ String artName = articles1.getArtName();
|
|
|
+ if (ObjectUtils.isNotEmpty(artName)) {
|
|
|
+ Map<String, Object> hashMap = new HashMap<>();
|
|
|
+ hashMap.put("key", "物品名称");
|
|
|
+ hashMap.put("value", artName);
|
|
|
+ maps2.add(hashMap);
|
|
|
+ }
|
|
|
+ Integer artCount = articles1.getArtCount();
|
|
|
+ if (ObjectUtils.isNotEmpty(artCount)) {
|
|
|
+ Map<String, Object> hashMap = new HashMap<>();
|
|
|
+ hashMap.put("key", "物品数量");
|
|
|
+ hashMap.put("value", artCount);
|
|
|
+ maps2.add(hashMap);
|
|
|
+ }
|
|
|
+ maps1.add(maps2);
|
|
|
+
|
|
|
+ }
|
|
|
+ map.put("key", "物品明细");
|
|
|
+ map.put("value", maps1);
|
|
|
+ map2.add(map);
|
|
|
+ }
|
|
|
+
|
|
|
+ List<Map<String, Object>> map3 = new ArrayList<>();
|
|
|
+ Long approver = oaApprove.getApprover();
|
|
|
+ if (approver > 0) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("key", "接收人");
|
|
|
+ map.put("value", teacherMapper.get(approver).getTeacherName());
|
|
|
+ map3.add(map);
|
|
|
+ }
|
|
|
+ String approveOpinion = oaApprove.getApproveOpinion();
|
|
|
+ if (approver > 0) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("key", "审批意见");
|
|
|
+ map.put("value", approveOpinion);
|
|
|
+ map3.add(map);
|
|
|
+ }
|
|
|
+ maps.put("approve", map3);
|
|
|
+
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ String approveFiles = oaApprove.getApproveFiles();
|
|
|
+ if (ObjectUtils.isNotEmpty(approveFiles)) {
|
|
|
+ map.put("key", "附件");
|
|
|
+ map.put("value", JSON.parseArray(approveFiles));
|
|
|
+ }
|
|
|
+ maps.put("approveFiles", map);
|
|
|
+ maps.put("basic", map2);
|
|
|
+ } else if (4 == oaApprove.getApproveType()) {
|
|
|
+ //请假
|
|
|
+ Long proposer = oaApprove.getProposer();
|
|
|
+ if (proposer > 0) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("key", "申请人");
|
|
|
+ map.put("value", teacherMapper.get(proposer).getTeacherName());
|
|
|
+ maps.put("proposer", map);
|
|
|
+ }
|
|
|
+ List<Map<String, Object>> map2 = new ArrayList<>();
|
|
|
+ String approveName = oaApprove.getApproverName();
|
|
|
+ if (ObjectUtils.isNotEmpty(approveName)) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("key", "请假类型");
|
|
|
+ map.put("value", approveName);
|
|
|
+ map2.add(map);
|
|
|
+ }
|
|
|
+ Date startDate = oaApprove.getStartDate();
|
|
|
+ if (ObjectUtils.isNotEmpty(startDate)) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("key", "开始时间");
|
|
|
+ map.put("value", oaApprove.getStartDate());
|
|
|
+ map2.add(map);
|
|
|
+ }
|
|
|
+
|
|
|
+ Date endDate = oaApprove.getEndDate();
|
|
|
+ if (ObjectUtils.isNotEmpty(endDate)) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("key", "结束时间");
|
|
|
+ map.put("value", endDate);
|
|
|
+ map2.add(map);
|
|
|
+ }
|
|
|
+
|
|
|
+ String approveDetails = oaApprove.getApproveDetails();
|
|
|
+ if (ObjectUtils.isNotEmpty(approveDetails)) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("key", "请假事由");
|
|
|
+ map.put("value", approveDetails);
|
|
|
+ map2.add(map);
|
|
|
+ }
|
|
|
+
|
|
|
+ Long approver = oaApprove.getApprover();
|
|
|
+ List<Map<String, Object>> map3 = new ArrayList<>();
|
|
|
+ if (approver > 0) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("key", "审批人");
|
|
|
+ map.put("value", teacherMapper.get(approver).getTeacherName());
|
|
|
+ map3.add(map);
|
|
|
+ }
|
|
|
+ String approveOpinion = oaApprove.getApproveOpinion();
|
|
|
+ if (approver > 0) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("key", "审批意见");
|
|
|
+ map.put("value", approveOpinion);
|
|
|
+ map3.add(map);
|
|
|
+ }
|
|
|
+ maps.put("approve", map3);
|
|
|
+
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ String approveFiles = oaApprove.getApproveFiles();
|
|
|
+ if (ObjectUtils.isNotEmpty(approveFiles)) {
|
|
|
+ map.put("key", "附件");
|
|
|
+ map.put("value", JSON.parseArray(approveFiles));
|
|
|
+ }
|
|
|
+ maps.put("approveFiles", map);
|
|
|
+ maps.put("basic", map2);
|
|
|
+ } else {
|
|
|
+
|
|
|
+ }
|
|
|
+ return maps;
|
|
|
+ } else {
|
|
|
+ throw new Exception("单据异常,请联系管理员");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|