From d98b07bc1ba63fda03dc7f9bdbab51ec91b9b21c Mon Sep 17 00:00:00 2001 From: 6c <420680616@qq.com> Date: 星期三, 02 七月 2025 11:01:13 +0800 Subject: [PATCH] 收文管理-科长环节-自定义保存-保存指派的科员信息 --- home-server-admin/src/main/java/com/home/xining/service/ReceiptDocumentService.java | 140 ++++++++++++++++++++++++++++++++++------------ 1 files changed, 102 insertions(+), 38 deletions(-) diff --git a/home-server-admin/src/main/java/com/home/xining/service/ReceiptDocumentService.java b/home-server-admin/src/main/java/com/home/xining/service/ReceiptDocumentService.java index 4430697..0e81950 100644 --- a/home-server-admin/src/main/java/com/home/xining/service/ReceiptDocumentService.java +++ b/home-server-admin/src/main/java/com/home/xining/service/ReceiptDocumentService.java @@ -1,5 +1,7 @@ package com.home.xining.service; +import cn.hutool.core.collection.CollectionUtil; +import com.google.common.collect.Sets; import com.home.xining.config.CmnConst; import com.home.xining.service.idel.IReceiptDocumentService; import com.product.common.lang.StringUtils; @@ -11,9 +13,15 @@ import com.product.core.service.support.AbstractBaseService; import com.product.core.service.support.QueryFilterService; import com.product.core.transfer.Transactional; +import com.product.tool.flow.service.FlowService; import com.product.util.BaseUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; + +import java.util.Arrays; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; /** * @ClassName: ReceiptDocumentService @@ -24,45 +32,101 @@ @Component public class ReceiptDocumentService extends AbstractBaseService implements IReceiptDocumentService { - @Autowired - public BaseDao baseDao; - @Autowired - PermissionService permissionService; - @Autowired - QueryFilterService queryFilterService; + @Autowired + public BaseDao baseDao; + @Autowired + PermissionService permissionService; + @Autowired + QueryFilterService queryFilterService; + @Autowired + FlowService flowService; - public DataTableEntity getReciptDocList(FieldSetEntity fs) throws BaseException { - String filter=fs.getString("filter"); - //鍒涘缓浜哄瓧娈� - String dataFilter = "" ; - String created_by_field = fs.getString(CmnConst.CREATED_BY_FIELD); - if(!BaseUtil.strIsNull(created_by_field)){ - dataFilter = permissionService.getDataFilter(fs.getTableName(),created_by_field); - } + public DataTableEntity getReciptDocList(FieldSetEntity fs) throws BaseException { + String filter = fs.getString("filter"); + //鍒涘缓浜哄瓧娈� + String dataFilter = ""; + String created_by_field = fs.getString(CmnConst.CREATED_BY_FIELD); + if (!BaseUtil.strIsNull(created_by_field)) { + dataFilter = permissionService.getDataFilter(fs.getTableName(), created_by_field); + } // String dataFilter = permissionService.getDataFilter(fs.getTableName(), CmnConst.SF33); - if(!StringUtils.isEmpty(dataFilter)){ - if(!StringUtils.isEmpty(filter)){ - filter += " and "+dataFilter; - }else { - filter = dataFilter; - } - } - if(!BaseUtil.dataTableIsEmpty(fs.getSubDataTable("systemSeniorQueryString"))){ - filter = filter + " and " + queryFilterService.getQueryFilter(fs); - } - DataTableEntity dt = baseDao.listTable(CmnConst.SFGL,filter,null,null,"sf26 desc",fs.getInteger(CmnConst.PAGESIZE),fs.getInteger(CmnConst.CPAGE)); - baseDao.loadPromptData(dt); - return dt; - } + if (!StringUtils.isEmpty(dataFilter)) { + if (!StringUtils.isEmpty(filter)) { + filter += " and " + dataFilter; + } else { + filter = dataFilter; + } + } + if (!BaseUtil.dataTableIsEmpty(fs.getSubDataTable("systemSeniorQueryString"))) { + filter = filter + " and " + queryFilterService.getQueryFilter(fs); + } + DataTableEntity dt = baseDao.listTable(CmnConst.SFGL, filter, null, null, "sf26 desc", fs.getInteger(CmnConst.PAGESIZE), fs.getInteger(CmnConst.CPAGE)); + baseDao.loadPromptData(dt); + return dt; + } - /** - * 鏀舵枃绠$悊 鐘舵�佹敼涓哄凡鎵撳嵃 - * @param fse - * @return - */ - @Override - @Transactional - public Boolean isPrint(FieldSetEntity fse) { - return baseDao.update(fse); - } + /** + * 鏀舵枃绠$悊 鐘舵�佹敼涓哄凡鎵撳嵃 + * + * @param fse + * @return + */ + @Override + @Transactional + public Boolean isPrint(FieldSetEntity fse) { + return baseDao.update(fse); + } + + /** + * 淇濆瓨 + * @param fse + */ + @Override + @Transactional + public void save(FieldSetEntity fse) { + String curMember = fse.getString("cur_member"); + if (!StringUtils.isEmpty(curMember)) { + String allMember = fse.getString("all_member"); + if (StringUtils.isEmpty(allMember)) { + fse.setValue("all_member", curMember); + } else { + Set<String> allMemberSet = Sets.newLinkedHashSet(); + allMemberSet.addAll(Arrays.asList(allMember.split(","))); + allMemberSet.addAll(Arrays.asList(curMember.split(","))); + fse.setValue("all_member", BaseUtil.collection2String(allMemberSet)); + } + fse.setValue("cur_member", null); + } + baseDao.saveFieldSetEntity(fse); + } + + /** + * 绉戝憳閫�鍥炵壒娈婂鐞� + * @param fse + */ + public void memberBack(FieldSetEntity fse) { + fse.setValue("all_member", null); + baseDao.saveFieldSetEntity(fse); + } + + + //鏀舵枃鎶勯�佸眬闀� + public Boolean sendToLeader(FieldSetEntity record, String jobPostName) { + FieldSetEntity task = getBaseDao().getFieldSetByFilter(com.product.tool.flow.config.CmnConst.TABLE_FLOW_TASK, "table_name=? and record_uuid=?", new Object[]{record.getTableName(), record.getUUID()}, false); + + if (!FieldSetEntity.isEmpty(task)) { +// 鏍规嵁宀椾綅鍚嶇О妯$硦鎼滅储浜哄憳 + DataTableEntity dataTableEntity = getBaseDao().listTable("product_sys_staffs", + "job_post_uuid IN ( SELECT uuid FROM product_sys_job_posts WHERE job_post_name LIKE concat('%',?,'%') ) AND staff_status in(1,3)", + new Object[]{jobPostName}); + if (!DataTableEntity.isEmpty(dataTableEntity)) { + List<String> collect = dataTableEntity.getData().stream().map(item -> item.getString("user_id")).collect(Collectors.toList()); + task.setValue("accept_users", CollectionUtil.join(collect, ",")); + task.setValue("circularize_type", "1"); + flowService.circularize(task); + } + } + + return true; + } } -- Gitblit v1.9.2