许鹏程
2024-12-30 327991834574bbb8bbd78f29382297aa13d001d6
home-server-admin/src/main/java/com/home/xining/service/ReceiptDocumentService.java
@@ -1,5 +1,6 @@
package com.home.xining.service;
import cn.hutool.core.collection.CollectionUtil;
import com.home.xining.config.CmnConst;
import com.home.xining.service.idel.IReceiptDocumentService;
import com.product.common.lang.StringUtils;
@@ -11,9 +12,13 @@
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.List;
import java.util.stream.Collectors;
/**
 * @ClassName: ReceiptDocumentService
@@ -24,45 +29,69 @@
@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);
   }
   //收文抄送局长
   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;
   }
}