SpmkServiceImpl.java 4.58 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12
package cn.timer.api.controller.spmk.service;

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;

import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.lang.Console;
13
import cn.hutool.core.util.ObjectUtil;
14 15 16
import cn.timer.api.bean.spmk.SpmkApprovalG;
import cn.timer.api.bean.spmk.SpmkApprovalTemplate;
import cn.timer.api.bean.spmk.SpmkApprovalTemplateG;
17 18
import cn.timer.api.bean.spmk.SpmkApproveDetail;
import cn.timer.api.bean.spmk.SpmkApproveExecuteRecord;
ilal committed
19
import cn.timer.api.bean.spmk.SpmkApproveSummary;
20
import cn.timer.api.bean.spmk.SpmkCustomApproval;
21 22 23
import cn.timer.api.config.annotation.UserBean;
import cn.timer.api.controller.zzgl.service.ZzglBmgwMService;
import cn.timer.api.dao.spmk.SpmkApprovalGMapper;
24 25
import cn.timer.api.dao.spmk.SpmkApproveDetailMapper;
import cn.timer.api.dao.spmk.SpmkApproveExecuteRecordMapper;
26
import cn.timer.api.dao.spmk.SpmkCustomApprovalMapper;
27
import cn.timer.api.dto.spmk.SpmkApproveDetailDto;
28
import cn.timer.api.utils.ResultUtil;
29 30 31

@Service
public class SpmkServiceImpl implements SpmkService{
32 33 34
	
	@Autowired
	private ZzglBmgwMService zzglBmgwMService;
35 36

	@Autowired
37 38 39 40 41 42
	private SpmkCustomApprovalMapper spmkCustomApprovalMapper;
	
	@Autowired
	private SpmkApproveDetailMapper spmkApproveDetailMapper;
	
	@Autowired
43 44 45
	private SpmkApprovalGMapper spmkApprovalGMapper;
	
	@Autowired
46
	private SpmkApproveExecuteRecordMapper spmkApproveExecuteRecordMapper;
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
	
	/**
	 * 根据orgCode查数据库 审批模板 生成 自定义模板
	 * orgCode 企业id
	 */
	@Override
	public boolean createCustomApproval(Integer orgCode) {
		// TODO Auto-generated method stub
		List<SpmkApprovalTemplateG> listAtg = SpmkApprovalTemplateG.builder().build()
				.selectList(new QueryWrapper<SpmkApprovalTemplateG>().lambda().orderByAsc(SpmkApprovalTemplateG::getId));
		List<SpmkApprovalG> listAG = new ArrayList<SpmkApprovalG>(listAtg.size());
		for (SpmkApprovalTemplateG spmkApprovalTemplateG : listAtg) {
			SpmkApprovalG saG = SpmkApprovalG.builder().build();
			BeanUtil.copyProperties(spmkApprovalTemplateG, saG, "id","update_time");
			saG.setOrgCode(orgCode);
			listAG.add(saG);
		}
		
		Console.log(listAG);
		SpmkCustomApproval sca = SpmkCustomApproval.builder().build();
		List<SpmkApprovalTemplate> listAt = new ArrayList<SpmkApprovalTemplate>();
		for (int i = 0,n = listAG.size(); i < n; i++) {
			boolean b = listAG.get(i).insert();
			if (b) {
				listAt = SpmkApprovalTemplate.builder().build().selectList(new QueryWrapper<SpmkApprovalTemplate>()
						.lambda()
73
						.eq(SpmkApprovalTemplate::getApprovalTemplateGId, listAtg.get(i).getId()).eq(SpmkApprovalTemplate::getIsOpen, '1').orderByAsc(SpmkApprovalTemplate::getId));
74 75 76 77 78 79 80 81 82 83 84 85 86 87
				for (SpmkApprovalTemplate spmkApprovalTemplate : listAt) {
					BeanUtil.copyProperties(spmkApprovalTemplate, sca, "id","approval_template_g_id","update_time","create_time");
					sca.setOrgCode(orgCode);
					sca.setApprovalGId(listAG.get(i).getId());
					sca.setIsAllvisible(1);
					
					sca.insert();
				}
			}
		}
		
		return true;
	}

88 89 90 91 92 93 94
	/**
	 * 根据审批汇总id 获取 审批详情
	 */
	@Override
	public SpmkApproveDetailDto selectApproveDetailByAsId(Integer asId) {
		// TODO Auto-generated method stub
		SpmkApproveDetail ad = spmkApproveDetailMapper.selectOne(new QueryWrapper<SpmkApproveDetail>().lambda().eq(SpmkApproveDetail::getApproveSummaryId, asId));
ilal committed
95 96 97 98 99
		SpmkApproveSummary sum = null;
		if(ad != null) {
			sum = SpmkApproveSummary.builder().id(ad.getApproveSummaryId()).build().selectById();
		}
		
100 101 102 103 104 105 106 107 108 109 110
		SpmkApproveDetailDto adD = SpmkApproveDetailDto.builder().build();
		if (ad == null) {
			return null;
		}
		List<SpmkApproveExecuteRecord> listAer = spmkApproveExecuteRecordMapper.selectListByAsId(asId);
		BeanUtil.copyProperties(ad, adD, "requestData","froms","router","spmkApproveExecuteRecord");
		adD.setRequestData(ObjectUtil.deserialize(ad.getRequestData()));
		adD.setFroms(ObjectUtil.deserialize(ad.getFroms()));
		adD.setRouter(ObjectUtil.deserialize(ad.getRouter()));
		adD.setFlowChildren(ObjectUtil.deserialize(ad.getFlowChildren()));
		adD.setApproveExecuteRecord(listAer);
ilal committed
111 112 113 114
		if(sum != null) {
			adD.setEmpNum(sum.getEmpNum());
			adD.setSts(sum.getSts());
		}
115 116 117
		return adD;
	}

118 119 120 121 122 123 124
	@Override
	public List<SpmkApprovalG> selectListAg(UserBean userBean) {
		// TODO Auto-generated method stub
		List<Integer> depts = zzglBmgwMService.empNumupGetDepts(userBean.getOrgCode(), userBean.getEmpNum());
		return spmkApprovalGMapper.selectListAgInCa(userBean.getOrgCode(), userBean.getEmpNum(), depts);
	}

125
}