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; import cn.hutool.core.util.ObjectUtil; import cn.timer.api.bean.spmk.SpmkApprovalG; import cn.timer.api.bean.spmk.SpmkApprovalTemplate; import cn.timer.api.bean.spmk.SpmkApprovalTemplateG; import cn.timer.api.bean.spmk.SpmkApproveDetail; import cn.timer.api.bean.spmk.SpmkApproveExecuteRecord; import cn.timer.api.bean.spmk.SpmkCustomApproval; import cn.timer.api.config.annotation.UserBean; import cn.timer.api.controller.zzgl.service.ZzglBmgwMService; import cn.timer.api.dao.spmk.SpmkApprovalGMapper; import cn.timer.api.dao.spmk.SpmkApproveDetailMapper; import cn.timer.api.dao.spmk.SpmkApproveExecuteRecordMapper; import cn.timer.api.dao.spmk.SpmkCustomApprovalMapper; import cn.timer.api.dto.spmk.SpmkApproveDetailDto; import cn.timer.api.utils.ResultUtil; @Service public class SpmkServiceImpl implements SpmkService{ @Autowired private ZzglBmgwMService zzglBmgwMService; @Autowired private SpmkCustomApprovalMapper spmkCustomApprovalMapper; @Autowired private SpmkApproveDetailMapper spmkApproveDetailMapper; @Autowired private SpmkApprovalGMapper spmkApprovalGMapper; @Autowired private SpmkApproveExecuteRecordMapper spmkApproveExecuteRecordMapper; /** * 根据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() .eq(SpmkApprovalTemplate::getApprovalTemplateGId, listAtg.get(i).getId()).orderByAsc(SpmkApprovalTemplate::getId)); 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; } /** * 根据审批汇总id 获取 审批详情 */ @Override public SpmkApproveDetailDto selectApproveDetailByAsId(Integer asId) { // TODO Auto-generated method stub SpmkApproveDetail ad = spmkApproveDetailMapper.selectOne(new QueryWrapper<SpmkApproveDetail>().lambda().eq(SpmkApproveDetail::getApproveSummaryId, asId)); 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); return adD; } @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); } }