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.SpmkApproveSummary; import cn.timer.api.bean.spmk.SpmkCustomApproval; import cn.timer.api.bean.spmk.SpmkExecutor; 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()).eq(SpmkApprovalTemplate::getIsOpen, '1').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)); SpmkApproveSummary sum = null; if(ad != null) { sum = SpmkApproveSummary.builder().build().selectOne(new QueryWrapper<SpmkApproveSummary>().lambda().select(SpmkApproveSummary::getId,SpmkApproveSummary::getEmpNum,SpmkApproveSummary::getSts,SpmkApproveSummary::getCreateTime) .eq(SpmkApproveSummary::getId, ad.getApproveSummaryId())); } 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); if(sum != null) { adD.setEmpNum(sum.getEmpNum()); adD.setSts(sum.getSts()); adD.setLaunchTime(sum.getCreateTime()); SpmkExecutor exe= null; SpmkApproveExecuteRecord exere = SpmkApproveExecuteRecord.builder().build() .selectOne(new QueryWrapper<SpmkApproveExecuteRecord>().lambda().select(SpmkApproveExecuteRecord::getId).eq(SpmkApproveExecuteRecord::getApproveSummaryId , sum.getId()) .eq(SpmkApproveExecuteRecord::getSts, 1)); if(exere != null) { exe = SpmkExecutor.builder().build().selectOne(new QueryWrapper<SpmkExecutor>().lambda().eq(SpmkExecutor::getApproveExecuteRecordId, exere.getId()).orderByDesc(SpmkExecutor::getId)); } if(exe != null) { adD.setExecuteEmpNum(exe.getEmpNum()); adD.setExecuteSts(exe.getSts()); adD.setExeid(exe.getId()); adD.setExereid(exere.getId()); } } 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); } }