计量中心项目
This commit is contained in:
100
jlzx-single/jlzx-single-oa/jlzx-single-oa-biz/pom.xml
Normal file
100
jlzx-single/jlzx-single-oa/jlzx-single-oa-biz/pom.xml
Normal file
@@ -0,0 +1,100 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<groupId>com.yxt</groupId>
|
||||
<artifactId>yxt-parent</artifactId>
|
||||
<version>0.0.1</version>
|
||||
<relativePath/>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>jlzx-single-oa-biz</artifactId>
|
||||
<groupId>com.yxt.jlzx</groupId>
|
||||
<version>0.0.1</version>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.yxt.jlzx</groupId>
|
||||
<artifactId>jlzx-single-oa-api</artifactId>
|
||||
<version>0.0.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.yxt</groupId>
|
||||
<artifactId>yxt-common-base</artifactId>
|
||||
<version>0.0.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.yxt.jlzx</groupId>
|
||||
<artifactId>jlzx-single-jlcyry-api</artifactId>
|
||||
<version>0.0.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.yxt.jlzx</groupId>
|
||||
<artifactId>jlzx-single-system-api</artifactId>
|
||||
<version>0.0.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.yxt.workflow</groupId>
|
||||
<artifactId>yxt-single-workflow-api</artifactId>
|
||||
<version>0.0.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.yxt.attend</groupId>
|
||||
<artifactId>yxt-single-attend-api</artifactId>
|
||||
<version>0.0.1</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.yaml</groupId>
|
||||
<artifactId>snakeyaml</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.alibaba.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>mysql</groupId>
|
||||
<artifactId>mysql-connector-java</artifactId>
|
||||
</dependency>
|
||||
<!--
|
||||
<dependency>
|
||||
<groupId>com.github.xiaoymin</groupId>
|
||||
<artifactId>knife4j-spring-boot-starter</artifactId>
|
||||
</dependency>-->
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>repackage</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>src/main/java</directory>
|
||||
<includes>
|
||||
<include>**/*Mapper.xml</include>
|
||||
</includes>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>src/main/resources</directory>
|
||||
<includes>
|
||||
<include>**/*.*</include>
|
||||
</includes>
|
||||
<filtering>false</filtering>
|
||||
</resource>
|
||||
</resources>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.yxt.jlzx.oa;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||
import org.springframework.cloud.openfeign.EnableFeignClients;
|
||||
|
||||
|
||||
/**
|
||||
* Project: oa <br/>
|
||||
* File: OaApplication.java <br/>
|
||||
* Class: com.yxt.jlzx.oa.OaApplication <br/>
|
||||
* Description: <描述类的功能>. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2020/10/12 11:47 <br/>
|
||||
*
|
||||
* @author yxt_mtl
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@EnableDiscoveryClient
|
||||
@SpringBootApplication(scanBasePackages = {
|
||||
"com.yxt.common.base.config",
|
||||
"com.yxt.jlzx.oa"
|
||||
})
|
||||
|
||||
@EnableFeignClients(basePackages = {"com.yxt.jlzx.jlcyry","com.yxt.jlzx.system","com.yxt.workflow","com.yxt.attend"})
|
||||
public class OaApplication {
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(OaApplication.class, args);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,260 @@
|
||||
package com.yxt.jlzx.oa.biz.cabinetfile;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.config.RedisUtil;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.jlzx.jlcyry.api.staffinfo.StaffBasicDetailsVo;
|
||||
import com.yxt.jlzx.jlcyry.api.staffinfo.StaffInfoApi;
|
||||
import com.yxt.jlzx.oa.api.cabinetfile.*;
|
||||
import com.yxt.jlzx.oa.api.cabinetfolder.CabinetFolder;
|
||||
import com.yxt.jlzx.oa.api.cabinetfolder.CabinetFolderApi;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.Filesappendix;
|
||||
import com.yxt.jlzx.oa.biz.cabinetfolder.CabinetFolderService;
|
||||
import com.yxt.jlzx.oa.biz.filesappendix.FilesappendixService;
|
||||
import com.yxt.jlzx.system.api.index.IndexApi;
|
||||
import com.yxt.jlzx.system.api.index.IndexDetailsUser;
|
||||
import com.yxt.jlzx.system.api.index.UserBaseInfo;
|
||||
import com.yxt.jlzx.system.api.user.User;
|
||||
import com.yxt.jlzx.system.api.user.UserApi;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.validation.Valid;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2020/10/22 11:20
|
||||
* @description 文件柜中的文件
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("v1/cabinetfiles")
|
||||
@Api(tags = "文件柜中的文件管理")
|
||||
public class CabinetFileApiImpl implements CabinetFileApi {
|
||||
|
||||
@Autowired
|
||||
private CabinetFileService cabinetFileService;
|
||||
@Autowired
|
||||
private CabinetFolderService cabinetFolderService;
|
||||
@Autowired
|
||||
private FilesappendixService filesappendixService;
|
||||
@Autowired(required = false)
|
||||
private HttpServletRequest httpServletRequest;
|
||||
@Autowired
|
||||
private RedisUtil redisUtil;
|
||||
@Autowired
|
||||
private StaffInfoApi staffInfoApi;
|
||||
|
||||
@Autowired
|
||||
private UserApi userApi;
|
||||
@Autowired
|
||||
private IndexApi indexApi;
|
||||
|
||||
/**
|
||||
* 不分页列表(可带查询参数)
|
||||
*
|
||||
* @param query
|
||||
* @return 不分页列表
|
||||
*/
|
||||
@Override
|
||||
public ResultBean<List<CabinetFileVo>> list(@Valid CabinetFileQuery query) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页列表(可带查询参数)
|
||||
*
|
||||
* @param pagerQuery
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ResultBean<PagerVo<CabinetFileVo>> pageList(@Valid PagerQuery<CabinetFileQuery> pagerQuery) {
|
||||
ResultBean<PagerVo<CabinetFileVo>> rb = ResultBean.fireFail();
|
||||
PagerVo<CabinetFileVo> pv = new PagerVo<>();
|
||||
IPage<CabinetFileVo> p2 = cabinetFileService.pageList(pagerQuery);
|
||||
PagerVo<CabinetFileVo> pv1 = PagerUtil.pageToVo(p2, pv);
|
||||
List<CabinetFileVo> record = pv1.getRecords();
|
||||
if (record.size() > 0) {
|
||||
for (CabinetFileVo vo : record) {
|
||||
String sid = vo.getCreateBySid();
|
||||
ResultBean<IndexDetailsUser> indexDetailsUserResultBean = indexApi.indexUserDetails(sid);
|
||||
if (!indexDetailsUserResultBean.getSuccess()) {
|
||||
return rb.setMsg("请重新登录");
|
||||
}
|
||||
IndexDetailsUser indexDetailsUser = indexDetailsUserResultBean.getData();
|
||||
UserBaseInfo userBaseInfo = indexDetailsUser.getUserBaseInfo();
|
||||
vo.setName(userBaseInfo.getName());
|
||||
}
|
||||
}
|
||||
return rb.success().setData(pv1);
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
* @param dto@return ResultBean
|
||||
*/
|
||||
@Override
|
||||
public ResultBean save(@Valid CabinetFileDto dto) {
|
||||
String token = httpServletRequest.getHeader("token");
|
||||
String userName = redisUtil.get(token);
|
||||
if (StringUtils.isBlank(userName)) {
|
||||
return ResultBean.fireFail().setMsg("请重新登录");
|
||||
}
|
||||
CabinetFile cabinetFile = new CabinetFile();
|
||||
cabinetFile.setCreateBySid(userName);
|
||||
/* ResultBean<StaffBasicDetailsVo> staffInfoResultBean = staffInfoApi.selectByUserName(userName); //人员信息
|
||||
if (staffInfoResultBean == null) {
|
||||
return ResultBean.fireFail().setMsg("账号错误");
|
||||
} else {
|
||||
cabinetFile.setCreateBySid(staffInfoResultBean.getData().getStaffSid());
|
||||
}*/
|
||||
|
||||
//dto.fillEntity(cabinetFile);
|
||||
//2021.10.14 判断上传附件信息不能为空
|
||||
//遍历上传的附件信息,进行保存. cabinetFile表
|
||||
cabinetFile.setTitle(dto.getTitle()); //文件标题
|
||||
cabinetFile.setFolderSid(dto.getFolderSid()); //文件柜Sid
|
||||
cabinetFile.setRemarks(dto.getRemarks()); //备注
|
||||
cabinetFile.setSortNo(dto.getSortNo()); //排序
|
||||
if (dto.getCabinetFileList() != null && dto.getCabinetFileList().size() > 0) {
|
||||
for (int i = 0; i < dto.getCabinetFileList().size(); i++) {
|
||||
cabinetFile.setFileName(dto.getCabinetFileList().get(i).getFileName()); //文件名称
|
||||
cabinetFile.setFileSize(dto.getCabinetFileList().get(i).getFileSize()); //文件大小
|
||||
if (!cabinetFileService.save(cabinetFile)) {
|
||||
return ResultBean.fireFail().setMsg(dto.getCabinetFileList().get(i).getFileName() + "保存失败");
|
||||
}
|
||||
//保存附件表中 Filesappendix表
|
||||
if (StringUtils.isNoneBlank(dto.getCabinetFileList().get(i).getFileUrl())) {
|
||||
Filesappendix filesappendix = new Filesappendix();
|
||||
filesappendix.setFilePath(dto.getCabinetFileList().get(i).getFileUrl()); //文件路径
|
||||
filesappendix.setFileName(dto.getCabinetFileList().get(i).getFileName()); //文件名称
|
||||
filesappendix.setFileType("cabinetfile"); //文件类型
|
||||
filesappendix.setLinkSid(cabinetFile.getSid()); //关联文件柜表Sid
|
||||
filesappendixService.save(filesappendix);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// if (!cabinetFileService.save(cabinetFile)) {
|
||||
// return ResultBean.fireFail().setMsg("保存失败");
|
||||
// }
|
||||
// if (StringUtils.isNoneBlank(dto.getFileUrl())) {
|
||||
// Filesappendix filesappendix = new Filesappendix();
|
||||
// filesappendix.setFilePath(dto.getFileUrl());
|
||||
// filesappendix.setFileType("cabinetfile");
|
||||
// filesappendix.setLinkSid(cabinetFile.getSid());
|
||||
// filesappendixService.save(filesappendix);
|
||||
// }
|
||||
return ResultBean.fireSuccess().setData("保存成功");
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑保存
|
||||
*
|
||||
* @param dto
|
||||
* @param sid
|
||||
* @return ResultBean
|
||||
*/
|
||||
@Override
|
||||
public ResultBean update(@Valid CabinetFileDto dto, String sid) throws Exception {
|
||||
String token = httpServletRequest.getHeader("token");
|
||||
String userName = redisUtil.get(token);
|
||||
if (StringUtils.isBlank(userName)) {
|
||||
return ResultBean.fireFail().setMsg("请重新登录");
|
||||
}
|
||||
CabinetFile cabinetFile = cabinetFileService.fetchBySid(sid);
|
||||
ResultBean<StaffBasicDetailsVo> staffInfoResultBean = staffInfoApi.selectByUserName(userName);
|
||||
if (null == cabinetFile) {
|
||||
return ResultBean.fireFail().setMsg("该文件不存在");
|
||||
}
|
||||
if (0 == cabinetFileService.updateBySid(dto.toMap(), sid)) {
|
||||
return ResultBean.fireFail();
|
||||
}
|
||||
//2021.10.14
|
||||
// if (StringUtils.isNoneBlank(dto.getFileUrl()) { //原本的
|
||||
// Filesappendix filesappendix = filesappendixService.selectByLinkSid(sid);
|
||||
// Map<String, Object> map = new HashMap<>();
|
||||
// map.put("filePath",dto.getFileUrl());
|
||||
// map.put("type", "cabinetfile");
|
||||
// map.put("linkSid", sid);
|
||||
// map.put("createBySid", staffInfoResultBean.getData().getStaffSid());
|
||||
// filesappendixService.updateBySid(map, filesappendix.getSid());
|
||||
// }
|
||||
//2021.10.14当修改附件时,先判断是否存在,如果存在则删除,然后在保存
|
||||
QueryWrapper<Filesappendix> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("linkSid", sid);
|
||||
List<Filesappendix> list = filesappendixService.list(queryWrapper);
|
||||
if (list.size() > 0) {
|
||||
for (Filesappendix f : list) {
|
||||
filesappendixService.deleteBySid(f.getSid());
|
||||
}
|
||||
}
|
||||
//重新保存附件表中,filesappendix表
|
||||
for (int i = 0; i < dto.getCabinetFileList().size(); i++) {
|
||||
if (StringUtils.isNoneBlank(dto.getCabinetFileList().get(i).getFileUrl())) {
|
||||
Filesappendix filesappendix = new Filesappendix();
|
||||
filesappendix.setFilePath(dto.getCabinetFileList().get(i).getFileUrl());
|
||||
filesappendix.setFileType("cabinetfile");
|
||||
filesappendix.setLinkSid(cabinetFile.getSid());
|
||||
filesappendixService.save(filesappendix);
|
||||
}
|
||||
}
|
||||
return ResultBean.fireSuccess().setMsg("修改成功");
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*
|
||||
* @param sid sid
|
||||
* @return ResultBean
|
||||
*/
|
||||
@Override
|
||||
public ResultBean delete(String sid) {
|
||||
CabinetFile cabinetFile = cabinetFileService.fetchBySid(sid);
|
||||
if (null == cabinetFile) {
|
||||
return ResultBean.fireFail().setMsg("该文件不存在");
|
||||
}
|
||||
|
||||
//2020.10.16 只允许删除本人上传的附件,管理员可以删除所有的附件
|
||||
//获取登录登录人员的信息
|
||||
String token = httpServletRequest.getHeader("token");
|
||||
String userName = redisUtil.get(token);
|
||||
User user = userApi.selectByUserNameOne(userName).getData();
|
||||
|
||||
//2021.10.16 判断当前用户是否为管理员,或者登录人员是否是上传文件人员
|
||||
if ("1".equals(user.getIsAdmin()) || cabinetFile.getCreateBySid().equals(user.getStaffSid())) {
|
||||
|
||||
} else {
|
||||
return ResultBean.fireFail().setMsg("您没有权限删除此文件");
|
||||
}
|
||||
|
||||
int iii = cabinetFileService.deleteBySid(sid);
|
||||
if (iii == 0) {
|
||||
return ResultBean.fireFail().setMsg("删除失败");
|
||||
}
|
||||
filesappendixService.deleteByLinkSid(sid);
|
||||
return ResultBean.fireSuccess().setMsg("删除成功");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取单一对象
|
||||
*
|
||||
* @param sid
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ResultBean<CabinetFileVo> getVo(String sid) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.yxt.jlzx.oa.biz.cabinetfile;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.yxt.jlzx.oa.api.cabinetfile.CabinetFile;
|
||||
import com.yxt.jlzx.oa.api.cabinetfile.CabinetFileVo;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2020/10/22 11:33
|
||||
* @description 文件柜中的文件
|
||||
*/
|
||||
@Mapper
|
||||
public interface CabinetFileMapper extends BaseMapper<CabinetFile> {
|
||||
/**
|
||||
* 分页列表
|
||||
*
|
||||
* @param page 分页
|
||||
* @param qw 查询条件
|
||||
* @return
|
||||
*/
|
||||
public IPage<CabinetFileVo> pageList(IPage<?> page, @Param(Constants.WRAPPER) Wrapper<CabinetFileVo> qw);
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.jlzx.oa.biz.cabinetfile.CabinetFileMapper">
|
||||
<select id="pageList" resultType="com.yxt.jlzx.oa.api.cabinetfile.CabinetFileVo">
|
||||
SELECT cab.sid,
|
||||
cab.fileName,
|
||||
cab.fileSize,
|
||||
cab.createBySid,
|
||||
DATE_FORMAT(cab.createTime, '%Y-%m-%d') AS createTime,
|
||||
cab.remarks,
|
||||
file.filePath
|
||||
FROM jlzx_oa.cabinetfile cab
|
||||
LEFT JOIN cabinetfolder cf ON cf.sid = cab.folderSid
|
||||
LEFT JOIN jlzx_oa.filesappendix file ON file.linkSid = cab.sid and file.filename = cab.filename
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,85 @@
|
||||
package com.yxt.jlzx.oa.biz.cabinetfile;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.base.utils.StringUtils;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.jlzx.oa.api.cabinetfile.CabinetFile;
|
||||
import com.yxt.jlzx.oa.api.cabinetfile.CabinetFileQuery;
|
||||
import com.yxt.jlzx.oa.api.cabinetfile.CabinetFileVo;
|
||||
import com.yxt.jlzx.oa.api.cabinetfolder.CabinetFolder;
|
||||
import com.yxt.jlzx.oa.biz.cabinetfolder.CabinetFolderService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2020/10/22 11:21
|
||||
* @description 文件柜中的文件
|
||||
*/
|
||||
@Service
|
||||
public class CabinetFileService extends MybatisBaseService<CabinetFileMapper, CabinetFile> {
|
||||
@Autowired
|
||||
private CabinetFolderService cabinetFolderService;
|
||||
|
||||
public IPage<CabinetFileVo> pageList(PagerQuery<CabinetFileQuery> pagerQuery) {
|
||||
IPage<CabinetFileQuery> page = PagerUtil.queryToPage(pagerQuery);
|
||||
CabinetFileQuery params = pagerQuery.getParams();
|
||||
QueryWrapper<CabinetFileVo> qw = new QueryWrapper<>();
|
||||
if (params != null) {
|
||||
String name = params.getName();
|
||||
if (StringUtils.isNotBlank(name)) {
|
||||
qw.like("cab.fileName", name);
|
||||
}
|
||||
String folderSid = params.getFolderSid();
|
||||
if (StringUtils.isNotBlank(folderSid)) {
|
||||
//判断是否是第一级
|
||||
CabinetFolder cabinetFolder = cabinetFolderService.fetchBySid(folderSid);
|
||||
//查询该文件夹所有的下级
|
||||
List<String> list = cabinetFolderService.selectOneBySid(folderSid);
|
||||
// if (cabinetFolder != null) {
|
||||
// if (cabinetFolder.getPsid().equals("0")) {
|
||||
// qw.eq("cf.psid", folderSid);
|
||||
// } else {
|
||||
// qw.eq("cab.folderSid", folderSid);
|
||||
// }
|
||||
//
|
||||
// }
|
||||
list.add(folderSid);
|
||||
qw.in("cab.folderSid",list);
|
||||
|
||||
|
||||
}
|
||||
qw.apply(StringUtils.isNotBlank(params.getDateStart()),
|
||||
"date_format (cab.createTime,'%Y-%m-%d') >= str_to_date('" + params.getDateStart() + "','%Y-%m-%d')");
|
||||
qw.apply(StringUtils.isNotBlank(params.getDateEnd()),
|
||||
"date_format (cab.createTime,'%Y-%m-%d') <= str_to_date('" + params.getDateEnd() + "','%Y-%m-%d')");
|
||||
}
|
||||
return baseMapper.pageList(page, qw);
|
||||
}
|
||||
|
||||
public IPage<CabinetFileVo> selfAndDeaprtPageList(PagerQuery<CabinetFileQuery> pagerQuery) {
|
||||
IPage<CabinetFileQuery> page = PagerUtil.queryToPage(pagerQuery);
|
||||
CabinetFileQuery params = pagerQuery.getParams();
|
||||
QueryWrapper<CabinetFileVo> qw = new QueryWrapper<>();
|
||||
if (params != null) {
|
||||
String name = params.getName();
|
||||
if (StringUtils.isNotBlank(name)) {
|
||||
qw.like("cab.fileName", name);
|
||||
}
|
||||
String folderSid = params.getFolderSid();
|
||||
if (StringUtils.isNotBlank(folderSid)) {
|
||||
qw.eq("cf.psid",folderSid);
|
||||
}
|
||||
qw.apply(StringUtils.isNotBlank(params.getDateStart()),
|
||||
"date_format (cab.createTime,'%Y-%m-%d') >= str_to_date('" + params.getDateStart() + "','%Y-%m-%d')");
|
||||
qw.apply(StringUtils.isNotBlank(params.getDateEnd()),
|
||||
"date_format (cab.createTime,'%Y-%m-%d') <= str_to_date('" + params.getDateEnd() + "','%Y-%m-%d')");
|
||||
}
|
||||
return baseMapper.pageList(page, qw);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,375 @@
|
||||
package com.yxt.jlzx.oa.biz.cabinetfolder;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.config.RedisUtil;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.base.utils.StringUtils;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.jlzx.jlcyry.api.staffinfo.StaffBasicDetailsVo;
|
||||
import com.yxt.jlzx.jlcyry.api.staffinfo.StaffInfoApi;
|
||||
import com.yxt.jlzx.oa.api.cabinetfile.*;
|
||||
import com.yxt.jlzx.oa.api.cabinetfolder.*;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.Filesappendix;
|
||||
import com.yxt.jlzx.oa.biz.cabinetfile.CabinetFileService;
|
||||
import com.yxt.jlzx.oa.biz.filesappendix.FilesappendixService;
|
||||
import com.yxt.jlzx.system.api.index.IndexApi;
|
||||
import com.yxt.jlzx.system.api.index.IndexDetailsUser;
|
||||
import com.yxt.jlzx.system.api.index.UserBaseInfo;
|
||||
import com.yxt.jlzx.system.api.user.User;
|
||||
import com.yxt.jlzx.system.api.user.UserApi;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2020/10/23 8:49
|
||||
* @description
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("v1/cabinetfolders")
|
||||
@Api(tags = "文件柜管理")
|
||||
public class CabinetFolderApiImpl implements CabinetFolderApi {
|
||||
@Autowired
|
||||
private RedisUtil redisUtil;
|
||||
@Autowired
|
||||
private CabinetFolderService cabinetFolderService;
|
||||
@Autowired(required = false)
|
||||
private HttpServletRequest httpServletRequest;
|
||||
@Autowired
|
||||
private StaffInfoApi staffInfoApi;
|
||||
@Autowired
|
||||
private CabinetFileService cabinetFileService;
|
||||
|
||||
@Autowired
|
||||
private FilesappendixService filesappendixService;
|
||||
|
||||
@Autowired
|
||||
private UserApi userApi;
|
||||
@Autowired
|
||||
private IndexApi indexApi;
|
||||
|
||||
/**
|
||||
* 不分页列表(可带查询参数)
|
||||
*
|
||||
* @param query
|
||||
* @return 不分页列表
|
||||
*/
|
||||
@Override
|
||||
public ResultBean<List<CabinetFolderVo>> list(@Valid CabinetFolderQuery query) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页列表(可带查询参数)
|
||||
*
|
||||
* @param pagerQuery
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ResultBean<PagerVo<CabinetFolderVo>> pageList(@Valid PagerQuery<CabinetFolderQuery> pagerQuery) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
* @param dto@return ResultBean
|
||||
*/
|
||||
@Override
|
||||
public ResultBean save(@Valid CabinetFolderDto dto) {
|
||||
CabinetFolder cabinetFolder = new CabinetFolder();
|
||||
cabinetFolder.setState(1);
|
||||
dto.fillEntity(cabinetFolder);
|
||||
if (StringUtils.isBlank(cabinetFolder.getPsid())) {
|
||||
cabinetFolder.setPsid("0");
|
||||
}
|
||||
if (cabinetFolder.getPsid().equals("0")) {
|
||||
CabinetFolder cabinetFolder1 = cabinetFolderService.selectByOrgSid(cabinetFolder.getOrgSid());
|
||||
if (cabinetFolder1 != null) {
|
||||
return ResultBean.fireFail().setMsg("此单位已有最外层文件柜");
|
||||
}
|
||||
}
|
||||
if (!cabinetFolderService.save(cabinetFolder)) {
|
||||
return ResultBean.fireFail().setMsg("保存失败");
|
||||
}
|
||||
return ResultBean.fireSuccess().setData("保存成功");
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑保存
|
||||
*
|
||||
* @param dto 参数dto对象
|
||||
* @param sid 文件夹sid
|
||||
* @return ResultBean
|
||||
*/
|
||||
@Override
|
||||
public ResultBean update(@Valid CabinetFolderDto dto, String sid) throws Exception {
|
||||
// CabinetFolder cabinetFolder = cabinetFolderService.fetchBySid(sid);
|
||||
// if (null == cabinetFolder) {
|
||||
// return ResultBean.fireFail().setMsg("该文件夹不存在");
|
||||
// }
|
||||
// if (0 == cabinetFolderService.updateBySid(dto.toMap(), sid)) {
|
||||
// return ResultBean.fireFail();
|
||||
// }
|
||||
// return ResultBean.fireSuccess().setMsg("修改成功");
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*
|
||||
* @param sid sid
|
||||
* @return ResultBean
|
||||
*/
|
||||
@Override
|
||||
public ResultBean delete(String sid) {
|
||||
CabinetFolder cabinetFolder = cabinetFolderService.fetchBySid(sid);
|
||||
if (null == cabinetFolder) {
|
||||
return ResultBean.fireFail().setMsg("该文件夹不存在");
|
||||
}
|
||||
|
||||
//2021.10.16 只允许管理员删除,文件目录
|
||||
//获取登录登录人员的信息
|
||||
String token = httpServletRequest.getHeader("token");
|
||||
String userName = redisUtil.get(token);
|
||||
User user = userApi.selectByUserNameOne(userName).getData();
|
||||
|
||||
//2021.10.16 判断当前用户是否为管理员,只有管理员才可以删除文件夹
|
||||
if ("1".equals(user.getIsAdmin())) {
|
||||
|
||||
} else {
|
||||
return ResultBean.fireFail().setMsg("您没有权限删除此文件");
|
||||
}
|
||||
|
||||
int i = cabinetFolderService.selectBySid(sid);
|
||||
if (i > 0) {
|
||||
return ResultBean.fireFail().setMsg("该文件夹存在下级,请删除下级后再操作");
|
||||
}
|
||||
int ii = cabinetFolderService.selectFileBySid(sid);
|
||||
if (ii > 0) {
|
||||
return ResultBean.fireFail().setMsg("该文件夹中存在文件,请删除文件后再操作");
|
||||
}
|
||||
int iii = cabinetFolderService.deleteBySid(sid);
|
||||
if (iii == 0) {
|
||||
return ResultBean.fireFail().setMsg("删除失败");
|
||||
}
|
||||
return ResultBean.fireSuccess().setMsg("删除成功");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取单一对象
|
||||
*
|
||||
* @param sid
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ResultBean<CabinetFolderVo> getVo(String sid) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 文件夹的树形列表
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ResultBean<List<CabinetFolderVo>> cabinetFolderList(@Valid CabinetFolderQuery query) {
|
||||
List<CabinetFolderVo> cabinetFolderVoList = cabinetFolderService.cabinetFolderList(query);
|
||||
return new ResultBean<List<CabinetFolderVo>>().success().setData(cabinetFolderVoList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<CabinetFolerOneVo> getFolderOne(String sid) {
|
||||
CabinetFolerOneVo cabinetFolerOneVo = cabinetFolderService.selectByFolderName(sid);
|
||||
return new ResultBean<CabinetFolerOneVo>().success().setData(cabinetFolerOneVo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean updateSave(String sid, String folderName) {
|
||||
CabinetFolder cabinetFolder = cabinetFolderService.fetchBySid(sid);
|
||||
if (null == cabinetFolder) {
|
||||
return ResultBean.fireFail().setMsg("该文件夹不存在");
|
||||
}
|
||||
int i = cabinetFolderService.updateNameBySid(sid, folderName);
|
||||
if (i == 0) {
|
||||
return ResultBean.fireFail().setMsg("修改失败");
|
||||
}
|
||||
return ResultBean.fireSuccess().setMsg("修改成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean saveDepartment(@Valid CabinetFileDtoOne dto) {
|
||||
String token = httpServletRequest.getHeader("token");
|
||||
String userName = redisUtil.get(token);
|
||||
if (StringUtils.isBlank(userName)) {
|
||||
return ResultBean.fireFail().setMsg("请重新登录");
|
||||
}
|
||||
CabinetFile cabinetFile = new CabinetFile();
|
||||
cabinetFile.setCreateBySid(userName);
|
||||
ResultBean<IndexDetailsUser> indexDetailsUserResultBean = indexApi.indexUserDetails(userName);
|
||||
if (!indexDetailsUserResultBean.getSuccess()) {
|
||||
return ResultBean.fireFail().setMsg("请重新登录");
|
||||
}
|
||||
IndexDetailsUser indexDetailsUser = indexDetailsUserResultBean.getData();
|
||||
UserBaseInfo userBaseInfo = indexDetailsUser.getUserBaseInfo();
|
||||
/* ResultBean<StaffBasicDetailsVo> staffInfoResultBean = staffInfoApi.selectByUserName(userName);
|
||||
if (staffInfoResultBean == null) {
|
||||
return ResultBean.fireFail().setMsg("账号错误");
|
||||
} else {
|
||||
cabinetFile.setCreateBySid(staffInfoResultBean.getData().getStaffSid());
|
||||
}*/
|
||||
QueryWrapper<CabinetFolder> wrapper = new QueryWrapper<>();
|
||||
// wrapper.eq("psid",staffInfoResultBean.getData().getOrganizationSid()); //部门
|
||||
wrapper.eq("psid", userBaseInfo.getOrganizationId()); //部门
|
||||
CabinetFolder one = cabinetFolderService.getOne(wrapper);
|
||||
String folwerSid = null;
|
||||
//如果有此部门文件柜,则直接再文件表中添加数据。 如果没有则先新建一条数据,然后再保存
|
||||
if (one != null) {
|
||||
folwerSid = one.getSid();
|
||||
} else {
|
||||
CabinetFolder cabinetFolder = new CabinetFolder();
|
||||
cabinetFolder.setFolderName("部门文件柜");
|
||||
// cabinetFolder.setPsid(staffInfoResultBean.getData().getOrganizationSid());
|
||||
cabinetFolder.setPsid(userBaseInfo.getOrganizationId());
|
||||
cabinetFolder.setState(2);
|
||||
// cabinetFolder.setOrgSid(staffInfoResultBean.getData().getOrganizationSid());
|
||||
cabinetFolder.setOrgSid(userBaseInfo.getOrganizationId());
|
||||
cabinetFolderService.save(cabinetFolder);
|
||||
folwerSid = cabinetFolder.getSid();
|
||||
}
|
||||
// dto.fillEntity(cabinetFile);
|
||||
// cabinetFile.setFolderSid(folwerSid);
|
||||
// if (!cabinetFileService.save(cabinetFile)) {
|
||||
// return ResultBean.fireFail().setMsg("保存失败");
|
||||
// }
|
||||
// if (StringUtils.isNoneBlank(dto.getFileUrl())) {
|
||||
// Filesappendix filesappendix = new Filesappendix();
|
||||
// filesappendix.setFilePath(dto.getFileUrl());
|
||||
// filesappendix.setFileType("cabinetfile");
|
||||
// filesappendix.setLinkSid(cabinetFile.getSid());
|
||||
// filesappendixService.save(filesappendix);
|
||||
// }
|
||||
//2021.10.16 如果上传多个附件,则循环保存
|
||||
cabinetFile.setTitle(dto.getTitle()); //文件标题
|
||||
cabinetFile.setFolderSid(folwerSid); //关联部门文件柜 Psid
|
||||
cabinetFile.setRemarks(dto.getRemarks()); //备注
|
||||
cabinetFile.setSortNo(dto.getSortNo()); //文件排序
|
||||
if (dto.getCabinetFileList() != null && dto.getCabinetFileList().size() > 0) {
|
||||
for (int i = 0; i < dto.getCabinetFileList().size(); i++) {
|
||||
cabinetFile.setFileName(dto.getCabinetFileList().get(i).getFileName());
|
||||
cabinetFile.setFileSize(dto.getCabinetFileList().get(i).getFileSize());
|
||||
if (!cabinetFileService.save(cabinetFile)) {
|
||||
return ResultBean.fireFail().setMsg(dto.getCabinetFileList().get(i).getFileName() + "保存失败");
|
||||
}
|
||||
//保存到附件表中 Filesappendix表中
|
||||
if (org.apache.commons.lang3.StringUtils.isNoneBlank(dto.getCabinetFileList().get(i).getFileUrl())) {
|
||||
Filesappendix filesappendix = new Filesappendix(); //保存附件表
|
||||
filesappendix.setFileName(dto.getCabinetFileList().get(i).getFileName());
|
||||
filesappendix.setFilePath(dto.getCabinetFileList().get(i).getFileUrl());
|
||||
filesappendix.setFileType("cabinetfile");
|
||||
filesappendix.setLinkSid(cabinetFile.getSid()); //关联文件柜表Sid
|
||||
filesappendixService.save(filesappendix);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ResultBean.fireSuccess().setData("保存成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean saveMySelf(@Valid CabinetFileDtoOne dto) {
|
||||
String token = httpServletRequest.getHeader("token");
|
||||
String userName = redisUtil.get(token);
|
||||
if (StringUtils.isBlank(userName)) {
|
||||
return ResultBean.fireFail().setMsg("请重新登录");
|
||||
}
|
||||
CabinetFile cabinetFile = new CabinetFile();
|
||||
/*ResultBean<StaffBasicDetailsVo> staffInfoResultBean = staffInfoApi.selectByUserName(userName);
|
||||
if (staffInfoResultBean == null) {
|
||||
return ResultBean.fireFail().setMsg("账号错误");
|
||||
} else {
|
||||
dto.fillEntity(cabinetFile);
|
||||
cabinetFile.setCreateBySid(staffInfoResultBean.getData().getStaffSid());
|
||||
}*/
|
||||
dto.fillEntity(cabinetFile);
|
||||
cabinetFile.setCreateBySid(userName);
|
||||
ResultBean<IndexDetailsUser> indexDetailsUserResultBean = indexApi.indexUserDetails(userName);
|
||||
if (!indexDetailsUserResultBean.getSuccess()) {
|
||||
return ResultBean.fireFail().setMsg("请重新登录");
|
||||
}
|
||||
IndexDetailsUser indexDetailsUser = indexDetailsUserResultBean.getData();
|
||||
UserBaseInfo userBaseInfo = indexDetailsUser.getUserBaseInfo();
|
||||
QueryWrapper<CabinetFolder> wrapper = new QueryWrapper<>();
|
||||
// wrapper.eq("orgSid",staffInfoResultBean.getData().getStaffSid());
|
||||
wrapper.eq("orgSid", userBaseInfo.getUserId());
|
||||
CabinetFolder one = cabinetFolderService.getOne(wrapper);
|
||||
if (one != null) {
|
||||
cabinetFile.setFolderSid(one.getSid());
|
||||
} else {
|
||||
CabinetFolder cabinetFolder = new CabinetFolder();
|
||||
cabinetFolder.setFolderName("个人文件柜");
|
||||
// cabinetFolder.setPsid(staffInfoResultBean.getData().getStaffSid());
|
||||
cabinetFolder.setPsid(userBaseInfo.getUserId());
|
||||
cabinetFolder.setState(3);
|
||||
// cabinetFolder.setOrgSid(staffInfoResultBean.getData().getStaffSid());
|
||||
cabinetFolder.setOrgSid(userBaseInfo.getUserId());
|
||||
cabinetFile.setFolderSid(cabinetFolder.getSid());
|
||||
cabinetFolderService.save(cabinetFolder);
|
||||
}
|
||||
//2021.10.16 如果上传多个附件,则循环保存
|
||||
cabinetFile.setTitle(dto.getTitle()); //文件标题
|
||||
//cabinetFile.setFolderSid(one.getSid()); //关联部门文件柜 Psid
|
||||
cabinetFile.setRemarks(dto.getRemarks()); //备注
|
||||
cabinetFile.setSortNo(dto.getSortNo()); //文件排序
|
||||
if (dto.getCabinetFileList() != null && dto.getCabinetFileList().size() > 0) {
|
||||
for (int i = 0; i < dto.getCabinetFileList().size(); i++) {
|
||||
cabinetFile.setFileName(dto.getCabinetFileList().get(i).getFileName());
|
||||
cabinetFile.setFileSize(dto.getCabinetFileList().get(i).getFileSize());
|
||||
if (!cabinetFileService.save(cabinetFile)) {
|
||||
return ResultBean.fireFail().setMsg(dto.getCabinetFileList().get(i).getFileName() + "保存失败");
|
||||
}
|
||||
//保存到附件表中 Filesappendix表中
|
||||
if (org.apache.commons.lang3.StringUtils.isNoneBlank(dto.getCabinetFileList().get(i).getFileUrl())) {
|
||||
Filesappendix filesappendix = new Filesappendix(); //保存附件表
|
||||
filesappendix.setFileName(dto.getCabinetFileList().get(i).getFileName());
|
||||
filesappendix.setFilePath(dto.getCabinetFileList().get(i).getFileUrl());
|
||||
filesappendix.setFileType("cabinetfile");
|
||||
filesappendix.setLinkSid(cabinetFile.getSid()); //关联文件柜表Sid
|
||||
filesappendixService.save(filesappendix);
|
||||
}
|
||||
}
|
||||
}
|
||||
return ResultBean.fireSuccess().setData("保存成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<PagerVo<CabinetFileVo>> selfAndDeaprtPageList(PagerQuery<CabinetFileQuery> pagerQuery) {
|
||||
ResultBean<PagerVo<CabinetFileVo>> rb = ResultBean.fireFail();
|
||||
PagerVo<CabinetFileVo> pv = new PagerVo<>();
|
||||
IPage<CabinetFileVo> p2 = cabinetFileService.selfAndDeaprtPageList(pagerQuery);
|
||||
PagerVo<CabinetFileVo> pv1 = PagerUtil.pageToVo(p2, pv);
|
||||
List<CabinetFileVo> record = pv1.getRecords();
|
||||
if (record.size() > 0) {
|
||||
for (CabinetFileVo vo : record) {
|
||||
String sid = vo.getCreateBySid();
|
||||
ResultBean<IndexDetailsUser> indexDetailsUserResultBean = indexApi.indexUserDetails(sid);
|
||||
if (!indexDetailsUserResultBean.getSuccess()) {
|
||||
return rb.setMsg("请重新登录");
|
||||
}
|
||||
IndexDetailsUser indexDetailsUser = indexDetailsUserResultBean.getData();
|
||||
UserBaseInfo userBaseInfo = indexDetailsUser.getUserBaseInfo();
|
||||
vo.setName(userBaseInfo.getName());
|
||||
}
|
||||
}
|
||||
return rb.success().setData(pv1);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.yxt.jlzx.oa.biz.cabinetfolder;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.yxt.jlzx.oa.api.cabinetfolder.CabinetFolder;
|
||||
import com.yxt.jlzx.oa.api.cabinetfolder.CabinetFolderVo;
|
||||
import com.yxt.jlzx.oa.api.cabinetfolder.CabinetFolerOneVo;
|
||||
import com.yxt.workflow.api.process.WfProcessVo;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2020/10/23 8:52
|
||||
* @description
|
||||
*/
|
||||
@Mapper
|
||||
public interface CabinetFolderMapper extends BaseMapper<CabinetFolder> {
|
||||
|
||||
public List<CabinetFolderVo> cabinetFolderList(@Param(Constants.WRAPPER) Wrapper<CabinetFolderVo> qw);
|
||||
|
||||
public int selectBySid(String sid);
|
||||
|
||||
public int selectFileBySid(String sid);
|
||||
|
||||
public CabinetFolerOneVo selectByFolderName(String sid);
|
||||
|
||||
public int updateNameBySid(@Param("sid") String sid, @Param("name") String name);
|
||||
|
||||
public CabinetFolder selectByOrgSid(String orgSid);
|
||||
|
||||
public List<String> selectOneBySid(String sid);
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.jlzx.oa.biz.cabinetfolder.CabinetFolderMapper">
|
||||
|
||||
<resultMap id="cabinetFolderListMap" type="com.yxt.jlzx.oa.api.cabinetfolder.CabinetFolderVo">
|
||||
<result column="sid" jdbcType="VARCHAR" property="sid"/>
|
||||
<result column="psid" jdbcType="VARCHAR" property="psid"/>
|
||||
<collection property="cabinetFolderListVoList" ofType="CabinetFolderListVo"
|
||||
select="cabinetFolderListVoList" column="sid">
|
||||
</collection>
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="cabinetFolderListVoListMap" type="com.yxt.jlzx.oa.api.cabinetfolder.CabinetFolderListVo">
|
||||
<result column="name" jdbcType="VARCHAR" property="name"/>
|
||||
<result column="sid" jdbcType="VARCHAR" property="sid"/>
|
||||
<result column="psid" jdbcType="VARCHAR" property="psid"/>
|
||||
<collection property="cabinetFolderListVoList" ofType="CabinetFolderListVo"
|
||||
select="cabinetFolderListVoList" column="sid">
|
||||
</collection>
|
||||
</resultMap>
|
||||
|
||||
<select id="cabinetFolderListVoList" resultType="com.yxt.jlzx.oa.api.cabinetfolder.CabinetFolderListVo"
|
||||
resultMap="cabinetFolderListVoListMap">
|
||||
SELECT cab.sid, cab.psid, cab.folderName name
|
||||
FROM cabinetfolder cab
|
||||
LEFT JOIN cabinetfolder cab1 ON cab.pSid = cab1.sid
|
||||
WHERE cab.pSid = #{sid}
|
||||
</select>
|
||||
<select id="cabinetFolderList" resultType="com.yxt.jlzx.oa.api.cabinetfolder.CabinetFolderVo"
|
||||
resultMap="cabinetFolderListMap">
|
||||
SELECT cab.sid, cab.folderName name, cab.psid
|
||||
FROM cabinetfolder cab
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="selectBySid" resultType="java.lang.Integer">
|
||||
SELECT COUNT(cab.id)
|
||||
FROM cabinetfolder cab
|
||||
WHERE cab.psid = #{sid}
|
||||
</select>
|
||||
|
||||
<select id="selectFileBySid" resultType="java.lang.Integer">
|
||||
SELECT COUNT(cab.id)
|
||||
FROM cabinetfile cab
|
||||
WHERE cab.folderSid = #{sid}
|
||||
</select>
|
||||
|
||||
<select id="selectByFolderName" resultType="com.yxt.jlzx.oa.api.cabinetfolder.CabinetFolerOneVo">
|
||||
SELECT folderName
|
||||
FROM cabinetfolder
|
||||
WHERE sid = #{sid}
|
||||
</select>
|
||||
|
||||
<update id="updateNameBySid">
|
||||
UPDATE cabinetfolder
|
||||
SET folderName = #{name}
|
||||
WHERE sid = #{sid}
|
||||
</update>
|
||||
|
||||
<select id="selectByOrgSid" resultType="com.yxt.jlzx.oa.api.cabinetfolder.CabinetFolder">
|
||||
SELECT *
|
||||
FROM cabinetfolder
|
||||
WHERE orgSid = #{orgSid}
|
||||
AND pSid = '0'
|
||||
</select>
|
||||
|
||||
<select id="selectOneBySid" resultType="java.lang.String">
|
||||
SELECT cab1.sid
|
||||
FROM jlzx_oa.cabinetfolder cab
|
||||
LEFT JOIN jlzx_oa.cabinetfolder cab1 ON cab.sid = cab1.psid
|
||||
WHERE cab.sid = #{sid}
|
||||
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,68 @@
|
||||
package com.yxt.jlzx.oa.biz.cabinetfolder;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.jlzx.oa.api.cabinetfolder.CabinetFolder;
|
||||
import com.yxt.jlzx.oa.api.cabinetfolder.CabinetFolderQuery;
|
||||
import com.yxt.jlzx.oa.api.cabinetfolder.CabinetFolderVo;
|
||||
import com.yxt.jlzx.oa.api.cabinetfolder.CabinetFolerOneVo;
|
||||
import com.yxt.workflow.api.process.WfProcessVo;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2020/10/23 8:53
|
||||
* @description
|
||||
*/
|
||||
@Service
|
||||
public class CabinetFolderService extends MybatisBaseService<CabinetFolderMapper, CabinetFolder> {
|
||||
|
||||
/**
|
||||
* 文件夹的树形列表
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public List<CabinetFolderVo> cabinetFolderList(CabinetFolderQuery query) {
|
||||
// mybits所用的查询条件封装类
|
||||
|
||||
QueryWrapper<CabinetFolderVo> qw = new QueryWrapper<>();
|
||||
if (query != null) {
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(query.getOrgSid()))
|
||||
qw.eq("cab.orgSid", query.getOrgSid());
|
||||
|
||||
qw.eq("cab.pSid", '0');
|
||||
qw.orderByAsc("cab.sortNo");
|
||||
}
|
||||
|
||||
return baseMapper.cabinetFolderList(qw);
|
||||
}
|
||||
|
||||
public int selectBySid(String sid) {
|
||||
return baseMapper.selectBySid(sid);
|
||||
}
|
||||
|
||||
public int selectFileBySid(String sid) {
|
||||
return baseMapper.selectFileBySid(sid);
|
||||
}
|
||||
|
||||
|
||||
public CabinetFolerOneVo selectByFolderName(String sid) {
|
||||
return baseMapper.selectByFolderName(sid);
|
||||
}
|
||||
|
||||
public int updateNameBySid(String sid, String name) {
|
||||
return baseMapper.updateNameBySid(sid, name);
|
||||
}
|
||||
|
||||
public CabinetFolder selectByOrgSid(String orgSid) {
|
||||
return baseMapper.selectByOrgSid(orgSid);
|
||||
}
|
||||
|
||||
public List<String> selectOneBySid(String folderSid) {
|
||||
return baseMapper.selectOneBySid(folderSid);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,287 @@
|
||||
package com.yxt.jlzx.oa.biz.car;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.validation.Valid;
|
||||
|
||||
import com.yxt.jlzx.system.api.dictcommon.DictCommonApi;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.jlzx.oa.api.car.Car;
|
||||
import com.yxt.jlzx.oa.api.car.CarApi;
|
||||
import com.yxt.jlzx.oa.api.car.CarDto;
|
||||
import com.yxt.jlzx.oa.api.car.CarQuery;
|
||||
import com.yxt.jlzx.oa.api.car.CarVo;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.FilesappendixVo;
|
||||
import com.yxt.jlzx.oa.api.form.FormDto;
|
||||
import com.yxt.jlzx.oa.api.form.FormResultVo;
|
||||
import com.yxt.jlzx.oa.api.project.ProjectDoVo;
|
||||
import com.yxt.jlzx.oa.api.car.Car;
|
||||
import com.yxt.jlzx.oa.api.car.CarDidVo;
|
||||
import com.yxt.jlzx.oa.api.car.CarDoVo;
|
||||
import com.yxt.jlzx.oa.api.work.WorkQuery;
|
||||
import com.yxt.jlzx.oa.biz.filesappendix.FilesappendixService;
|
||||
import com.yxt.jlzx.oa.biz.workflow.WorkFlowService;
|
||||
import com.yxt.jlzx.system.api.dictcommon.DictCommonVo;
|
||||
import com.yxt.jlzx.system.api.user.UserApi;
|
||||
import com.yxt.jlzx.system.api.user.UserInfoVo;
|
||||
import com.yxt.workflow.api.histtask.WfHistTaskDidVo;
|
||||
import com.yxt.workflow.api.histtask.WfHistTaskQuery;
|
||||
import com.yxt.workflow.api.task.WfTaskQuery;
|
||||
import com.yxt.workflow.api.task.WfTaskVo;
|
||||
import com.yxt.workflow.api.wfmanger.WfManagerApi;
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
|
||||
/**
|
||||
* @author yxt_hwj
|
||||
* @date 2020/9/29 13:30
|
||||
* @description
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("v1/cars")
|
||||
@Api(tags = "车辆管理")
|
||||
public class CarApiImpl implements CarApi {
|
||||
@Autowired
|
||||
private CarService carService;
|
||||
@Autowired
|
||||
private WorkFlowService wfservice;
|
||||
@Autowired
|
||||
private WfManagerApi wfManagerApi;
|
||||
@Autowired
|
||||
private FilesappendixService filesappendixservice;
|
||||
@Autowired
|
||||
private UserApi userApi;
|
||||
@Autowired
|
||||
private DictCommonApi dictCommonApi;
|
||||
|
||||
@Override
|
||||
public ResultBean<List<CarVo>> list(@Valid CarQuery query) {
|
||||
return new ResultBean().setData(null).setMsg("暂不对外开发!");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<PagerVo<CarVo>> pageList(@Valid PagerQuery<CarQuery> pagerQuery) {
|
||||
ResultBean<PagerVo<CarVo>> rb = ResultBean.fireFail();
|
||||
IPage<CarVo> page = carService.pageList(pagerQuery);
|
||||
//把Ipage转换为PageVo
|
||||
PagerVo<CarVo> pv_result = PagerUtil.pageToVo(page, null);
|
||||
List<CarVo> list = pv_result.getRecords();
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
String remarks = list.get(i).getRemarks();
|
||||
ResultBean<DictCommonVo> dictCommonVoResultBean = dictCommonApi.selectBykey(remarks, "ycsyOA");
|
||||
list.get(i).setRemarks(dictCommonVoResultBean.getData().getDictValue());
|
||||
}
|
||||
return rb.success().setData(pv_result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<FormResultVo> save(@Valid CarDto carDto) {
|
||||
ResultBean<FormResultVo> resultBean = ResultBean.fireFail();
|
||||
FormResultVo formResultVo = new FormResultVo();
|
||||
// 首次保存,二次修改
|
||||
if (carDto != null && StringUtils.isNotBlank(carDto.getFormSid())) {
|
||||
if (update(carDto, carDto.getFormSid()).getSuccess()) {
|
||||
return resultBean.success().setData(formResultVo);
|
||||
} else {
|
||||
return resultBean;
|
||||
}
|
||||
}
|
||||
|
||||
Car car = new Car();
|
||||
// 调用远程
|
||||
carDto.setFormSid(car.getSid());
|
||||
|
||||
SimpleDateFormat sdf = new SimpleDateFormat();
|
||||
String s = sdf.format(carDto.getStartDate());
|
||||
carDto.setTitle(carDto.getCreaterName() + "于" + s + "发起用车申请");
|
||||
carDto.fillEntity(car);
|
||||
|
||||
WfTaskVo taskVo = wfservice.startProcess((FormDto) carDto);
|
||||
if (taskVo == null)
|
||||
return resultBean;
|
||||
car.setOrderSid(taskVo.getOrderSid());
|
||||
UserInfoVo userInfoVo = userApi.fetchUserInfoBysid(car.getCreateBySid()).getData();
|
||||
if (null != userInfoVo) {
|
||||
car.setCreateOrgSid(userInfoVo.getOrganizationSid());
|
||||
}
|
||||
if (carService.save(car)) {
|
||||
filesappendixservice.uploadFiles(carDto.getFilePathlist(), car.getSid(),
|
||||
car.getClass().getSimpleName());
|
||||
formResultVo.setFormSid(car.getSid());
|
||||
formResultVo.setTaskSid(taskVo.getTaskSid());
|
||||
return resultBean.success().setData(formResultVo);
|
||||
}
|
||||
return resultBean;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean update(@Valid CarDto carDto, String s) {
|
||||
|
||||
ResultBean<String> rb = ResultBean.fireFail();
|
||||
Car car = carService.fetchBySid(s);
|
||||
if (null == car) {
|
||||
return rb.setMsg("该申请不存在");
|
||||
}
|
||||
if (0 == carService.updateBySid(carDto.toMap(), s)) {
|
||||
return rb.setData(null);
|
||||
}
|
||||
|
||||
carDto.setOrderSid(car.getOrderSid());
|
||||
if (wfservice.updateMfOrderFormInfo((FormDto) carDto)) {
|
||||
filesappendixservice.reUploadFiles(carDto.getFilePathlist(),
|
||||
car.getSid(), car.getClass().getSimpleName());
|
||||
|
||||
return rb.success().setData(s);
|
||||
}
|
||||
|
||||
return ResultBean.fireSuccess().setMsg("修改成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean delete(String sid) {
|
||||
Car car = carService.fetchBySid(sid);
|
||||
if (null == car) {
|
||||
return ResultBean.fireFail().setMsg("该记录不存在");
|
||||
}
|
||||
if (0 == carService.deleteBySid(sid)) {
|
||||
return ResultBean.fireFail();
|
||||
}
|
||||
return ResultBean.fireSuccess();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<CarVo> getVo(String sid) {
|
||||
ResultBean<CarVo> resultBean = ResultBean.fireFail();
|
||||
Car car = carService.fetchBySid(sid);
|
||||
if (null == car) {
|
||||
return resultBean;
|
||||
}
|
||||
CarVo vo = new CarVo();
|
||||
vo.fromEntity(car);
|
||||
//2021.10.11
|
||||
ResultBean<DictCommonVo> selectBykey = dictCommonApi.selectBykey(vo.getRemarks(), "ycsyOA");
|
||||
if(selectBykey.getData()!=null) {
|
||||
vo.setRemarks(selectBykey.getData().getDictValue());
|
||||
}
|
||||
|
||||
List<FilesappendixVo> list_appendix = filesappendixservice
|
||||
.queryBylinkSid(sid);
|
||||
if (list_appendix == null) {
|
||||
vo.setFilePathlist(new ArrayList<FilesappendixVo>());
|
||||
} else {
|
||||
vo.setFilePathlist(list_appendix);
|
||||
}
|
||||
return resultBean.success().setData(vo);
|
||||
}
|
||||
|
||||
|
||||
// 待办工作列表
|
||||
@Override
|
||||
public ResultBean<PagerVo<CarDoVo>> doingWorks(PagerQuery<WorkQuery> pagerQuery) {
|
||||
pagerQuery.getParams().setProcessSid("d529b7ae-2975-4d93-84d9-1bd0432530e7");
|
||||
ResultBean<PagerVo<CarDoVo>> resultBean = ResultBean.fireFail();
|
||||
// 参数转换
|
||||
PagerQuery<WfTaskQuery> task_query = new PagerQuery<>();
|
||||
task_query.setParams(new WfTaskQuery());
|
||||
task_query.fromPagerQuery(pagerQuery);
|
||||
|
||||
// 直接调用流程任务
|
||||
ResultBean<PagerVo<WfTaskVo>> task_rb = wfManagerApi.webTaskPageList(task_query);
|
||||
|
||||
PagerVo<CarDoVo> workVo_pager = new PagerVo<CarDoVo>();
|
||||
|
||||
if (null == task_rb.getData()) {
|
||||
return resultBean;
|
||||
}
|
||||
// 结果转换
|
||||
workVo_pager = PagerUtil.switchPagerVo(task_rb
|
||||
.getData());
|
||||
for (int i = 0; i < task_rb.getData().getRecords().size(); i++) {
|
||||
CarDoVo workDoVo = new CarDoVo();
|
||||
Car car = carService.fetchBySid(task_rb.getData().getRecords().get(i).getFormSid());
|
||||
workDoVo.fromMap(task_rb.getData().getRecords().get(i).toMap());
|
||||
if (car != null) {
|
||||
Map map = JSON.parseObject(JSON.toJSONString(car), Map.class);
|
||||
workDoVo.fromMap(map);
|
||||
ResultBean<DictCommonVo> selectBykey = dictCommonApi.selectBykey(workDoVo.getRemarks(), "ycsyOA");
|
||||
if(selectBykey.getData()!=null) {
|
||||
workDoVo.setRemarks(selectBykey.getData().getDictValue());
|
||||
}
|
||||
}
|
||||
workVo_pager.getRecords().add(workDoVo);
|
||||
|
||||
}
|
||||
|
||||
String name = pagerQuery.getParams().getCreaterName();
|
||||
List<CarDoVo> records = workVo_pager.getRecords();
|
||||
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
|
||||
for (int i = 0; i < records.size(); i++) {
|
||||
if (StringUtils.isNoneBlank(name) && records.get(i).getCreaterName() != null && records.get(i).getCreaterName().indexOf(name) < 0) {
|
||||
records.remove(i);
|
||||
i = i - 1;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
return resultBean.success().setData(workVo_pager);
|
||||
|
||||
}
|
||||
|
||||
// 已办工作列表
|
||||
@Override
|
||||
public ResultBean<PagerVo<CarDidVo>> didWorks(PagerQuery<WorkQuery> pagerQuery) {
|
||||
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
|
||||
pagerQuery.getParams().setProcessSid("d529b7ae-2975-4d93-84d9-1bd0432530e7");
|
||||
ResultBean<PagerVo<CarDidVo>> resultBean = ResultBean.fireFail();
|
||||
// 参数转换
|
||||
PagerQuery<WfHistTaskQuery> histtask_query = new PagerQuery<>();
|
||||
histtask_query.setParams(new WfHistTaskQuery());
|
||||
histtask_query.fromPagerQuery(pagerQuery);
|
||||
// 直接调用流程任务
|
||||
ResultBean<PagerVo<WfHistTaskDidVo>> task_rb = wfManagerApi.histTaskPageList(histtask_query);
|
||||
|
||||
PagerVo<CarDidVo> workVo_pager = new PagerVo<CarDidVo>();
|
||||
if (null == task_rb.getData())
|
||||
return resultBean;
|
||||
// 结果转换
|
||||
workVo_pager = PagerUtil.switchPagerVo(task_rb.getData());
|
||||
for (int i = 0; i < task_rb.getData().getRecords().size(); i++) {
|
||||
CarDidVo workDidVo = new CarDidVo();
|
||||
workDidVo.fromMap(task_rb.getData().getRecords().get(i).toMap());
|
||||
Car car = carService.fetchBySid(task_rb.getData().getRecords().get(i).getFormSid());
|
||||
if (car != null) {
|
||||
Map map = JSON.parseObject(JSON.toJSONString(car), Map.class);
|
||||
workDidVo.fromMap(map);
|
||||
ResultBean<DictCommonVo> selectBykey = dictCommonApi.selectBykey(workDidVo.getRemarks(), "ycsyOA");
|
||||
if(selectBykey.getData()!=null) {
|
||||
workDidVo.setRemarks(selectBykey.getData().getDictValue());
|
||||
}
|
||||
}
|
||||
|
||||
workVo_pager.getRecords().add(workDidVo);
|
||||
}
|
||||
String name = pagerQuery.getParams().getCreaterName();//物品名称
|
||||
List<CarDidVo> records = workVo_pager.getRecords();
|
||||
for (int i = 0; i < records.size(); i++) {
|
||||
if (StringUtils.isNoneBlank(name) && records.get(i).getCreaterName() != null && records.get(i).getCreaterName().indexOf(name) < 0) {
|
||||
records.remove(i);
|
||||
i = i - 1;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
return resultBean.success().setData(workVo_pager);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.yxt.jlzx.oa.biz.car;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.yxt.jlzx.oa.api.car.Car;
|
||||
import com.yxt.jlzx.oa.api.car.CarQuery;
|
||||
import com.yxt.jlzx.oa.api.car.CarVo;
|
||||
import com.yxt.jlzx.oa.api.contract.Contract;
|
||||
import com.yxt.jlzx.oa.api.contract.ContractQuery;
|
||||
import com.yxt.jlzx.oa.api.contract.ContractVo;
|
||||
|
||||
|
||||
/**
|
||||
* @author yxt_mtl
|
||||
* @date 2020/10/12 11:14
|
||||
* @description
|
||||
*/
|
||||
@Mapper
|
||||
public interface CarMapper extends BaseMapper<Car>{
|
||||
//分页列表
|
||||
IPage<CarVo> pageList(IPage<CarQuery> page,@Param(Constants.WRAPPER) Wrapper<CarVo> qw);
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.jlzx.oa.biz.car.CarMapper">
|
||||
<select id="pageList" resultType="com.yxt.jlzx.oa.api.car.CarVo">
|
||||
select * from car
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,238 @@
|
||||
package com.yxt.jlzx.oa.biz.car;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.DateUtils;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.base.utils.StringUtils;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.jlzx.jlcyry.api.staffinfo.StaffBasicDetailsVo;
|
||||
import com.yxt.jlzx.jlcyry.api.staffinfo.StaffInfoApi;
|
||||
import com.yxt.jlzx.oa.api.car.Car;
|
||||
import com.yxt.jlzx.oa.api.car.CarQuery;
|
||||
import com.yxt.jlzx.oa.api.car.CarVo;
|
||||
import com.yxt.jlzx.oa.api.form.FormDto;
|
||||
import com.yxt.jlzx.oa.api.form.FormItems;
|
||||
import com.yxt.jlzx.oa.api.form.FormSelectLinkDto;
|
||||
import com.yxt.jlzx.oa.api.form.MaxFileNumDto;
|
||||
import com.yxt.jlzx.oa.api.index.AppDailyDto;
|
||||
import com.yxt.jlzx.oa.api.index.AppDailyVo;
|
||||
import com.yxt.jlzx.oa.api.index.DailyDto;
|
||||
import com.yxt.jlzx.oa.api.project.ProjectVo;
|
||||
import com.yxt.jlzx.oa.biz.filesappendix.FilesappendixService;
|
||||
import com.yxt.jlzx.oa.biz.form.IFormService;
|
||||
import com.yxt.jlzx.oa.biz.workflow.WorkFlowService;
|
||||
import com.yxt.jlzx.system.api.department.DepartmentApi;
|
||||
import com.yxt.jlzx.system.api.department.DepartmentListVo;
|
||||
import com.yxt.jlzx.system.api.departmentstaff.DepartmentStaff;
|
||||
import com.yxt.jlzx.system.api.departmentstaff.DepartmentStaffApi;
|
||||
import com.yxt.jlzx.system.api.dictcommon.DictCommonApi;
|
||||
import com.yxt.jlzx.system.api.user.UserApi;
|
||||
import com.yxt.jlzx.system.api.user.UserInfoVo;
|
||||
import com.yxt.workflow.api.task.WfTaskVo;
|
||||
import org.apache.commons.beanutils.ConvertUtils;
|
||||
import org.apache.commons.beanutils.converters.DateConverter;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author yxt_mtl
|
||||
* @date 2020/10/12 11:12
|
||||
* @description
|
||||
*/
|
||||
@Service("d529b7ae-2975-4d93-84d9-1bd0432530e7")
|
||||
public class CarService extends MybatisBaseService<CarMapper, Car> implements IFormService {
|
||||
@Autowired
|
||||
private DictCommonApi dictCommonApi;
|
||||
@Autowired
|
||||
private FilesappendixService filesappendixservice;
|
||||
|
||||
@Autowired
|
||||
private WorkFlowService wfservice;
|
||||
@Autowired
|
||||
private UserApi userApi;
|
||||
@Autowired
|
||||
private StaffInfoApi staffInfoApi;
|
||||
@Autowired
|
||||
private DepartmentStaffApi departmentStaffApi;
|
||||
@Autowired
|
||||
private DepartmentApi departmentApi;
|
||||
|
||||
// 分页列表
|
||||
public IPage<CarVo> pageList(PagerQuery<CarQuery> pagerQuery) {
|
||||
// mybits所用的分页对对象
|
||||
IPage<CarQuery> page = PagerUtil.queryToPage(pagerQuery);
|
||||
// mybits所用的查询条件封装类
|
||||
QueryWrapper<CarVo> qw = buildQueryWrapper(pagerQuery.getParams());
|
||||
|
||||
return baseMapper.pageList(page, qw);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析和组装查询条件,封装在qw中
|
||||
*
|
||||
* @param pagerQuery
|
||||
* @return
|
||||
*/
|
||||
private QueryWrapper<CarVo> buildQueryWrapper(CarQuery pagerQuery) {
|
||||
QueryWrapper<CarVo> qw = new QueryWrapper<>();
|
||||
if (pagerQuery != null) {
|
||||
if (StringUtils.isNotBlank(pagerQuery.getCreaterName())) {
|
||||
qw.like("createrName", pagerQuery.getCreaterName());
|
||||
}
|
||||
if (null != pagerQuery.getStartDate() && StringUtils.isNotBlank(pagerQuery
|
||||
.getStartDate().toString())) {
|
||||
qw.ge("startDate", pagerQuery.getStartDate());
|
||||
}
|
||||
if (null != pagerQuery.getEndDate() && StringUtils.isNotBlank(pagerQuery
|
||||
.getEndDate().toString())) {
|
||||
qw.le("endDate", pagerQuery.getEndDate());
|
||||
}
|
||||
qw.orderByDesc("createTime");
|
||||
}
|
||||
|
||||
return qw;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取动态表单
|
||||
*
|
||||
* @param sid
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Map<String, Object> getFormItemsVo(String sid) {
|
||||
Car t = fetchBySid(sid);
|
||||
if (null == t) {
|
||||
return null;
|
||||
}
|
||||
CarVo vo = new CarVo();
|
||||
vo.fromEntity(t);
|
||||
return vo.toFormItemsMap();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getMaxFileNum(MaxFileNumDto dto) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppDailyVo isSave(AppDailyDto appDailyDto) {
|
||||
AppDailyVo appDailyVo = new AppDailyVo();
|
||||
Car car = new Car();
|
||||
appDailyDto.setProcessSid(appDailyDto.getProcessSid());
|
||||
appDailyDto.setCreateBySid(appDailyDto.getCreateBySid());
|
||||
SimpleDateFormat sdf = new SimpleDateFormat();
|
||||
String s = sdf.format(car.getCreateTime());
|
||||
UserInfoVo userInfoVo = userApi.selectBysid(appDailyDto.getCreateBySid()).getData();
|
||||
StaffBasicDetailsVo staffBasicDetailsVo = staffInfoApi.selectByUserName(userInfoVo.getUserName()).getData();
|
||||
appDailyDto.setTitle(staffBasicDetailsVo.getName() + "于" + s + "发起用车申请");
|
||||
appDailyDto.setFormSid(car.getSid());
|
||||
//查询在哪个部门
|
||||
DepartmentStaff departmentStaff = departmentStaffApi.selectByStaffSid(staffBasicDetailsVo.getStaffSid()).getData();
|
||||
DepartmentListVo departmentListVo = departmentApi.getVo(departmentStaff.getDepartmentSid()).getData();
|
||||
appDailyDto.setCreaterName(staffBasicDetailsVo.getName());
|
||||
appDailyDto.setCreateDeptName(departmentListVo.getName());
|
||||
appDailyDto.setCreateDeptSid(departmentListVo.getSid());
|
||||
appDailyDto.setFilePath("");
|
||||
appDailyDto.setFileNum("");
|
||||
appDailyDto.fillEntity(car);
|
||||
WfTaskVo taskVo = wfservice.startProcess((FormDto) appDailyDto);
|
||||
if (taskVo == null) {
|
||||
return appDailyVo;
|
||||
}
|
||||
car.setOrderSid(taskVo.getOrderSid());
|
||||
UserInfoVo userInfoVo1 = userApi.fetchUserInfoBysid(car.getCreateBySid()).getData();
|
||||
if (null != userInfoVo1) {
|
||||
car.setCreateOrgSid(userInfoVo1.getOrganizationSid());
|
||||
}
|
||||
if (save(car)) {
|
||||
filesappendixservice.uploadFiles(appDailyDto.getFilePathlist(), car.getSid(),
|
||||
car.getClass().getSimpleName());
|
||||
appDailyVo.setTaskSid(taskVo.getTaskSid());
|
||||
appDailyVo.setFormSid(car.getSid());
|
||||
appDailyVo.setOrderSid(taskVo.getOrderSid());
|
||||
}
|
||||
return appDailyVo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppDailyVo update(AppDailyDto appDailyDto) throws Exception {
|
||||
ConvertUtils.register(new DateConverter(null), java.util.Date.class);
|
||||
AppDailyVo appDailyVo = new AppDailyVo();
|
||||
String sid = appDailyDto.getFormSid();
|
||||
Car car = fetchBySid(sid);
|
||||
if (car == null) {
|
||||
return appDailyVo;
|
||||
}
|
||||
if (0 == updateBySid(appDailyDto.toMap(), sid)) {
|
||||
return appDailyVo;
|
||||
} else {
|
||||
DailyDto dailyDto = new DailyDto();
|
||||
dailyDto.setProcessSid(appDailyDto.getProcessSid());
|
||||
dailyDto.setCreateBySid(appDailyDto.getCreateBySid());
|
||||
SimpleDateFormat sdf = new SimpleDateFormat();
|
||||
String s = sdf.format(car.getCreateTime());
|
||||
UserInfoVo userInfoVo = userApi.selectBysid(appDailyDto.getCreateBySid()).getData();
|
||||
StaffBasicDetailsVo staffBasicDetailsVo = staffInfoApi.selectByUserName(userInfoVo.getUserName()).getData();
|
||||
dailyDto.setTitle(staffBasicDetailsVo.getName() + "于" + s + "发起用车申请");
|
||||
dailyDto.setFormSid(car.getSid());
|
||||
if (wfservice.updateMfOrderFormInfo((FormDto) dailyDto)) {
|
||||
filesappendixservice.reUploadFiles(appDailyDto.getFilePathlist(),
|
||||
car.getSid(), car.getClass().getSimpleName());
|
||||
appDailyVo.setFormSid(sid);
|
||||
|
||||
}
|
||||
}
|
||||
return appDailyVo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getNewFormItemsVo() {
|
||||
Map<String, Object> map = new CarVo().getFormItemsMap();
|
||||
//获取数据字典的内容
|
||||
List<FormItems> formList = (List<FormItems>) map.get("formItems");
|
||||
return map;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getEditFormItemsVo(String formSid) {
|
||||
Car car = this.fetchBySid(formSid);
|
||||
if (null == car)
|
||||
return null;
|
||||
|
||||
Map<String, Object> map = new ProjectVo().getFormItemsMap();
|
||||
//获取数据字典的内容
|
||||
List<FormItems> formList = (List<FormItems>) map.get("formItems");
|
||||
|
||||
|
||||
formList.get(0).getRight_text().setDefaultText(car.getCreaterName());
|
||||
formList.get(1).getRight_text().setDefaultText(DateUtils.dateConvertDayStr(car.getCreateTime()));
|
||||
formList.get(2).getRight_text().setDefaultText(car.getCreateDeptName());
|
||||
|
||||
formList.get(3).getRight_text().setDefaultText(car.getPersonCount() + "");
|
||||
formList.get(4).getRight_text().setDefaultText(DateUtils.dateConvertDayStr(car.getStartDate()));
|
||||
formList.get(5).getRight_text().setDefaultText(DateUtils.dateConvertDayStr(car.getEndDate()));
|
||||
formList.get(6).getRight_text().setDefaultText(car.getRemarks());
|
||||
formList.get(7).getRight_text().setDefaultText(car.getOrigin());
|
||||
formList.get(8).getRight_text().setDefaultText(car.getDestination());
|
||||
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getLinkAge(FormSelectLinkDto dto) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,187 @@
|
||||
package com.yxt.jlzx.oa.biz.contract;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.Filesappendix;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.FilesappendixOneVo;
|
||||
import com.yxt.jlzx.oa.biz.filesappendix.FilesappendixService;
|
||||
import io.swagger.annotations.Api;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.validation.Valid;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.jlzx.oa.api.contract.Contract;
|
||||
import com.yxt.jlzx.oa.api.contract.ContractApi;
|
||||
import com.yxt.jlzx.oa.api.contract.ContractDto;
|
||||
import com.yxt.jlzx.oa.api.contract.ContractQuery;
|
||||
import com.yxt.jlzx.oa.api.contract.ContractVo;
|
||||
import com.yxt.jlzx.system.api.dictcommon.DictCommonApi;
|
||||
import com.yxt.jlzx.system.api.dictcommon.DictCommonVo;
|
||||
|
||||
/**
|
||||
* @author yxt_mtl
|
||||
* @date 2020/9/29 13:30
|
||||
* @description 角色信息
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("v1/contracts")
|
||||
@Api(tags = "合同管理")
|
||||
public class ContractApiImpl implements ContractApi{
|
||||
@Autowired
|
||||
private ContractService contractService;
|
||||
@Autowired
|
||||
private DictCommonApi dictCommonApi;
|
||||
@Autowired
|
||||
private FilesappendixService filesappendixService;
|
||||
@Override
|
||||
public ResultBean<PagerVo<ContractVo>> pageList(PagerQuery<ContractQuery> pagerQuery) {
|
||||
ResultBean<PagerVo<ContractVo>> rb = ResultBean.fireFail();
|
||||
|
||||
|
||||
IPage<ContractVo> page = contractService.pageList(pagerQuery);
|
||||
//把Ipage转换为PageVo
|
||||
PagerVo<ContractVo> pv_result = PagerUtil.pageToVo(page, null);
|
||||
|
||||
return rb.success().setData(pv_result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean save(ContractDto contractDto)
|
||||
{
|
||||
Contract contract=new Contract();
|
||||
contractDto.fillEntity(contract);
|
||||
if(!contractService.save(contract))
|
||||
return ResultBean.fireFail();
|
||||
//向附件表添加附件数据
|
||||
String[] split = contract.getFileUrl().split(",");
|
||||
List<String> fileList = Arrays.asList(split);
|
||||
// for (String s:fileList) {
|
||||
// Filesappendix filesappendix = new Filesappendix();
|
||||
// filesappendix.setLinkSid(contract.getSid());
|
||||
// filesappendix.setFileType("contract");
|
||||
// filesappendix.setFilePath(s);
|
||||
// String[] split1 = s.split("/");
|
||||
// List<String> stringList = Arrays.asList(split1);
|
||||
// String s1 = stringList.get(stringList.size() - 1);
|
||||
// filesappendix.setFileName(s1);
|
||||
// filesappendixService.save(filesappendix);
|
||||
// }
|
||||
|
||||
//2021.10.14保存上传附件信息
|
||||
List<FilesappendixOneVo> filelistinfo = contractDto.getFilePathlist();
|
||||
if(filelistinfo != null && filelistinfo.size()>0){
|
||||
for(int i =0;i<filelistinfo.size();i++){
|
||||
Filesappendix filesappendix1 = new Filesappendix();
|
||||
filesappendix1.setLinkSid(contract.getSid()); //关联合同信息的Sid
|
||||
filesappendix1.setFileType("contract"); //类型表示为合同管理
|
||||
filesappendix1.setFilePath(filelistinfo.get(i).getFilePath()); //附件信息路径
|
||||
filesappendix1.setFileName(filelistinfo.get(i).getFileName()); //附件源名称
|
||||
filesappendixService.save(filesappendix1);
|
||||
}
|
||||
}
|
||||
|
||||
return ResultBean.fireSuccess().setData(contract.getSid());
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public ResultBean update(ContractDto contractDto, String sid) throws Exception
|
||||
{
|
||||
Contract contract=contractService.fetchBySid(sid);
|
||||
if(null==contract)
|
||||
return ResultBean.fireFail().setMsg("该记录不存在");
|
||||
if(0==contractService.updateBySid(contractDto.toMap(), sid))
|
||||
return ResultBean.fireFail();
|
||||
|
||||
//2021.10.14当修改附件时,先判断是否存在,如果存在则删除,然后再保存。
|
||||
QueryWrapper<Filesappendix> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("linkSid",contract.getSid());
|
||||
List<Filesappendix> list = filesappendixService.list(queryWrapper);
|
||||
if (list.size()>0){
|
||||
for (Filesappendix f : list) {
|
||||
filesappendixService.deleteBySid(f.getSid());
|
||||
}
|
||||
}
|
||||
List<FilesappendixOneVo> filelistinfo = contractDto.getFilePathlist();
|
||||
if(filelistinfo != null && filelistinfo.size()>0){
|
||||
for(int i =0;i<filelistinfo.size();i++){
|
||||
Filesappendix filesappendix1 = new Filesappendix();
|
||||
filesappendix1.setLinkSid(contract.getSid()); //关联合同信息的Sid
|
||||
filesappendix1.setFileType("contract"); //类型表示为合同管理
|
||||
filesappendix1.setFilePath(filelistinfo.get(i).getFilePath()); //附件信息路径
|
||||
filesappendix1.setFileName(filelistinfo.get(i).getFileName()); //附件源名称
|
||||
filesappendixService.save(filesappendix1);
|
||||
}
|
||||
}
|
||||
return ResultBean.fireSuccess().setData(sid);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean delete(String sid)
|
||||
{
|
||||
Contract contract=contractService.fetchBySid(sid);
|
||||
if(null==contract)
|
||||
return ResultBean.fireFail().setMsg("该记录不存在");
|
||||
if(0==contractService.deleteBySid(sid))
|
||||
return ResultBean.fireFail();
|
||||
QueryWrapper<Filesappendix> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("linkSid",contract.getSid());
|
||||
List<Filesappendix> list = filesappendixService.list(queryWrapper);
|
||||
for (Filesappendix f : list) {
|
||||
filesappendixService.deleteBySid(f.getSid());
|
||||
|
||||
}
|
||||
return ResultBean.fireSuccess();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public ResultBean<ContractVo> getVo(String sid)
|
||||
{
|
||||
ResultBean<ContractVo> resultBean=ResultBean.fireFail();
|
||||
Contract contract=contractService.fetchBySid(sid);
|
||||
if(null==contract)
|
||||
return resultBean;
|
||||
ContractVo vo=new ContractVo();
|
||||
if(StringUtils.isNotBlank(vo.getContractTypeSid())) {
|
||||
ResultBean<DictCommonVo> v=dictCommonApi.selectBykey(vo.getContractTypeSid(), "contract");
|
||||
if(v.getData()!=null&&StringUtils.isNotBlank(v.getData().getDictValue())) {
|
||||
vo.setContractTypeSid(v.getData().getDictValue());
|
||||
}
|
||||
}
|
||||
vo.fromEntity(contract);
|
||||
QueryWrapper<Filesappendix> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("linkSid",contract.getSid());
|
||||
List<Filesappendix> list = filesappendixService.list(queryWrapper);
|
||||
if (list.size()>0){
|
||||
vo.setFilesappendixList(list);
|
||||
}
|
||||
return resultBean.success().setData(vo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<List<ContractVo>> list(@Valid ContractQuery query) {
|
||||
return new ResultBean().setData(null).setMsg("暂不对外开发!");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<Map<String, Object>> dictSelect() {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
ResultBean<Map<String, Object>> dictCommonInitVoResultBean = dictCommonApi.dictCommonContract();
|
||||
map.put("dictCommonList", dictCommonInitVoResultBean.getData());
|
||||
return new ResultBean().success().setData(map);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.yxt.jlzx.oa.biz.contract;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.yxt.jlzx.oa.api.contract.Contract;
|
||||
import com.yxt.jlzx.oa.api.contract.ContractVo;
|
||||
|
||||
|
||||
/**
|
||||
* @author yxt_mtl
|
||||
* @date 2020/10/12 11:14
|
||||
* @description
|
||||
*/
|
||||
@Mapper
|
||||
public interface ContractMapper extends BaseMapper<Contract>{
|
||||
//分页列表
|
||||
IPage<ContractVo> pageList(IPage<ContractVo> page,@Param(Constants.WRAPPER) Wrapper<ContractVo> qw);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.jlzx.oa.biz.contract.ContractMapper">
|
||||
<select id="pageList" resultType="com.yxt.jlzx.oa.api.contract.ContractVo">
|
||||
SELECT sid,
|
||||
contractTypeSid,
|
||||
contractNo,
|
||||
title,
|
||||
DATE_FORMAT(startDay, '%Y-%m-%d') AS startDay,
|
||||
DATE_FORMAT(endDay, '%Y-%m-%d') AS endDay,
|
||||
amount,
|
||||
agent,
|
||||
contractPosition,
|
||||
partner,
|
||||
remarks,
|
||||
fileUrl
|
||||
FROM contract ${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,95 @@
|
||||
package com.yxt.jlzx.oa.biz.contract;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.yxt.jlzx.oa.api.filesappendix.Filesappendix;
|
||||
import com.yxt.jlzx.oa.biz.filesappendix.FilesappendixService;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.jlzx.oa.api.contract.Contract;
|
||||
import com.yxt.jlzx.oa.api.contract.ContractQuery;
|
||||
import com.yxt.jlzx.oa.api.contract.ContractVo;
|
||||
import com.yxt.jlzx.system.api.dictcommon.DictCommonApi;
|
||||
import com.yxt.jlzx.system.api.dictcommon.DictCommonVo;
|
||||
|
||||
/**
|
||||
* @author yxt_mtl
|
||||
* @date 2020/10/12 11:12
|
||||
* @description
|
||||
*/
|
||||
@Service
|
||||
public class ContractService extends
|
||||
MybatisBaseService<ContractMapper, Contract> {
|
||||
@Autowired
|
||||
private DictCommonApi dictcommonApi;
|
||||
@Autowired
|
||||
private FilesappendixService filesappendixService;
|
||||
// 分页列表
|
||||
public IPage<ContractVo> pageList(PagerQuery<ContractQuery> pagerQuery) {
|
||||
// mybits所用的分页对对象
|
||||
IPage<ContractVo> page = PagerUtil.queryToPage(pagerQuery);
|
||||
// mybits所用的查询条件封装类
|
||||
QueryWrapper<ContractVo> qw = buildQueryWrapper(pagerQuery.getParams());
|
||||
|
||||
page=baseMapper.pageList(page, qw);
|
||||
List<ContractVo> l=page.getRecords();
|
||||
if(l!=null) {
|
||||
for (ContractVo contractVo : l) {
|
||||
String str=contractVo.getContractTypeSid();
|
||||
if(StringUtils.isNotBlank(str)) {
|
||||
ResultBean<DictCommonVo> v=dictcommonApi.selectBykey(str, "contract");
|
||||
if(v.getData()!=null&&StringUtils.isNotBlank(v.getData().getDictValue())) {
|
||||
contractVo.setContractTypeSid(v.getData().getDictValue());
|
||||
}
|
||||
}
|
||||
QueryWrapper<Filesappendix> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("linkSid",contractVo.getSid());
|
||||
List<Filesappendix> list = filesappendixService.list(queryWrapper);
|
||||
if (list.size()>0){
|
||||
contractVo.setFilesappendixList(list);
|
||||
}
|
||||
}
|
||||
}
|
||||
page.setRecords(l);
|
||||
return page;
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析和组装查询条件,封装在qw中
|
||||
*
|
||||
* @param pagerQuery
|
||||
* @return
|
||||
*/
|
||||
private QueryWrapper<ContractVo> buildQueryWrapper(ContractQuery pagerQuery) {
|
||||
QueryWrapper<ContractVo> qw = new QueryWrapper<>();
|
||||
if (pagerQuery != null) {
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery
|
||||
.getContractTypeSid()))
|
||||
qw.eq("contractTypeSid", pagerQuery.getContractTypeSid());
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery
|
||||
.getTitle()))
|
||||
qw.like("title", pagerQuery.getTitle());
|
||||
|
||||
if (null!=pagerQuery.getStartDay() && org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery
|
||||
.getStartDay().toString()))
|
||||
qw.ge("startDay", pagerQuery.getStartDay());
|
||||
|
||||
if (null!=pagerQuery.getEndDay() && org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery
|
||||
.getEndDay().toString()))
|
||||
qw.le("endDay", pagerQuery.getEndDay());
|
||||
|
||||
qw.orderByDesc("createTime");
|
||||
}
|
||||
|
||||
return qw;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,110 @@
|
||||
package com.yxt.jlzx.oa.biz.filesappendix;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.validation.Valid;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import com.yxt.common.base.config.component.FileUploadComponent;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.Filesappendix;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.FilesappendixApi;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.FilesappendixDto;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.FilesappendixQuery;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.FilesappendixVo;
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2020/10/14 14:29
|
||||
* @description
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("v1/filesappendix")
|
||||
@Api(tags = "保存附件")
|
||||
public class FilesappendixApiImpl implements FilesappendixApi{
|
||||
@Autowired
|
||||
private FileUploadComponent fileUploadComponent;
|
||||
@Autowired
|
||||
private FilesappendixService oafileAccessoryService;
|
||||
|
||||
@Override
|
||||
public ResultBean<List<FilesappendixVo>> list(@Valid FilesappendixQuery query) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<PagerVo<FilesappendixVo>> pageList(@Valid PagerQuery<FilesappendixQuery> pagerQuery) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean save(@Valid FilesappendixDto dto) {
|
||||
Filesappendix oafileAccessory=dto.toEntity();
|
||||
String path=fileUploadComponent.getUrlPrefix();
|
||||
if(oafileAccessory.getFilePath().indexOf(path)>-1) {
|
||||
oafileAccessory.setFilePath(oafileAccessory.getFilePath().replace(path, ""));
|
||||
}
|
||||
boolean isSave = oafileAccessoryService.save(oafileAccessory);
|
||||
if (!isSave) {
|
||||
return ResultBean.fireFail().setMsg("保存失败");
|
||||
}
|
||||
return ResultBean.fireSuccess().setMsg("保存成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean update(@Valid FilesappendixDto dto, String sid) throws Exception {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean delete(String sid) {
|
||||
Filesappendix t=oafileAccessoryService.fetchBySid(sid);
|
||||
if(null==t)
|
||||
return ResultBean.fireFail().setMsg("该记录不存在");
|
||||
if(0==oafileAccessoryService.deleteBySid(sid))
|
||||
return ResultBean.fireFail();
|
||||
return ResultBean.fireSuccess();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<FilesappendixVo> getVo(String sid) {
|
||||
ResultBean<FilesappendixVo> resultBean=ResultBean.fireFail();
|
||||
Filesappendix t=oafileAccessoryService.fetchBySid(sid);
|
||||
if(null==t)
|
||||
return resultBean;
|
||||
FilesappendixVo vo=new FilesappendixVo();
|
||||
vo.fromEntity(t);
|
||||
|
||||
return resultBean.success().setData(vo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<List<FilesappendixVo>> queryBylinkSid(String linkSid) {
|
||||
List<FilesappendixVo> page = oafileAccessoryService.queryBylinkSid(linkSid);
|
||||
return new ResultBean().success().setData(page);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean deleteByLinkSid(String linkSid) {
|
||||
List<FilesappendixVo> page = oafileAccessoryService.queryBylinkSid(linkSid);
|
||||
int i=oafileAccessoryService.deleteByLinkSid(linkSid);
|
||||
if(i>0) {
|
||||
return ResultBean.fireSuccess();
|
||||
}else {
|
||||
return ResultBean.fireFail();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.yxt.jlzx.oa.biz.filesappendix;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.Filesappendix;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.FilesappendixVo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2020/10/14 14:29
|
||||
* @description
|
||||
*/
|
||||
@Mapper
|
||||
public interface FilesappendixMapper extends BaseMapper<Filesappendix> {
|
||||
|
||||
public Filesappendix selectByLinkSid(@Param("linkSid") String linkSid,@Param("path") String path);
|
||||
|
||||
public int deleteByLinkSid(String linkSid);
|
||||
|
||||
public List<FilesappendixVo> queryBylinkSid(@Param("linkSid") String linkSid,@Param("path") String path);
|
||||
|
||||
public int deleteByLinkSidAndType(@Param("linkSid") String linkSid,@Param("type") String type);
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.jlzx.oa.biz.filesappendix.FilesappendixMapper">
|
||||
|
||||
<select id="selectByLinkSid" resultType="com.yxt.jlzx.oa.api.filesappendix.Filesappendix">
|
||||
SELECT sid,fileName, concat(#{path},filePath) as filePath,fileType,linkSid
|
||||
FROM filesappendix oa
|
||||
WHERE oa.linkSid = #{linkSid}
|
||||
</select>
|
||||
|
||||
|
||||
<select id="queryBylinkSid" resultType="com.yxt.jlzx.oa.api.filesappendix.FilesappendixVo">
|
||||
SELECT sid,fileName, concat(#{path},filePath) as filePath,fileType,linkSid
|
||||
FROM filesappendix
|
||||
WHERE linkSid = #{linkSid}
|
||||
</select>
|
||||
|
||||
<delete id="deleteByLinkSid">
|
||||
DELETE
|
||||
FROM filesappendix
|
||||
WHERE linkSid = #{linkSid}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteByLinkSidAndType">
|
||||
DELETE
|
||||
FROM filesappendix
|
||||
WHERE linkSid = #{linkSid} and fileType=#{type}
|
||||
</delete>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,81 @@
|
||||
package com.yxt.jlzx.oa.biz.filesappendix;
|
||||
|
||||
import com.yxt.common.base.config.component.FileUploadComponent;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.Filesappendix;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.FilesappendixOneVo;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.FilesappendixVo;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2020/10/14 14:29
|
||||
* @description
|
||||
*/
|
||||
@Service
|
||||
public class FilesappendixService extends MybatisBaseService<FilesappendixMapper, Filesappendix> {
|
||||
@Autowired
|
||||
private FileUploadComponent fileUploadComponent;
|
||||
|
||||
|
||||
|
||||
public Filesappendix selectByLinkSid(String linkSid) {
|
||||
String path=fileUploadComponent.getUrlPrefix();
|
||||
return baseMapper.selectByLinkSid(linkSid,path);
|
||||
}
|
||||
|
||||
public int deleteByLinkSid(String linkSid) {
|
||||
return baseMapper.deleteByLinkSid(linkSid);
|
||||
}
|
||||
|
||||
public List<FilesappendixVo> queryBylinkSid(String linkSid) {
|
||||
String path=fileUploadComponent.getUrlPrefix();
|
||||
return baseMapper.queryBylinkSid(linkSid,path);
|
||||
}
|
||||
public int deleteByLinkSidAndType(String linkSid,String type) {
|
||||
return baseMapper.deleteByLinkSidAndType(linkSid,type);
|
||||
}
|
||||
/**
|
||||
* 上传附件
|
||||
* @param list_files
|
||||
* @param linkSid
|
||||
* @param fileType
|
||||
*/
|
||||
public void uploadFiles(List<FilesappendixOneVo> list_files,String linkSid,String fileType)
|
||||
{
|
||||
//上传附件
|
||||
String path = fileUploadComponent.getUrlPrefix();
|
||||
if (list_files != null && list_files.size() > 0) {
|
||||
for (int i = 0; i < list_files.size(); i++) {
|
||||
Filesappendix oafileAccessory = new Filesappendix();
|
||||
if (list_files.get(i).getFilePath()
|
||||
.indexOf(path) > -1) {
|
||||
oafileAccessory.setFilePath(list_files.get(i).getFilePath().replace(path, ""));
|
||||
}
|
||||
oafileAccessory.setFileType(fileType);
|
||||
oafileAccessory.setFileName(list_files.get(i).getFileName());
|
||||
oafileAccessory.setLinkSid(linkSid);
|
||||
save(oafileAccessory);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
/**
|
||||
* 重新上传附件,修改附件
|
||||
* @param list_files
|
||||
* @param linkSid
|
||||
* @param fileType
|
||||
*/
|
||||
public void reUploadFiles(List<FilesappendixOneVo> list_files,String linkSid,String fileType)
|
||||
{
|
||||
deleteByLinkSid(linkSid);
|
||||
uploadFiles(list_files,linkSid,fileType);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,222 @@
|
||||
package com.yxt.jlzx.oa.biz.form;
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.validation.Valid;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import com.yxt.common.base.config.component.FileUploadComponent;
|
||||
import com.yxt.common.base.utils.DateUtils;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.FilesappendixVo;
|
||||
import com.yxt.jlzx.oa.api.form.FormApi;
|
||||
import com.yxt.jlzx.oa.api.form.FormItemDto;
|
||||
import com.yxt.jlzx.oa.api.form.FormItems;
|
||||
import com.yxt.jlzx.oa.api.form.FormItemsDto;
|
||||
import com.yxt.jlzx.oa.api.form.FormSelectLinkDto;
|
||||
import com.yxt.jlzx.oa.api.form.MaxFileNumDto;
|
||||
import com.yxt.jlzx.oa.api.goodslib.GoodslibVo;
|
||||
import com.yxt.jlzx.oa.biz.filesappendix.FilesappendixService;
|
||||
import com.yxt.jlzx.oa.biz.goodslib.GoodslibService;
|
||||
import com.yxt.jlzx.system.api.user.UserApi;
|
||||
import com.yxt.jlzx.system.api.user.UserInfoVo;
|
||||
import com.yxt.workflow.api.process.WfProcessApi;
|
||||
import com.yxt.workflow.api.process.WfProcessVo;
|
||||
|
||||
/**
|
||||
* @author yxt_mtl
|
||||
* @date 2020/9/29 13:30
|
||||
* @description 角色信息
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("v1/forms")
|
||||
@Api(tags = "表单通用接口")
|
||||
public class FormApiImpl implements FormApi {
|
||||
|
||||
// @Autowired
|
||||
// private IFormService formService;
|
||||
@Autowired
|
||||
private FilesappendixService appendixService;
|
||||
@Autowired
|
||||
private FileUploadComponent fileUploadComponent;
|
||||
@Autowired
|
||||
private UserApi userApi;
|
||||
@Autowired
|
||||
private WfProcessApi processApi;
|
||||
@Autowired
|
||||
private GoodslibService goodslibService;
|
||||
/**
|
||||
* 动态获取form中字段项信息
|
||||
*/
|
||||
@Override
|
||||
public ResultBean<Map<String, Object>> getFormItemsVo(FormItemDto dto) {
|
||||
|
||||
ResultBean<Map<String, Object>> resultBean = ResultBean.fireFail();
|
||||
|
||||
//ProcessSid 流程的id
|
||||
IFormService formService = FormServiceCreator.creator(dto.getProcessSid());
|
||||
if (formService == null)
|
||||
return resultBean.setData(null);
|
||||
Map<String, Object> map = formService.getFormItemsVo(dto.getFormSid());
|
||||
if (map == null)
|
||||
return resultBean.setData(null);
|
||||
// String filePath=map.get("filePath").toString();
|
||||
// String pdfFilePath=map.get("pdfFilePath").toString();
|
||||
// String path=fileUploadComponent.getUrlPrefix().replace("upload", "oadoc");
|
||||
// //将oapdf的路径保存map中
|
||||
// String pdfPath=fileUploadComponent.getUrlPrefix().replace("upload", "oapdf");
|
||||
// map.put("filePath",path+filePath);
|
||||
// map.put("pdfFilePath",pdfPath+pdfFilePath);
|
||||
|
||||
|
||||
|
||||
if (map.get("filePath") != null){
|
||||
String path=fileUploadComponent.getUrlPrefix().replace("upload", "oadoc");
|
||||
map.put("filePath",path+map.get("filePath").toString()) ;
|
||||
} else{
|
||||
map.put("filePath","");
|
||||
}
|
||||
|
||||
if(map.get("pdfFilePath")!= null) {
|
||||
String pdfFilePath=map.get("pdfFilePath").toString();
|
||||
//将oapdf的路径保存map中
|
||||
String pdfPath=fileUploadComponent.getUrlPrefix().replace("upload", "oapdf");
|
||||
map.put("pdfFilePath",pdfPath+pdfFilePath);
|
||||
}else {
|
||||
map.put("pdfFilePath","");
|
||||
}
|
||||
|
||||
|
||||
// 需要增加文件的附件列表
|
||||
List<FilesappendixVo> list_appendix = appendixService
|
||||
.queryBylinkSid(dto.getFormSid());
|
||||
map.put("fileList", list_appendix);
|
||||
return resultBean.setData(map).success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<Map<String, Object>> getMaxFileNum(MaxFileNumDto dto) {
|
||||
String processSid=dto.getProcessSid();
|
||||
ResultBean<Map<String, Object>> resultBean = ResultBean.fireFail();
|
||||
|
||||
IFormService formService = FormServiceCreator.creator(processSid);
|
||||
if (formService == null)
|
||||
return resultBean.setData(null);
|
||||
|
||||
Map<String, Object> map = formService.getMaxFileNum(dto);
|
||||
if (map == null)
|
||||
return resultBean.setData(null);
|
||||
|
||||
return resultBean.setData(map).success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<Map<String, Object>> getNewFormItemsVo(@Valid FormItemsDto dto) {
|
||||
ResultBean<Map<String, Object>> resultBean = ResultBean.fireFail();
|
||||
|
||||
IFormService formService = FormServiceCreator.creator(dto.getProcessSid());
|
||||
if (formService == null)
|
||||
return resultBean.setData(null);
|
||||
Map<String, Object> map= formService.getNewFormItemsVo();
|
||||
if (map == null)
|
||||
return resultBean.setData(null);
|
||||
|
||||
|
||||
ResultBean<UserInfoVo> rb_user=userApi.fetchUserInfoBysid(dto.getUserSid());
|
||||
if(!rb_user.getSuccess())
|
||||
return resultBean.setData(null);
|
||||
List<FormItems> list=(List<FormItems>)map.get("formItems");
|
||||
//初始化form中的公共内容,发起人姓名、创建日期、创建部门
|
||||
list.get(0).getRight_text().setDefaultText(rb_user.getData().getName());
|
||||
list.get(1).getRight_text().setDefaultText(DateUtils.getNowDateDayStr());
|
||||
list.get(2).getRight_text().setDefaultText(rb_user.getData().getDepartmentName());
|
||||
|
||||
//需要调用流程中是否有附件的
|
||||
ResultBean<WfProcessVo> rb=processApi.getVo(dto.getProcessSid());
|
||||
if(rb.getSuccess())
|
||||
{
|
||||
map.put("isFileList",rb.getData().getIsAppendix());
|
||||
}
|
||||
|
||||
return resultBean.setData(map).success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<Map<String, Object>> getEditFormItemsVo(FormItemDto dto) {
|
||||
ResultBean<Map<String, Object>> resultBean = ResultBean.fireFail();
|
||||
|
||||
IFormService formService = FormServiceCreator.creator(dto.getProcessSid());
|
||||
if (formService == null)
|
||||
return resultBean.setData(null);
|
||||
Map<String, Object> map= formService.getEditFormItemsVo(dto.getFormSid());
|
||||
if (map == null)
|
||||
return resultBean.setData(null);
|
||||
// String filePath=map.get("filePath").toString();
|
||||
// String pdfFilePath=map.get("pdfFilePath").toString();
|
||||
// String path=fileUploadComponent.getUrlPrefix().replace("upload", "oadoc");
|
||||
// //将oapdf的路径保存map中
|
||||
// String pdfPath=fileUploadComponent.getUrlPrefix().replace("upload", "oapdf");
|
||||
// map.put("filePath",path+filePath);
|
||||
// map.put("pdfFilePath",pdfPath+pdfFilePath);
|
||||
|
||||
if (map.get("filePath") != null){
|
||||
String path=fileUploadComponent.getUrlPrefix().replace("upload", "oadoc");
|
||||
map.put("filePath",path+map.get("filePath").toString()) ;
|
||||
} else{
|
||||
map.put("filePath","");
|
||||
}
|
||||
|
||||
if(map.get("pdfFilePath")!= null) {
|
||||
String pdfFilePath=map.get("pdfFilePath").toString();
|
||||
//将oapdf的路径保存map中
|
||||
String pdfPath=fileUploadComponent.getUrlPrefix().replace("upload", "oapdf");
|
||||
map.put("pdfFilePath",pdfPath+pdfFilePath);
|
||||
}else {
|
||||
if (map.get("filePath") != null){
|
||||
String path=fileUploadComponent.getUrlPrefix().replace("upload", "oadoc");
|
||||
map.put("pdfFilePath",path+map.get("filePath").toString());
|
||||
} else{
|
||||
map.put("pdfFilePath","");
|
||||
}
|
||||
}
|
||||
|
||||
//需要调用流程中是否有附件的
|
||||
ResultBean<WfProcessVo> rb=processApi.getVo(dto.getProcessSid());
|
||||
if(rb.getSuccess())
|
||||
{
|
||||
map.put("isFileList",rb.getData().getIsAppendix());
|
||||
if(rb.getData().getIsAppendix().equals("1"))
|
||||
{
|
||||
// 需要增加文件的附件列表
|
||||
List<FilesappendixVo> list_appendix = appendixService
|
||||
.queryBylinkSid(dto.getFormSid());
|
||||
map.put("fileList", list_appendix);
|
||||
}
|
||||
}
|
||||
|
||||
return resultBean.setData(map).success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<Map<String, Object> > getLinkAge(FormSelectLinkDto dto) {
|
||||
ResultBean<Map<String, Object>> resultBean = ResultBean.fireFail();
|
||||
IFormService formService = FormServiceCreator.creator(dto.getProcessSid());
|
||||
if (formService == null)
|
||||
return resultBean.setData(null);
|
||||
|
||||
Map<String, Object> map= formService.getLinkAge(dto);
|
||||
if (map == null)
|
||||
return resultBean.setData(null).fail().setMessage("下级下拉框数据未获取到!");
|
||||
|
||||
return resultBean.setData(map).success();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.yxt.jlzx.oa.biz.form;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.yxt.jlzx.oa.api.form.Form;
|
||||
import com.yxt.jlzx.oa.api.form.FormQuery;
|
||||
import com.yxt.jlzx.oa.api.form.FormVo;
|
||||
|
||||
/**
|
||||
* @author yxt_mtl
|
||||
* @date 2020/10/16 15:50
|
||||
* @description
|
||||
*/
|
||||
@Mapper
|
||||
public interface FormMapper<T extends Form,V extends FormVo,Q extends FormQuery> extends BaseMapper<T>{
|
||||
//分页列表
|
||||
IPage<V> pageList(IPage<Q> page,@Param(Constants.WRAPPER) Wrapper<V> qw);
|
||||
//不分页列表
|
||||
List<V> list(@Param(Constants.WRAPPER) Wrapper<V> qw);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
package com.yxt.jlzx.oa.biz.form;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.config.component.FileUploadComponent;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.jlzx.oa.api.form.FileNumVo;
|
||||
import com.yxt.jlzx.oa.api.formfile.FormFile;
|
||||
import com.yxt.jlzx.oa.api.formfile.FormFileQuery;
|
||||
import com.yxt.jlzx.oa.api.formfile.FormFileVo;
|
||||
import com.yxt.jlzx.oa.api.formtzgg.FormTzgg;
|
||||
import com.yxt.jlzx.oa.api.formtzgg.FormTzggVo;
|
||||
import com.yxt.jlzx.oa.biz.form.IFormService;
|
||||
import com.yxt.jlzx.system.api.filenumrule.FilenumruleApi;
|
||||
import com.yxt.jlzx.system.api.filenumrule.FilenumruleVo;
|
||||
|
||||
@Service
|
||||
public class FormService {
|
||||
@Autowired
|
||||
private FilenumruleApi filenumruleApi;
|
||||
|
||||
// public Map<String, Object> getMaxFileNum(String processSid) {
|
||||
//
|
||||
// ResultBean<List<FilenumruleVo>> bean = filenumruleApi.getVoByProcessSid(processSid);
|
||||
// List<FilenumruleVo> list=bean.getData();
|
||||
// if(list!=null&&list.size()>0) {
|
||||
//
|
||||
// }
|
||||
//// FileNumVo vo=baseMapper.getMaxFileNum(map);
|
||||
// }
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.yxt.jlzx.oa.biz.form;
|
||||
|
||||
|
||||
import com.yxt.common.base.config.utils.SpringUtil;
|
||||
|
||||
/**
|
||||
* 表单service生成器
|
||||
*
|
||||
* @author yxt_mtl
|
||||
*
|
||||
*/
|
||||
|
||||
public class FormServiceCreator {
|
||||
|
||||
/**
|
||||
* 根据流程sid,生成对应表单的service
|
||||
*
|
||||
* @param processSid
|
||||
* @return
|
||||
*/
|
||||
public static IFormService creator(String processSid) {
|
||||
//Map<String,IFormService> formServices=SpringUtil.getBeansOfType(IFormService.class);
|
||||
// for(Map.Entry<String, IFormService> entry:formServices.entrySet()){
|
||||
//if(entry.getValue().getProcessSid().equals(processSid))
|
||||
//return entry.getValue();
|
||||
//}
|
||||
//return null;
|
||||
return (IFormService)SpringUtil.getBean(processSid);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
package com.yxt.jlzx.oa.biz.form;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import com.yxt.jlzx.oa.api.index.AppDailyDto;
|
||||
import com.yxt.jlzx.oa.api.index.AppDailyVo;
|
||||
|
||||
|
||||
import com.yxt.jlzx.oa.api.form.FormItems;
|
||||
import com.yxt.jlzx.oa.api.form.FormSelectLinkDto;
|
||||
import com.yxt.jlzx.oa.api.form.MaxFileNumDto;
|
||||
|
||||
|
||||
public interface IFormService {
|
||||
|
||||
/**
|
||||
* 获取表单信息
|
||||
* @param sid
|
||||
* @return
|
||||
*/
|
||||
//Map<String,Object> getFormVo(String sid);
|
||||
|
||||
/**
|
||||
* 获取动态表单(详情)
|
||||
*
|
||||
* @param sid
|
||||
* @return
|
||||
*/
|
||||
Map<String, Object> getFormItemsVo(String sid);
|
||||
|
||||
/**
|
||||
* 获取动态表单(新建)
|
||||
*
|
||||
* @param sid
|
||||
* @return
|
||||
*/
|
||||
Map<String, Object> getNewFormItemsVo();
|
||||
|
||||
/**
|
||||
* 获取动态表单(修改)
|
||||
*
|
||||
* @param sid
|
||||
* @return
|
||||
*/
|
||||
Map<String, Object> getEditFormItemsVo(String formSid);
|
||||
|
||||
Map<String, Object> getMaxFileNum(MaxFileNumDto dto);
|
||||
|
||||
|
||||
|
||||
//APP_保存表单信息
|
||||
AppDailyVo isSave(AppDailyDto appDailyDto) throws Exception;
|
||||
|
||||
AppDailyVo update(AppDailyDto appDailyDto) throws Exception;
|
||||
|
||||
Map<String, Object> getLinkAge(FormSelectLinkDto dto);
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,244 @@
|
||||
package com.yxt.jlzx.oa.biz.formfile;
|
||||
|
||||
import com.yxt.common.base.config.component.FileUploadComponent;
|
||||
import com.yxt.common.base.utils.StringUtils;
|
||||
import io.swagger.annotations.Api;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.utils.DateUtils;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.FilesappendixVo;
|
||||
import com.yxt.jlzx.oa.api.form.FormDto;
|
||||
import com.yxt.jlzx.oa.api.form.FormResultVo;
|
||||
import com.yxt.jlzx.oa.api.form.OpinionRow;
|
||||
import com.yxt.jlzx.oa.api.formfile.FormFile;
|
||||
import com.yxt.jlzx.oa.api.formfile.FormFileApi;
|
||||
import com.yxt.jlzx.oa.api.formfile.FormFileDto;
|
||||
import com.yxt.jlzx.oa.api.formfile.FormFileQuery;
|
||||
import com.yxt.jlzx.oa.api.formfile.FormFileRedHeadPaperVo;
|
||||
import com.yxt.jlzx.oa.api.formfile.FormFileVo;
|
||||
import com.yxt.jlzx.oa.biz.filesappendix.FilesappendixService;
|
||||
import com.yxt.jlzx.oa.biz.work.WorkService;
|
||||
import com.yxt.jlzx.oa.biz.workflow.WorkFlowService;
|
||||
import com.yxt.jlzx.system.api.user.UserApi;
|
||||
import com.yxt.jlzx.system.api.user.UserInfoVo;
|
||||
import com.yxt.workflow.api.task.WfTaskVo;
|
||||
|
||||
/**
|
||||
* @author hanweijai
|
||||
* @date 2020/10/19
|
||||
* @description 角色信息
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("v1/formfiles")
|
||||
@Api(tags = "发文表单")
|
||||
public class FormFileApiImpl implements FormFileApi {
|
||||
@Autowired
|
||||
private FormFileService service;
|
||||
@Autowired
|
||||
private WorkFlowService wfservice;
|
||||
@Autowired
|
||||
private WorkService workService;
|
||||
@Autowired
|
||||
private FilesappendixService filesappendixservice;
|
||||
@Autowired
|
||||
private UserApi userApi;
|
||||
|
||||
//2021.10.08
|
||||
@Autowired
|
||||
private FileUploadComponent fileUploadComponent;
|
||||
|
||||
|
||||
@Override
|
||||
public ResultBean<List<FormFileVo>> list(FormFileQuery query) {
|
||||
ResultBean<List<FormFileVo>> resultBean = ResultBean.fireFail();
|
||||
List<FormFileVo> list = service.list(query);
|
||||
if (null == list)
|
||||
return resultBean;
|
||||
return resultBean.success().setData(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<PagerVo<FormFileVo>> pageList(
|
||||
PagerQuery<FormFileQuery> pagerQuery) {
|
||||
ResultBean<PagerVo<FormFileVo>> rb = ResultBean.fireFail();
|
||||
|
||||
IPage<FormFileVo> page = service.pageList(pagerQuery);
|
||||
|
||||
// 把Ipage转换为PageVo
|
||||
PagerVo<FormFileVo> pv_result = PagerUtil.pageToVo(page, null);
|
||||
|
||||
return rb.success().setData(pv_result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<FormResultVo> save(FormFileDto dto) {
|
||||
ResultBean<FormResultVo> resultBean = ResultBean.fireFail();
|
||||
FormResultVo formResultVo = new FormResultVo();
|
||||
// 首次保存,二次修改
|
||||
if (StringUtils.isNotBlank(dto.getFormSid())) {
|
||||
if (update(dto, dto.getFormSid()).getSuccess()) {
|
||||
formResultVo.setFormSid(dto.getFormSid());
|
||||
return resultBean.success().setData(formResultVo);
|
||||
} else {
|
||||
return resultBean.setData(null);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
FormFile t = new FormFile();
|
||||
// 调用远程
|
||||
dto.setFormSid(t.getSid());
|
||||
WfTaskVo taskVo = wfservice.startProcess((FormDto) dto);
|
||||
if (taskVo == null)
|
||||
return resultBean.setData(null);
|
||||
|
||||
dto.fillEntity(t);
|
||||
|
||||
|
||||
UserInfoVo userInfoVo = userApi.fetchUserInfoBysid(t.getCreateBySid()).getData();
|
||||
if (null != userInfoVo)
|
||||
t.setCreateOrgSid(userInfoVo.getOrganizationSid());
|
||||
|
||||
|
||||
t.setOrderSid(taskVo.getOrderSid());
|
||||
// 保存表单信息
|
||||
if (service.save(t)) {
|
||||
// 上传附件
|
||||
filesappendixservice.uploadFiles(dto.getFilePathlist(), t.getSid(),
|
||||
t.getClass().getSimpleName());
|
||||
|
||||
formResultVo.setFormSid(t.getSid());
|
||||
formResultVo.setTaskSid(taskVo.getTaskSid());
|
||||
return resultBean.success().setData(formResultVo);
|
||||
}
|
||||
return resultBean.setData(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<String> update(FormFileDto dto, String sid) {
|
||||
ResultBean<String> rb = ResultBean.fireFail();
|
||||
FormFile t = service.fetchBySid(sid);
|
||||
if (null == t)
|
||||
return rb.setMsg("该记录不存在").setData("");
|
||||
|
||||
//if issueUserSid 包含"签发",则设置签发人sid,签发人姓名,签发日期
|
||||
Map<String, Object> map = dto.toMap();
|
||||
if (dto.getMotif() == null || !dto.getMotif().contains("签发")) {
|
||||
//不是签发环节,不更新签发信息
|
||||
map.remove("issueUserSid");
|
||||
map.remove("issuePersonName");
|
||||
map.remove("issueTime");
|
||||
} else {
|
||||
//签发人姓名和签发人sid是前端传回来的当前操作人的信息
|
||||
//dto.setIssueUserSid(issueUserSid);
|
||||
//dto.setIssuePersonName(issuePersonName);
|
||||
//dto.setIssueTime(new Date());
|
||||
|
||||
map.put("issueTime", DateUtils.getNowDateDayStr());
|
||||
}
|
||||
|
||||
if (0 == service.updateBySid(map, sid))
|
||||
return rb.setData("");
|
||||
// 修改流程实例中的title和紧急紧急程度
|
||||
dto.setOrderSid(t.getOrderSid());
|
||||
if (wfservice.updateMfOrderFormInfo((FormDto) dto)) {
|
||||
// 修改附件
|
||||
filesappendixservice.reUploadFiles(dto.getFilePathlist(),
|
||||
t.getSid(), t.getClass().getSimpleName());
|
||||
return rb.success().setData(sid);
|
||||
}
|
||||
return rb.setData("");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean delete(String sid) {
|
||||
FormFile t = service.fetchBySid(sid);
|
||||
if (null == t)
|
||||
return ResultBean.fireFail().setMsg("该记录不存在");
|
||||
if (0 == service.deleteBySid(sid))
|
||||
return ResultBean.fireFail();
|
||||
filesappendixservice.deleteByLinkSid(sid);
|
||||
return ResultBean.fireSuccess();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<FormFileVo> getVo(String sid) {
|
||||
ResultBean<FormFileVo> resultBean = ResultBean.fireFail();
|
||||
FormFile t = service.fetchBySid(sid);
|
||||
if (null == t)
|
||||
return resultBean;
|
||||
FormFileVo vo = new FormFileVo();
|
||||
vo.fromEntity(t);
|
||||
List<FilesappendixVo> list_appendix = filesappendixservice
|
||||
.queryBylinkSid(sid);
|
||||
vo.setFilePathlist(list_appendix);
|
||||
//2021.10.08 添加本地pdf的保存路径
|
||||
if(t.getPdfFilePath()!=null && t.getPdfFilePath().length()>0){
|
||||
String pdfPath=fileUploadComponent.getUrlPrefix().replace("upload", "oapdf");
|
||||
vo.setLocalhostpdfFilePath(pdfPath+t.getPdfFilePath());
|
||||
}else{
|
||||
vo.setLocalhostpdfFilePath("");
|
||||
}
|
||||
|
||||
return resultBean.success().setData(vo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取发文审批笺
|
||||
*/
|
||||
@Override
|
||||
public ResultBean<FormFileRedHeadPaperVo> getRedHeadPaper(String formSid) {
|
||||
ResultBean<FormFileRedHeadPaperVo> resultBean = ResultBean.fireFail();
|
||||
FormFile t = service.fetchBySid(formSid);
|
||||
if (null == t)
|
||||
return resultBean;
|
||||
FormFileRedHeadPaperVo vo = new FormFileRedHeadPaperVo();
|
||||
vo.fromEntity(t);
|
||||
|
||||
/* List<OpinionRow> list_rows=workService.getOpinioRows(t.getOrderSid(), "单位领导签发");
|
||||
List<OpinionRow> list_row=new ArrayList<OpinionRow>();
|
||||
if(list_rows!=null && list_rows.size()>0)
|
||||
list_row.add(list_rows.get(0));
|
||||
vo.setIssueOpinions(list_row);*/
|
||||
vo.setIssueOpinions(workService.getOpinioRows(t.getOrderSid(), "单位领导签发"));
|
||||
vo.setOfficeOpinions(workService.getOpinioRows(t.getOrderSid(),
|
||||
"办公室主任审核"));
|
||||
vo.setOtherOpinions(workService.getOpinioRows(t.getOrderSid(), "其他部门会签"));
|
||||
vo.setDeptOpinions(workService.getOpinioRows(t.getOrderSid(), "部门负责人审核"));
|
||||
return resultBean.success().setData(vo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取发文会商笺
|
||||
*/
|
||||
@Override
|
||||
public ResultBean<FormFileRedHeadPaperVo> getHsRedHeadPaper(String formSid) {
|
||||
ResultBean<FormFileRedHeadPaperVo> resultBean = ResultBean.fireFail();
|
||||
FormFile t = service.fetchBySid(formSid);
|
||||
if (null == t)
|
||||
return resultBean;
|
||||
FormFileRedHeadPaperVo vo = new FormFileRedHeadPaperVo();
|
||||
vo.fromEntity(t);
|
||||
|
||||
|
||||
vo.setIssueOpinions(workService.getOpinioRows(t.getOrderSid(), "签发人意见"));
|
||||
vo.setOtherOpinions(workService.getOpinioRows(t.getOrderSid(), "会商部门意见"));
|
||||
vo.setDeptOpinions(workService.getOpinioRows(t.getOrderSid(), "部门负责人意见"));
|
||||
return resultBean.success().setData(vo);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.yxt.jlzx.oa.biz.formfile;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.yxt.jlzx.oa.api.form.FileNumVo;
|
||||
import com.yxt.jlzx.oa.api.formfile.FormFile;
|
||||
import com.yxt.jlzx.oa.api.formfile.FormFileQuery;
|
||||
import com.yxt.jlzx.oa.api.formfile.FormFileVo;
|
||||
|
||||
|
||||
@Mapper
|
||||
public interface FormFileMapper extends BaseMapper<FormFile>{
|
||||
//分页列表
|
||||
IPage<FormFileVo> pageList(IPage<FormFileQuery> page,@Param(Constants.WRAPPER) Wrapper<FormFileVo> qw);
|
||||
List<FormFileVo> list(@Param(Constants.WRAPPER) QueryWrapper<FormFileVo> qw);
|
||||
List<FileNumVo> getMaxFileNum(String ruleName);
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.jlzx.oa.biz.formfile.FormFileMapper">
|
||||
<select id="pageList" resultType="com.yxt.jlzx.oa.api.formfile.FormFileVo">
|
||||
select * from form_file
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="list" resultType="com.yxt.jlzx.oa.api.formfile.FormFileVo">
|
||||
select * from form_file
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
|
||||
<!-- <select id="getMaxFileNum" resultType="com.yxt.jlzx.oa.api.form.FileNumVo">
|
||||
SELECT
|
||||
(SELECT fileNum FROM form_file WHERE id IN( SELECT MAX(id) FROM `form_file` WHERE fileNum LIKE concat("%",#{ruleName},"%")))filenum
|
||||
FROM
|
||||
form_file f LIMIT 1
|
||||
</select> -->
|
||||
|
||||
<select id="getMaxFileNum" resultType="com.yxt.jlzx.oa.api.form.FileNumVo">
|
||||
SELECT fileNum FROM form_file
|
||||
where fileNum LIKE concat("%",#{ruleName},"%")
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,219 @@
|
||||
package com.yxt.jlzx.oa.biz.formfile;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import com.yxt.jlzx.oa.api.index.AppDailyDto;
|
||||
import com.yxt.jlzx.oa.api.index.AppDailyVo;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.jlzx.jlcyry.api.datadictionary.DictCommonVo;
|
||||
import com.yxt.jlzx.oa.api.form.FileNumVo;
|
||||
import com.yxt.jlzx.oa.api.form.FormSelectLinkDto;
|
||||
import com.yxt.jlzx.oa.api.form.MaxFileNumDto;
|
||||
import com.yxt.jlzx.oa.api.formfile.FormFile;
|
||||
import com.yxt.jlzx.oa.api.formfile.FormFileQuery;
|
||||
import com.yxt.jlzx.oa.api.formfile.FormFileVo;
|
||||
import com.yxt.jlzx.oa.biz.form.IFormService;
|
||||
import com.yxt.jlzx.system.api.filenumrule.FilenumruleApi;
|
||||
import com.yxt.jlzx.system.api.filenumrule.FilenumruleOneVo;
|
||||
|
||||
@Service("000002")
|
||||
public class FormFileService extends MybatisBaseService<FormFileMapper, FormFile> implements IFormService{
|
||||
|
||||
@Autowired
|
||||
private FilenumruleApi filenumruleApi;
|
||||
// 分页列表
|
||||
public IPage<FormFileVo> pageList(PagerQuery<FormFileQuery> pagerQuery) {
|
||||
// mybits所用的分页对对象
|
||||
IPage<FormFileQuery> page = PagerUtil.queryToPage(pagerQuery);
|
||||
// mybits所用的查询条件封装类
|
||||
QueryWrapper<FormFileVo> qw = buildQueryWrapper(pagerQuery.getParams());
|
||||
return baseMapper.pageList(page, qw);
|
||||
|
||||
}
|
||||
|
||||
// 不分页列表
|
||||
public List<FormFileVo> list(FormFileQuery pagerQuery) {
|
||||
|
||||
// mybits所用的查询条件封装类
|
||||
QueryWrapper<FormFileVo> qw = buildQueryWrapper(pagerQuery);
|
||||
return baseMapper.list(qw);
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析和组装查询条件,封装在qw中,虚方法,需要在子类中定义具体实现
|
||||
* @param pagerQuery
|
||||
* @return
|
||||
*/
|
||||
|
||||
private QueryWrapper<FormFileVo> buildQueryWrapper(FormFileQuery pagerQuery)
|
||||
{
|
||||
QueryWrapper<FormFileVo> qw = new QueryWrapper<FormFileVo>();
|
||||
if (pagerQuery != null) {
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery
|
||||
.getCreateDeptSid()))
|
||||
qw.eq("createDeptSid", pagerQuery.getCreateDeptSid());
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery
|
||||
.getProcessSid()))
|
||||
qw.eq("processSid", pagerQuery.getProcessSid());
|
||||
|
||||
if (null!=pagerQuery.getIssueTime() && org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery
|
||||
.getIssueTime().toString()))
|
||||
qw.eq("issueTime", pagerQuery.getIssueTime());//大于等于
|
||||
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery.getPublicType()))
|
||||
qw.eq("issueTime", pagerQuery.getPublicType());
|
||||
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery.getCreaterName()))
|
||||
qw.eq("createrName", pagerQuery.getCreaterName());
|
||||
|
||||
qw.orderByDesc("createTime");
|
||||
}
|
||||
|
||||
return qw;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 获取动态表单
|
||||
* @param sid
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Map<String,Object> getFormItemsVo(String sid)
|
||||
{
|
||||
|
||||
FormFile t=fetchBySid(sid);
|
||||
if(null==t)
|
||||
return null;
|
||||
FormFileVo vo=new FormFileVo();
|
||||
vo.fromEntity(t);
|
||||
return vo.toFormItemsMap();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getMaxFileNum(MaxFileNumDto dto) {
|
||||
Map<String,Object> map=new HashMap<String,Object>();
|
||||
String filenum="";
|
||||
String filenum1="";
|
||||
String processSid=dto.getProcessSid();
|
||||
String formSid=dto.getFormSid();
|
||||
if(StringUtils.isNoneBlank(formSid)) {
|
||||
FormFile fetchBySid = fetchBySid(formSid);
|
||||
filenum1=fetchBySid.getFileNum();
|
||||
}
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
|
||||
Date date = new Date();
|
||||
String year=sdf.format(date);
|
||||
ResultBean<List<FilenumruleOneVo>> bean = filenumruleApi.getVoByProcessSid(processSid);//查询编号规则都有哪些
|
||||
List<FilenumruleOneVo> list=bean.getData();
|
||||
List<DictCommonVo> list1= new ArrayList<DictCommonVo>();
|
||||
String startNum="";
|
||||
if(list!=null&&list.size()>0) {//遍历编号规则,查询数据库中编号规则
|
||||
for (int i = 0; i< list.size();i++) {
|
||||
String ruleName=list.get(i).getRuleName();
|
||||
startNum=list.get(i).getStartNumber();
|
||||
if(StringUtils.isNotBlank(ruleName)) {
|
||||
ruleName=ruleName+"〔"+year+"〕";
|
||||
if(filenum1.contains(ruleName)) {
|
||||
filenum=filenum1;
|
||||
break;
|
||||
}
|
||||
List<FileNumVo> voList=baseMapper.getMaxFileNum(ruleName);//通过编号规则模糊查询数据库中数据
|
||||
List<Integer> filenumList=new ArrayList<Integer>();
|
||||
if(voList!=null&&voList.size()>0) {//遍历这些数据,查询数据最中大的一条,在最大一条数据中加1
|
||||
for(int s=0;s<voList.size();s++) {
|
||||
filenum=voList.get(s).getFilenum();
|
||||
if(StringUtils.isNoneBlank(filenum)) {
|
||||
filenum=filenum.replace(ruleName, "");
|
||||
filenum=filenum.replace("号", "");
|
||||
try{
|
||||
int j=Integer.parseInt(filenum);
|
||||
filenumList.add(j);//将查询的编号添加到list中,在list中通过Collections.max(filenumList)方法获取最大一条
|
||||
}catch(NumberFormatException e){
|
||||
System.out.println("异常:\""+filenum + "\"不是数字/整数...");
|
||||
}
|
||||
}
|
||||
}
|
||||
int j= Collections.max(filenumList);//获取最大一条
|
||||
j=j+1;//最大一条+1
|
||||
filenum=ruleName+j+"号";
|
||||
|
||||
}else {
|
||||
if((startNum).equals("")) {
|
||||
filenum=ruleName+"1号";
|
||||
}else {
|
||||
try{
|
||||
int j=Integer.parseInt(startNum);
|
||||
filenum=ruleName+j+"号";
|
||||
}catch(NumberFormatException e){
|
||||
System.out.println("异常:\""+filenum + "\"不是数字/整数...");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// map.put("filenum"+(i+1), filenum);
|
||||
DictCommonVo vo1=new DictCommonVo();
|
||||
vo1.setDictValue(filenum);
|
||||
list1.add(vo1);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
map.put("list",list1);
|
||||
return map;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppDailyVo isSave(AppDailyDto appDailyDto) {
|
||||
AppDailyVo appDailyVo = new AppDailyVo();
|
||||
return appDailyVo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppDailyVo update(AppDailyDto appDailyDto) throws Exception {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getNewFormItemsVo() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getEditFormItemsVo(String formSid) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getLinkAge(FormSelectLinkDto dto) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.yxt.jlzx.oa.biz.formgzqs;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.yxt.jlzx.oa.api.formgzqs.FormGzqs;
|
||||
import com.yxt.jlzx.oa.api.formgzqs.FormGzqsQuery;
|
||||
import com.yxt.jlzx.oa.api.formgzqs.FormGzqsVo;
|
||||
|
||||
@Mapper
|
||||
public interface FormGzqsMapper extends BaseMapper<FormGzqs>{
|
||||
//分页列表
|
||||
IPage<FormGzqsVo> pageList(IPage<FormGzqsQuery> page,@Param(Constants.WRAPPER) Wrapper<FormGzqsVo> qw);
|
||||
List<FormGzqsVo> list(@Param(Constants.WRAPPER) QueryWrapper<FormGzqsVo> qw);
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.jlzx.oa.biz.formgzqs.FormGzqsMapper">
|
||||
<select id="pageList" resultType="com.yxt.jlzx.oa.api.formgzqs.FormGzqsVo">
|
||||
select * from form_gzqs
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="list" resultType="com.yxt.jlzx.oa.api.formgzqs.FormGzqsVo">
|
||||
select * from form_gzqs
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,124 @@
|
||||
package com.yxt.jlzx.oa.biz.formgzqs;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.yxt.jlzx.oa.api.index.AppDailyDto;
|
||||
import com.yxt.jlzx.oa.api.index.AppDailyVo;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.jlzx.oa.api.form.FormSelectLinkDto;
|
||||
import com.yxt.jlzx.oa.api.formgzqs.FormGzqs;
|
||||
import com.yxt.jlzx.oa.api.formgzqs.FormGzqsQuery;
|
||||
import com.yxt.jlzx.oa.api.formgzqs.FormGzqsVo;
|
||||
import com.yxt.jlzx.oa.api.formtzgg.FormTzgg;
|
||||
import com.yxt.jlzx.oa.api.formtzgg.FormTzggVo;
|
||||
import com.yxt.jlzx.oa.biz.form.IFormService;
|
||||
|
||||
|
||||
@Service("42ba56a8-370e-4a8b-8365-581f18f2e1fa")
|
||||
public class FormGzqsService extends MybatisBaseService<FormGzqsMapper, FormGzqs> implements IFormService{
|
||||
|
||||
// 分页列表
|
||||
public IPage<FormGzqsVo> pageList(PagerQuery<FormGzqsQuery> pagerQuery) {
|
||||
// mybits所用的分页对对象
|
||||
IPage<FormGzqsQuery> page = PagerUtil.queryToPage(pagerQuery);
|
||||
// mybits所用的查询条件封装类
|
||||
QueryWrapper<FormGzqsVo> qw = buildQueryWrapper(pagerQuery.getParams());
|
||||
return baseMapper.pageList(page, qw);
|
||||
|
||||
}
|
||||
|
||||
// 不分页列表
|
||||
public List<FormGzqsVo> list(FormGzqsQuery pagerQuery) {
|
||||
|
||||
// mybits所用的查询条件封装类
|
||||
QueryWrapper<FormGzqsVo> qw = buildQueryWrapper(pagerQuery);
|
||||
return baseMapper.list(qw);
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析和组装查询条件,封装在qw中,虚方法,需要在子类中定义具体实现
|
||||
* @param pagerQuery
|
||||
* @return
|
||||
*/
|
||||
|
||||
private QueryWrapper<FormGzqsVo> buildQueryWrapper(FormGzqsQuery pagerQuery)
|
||||
{
|
||||
QueryWrapper<FormGzqsVo> qw = new QueryWrapper<FormGzqsVo>();
|
||||
if (pagerQuery != null) {
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery
|
||||
.getCreateDeptSid()))
|
||||
qw.eq("createDeptSid", pagerQuery.getCreateDeptSid());
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery
|
||||
.getProcessSid()))
|
||||
qw.eq("processSid", pagerQuery.getProcessSid());
|
||||
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery.getCreaterName()))
|
||||
qw.eq("createrName", pagerQuery.getCreaterName());
|
||||
qw.orderByDesc("createTime");
|
||||
}
|
||||
|
||||
return qw;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 获取动态表单
|
||||
* @param sid
|
||||
* @return
|
||||
*/
|
||||
|
||||
public Map<String,Object> getFormItemsVo(String sid)
|
||||
{
|
||||
|
||||
FormGzqs t=fetchBySid(sid);
|
||||
if(null==t)
|
||||
return null;
|
||||
FormGzqsVo vo=new FormGzqsVo();
|
||||
vo.fromEntity(t);
|
||||
return vo.toFormItemsMap();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getMaxFileNum(com.yxt.jlzx.oa.api.form.MaxFileNumDto dto) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppDailyVo isSave(AppDailyDto appDailyDto) {
|
||||
AppDailyVo appDailyVo = new AppDailyVo();
|
||||
return appDailyVo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppDailyVo update(AppDailyDto appDailyDto) throws Exception {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getNewFormItemsVo() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getEditFormItemsVo(String formSid) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getLinkAge(FormSelectLinkDto dto) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,184 @@
|
||||
package com.yxt.jlzx.oa.biz.formgzqs;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.config.component.FileUploadComponent;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.FilesappendixVo;
|
||||
import com.yxt.jlzx.oa.api.form.FormDto;
|
||||
import com.yxt.jlzx.oa.api.form.FormResultVo;
|
||||
import com.yxt.jlzx.oa.api.formgzqs.*;
|
||||
import com.yxt.jlzx.oa.biz.filesappendix.FilesappendixService;
|
||||
import com.yxt.jlzx.oa.biz.work.WorkService;
|
||||
import com.yxt.jlzx.oa.biz.workflow.WorkFlowService;
|
||||
import com.yxt.jlzx.system.api.user.UserApi;
|
||||
import com.yxt.jlzx.system.api.user.UserInfoVo;
|
||||
import com.yxt.workflow.api.task.WfTaskVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author yxt_mtl
|
||||
* @date 2020/9/29 13:30
|
||||
* @description 角色信息
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("v1/formgzqss")
|
||||
@Api(tags = "工作请示表单")
|
||||
public class FormgzqsApiImpl implements FormGzqsApi {
|
||||
@Autowired
|
||||
private FormGzqsService service;
|
||||
@Autowired
|
||||
private WorkFlowService wfservice;
|
||||
@Autowired
|
||||
private FilesappendixService filesappendixservice;
|
||||
@Autowired
|
||||
private FileUploadComponent fileUploadComponent;
|
||||
@Autowired
|
||||
private UserApi userApi;
|
||||
|
||||
@Autowired
|
||||
private WorkService workService;
|
||||
|
||||
|
||||
@Override
|
||||
public ResultBean<List<FormGzqsVo>> list(FormGzqsQuery query) {
|
||||
ResultBean<List<FormGzqsVo>> resultBean = ResultBean.fireFail();
|
||||
List<FormGzqsVo> list = service.list(query);
|
||||
if (null == list) {
|
||||
return resultBean;
|
||||
}
|
||||
return resultBean.success().setData(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<PagerVo<FormGzqsVo>> pageList(
|
||||
PagerQuery<FormGzqsQuery> pagerQuery) {
|
||||
ResultBean<PagerVo<FormGzqsVo>> rb = ResultBean.fireFail();
|
||||
|
||||
IPage<FormGzqsVo> page = service.pageList(pagerQuery);
|
||||
|
||||
// 把Ipage转换为PageVo
|
||||
PagerVo<FormGzqsVo> pv_result = PagerUtil.pageToVo(page, null);
|
||||
|
||||
return rb.success().setData(pv_result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<FormResultVo> save(FormGzqsDto dto) {
|
||||
ResultBean<FormResultVo> resultBean = ResultBean.fireFail();
|
||||
FormResultVo formResultVo = new FormResultVo();
|
||||
// 首次保存,二次修改
|
||||
if (!dto.getFormSid().equals("")) {
|
||||
if (update(dto, dto.getFormSid()).getSuccess()) {
|
||||
return resultBean.success().setData(formResultVo);
|
||||
} else {
|
||||
return resultBean.setData(null);
|
||||
}
|
||||
|
||||
}
|
||||
FormGzqs t = new FormGzqs();
|
||||
// 开始流程
|
||||
dto.setFormSid(t.getSid());
|
||||
WfTaskVo taskVo = wfservice.startProcess((FormDto) dto);
|
||||
if (taskVo == null) {
|
||||
return resultBean;
|
||||
}
|
||||
|
||||
dto.fillEntity(t);
|
||||
t.setOrderSid(taskVo.getOrderSid());
|
||||
|
||||
UserInfoVo userInfoVo = userApi.fetchUserInfoBysid(t.getCreateBySid()).getData();
|
||||
if (null != userInfoVo) {
|
||||
t.setCreateOrgSid(userInfoVo.getOrganizationSid());
|
||||
}
|
||||
|
||||
if (service.save(t)) {
|
||||
|
||||
filesappendixservice.uploadFiles(dto.getFilePathlist(), t.getSid(),
|
||||
t.getClass().getSimpleName());
|
||||
formResultVo.setFormSid(t.getSid());
|
||||
formResultVo.setTaskSid(taskVo.getTaskSid());
|
||||
|
||||
return resultBean.success().setData(formResultVo);
|
||||
}
|
||||
|
||||
return resultBean.setData(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<String> update(FormGzqsDto dto, String sid) {
|
||||
ResultBean<String> rb = ResultBean.fireFail();
|
||||
FormGzqs t = service.fetchBySid(sid);
|
||||
if (null == t)
|
||||
return rb.setMsg("该记录不存在").setData("");
|
||||
if (0 == service.updateBySid(dto.toMap(), sid)) {
|
||||
return rb.setData("");
|
||||
}
|
||||
// 修改流程实例中的title和紧急紧急程度
|
||||
dto.setOrderSid(t.getOrderSid());
|
||||
if (wfservice.updateMfOrderFormInfo((FormDto) dto)) {
|
||||
filesappendixservice.reUploadFiles(dto.getFilePathlist(),
|
||||
t.getSid(), t.getClass().getSimpleName());
|
||||
|
||||
return rb.success().setData(sid);
|
||||
}
|
||||
return rb.setData("");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean delete(String sid) {
|
||||
FormGzqs t = service.fetchBySid(sid);
|
||||
if (null == t) {
|
||||
return ResultBean.fireFail().setMsg("该记录不存在");
|
||||
}
|
||||
if (0 == service.deleteBySid(sid)) {
|
||||
return ResultBean.fireFail();
|
||||
}
|
||||
filesappendixservice.deleteByLinkSid(sid);
|
||||
return ResultBean.fireSuccess();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<FormGzqsVo> getVo(String sid) {
|
||||
ResultBean<FormGzqsVo> resultBean = ResultBean.fireFail();
|
||||
FormGzqs t = service.fetchBySid(sid);
|
||||
if (null == t) {
|
||||
return resultBean;
|
||||
}
|
||||
FormGzqsVo vo = new FormGzqsVo();
|
||||
vo.fromEntity(t);
|
||||
List<FilesappendixVo> list_appendix = filesappendixservice
|
||||
.queryBylinkSid(sid);
|
||||
vo.setFilePathlist(list_appendix);
|
||||
//2021.10.08 添加本地pdf的保存路径
|
||||
if(t.getPdfFilePath()!=null && t.getPdfFilePath().length()>0){
|
||||
String pdfPath=fileUploadComponent.getUrlPrefix().replace("upload", "oapdf");
|
||||
vo.setLocalhostpdfFilePath(pdfPath+t.getPdfFilePath());
|
||||
}else{
|
||||
vo.setLocalhostpdfFilePath("");
|
||||
}
|
||||
|
||||
return resultBean.success().setData(vo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<FormGzqsHeadPaperVo> getRedHeadPaper(String formSid) {
|
||||
ResultBean<FormGzqsHeadPaperVo> resultBean = ResultBean.fireFail();
|
||||
FormGzqs t = service.fetchBySid(formSid);
|
||||
if (null == t) {
|
||||
return resultBean;
|
||||
}
|
||||
FormGzqsHeadPaperVo vo = new FormGzqsHeadPaperVo();
|
||||
vo.fromEntity(t);
|
||||
vo.setIssueOpinions(workService.getOpinioRows(t.getOrderSid(), "单位领导批示"));
|
||||
vo.setDeptOpinions(workService.getOpinioRows(t.getOrderSid(), "部门负责人审核"));
|
||||
return resultBean.success().setData(vo);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,209 @@
|
||||
package com.yxt.jlzx.oa.biz.formhyjy;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.config.component.FileUploadComponent;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.FilesappendixVo;
|
||||
import com.yxt.jlzx.oa.api.form.FormDto;
|
||||
import com.yxt.jlzx.oa.api.form.FormResultVo;
|
||||
import com.yxt.jlzx.oa.api.formhyjy.*;
|
||||
import com.yxt.jlzx.oa.biz.filesappendix.FilesappendixService;
|
||||
import com.yxt.jlzx.oa.biz.work.WorkService;
|
||||
import com.yxt.jlzx.oa.biz.workflow.WorkFlowService;
|
||||
import com.yxt.jlzx.system.api.dictcommon.DictCommonApi;
|
||||
import com.yxt.jlzx.system.api.dictcommon.DictCommonVo;
|
||||
import com.yxt.jlzx.system.api.user.UserApi;
|
||||
import com.yxt.jlzx.system.api.user.UserInfoVo;
|
||||
import com.yxt.workflow.api.task.WfTaskVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author yxt_mtl
|
||||
* @date 2020/9/29 13:30
|
||||
* @description 角色信息
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("v1/formhyjys")
|
||||
@Api(tags = "会议纪要表单")
|
||||
public class FormHyjyApiImpl implements FormHyjyApi {
|
||||
@Autowired
|
||||
private FormHyjyService service;
|
||||
@Autowired
|
||||
private WorkFlowService wfservice;
|
||||
@Autowired
|
||||
private FilesappendixService filesappendixservice;
|
||||
@Autowired
|
||||
private FileUploadComponent fileUploadComponent;
|
||||
@Autowired
|
||||
private UserApi userApi;
|
||||
@Autowired
|
||||
private WorkService workService;
|
||||
|
||||
@Autowired
|
||||
private DictCommonApi dictCommonApi;
|
||||
|
||||
@Override
|
||||
public ResultBean<List<FormHyjyVo>> list(FormHyjyQuery query) {
|
||||
ResultBean<List<FormHyjyVo>> resultBean = ResultBean.fireFail();
|
||||
List<FormHyjyVo> list = service.list(query);
|
||||
if (null == list)
|
||||
return resultBean;
|
||||
return resultBean.success().setData(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<PagerVo<FormHyjyVo>> pageList(
|
||||
PagerQuery<FormHyjyQuery> pagerQuery) {
|
||||
ResultBean<PagerVo<FormHyjyVo>> rb = ResultBean.fireFail();
|
||||
|
||||
IPage<FormHyjyVo> page = service.pageList(pagerQuery);
|
||||
|
||||
// 把Ipage转换为PageVo
|
||||
PagerVo<FormHyjyVo> pv_result = PagerUtil.pageToVo(page, null);
|
||||
|
||||
return rb.success().setData(pv_result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<FormResultVo> save(FormHyjyDto dto) {
|
||||
ResultBean<FormResultVo> resultBean = ResultBean.fireFail();
|
||||
|
||||
FormResultVo formResultVo = new FormResultVo();
|
||||
// 首次保存,二次修改
|
||||
if (!dto.getFormSid().equals("")) {
|
||||
if (update(dto, dto.getFormSid()).getSuccess())
|
||||
return resultBean.success().setData(formResultVo);
|
||||
else
|
||||
return resultBean.setData(null);
|
||||
|
||||
}
|
||||
ResultBean<DictCommonVo> selectBykey = dictCommonApi.selectBykey(dto.getMeetingType(), "hylx");
|
||||
if (selectBykey.getData() != null) {
|
||||
dto.setTitle(selectBykey.getData().getDictValue() + dto.getFileNum());
|
||||
} else {
|
||||
dto.setTitle("会议纪要");
|
||||
}
|
||||
FormHyjy t = new FormHyjy();
|
||||
// 开始流程
|
||||
dto.setFormSid(t.getSid());
|
||||
WfTaskVo taskVo = wfservice.startProcess((FormDto) dto);
|
||||
if (taskVo == null)
|
||||
return resultBean.setData(null);
|
||||
|
||||
dto.fillEntity(t);
|
||||
t.setOrderSid(taskVo.getOrderSid());
|
||||
|
||||
UserInfoVo userInfoVo = userApi.fetchUserInfoBysid(t.getCreateBySid()).getData();
|
||||
if (null != userInfoVo)
|
||||
t.setCreateOrgSid(userInfoVo.getOrganizationSid());
|
||||
|
||||
if (service.save(t)) {
|
||||
filesappendixservice.uploadFiles(dto.getFilePathlist(), t.getSid(),
|
||||
t.getClass().getSimpleName());
|
||||
formResultVo.setFormSid(t.getSid());
|
||||
formResultVo.setTaskSid(taskVo.getTaskSid());
|
||||
return resultBean.success().setData(formResultVo);
|
||||
}
|
||||
return resultBean.setData(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<String> update(FormHyjyDto dto, String sid) {
|
||||
ResultBean<String> rb = ResultBean.fireFail();
|
||||
|
||||
FormHyjy t = service.fetchBySid(sid);
|
||||
if (null == t)
|
||||
return rb.setMsg("该记录不存在").setData("");
|
||||
|
||||
//会议纪要赋值标题 2021.09.10
|
||||
ResultBean<DictCommonVo> selectBykey = dictCommonApi.selectBykey(dto.getMeetingType(), "hylx");
|
||||
if (selectBykey.getData() != null) {
|
||||
dto.setTitle(selectBykey.getData().getDictValue() + dto.getFileNum());
|
||||
} else {
|
||||
dto.setTitle("会议纪要");
|
||||
}
|
||||
|
||||
if (0 == service.updateBySid(dto.toMap(), sid))
|
||||
return rb.setData("");
|
||||
|
||||
// 修改流程实例中的title和紧急紧急程度
|
||||
dto.setOrderSid(t.getOrderSid());
|
||||
if (wfservice.updateMfOrderFormInfo((FormDto) dto)) {
|
||||
filesappendixservice.reUploadFiles(dto.getFilePathlist(),
|
||||
t.getSid(), t.getClass().getSimpleName());
|
||||
return rb.success().setData(sid);
|
||||
}
|
||||
return rb.setData("");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean delete(String sid) {
|
||||
FormHyjy t = service.fetchBySid(sid);
|
||||
if (null == t)
|
||||
return ResultBean.fireFail().setMsg("该记录不存在");
|
||||
if (0 == service.deleteBySid(sid))
|
||||
return ResultBean.fireFail();
|
||||
filesappendixservice.deleteByLinkSid(sid);
|
||||
return ResultBean.fireSuccess();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<FormHyjyVo> getVo(String sid) {
|
||||
ResultBean<FormHyjyVo> resultBean = ResultBean.fireFail();
|
||||
FormHyjy t = service.fetchBySid(sid);
|
||||
if (null == t)
|
||||
return resultBean;
|
||||
FormHyjyVo vo = new FormHyjyVo();
|
||||
vo.fromEntity(t);
|
||||
List<FilesappendixVo> list_appendix = filesappendixservice
|
||||
.queryBylinkSid(sid);
|
||||
vo.setFilePathlist(list_appendix);
|
||||
//2021.10.08 添加本地pdf的保存路径
|
||||
if(t.getPdfFilePath()!=null && t.getPdfFilePath().length()>0){
|
||||
String pdfPath=fileUploadComponent.getUrlPrefix().replace("upload", "oapdf");
|
||||
vo.setLocalhostpdfFilePath(pdfPath+t.getPdfFilePath());
|
||||
}else{
|
||||
vo.setLocalhostpdfFilePath("");
|
||||
}
|
||||
return resultBean.success().setData(vo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<Map<String, Object>> getMaxFileNum(MaxFileNumDto dto) {
|
||||
ResultBean<Map<String, Object>> resultBean = ResultBean.fireFail();
|
||||
|
||||
Map<String, Object> map = service.getMaxFileNum1(dto);
|
||||
if (map == null)
|
||||
return resultBean.setData(null);
|
||||
|
||||
return resultBean.setData(map).success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取会议纪要审批笺中意见
|
||||
*/
|
||||
@Override
|
||||
public ResultBean<FormHyjyHeadPaperVo> getRedHeadPaper(String formSid) {
|
||||
ResultBean<FormHyjyHeadPaperVo> resultBean = ResultBean.fireFail();
|
||||
FormHyjy t = service.fetchBySid(formSid);
|
||||
if (null == t) {
|
||||
return resultBean;
|
||||
}
|
||||
FormHyjyHeadPaperVo vo = new FormHyjyHeadPaperVo();
|
||||
vo.fromEntity(t);
|
||||
vo.setIssueOpinions(workService.getOpinioRows(t.getOrderSid(), "会议主持人签发"));
|
||||
vo.setOfficeOpinions(workService.getOpinioRows(t.getOrderSid(),
|
||||
"承办部门负责人审核"));
|
||||
return resultBean.success().setData(vo);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.yxt.jlzx.oa.biz.formhyjy;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.yxt.jlzx.oa.api.form.FileNumVo;
|
||||
import com.yxt.jlzx.oa.api.formhyjy.FormHyjy;
|
||||
import com.yxt.jlzx.oa.api.formhyjy.FormHyjyQuery;
|
||||
import com.yxt.jlzx.oa.api.formhyjy.FormHyjyVo;
|
||||
@Mapper
|
||||
public interface FormHyjyMapper extends BaseMapper<FormHyjy>{
|
||||
//分页列表
|
||||
IPage<FormHyjyVo> pageList(IPage<FormHyjyQuery> page,@Param(Constants.WRAPPER) Wrapper<FormHyjyVo> qw);
|
||||
List<FormHyjyVo> list( @Param(Constants.WRAPPER) QueryWrapper<FormHyjyVo> qw);
|
||||
|
||||
List<FileNumVo> getMaxFileNum(@Param("params") Map<String, Object> map);
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.jlzx.oa.biz.formhyjy.FormHyjyMapper">
|
||||
<select id="pageList" resultType="com.yxt.jlzx.oa.api.formhyjy.FormHyjyVo">
|
||||
select * from form_hyjy
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="list" resultType="com.yxt.jlzx.oa.api.formhyjy.FormHyjyVo">
|
||||
select * from form_hyjy
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<!-- <select id="getMaxFileNum" resultType="com.yxt.jlzx.oa.api.form.FileNumVo">
|
||||
SELECT
|
||||
(SELECT fileNum FROM form_hyjy WHERE id IN( SELECT MAX(id) FROM `form_hyjy` WHERE meetingType=#{params.hyType} and createTime LIKE concat("%",#{params.str1},"%")) )filenum
|
||||
FROM form_hyjy f LIMIT 1
|
||||
</select> -->
|
||||
|
||||
<select id="getMaxFileNum" resultType="com.yxt.jlzx.oa.api.form.FileNumVo">
|
||||
SELECT
|
||||
fileNum
|
||||
FROM form_hyjy
|
||||
where
|
||||
meetingType=#{params.hyType} and createTime LIKE concat("%",#{params.str1},"%")
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,238 @@
|
||||
package com.yxt.jlzx.oa.biz.formhyjy;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.jlzx.oa.api.form.FileNumVo;
|
||||
import com.yxt.jlzx.oa.api.form.FormSelectLinkDto;
|
||||
import com.yxt.jlzx.oa.api.formhyjy.FormHyjy;
|
||||
import com.yxt.jlzx.oa.api.formhyjy.FormHyjyQuery;
|
||||
import com.yxt.jlzx.oa.api.formhyjy.FormHyjyVo;
|
||||
import com.yxt.jlzx.oa.api.formhyjy.MaxFileNumDto;
|
||||
import com.yxt.jlzx.oa.api.index.AppDailyDto;
|
||||
import com.yxt.jlzx.oa.api.index.AppDailyVo;
|
||||
import com.yxt.jlzx.oa.biz.form.IFormService;
|
||||
import com.yxt.jlzx.system.api.dictcommon.DictCommonApi;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
|
||||
@Service("baef623c-3e45-494f-bc95-c3231d8b1f67")
|
||||
public class FormHyjyService extends MybatisBaseService<FormHyjyMapper, FormHyjy> implements IFormService {
|
||||
|
||||
@Autowired
|
||||
private DictCommonApi dictCommonApi;
|
||||
|
||||
// 分页列表
|
||||
public IPage<FormHyjyVo> pageList(PagerQuery<FormHyjyQuery> pagerQuery) {
|
||||
// mybits所用的分页对对象
|
||||
IPage<FormHyjyQuery> page = PagerUtil.queryToPage(pagerQuery);
|
||||
// mybits所用的查询条件封装类
|
||||
QueryWrapper<FormHyjyVo> qw = buildQueryWrapper(pagerQuery.getParams());
|
||||
return baseMapper.pageList(page, qw);
|
||||
|
||||
}
|
||||
|
||||
// 不分页列表
|
||||
public List<FormHyjyVo> list(FormHyjyQuery pagerQuery) {
|
||||
|
||||
// mybits所用的查询条件封装类
|
||||
QueryWrapper<FormHyjyVo> qw = buildQueryWrapper(pagerQuery);
|
||||
return baseMapper.list(qw);
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析和组装查询条件,封装在qw中,虚方法,需要在子类中定义具体实现
|
||||
*
|
||||
* @param pagerQuery
|
||||
* @return
|
||||
*/
|
||||
|
||||
private QueryWrapper<FormHyjyVo> buildQueryWrapper(FormHyjyQuery pagerQuery) {
|
||||
QueryWrapper<FormHyjyVo> qw = new QueryWrapper<FormHyjyVo>();
|
||||
if (pagerQuery != null) {
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery
|
||||
.getCreateDeptSid()))
|
||||
qw.eq("createDeptSid", pagerQuery.getCreateDeptSid());
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery
|
||||
.getProcessSid()))
|
||||
qw.eq("processSid", pagerQuery.getProcessSid());
|
||||
|
||||
if (null != pagerQuery.getMeetingType() && org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery
|
||||
.getMeetingType()))
|
||||
qw.eq("meetingType", pagerQuery.getMeetingType());
|
||||
/*
|
||||
if (null!=pagerQuery.getEndDay() && org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery
|
||||
.getEndDay().toString()))
|
||||
qw.lt("endDay", pagerQuery.getEndDay());
|
||||
*/
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery.getCreaterName()))
|
||||
qw.eq("createrName", pagerQuery.getCreaterName());
|
||||
qw.orderByDesc("createTime");
|
||||
}
|
||||
|
||||
return qw;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取动态表单
|
||||
*
|
||||
* @param sid
|
||||
* @return
|
||||
*/
|
||||
|
||||
public Map<String, Object> getFormItemsVo(String sid) {
|
||||
|
||||
FormHyjy t = fetchBySid(sid);
|
||||
if (null == t)
|
||||
return null;
|
||||
FormHyjyVo vo = new FormHyjyVo();
|
||||
vo.fromEntity(t);
|
||||
return vo.toFormItemsMap();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getMaxFileNum(com.yxt.jlzx.oa.api.form.MaxFileNumDto dto) {
|
||||
// int i=0;
|
||||
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
|
||||
// Date date = new Date();
|
||||
// String year=sdf.format(date);
|
||||
//
|
||||
// String str1="〔"+year+"〕第";
|
||||
// Map<String,Object> map=new HashMap<String,Object>();
|
||||
// map.put("str1", str1);
|
||||
// FileNumVo vo=baseMapper.getMaxFileNum(map);
|
||||
// String filenum1="";
|
||||
// if(vo!=null) {
|
||||
// filenum1=vo.getFilenum();
|
||||
// if(StringUtils.isNoneBlank(filenum1)) {
|
||||
// filenum1=filenum1.replace(str1, "");
|
||||
// filenum1=filenum1.replace("号", "");
|
||||
// try{
|
||||
// i=Integer.parseInt(filenum1)+1;
|
||||
// filenum1=str1+i+"号";
|
||||
// }catch(NumberFormatException e){
|
||||
// System.out.println("异常:\""+filenum1 + "\"不是数字/整数...");
|
||||
// }
|
||||
// }else {
|
||||
// filenum1=str1+"1号";
|
||||
// }
|
||||
// }else {
|
||||
// filenum1=str1+"1号";
|
||||
// }
|
||||
//
|
||||
//
|
||||
// map.clear();
|
||||
// map.put("filenum1", filenum1);
|
||||
Map<String, Object> map = new HashMap<String, Object>();
|
||||
return map;
|
||||
}
|
||||
|
||||
|
||||
public Map<String, Object> getMaxFileNum1(MaxFileNumDto dto) {
|
||||
Map<String, Object> map = new HashMap<String, Object>();
|
||||
String filenum1 = "";
|
||||
String formSid = dto.getFormSid();
|
||||
String hyType = dto.getHyType();
|
||||
String hyType1 = "";
|
||||
if (StringUtils.isNotBlank(formSid)) {
|
||||
FormHyjy formHyjy = fetchBySid(formSid);
|
||||
hyType1 = formHyjy.getMeetingType();
|
||||
filenum1 = formHyjy.getFileNum();
|
||||
}
|
||||
if (hyType1.equals(hyType)) {
|
||||
map.put("filenum1", filenum1);
|
||||
return map;
|
||||
}
|
||||
int i = 0;
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
|
||||
Date date = new Date();
|
||||
String year = sdf.format(date);
|
||||
|
||||
String str1 = "〔" + year + "〕";
|
||||
// String str1="第";
|
||||
map.put("str1", year);
|
||||
map.put("hyType", hyType);
|
||||
List<FileNumVo> voList = baseMapper.getMaxFileNum(map);
|
||||
if (voList != null && voList.size() > 0) {
|
||||
List<Integer> filenumList = new ArrayList<Integer>();
|
||||
for (int j = 0; voList.size() > j; j++) {
|
||||
filenum1 = voList.get(j).getFilenum();
|
||||
if (StringUtils.isNoneBlank(filenum1)) {
|
||||
filenum1 = filenum1.replace(str1, "");
|
||||
filenum1 = filenum1.replace("号", "");
|
||||
try {
|
||||
i = Integer.parseInt(filenum1);
|
||||
filenumList.add(i);//将查询的编号添加到list中,在list中通过Collections.max(filenumList)方法获取最大一条
|
||||
} catch (NumberFormatException e) {
|
||||
System.out.println("异常:\"" + filenum1 + "\"不是数字/整数...");
|
||||
}
|
||||
}
|
||||
}
|
||||
if (filenumList.size() > 0) {
|
||||
i = Collections.max(filenumList);//获取最大一条
|
||||
i = i + 1;//最大一条+1
|
||||
filenum1 = str1 + i + "号";
|
||||
} else {
|
||||
filenum1 = str1 + "1号";
|
||||
}
|
||||
//
|
||||
// filenum1=vo.getFilenum();
|
||||
// if(StringUtils.isNoneBlank(filenum1)) {
|
||||
// filenum1=filenum1.replace(str1, "");
|
||||
// filenum1=filenum1.replace("号", "");
|
||||
// try{
|
||||
// i=Integer.parseInt(filenum1)+1;
|
||||
// filenum1=str1+i+"号";
|
||||
// }catch(NumberFormatException e){
|
||||
// System.out.println("异常:\""+filenum1 + "\"不是数字/整数...");
|
||||
// }
|
||||
// }else {
|
||||
// filenum1=str1+"1号";
|
||||
// }
|
||||
} else {
|
||||
filenum1 = str1 + "1号";
|
||||
}
|
||||
|
||||
|
||||
map.clear();
|
||||
map.put("filenum1", filenum1);
|
||||
return map;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppDailyVo isSave(AppDailyDto appDailyDto) {
|
||||
AppDailyVo appDailyVo = new AppDailyVo();
|
||||
return appDailyVo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppDailyVo update(AppDailyDto appDailyDto) throws Exception {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getNewFormItemsVo() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getEditFormItemsVo(String formSid) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getLinkAge(FormSelectLinkDto dto) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,161 @@
|
||||
package com.yxt.jlzx.oa.biz.formjournal;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.config.component.FileUploadComponent;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.Filesappendix;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.FilesappendixVo;
|
||||
import com.yxt.jlzx.oa.api.form.FormDto;
|
||||
import com.yxt.jlzx.oa.api.form.FormResultVo;
|
||||
import com.yxt.jlzx.oa.api.formjournal.FormJournal;
|
||||
import com.yxt.jlzx.oa.api.formjournal.FormJournalApi;
|
||||
import com.yxt.jlzx.oa.api.formjournal.FormJournalDto;
|
||||
import com.yxt.jlzx.oa.api.formjournal.FormJournalQuery;
|
||||
import com.yxt.jlzx.oa.api.formjournal.FormJournalVo;
|
||||
import com.yxt.jlzx.oa.biz.filesappendix.FilesappendixService;
|
||||
import com.yxt.jlzx.oa.biz.workflow.WorkFlowService;
|
||||
import com.yxt.jlzx.system.api.user.UserApi;
|
||||
import com.yxt.jlzx.system.api.user.UserInfoVo;
|
||||
import com.yxt.workflow.api.task.WfTaskVo;
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @author hanweijia
|
||||
* @date 2020/9/19
|
||||
* @description
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("v1/formjournals")
|
||||
@Api(tags = "刊物审批表单")
|
||||
public class FormJournalApiImpl implements FormJournalApi{
|
||||
@Autowired
|
||||
private FormJournalService service;
|
||||
@Autowired
|
||||
private WorkFlowService wfservice;
|
||||
@Autowired
|
||||
private FilesappendixService filesappendixservice;
|
||||
@Autowired
|
||||
private FileUploadComponent fileUploadComponent;
|
||||
@Autowired
|
||||
private UserApi userApi;
|
||||
@Override
|
||||
public ResultBean<List<FormJournalVo>> list(FormJournalQuery query) {
|
||||
ResultBean<List<FormJournalVo>> resultBean=ResultBean.fireFail();
|
||||
List<FormJournalVo> list=service.list(query);
|
||||
if(null==list)
|
||||
return resultBean;
|
||||
return resultBean.success().setData(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<PagerVo<FormJournalVo>> pageList(PagerQuery<FormJournalQuery> pagerQuery) {
|
||||
ResultBean<PagerVo<FormJournalVo>> rb = ResultBean.fireFail();
|
||||
|
||||
|
||||
IPage<FormJournalVo> page = service.pageList(pagerQuery);
|
||||
|
||||
//把Ipage转换为PageVo
|
||||
PagerVo<FormJournalVo> pv_result = PagerUtil.pageToVo(page, null);
|
||||
|
||||
return rb.success().setData(pv_result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<FormResultVo> save(FormJournalDto dto) {
|
||||
ResultBean<FormResultVo> resultBean = ResultBean.fireFail();
|
||||
FormResultVo formResultVo = new FormResultVo();
|
||||
// 首次保存,二次修改
|
||||
if (!dto.getFormSid().equals("")) {
|
||||
if (update(dto, dto.getFormSid()).getSuccess())
|
||||
return resultBean.success().setData(formResultVo);
|
||||
else
|
||||
return resultBean.setData(null);
|
||||
|
||||
}
|
||||
FormJournal t=new FormJournal();
|
||||
// 开始流程
|
||||
dto.setFormSid(t.getSid());
|
||||
WfTaskVo taskVo=wfservice.startProcess((FormDto) dto);
|
||||
if(taskVo==null)
|
||||
return resultBean.setData(null);
|
||||
dto.fillEntity(t);
|
||||
t.setOrderSid(taskVo.getOrderSid());
|
||||
UserInfoVo userInfoVo = userApi.fetchUserInfoBysid(t.getCreateBySid()).getData();
|
||||
if (null != userInfoVo)
|
||||
t.setCreateOrgSid(userInfoVo.getOrganizationSid());
|
||||
if (service.save(t)) {
|
||||
filesappendixservice.uploadFiles(dto.getFilePathlist(), t.getSid(),
|
||||
t.getClass().getSimpleName());
|
||||
formResultVo.setFormSid(t.getSid());
|
||||
formResultVo.setTaskSid(taskVo.getTaskSid());
|
||||
return resultBean.success().setData(formResultVo);
|
||||
}
|
||||
return resultBean.setData(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<String> update(FormJournalDto dto, String sid){
|
||||
ResultBean<String> rb = ResultBean.fireFail();
|
||||
FormJournal t=service.fetchBySid(sid);
|
||||
if (null == t)
|
||||
return rb.setMsg("该记录不存在").setData("");
|
||||
|
||||
if (0 == service.updateBySid(dto.toMap(), sid))
|
||||
return rb.setData("");
|
||||
// 修改流程实例中的title和紧急紧急程度
|
||||
dto.setOrderSid(t.getOrderSid());
|
||||
if (wfservice.updateMfOrderFormInfo((FormDto) dto)) {
|
||||
filesappendixservice.reUploadFiles(dto.getFilePathlist(),
|
||||
t.getSid(), t.getClass().getSimpleName());
|
||||
return rb.success().setData(sid);
|
||||
}
|
||||
return rb.setData("");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean delete(String sid) {
|
||||
FormJournal t=service.fetchBySid(sid);
|
||||
if(null==t)
|
||||
return ResultBean.fireFail().setMsg("该记录不存在");
|
||||
if(0==service.deleteBySid(sid))
|
||||
return ResultBean.fireFail();
|
||||
filesappendixservice.deleteByLinkSid(sid);
|
||||
return ResultBean.fireSuccess();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<FormJournalVo> getVo(String sid) {
|
||||
ResultBean<FormJournalVo> resultBean=ResultBean.fireFail();
|
||||
FormJournal t=service.fetchBySid(sid);
|
||||
if(null==t)
|
||||
return resultBean;
|
||||
FormJournalVo vo=new FormJournalVo();
|
||||
vo.fromEntity(t);
|
||||
List<FilesappendixVo> list_appendix = filesappendixservice
|
||||
.queryBylinkSid(sid);
|
||||
vo.setFilePathlist(list_appendix);
|
||||
//2021.10.08 添加本地pdf的保存路径 判断pdf的路径不能为空
|
||||
if(t.getPdfFilePath()!=null && t.getPdfFilePath().length()>0){
|
||||
String pdfPath=fileUploadComponent.getUrlPrefix().replace("upload", "oapdf");
|
||||
vo.setLocalhostpdfFilePath(pdfPath+t.getPdfFilePath());
|
||||
}else{
|
||||
vo.setLocalhostpdfFilePath("");
|
||||
}
|
||||
|
||||
return resultBean.success().setData(vo);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.yxt.jlzx.oa.biz.formjournal;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.yxt.jlzx.oa.api.form.FileNumVo;
|
||||
import com.yxt.jlzx.oa.api.formjournal.FormJournal;
|
||||
import com.yxt.jlzx.oa.api.formjournal.FormJournalQuery;
|
||||
import com.yxt.jlzx.oa.api.formjournal.FormJournalVo;
|
||||
@Mapper
|
||||
public interface FormJournalMapper extends BaseMapper<FormJournal>{
|
||||
//分页列表
|
||||
IPage<FormJournalVo> pageList(IPage<FormJournalQuery> page,@Param(Constants.WRAPPER) Wrapper<FormJournalVo> qw);
|
||||
List<FormJournalVo> list(@Param(Constants.WRAPPER) QueryWrapper<FormJournalVo> qw);
|
||||
FileNumVo getMaxFileNum(@Param("params") Map<String, Object> map);
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.jlzx.oa.biz.formjournal.FormJournalMapper">
|
||||
<select id="pageList" resultType="com.yxt.jlzx.oa.api.formjournal.FormJournalVo">
|
||||
select fj.*,fj.sid formSid,t.sid taskSid,
|
||||
p.instanceUrl2,
|
||||
p.instanceUrl3 from form_journal fj
|
||||
LEFT JOIN workflow.wf_order o ON o.sid = fj.orderSid
|
||||
LEFT JOIN workflow.wf_task t ON t.orderSid = o.sid
|
||||
LEFT JOIN workflow.wf_process p ON t.processSid = p.sid
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="list" resultType="com.yxt.jlzx.oa.api.formjournal.FormJournalVo">
|
||||
select fj.*,fj.sid formSid,
|
||||
t.sid taskSid,
|
||||
p.instanceUrl2,
|
||||
p.instanceUrl3
|
||||
from form_journal fj
|
||||
LEFT JOIN workflow.wf_order o ON o.sid = fj.orderSid
|
||||
LEFT JOIN workflow.wf_task t ON t.orderSid = o.sid
|
||||
LEFT JOIN workflow.wf_process p ON t.processSid = p.sid
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="getMaxFileNum" resultType="com.yxt.jlzx.oa.api.form.FileNumVo">
|
||||
SELECT
|
||||
(SELECT fileNum FROM form_journal WHERE id IN( SELECT MAX(id) FROM `form_journal` WHERE fileNum LIKE concat("%",#{params.str1},"%")))filenum
|
||||
FROM form_journal f LIMIT 1
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,158 @@
|
||||
package com.yxt.jlzx.oa.biz.formjournal;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.yxt.jlzx.oa.api.index.AppDailyDto;
|
||||
import com.yxt.jlzx.oa.api.index.AppDailyVo;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.jlzx.oa.api.form.FileNumVo;
|
||||
import com.yxt.jlzx.oa.api.form.FormSelectLinkDto;
|
||||
import com.yxt.jlzx.oa.api.formjournal.FormJournal;
|
||||
import com.yxt.jlzx.oa.api.formjournal.FormJournalQuery;
|
||||
import com.yxt.jlzx.oa.api.formjournal.FormJournalVo;
|
||||
import com.yxt.jlzx.oa.biz.form.IFormService;
|
||||
|
||||
@Service("71800412-6488-4453-8034-27bd824337de")
|
||||
public class FormJournalService extends MybatisBaseService<FormJournalMapper, FormJournal> implements IFormService{
|
||||
|
||||
// 分页列表
|
||||
public IPage<FormJournalVo> pageList(PagerQuery<FormJournalQuery> pagerQuery) {
|
||||
//mybits所用的分页对对象
|
||||
IPage<FormJournalQuery> page = PagerUtil.queryToPage(pagerQuery);
|
||||
//mybits所用的查询条件封装类
|
||||
QueryWrapper<FormJournalVo> qw = buildQueryWrapper(pagerQuery.getParams());
|
||||
return baseMapper.pageList(page, qw);
|
||||
|
||||
}
|
||||
|
||||
// 不分页列表
|
||||
public List<FormJournalVo> list(FormJournalQuery pagerQuery) {
|
||||
|
||||
// mybits所用的查询条件封装类
|
||||
QueryWrapper<FormJournalVo> qw = buildQueryWrapper(pagerQuery);
|
||||
return baseMapper.list(qw);
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析和组装查询条件,封装在qw中,虚方法,需要在子类中定义具体实现
|
||||
* @param pagerQuery
|
||||
* @return
|
||||
*/
|
||||
|
||||
private QueryWrapper<FormJournalVo> buildQueryWrapper(FormJournalQuery pagerQuery)
|
||||
{
|
||||
QueryWrapper<FormJournalVo> qw = new QueryWrapper<FormJournalVo>();
|
||||
if (pagerQuery != null) {
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery
|
||||
.getCreateDeptSid()))
|
||||
qw.eq("createDeptSid", pagerQuery.getCreateDeptSid());
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery
|
||||
.getProcessSid()))
|
||||
qw.eq("processSid", pagerQuery.getProcessSid());
|
||||
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery
|
||||
.getProcessSid()))
|
||||
qw.eq("createOrgSid", pagerQuery.getCreateOrgSid());
|
||||
|
||||
qw.orderByDesc("createTime");
|
||||
}
|
||||
|
||||
return qw;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取动态表单
|
||||
* @param sid
|
||||
* @return
|
||||
*/
|
||||
|
||||
public Map<String,Object> getFormItemsVo(String sid)
|
||||
{
|
||||
|
||||
FormJournal t=fetchBySid(sid);
|
||||
if(null==t)
|
||||
return null;
|
||||
FormJournalVo vo=new FormJournalVo();
|
||||
vo.fromEntity(t);
|
||||
return vo.toFormItemsMap();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getMaxFileNum(com.yxt.jlzx.oa.api.form.MaxFileNumDto dto) {
|
||||
int i=0;
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
|
||||
Date date = new Date();
|
||||
String year=sdf.format(date);
|
||||
String str1=year+"年第";
|
||||
Map<String,Object> map=new HashMap<String,Object>();
|
||||
map.put("str1", str1);
|
||||
FileNumVo vo=baseMapper.getMaxFileNum(map);
|
||||
String filenum1="";
|
||||
if(vo!=null) {
|
||||
filenum1=vo.getFilenum();
|
||||
if(StringUtils.isNoneBlank(filenum1)) {
|
||||
filenum1=filenum1.replace(str1, "");
|
||||
filenum1=filenum1.replace("期", "");
|
||||
try{
|
||||
i=Integer.parseInt(filenum1)+1;
|
||||
filenum1=str1+i+"期";
|
||||
}catch(NumberFormatException e){
|
||||
System.out.println("异常:\""+filenum1 + "\"不是数字/整数...");
|
||||
}
|
||||
}else {
|
||||
filenum1=str1+"1期";
|
||||
}
|
||||
}else {
|
||||
filenum1=str1+"1期";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
map.clear();
|
||||
map.put("filenum1", filenum1);
|
||||
return map;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppDailyVo isSave(AppDailyDto appDailyDto) {
|
||||
AppDailyVo appDailyVo = new AppDailyVo();
|
||||
return appDailyVo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppDailyVo update(AppDailyDto appDailyDto) throws Exception {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getNewFormItemsVo() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getEditFormItemsVo(String formSid) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getLinkAge(FormSelectLinkDto dto) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,182 @@
|
||||
package com.yxt.jlzx.oa.biz.formjsw;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.config.component.FileUploadComponent;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.FilesappendixVo;
|
||||
import com.yxt.jlzx.oa.api.form.FormDto;
|
||||
import com.yxt.jlzx.oa.api.form.FormResultVo;
|
||||
import com.yxt.jlzx.oa.api.formjsw.*;
|
||||
import com.yxt.jlzx.oa.biz.filesappendix.FilesappendixService;
|
||||
import com.yxt.jlzx.oa.biz.work.WorkService;
|
||||
import com.yxt.jlzx.oa.biz.workflow.WorkFlowService;
|
||||
import com.yxt.jlzx.system.api.user.UserApi;
|
||||
import com.yxt.jlzx.system.api.user.UserInfoVo;
|
||||
import com.yxt.workflow.api.task.WfTaskVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author yxt_mtl
|
||||
* @date 2020/9/29 13:30
|
||||
* @description 角色信息
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("v1/formjsws")
|
||||
@Api(tags = "收文表单")
|
||||
public class FormJswApiImpl implements FormJswApi {
|
||||
@Autowired
|
||||
private FormJswService service;
|
||||
@Autowired
|
||||
private WorkFlowService wfservice;
|
||||
@Autowired
|
||||
private FilesappendixService filesappendixservice;
|
||||
@Autowired
|
||||
private WorkService workService;
|
||||
@Autowired
|
||||
private UserApi userApi;
|
||||
|
||||
//2021.10.08
|
||||
@Autowired
|
||||
private FileUploadComponent fileUploadComponent;
|
||||
|
||||
@Override
|
||||
public ResultBean<List<FormJswVo>> list(FormJswQuery query) {
|
||||
ResultBean<List<FormJswVo>> resultBean = ResultBean.fireFail();
|
||||
List<FormJswVo> list = service.list(query);
|
||||
if (null == list)
|
||||
return resultBean;
|
||||
return resultBean.success().setData(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<PagerVo<FormJswVo>> pageList(
|
||||
PagerQuery<FormJswQuery> pagerQuery) {
|
||||
ResultBean<PagerVo<FormJswVo>> rb = ResultBean.fireFail();
|
||||
|
||||
IPage<FormJswVo> page = service.pageList(pagerQuery);
|
||||
|
||||
// 把Ipage转换为PageVo
|
||||
PagerVo<FormJswVo> pv_result = PagerUtil.pageToVo(page, null);
|
||||
|
||||
return rb.success().setData(pv_result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<FormResultVo> save(FormJswDto dto) {
|
||||
ResultBean<FormResultVo> resultBean = ResultBean.fireFail();
|
||||
FormResultVo formResultVo = new FormResultVo();
|
||||
// 首次保存,二次修改
|
||||
if (!dto.getFormSid().equals("")) {
|
||||
if (update(dto, dto.getFormSid()).getSuccess())
|
||||
return resultBean.success().setData(formResultVo);
|
||||
else
|
||||
return resultBean.setData(null);
|
||||
|
||||
}
|
||||
FormJsw t = new FormJsw();
|
||||
|
||||
// 开始流程
|
||||
dto.setFormSid(t.getSid());
|
||||
WfTaskVo taskVo = wfservice.startProcess((FormDto) dto);
|
||||
if (taskVo == null)
|
||||
return resultBean.setData(null);
|
||||
|
||||
dto.fillEntity(t);
|
||||
t.setOrderSid(taskVo.getOrderSid());
|
||||
UserInfoVo userInfoVo = userApi.fetchUserInfoBysid(t.getCreateBySid()).getData();
|
||||
if (null != userInfoVo)
|
||||
t.setCreateOrgSid(userInfoVo.getOrganizationSid());
|
||||
if (service.save(t)) {
|
||||
filesappendixservice.uploadFiles(dto.getFilePathlist(), t.getSid(),
|
||||
t.getClass().getSimpleName());
|
||||
formResultVo.setFormSid(t.getSid());
|
||||
formResultVo.setTaskSid(taskVo.getTaskSid());
|
||||
return resultBean.success().setData(formResultVo);
|
||||
}
|
||||
return resultBean.setData(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<String> update(FormJswDto dto, String sid) {
|
||||
ResultBean<String> rb = ResultBean.fireFail();
|
||||
FormJsw t = service.fetchBySid(sid);
|
||||
if (null == t)
|
||||
return rb.setMsg("该记录不存在").setData("");
|
||||
|
||||
if (0 == service.updateBySid(dto.toMap(), sid))
|
||||
return rb.setData("");
|
||||
// 修改流程实例中的title和紧急紧急程度
|
||||
dto.setOrderSid(t.getOrderSid());
|
||||
if (wfservice.updateMfOrderFormInfo((FormDto) dto)) {
|
||||
filesappendixservice.reUploadFiles(dto.getFilePathlist(),
|
||||
t.getSid(), t.getClass().getSimpleName());
|
||||
return rb.success().setData(sid);
|
||||
}
|
||||
return rb.setData("");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean delete(String sid) {
|
||||
FormJsw t = service.fetchBySid(sid);
|
||||
if (null == t)
|
||||
return ResultBean.fireFail().setMsg("该记录不存在");
|
||||
if (0 == service.deleteBySid(sid))
|
||||
return ResultBean.fireFail();
|
||||
filesappendixservice.deleteByLinkSid(sid);
|
||||
return ResultBean.fireSuccess();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<FormJswVo> getVo(String sid) {
|
||||
ResultBean<FormJswVo> resultBean = ResultBean.fireFail();
|
||||
FormJsw t = service.fetchBySid(sid);
|
||||
if (null == t)
|
||||
return resultBean;
|
||||
FormJswVo vo = new FormJswVo();
|
||||
vo.fromEntity(t);
|
||||
List<FilesappendixVo> list_appendix = filesappendixservice
|
||||
.queryBylinkSid(sid);
|
||||
vo.setFilePathlist(list_appendix);
|
||||
//2021.10.08 添加本地pdf的保存路径
|
||||
if(t.getPdfFilePath()!=null && t.getPdfFilePath().length()>0){
|
||||
String pdfPath=fileUploadComponent.getUrlPrefix().replace("upload", "oapdf");
|
||||
vo.setLocalhostpdfFilePath(pdfPath+t.getPdfFilePath());
|
||||
}else{
|
||||
vo.setLocalhostpdfFilePath("");
|
||||
}
|
||||
|
||||
return resultBean.success().setData(vo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取收文审批笺
|
||||
*/
|
||||
@Override
|
||||
public ResultBean<FormJswRedHeadPaperVo> getRedHeadPaper(String formSid) {
|
||||
ResultBean<FormJswRedHeadPaperVo> resultBean = ResultBean.fireFail();
|
||||
FormJsw t = service.fetchBySid(formSid);
|
||||
if (null == t)
|
||||
return resultBean;
|
||||
FormJswRedHeadPaperVo vo = new FormJswRedHeadPaperVo();
|
||||
vo.fromEntity(t);
|
||||
// 办理结果
|
||||
vo.setResult("");
|
||||
// 分发情况
|
||||
vo.setSendersInfo("");
|
||||
|
||||
vo.setLeaderOpinions(workService.getOpinioRows(t.getOrderSid(),
|
||||
"单位领导批阅"));
|
||||
vo.setNbOpinions(workService.getOpinioRows(t.getOrderSid(), "办公室主任批示"));
|
||||
|
||||
return resultBean.success().setData(vo);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.yxt.jlzx.oa.biz.formjsw;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.yxt.jlzx.oa.api.form.FileNumVo;
|
||||
import com.yxt.jlzx.oa.api.formjsw.FormJsw;
|
||||
import com.yxt.jlzx.oa.api.formjsw.FormJswQuery;
|
||||
import com.yxt.jlzx.oa.api.formjsw.FormJswVo;
|
||||
@Mapper
|
||||
public interface FormJswMapper extends BaseMapper<FormJsw>{
|
||||
//分页列表
|
||||
IPage<FormJswVo> pageList(IPage<FormJswQuery> page,@Param(Constants.WRAPPER) Wrapper<FormJswVo> qw);
|
||||
List<FormJswVo> list(@Param(Constants.WRAPPER) QueryWrapper<FormJswVo> qw);
|
||||
List<FileNumVo> getMaxFileNum(String ruleName);
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.jlzx.oa.biz.formjsw.FormJswMapper">
|
||||
<select id="pageList" resultType="com.yxt.jlzx.oa.api.formjsw.FormJswVo">
|
||||
select * from form_jsw
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="list" resultType="com.yxt.jlzx.oa.api.formjsw.FormJswVo">
|
||||
select * from form_jsw
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<!-- <select id="getMaxFileNum" resultType="com.yxt.jlzx.oa.api.form.FileNumVo">
|
||||
SELECT
|
||||
(SELECT fileNum FROM form_jsw WHERE id IN( SELECT MAX(id) FROM `form_jsw` WHERE fileNum LIKE concat("%",#{ruleName},"%")))filenum
|
||||
FROM
|
||||
form_jsw f LIMIT 1
|
||||
</select> -->
|
||||
|
||||
<select id="getMaxFileNum" resultType="com.yxt.jlzx.oa.api.form.FileNumVo">
|
||||
SELECT fileNum FROM form_jsw
|
||||
where fileNum LIKE concat("%",#{ruleName},"%")
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,241 @@
|
||||
package com.yxt.jlzx.oa.biz.formjsw;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.yxt.jlzx.oa.api.index.AppDailyDto;
|
||||
import com.yxt.jlzx.oa.api.index.AppDailyVo;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.jlzx.jlcyry.api.datadictionary.DictCommonVo;
|
||||
import com.yxt.jlzx.oa.api.form.FileNumVo;
|
||||
import com.yxt.jlzx.oa.api.form.FormSelectLinkDto;
|
||||
import com.yxt.jlzx.oa.api.formjournal.FormJournal;
|
||||
import com.yxt.jlzx.oa.api.formjournal.FormJournalVo;
|
||||
import com.yxt.jlzx.oa.api.formjsw.FormJsw;
|
||||
import com.yxt.jlzx.oa.api.formjsw.FormJswQuery;
|
||||
import com.yxt.jlzx.oa.api.formjsw.FormJswVo;
|
||||
import com.yxt.jlzx.oa.biz.form.IFormService;
|
||||
import com.yxt.jlzx.system.api.filenumrule.FilenumruleApi;
|
||||
import com.yxt.jlzx.system.api.filenumrule.FilenumruleOneVo;
|
||||
|
||||
@Service("c8cc5917-a835-47ee-99aa-8ee34385fd82")
|
||||
public class FormJswService extends MybatisBaseService<FormJswMapper, FormJsw> implements IFormService{
|
||||
@Autowired
|
||||
private FilenumruleApi filenumruleApi;
|
||||
// 分页列表
|
||||
public IPage<FormJswVo> pageList(PagerQuery<FormJswQuery> pagerQuery) {
|
||||
// mybits所用的分页对对象
|
||||
IPage<FormJswQuery> page = PagerUtil.queryToPage(pagerQuery);
|
||||
// mybits所用的查询条件封装类
|
||||
QueryWrapper<FormJswVo> qw = buildQueryWrapper(pagerQuery.getParams());
|
||||
return baseMapper.pageList(page, qw);
|
||||
|
||||
}
|
||||
|
||||
// 不分页列表
|
||||
public List<FormJswVo> list(FormJswQuery pagerQuery) {
|
||||
|
||||
// mybits所用的查询条件封装类
|
||||
QueryWrapper<FormJswVo> qw = buildQueryWrapper(pagerQuery);
|
||||
return baseMapper.list(qw);
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析和组装查询条件,封装在qw中,虚方法,需要在子类中定义具体实现
|
||||
* @param pagerQuery
|
||||
* @return
|
||||
*/
|
||||
|
||||
private QueryWrapper<FormJswVo> buildQueryWrapper(FormJswQuery pagerQuery)
|
||||
{
|
||||
QueryWrapper<FormJswVo> qw = new QueryWrapper<FormJswVo>();
|
||||
if (pagerQuery != null) {
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery
|
||||
.getCreateDeptSid()))
|
||||
qw.eq("createDeptSid", pagerQuery.getCreateDeptSid());
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery
|
||||
.getProcessSid()))
|
||||
qw.eq("processSid", pagerQuery.getProcessSid());
|
||||
|
||||
if (null!=pagerQuery.getReceiveTime() && org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery
|
||||
.getReceiveTime()))
|
||||
qw.eq("receiveTime", pagerQuery.getReceiveTime());
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery.getCreaterName()))
|
||||
qw.eq("createrName", pagerQuery.getCreaterName());
|
||||
qw.orderByDesc("createTime");
|
||||
}
|
||||
|
||||
return qw;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取动态表单
|
||||
* @param sid
|
||||
* @return
|
||||
*/
|
||||
|
||||
public Map<String,Object> getFormItemsVo(String sid){
|
||||
FormJsw t=fetchBySid(sid);
|
||||
if(null==t)
|
||||
return null;
|
||||
FormJswVo vo=new FormJswVo();
|
||||
vo.fromEntity(t);
|
||||
return vo.toFormItemsMap();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getMaxFileNum(com.yxt.jlzx.oa.api.form.MaxFileNumDto dto) {
|
||||
String processSid=dto.getProcessSid();
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
|
||||
Date date = new Date();
|
||||
String year=sdf.format(date);
|
||||
ResultBean<List<FilenumruleOneVo>> bean = filenumruleApi.getVoByProcessSid(processSid);
|
||||
List<FilenumruleOneVo> list=bean.getData();
|
||||
Map<String,Object> map=new HashMap<String,Object>();
|
||||
String filenum="";
|
||||
String ruleName="〔"+year+"〕";
|
||||
String startNum="";
|
||||
if(list!=null&&list.size()>0) {
|
||||
for (int i = 0; i< list.size();i++) {
|
||||
startNum=list.get(i).getStartNumber();
|
||||
List<FileNumVo> voList=baseMapper.getMaxFileNum(ruleName);//通过编号规则模糊查询数据库中数据
|
||||
List<Integer> filenumList=new ArrayList<Integer>();
|
||||
if(voList!=null&&voList.size()>0) {//遍历这些数据,查询数据最中大的一条,在最大一条数据中加1
|
||||
for(int s=0;s<voList.size();s++) {
|
||||
filenum=voList.get(s).getFilenum();
|
||||
if(StringUtils.isNoneBlank(filenum)) {
|
||||
filenum=filenum.replace(ruleName, "");
|
||||
filenum=filenum.replace("号", "");
|
||||
try{
|
||||
int j=Integer.parseInt(filenum);
|
||||
filenumList.add(j);//将查询的编号添加到list中,在list中通过Collections.max(filenumList)方法获取最大一条
|
||||
}catch(NumberFormatException e){
|
||||
System.out.println("异常:\""+filenum + "\"不是数字/整数...");
|
||||
}
|
||||
}
|
||||
}
|
||||
int j= Collections.max(filenumList);//获取最大一条
|
||||
j=j+1;//最大一条+1
|
||||
filenum=ruleName+j+"号";
|
||||
|
||||
}else {
|
||||
if((startNum).equals("")) {
|
||||
filenum=ruleName+"1号";
|
||||
}else {
|
||||
try{
|
||||
int j=Integer.parseInt(startNum);
|
||||
filenum=ruleName+j+"号";
|
||||
}catch(NumberFormatException e){
|
||||
System.out.println("异常:\""+filenum + "\"不是数字/整数...");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
map.put("filenum"+(i+1), filenum);
|
||||
}
|
||||
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
// @Override
|
||||
// public Map<String, Object> getMaxFileNum(String processSid) {
|
||||
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
|
||||
// Date date = new Date();
|
||||
// String year=sdf.format(date);
|
||||
// ResultBean<List<FilenumruleOneVo>> bean = filenumruleApi.getVoByProcessSid(processSid);//查询编号规则都有哪些
|
||||
// List<FilenumruleOneVo> list=bean.getData();
|
||||
// Map<String,Object> map=new HashMap<String,Object>();
|
||||
// String filenum="";
|
||||
// List<DictCommonVo> list1= new ArrayList<DictCommonVo>();
|
||||
// if(list!=null&&list.size()>0) {//遍历编号规则,查询数据库中编号规则
|
||||
// for (int i = 0; i< list.size();i++) {
|
||||
// String ruleName=list.get(i).getRuleName();
|
||||
// if(StringUtils.isNotBlank(ruleName)) {
|
||||
// ruleName=ruleName+"〔"+year+"〕";
|
||||
// List<FileNumVo> voList=baseMapper.getMaxFileNum(ruleName);//通过编号规则模糊查询数据库中数据
|
||||
// List<Integer> filenumList=new ArrayList<Integer>();
|
||||
// if(voList!=null&&voList.size()>0) {//遍历这些数据,查询数据最中大的一条,在最大一条数据中加1
|
||||
// for(int s=0;s<voList.size();s++) {
|
||||
// filenum=voList.get(s).getFilenum();
|
||||
// if(StringUtils.isNoneBlank(filenum)) {
|
||||
// filenum=filenum.replace(ruleName, "");
|
||||
// filenum=filenum.replace("号", "");
|
||||
// try{
|
||||
// int j=Integer.parseInt(filenum);
|
||||
// filenumList.add(j);//将查询的编号添加到list中,在list中通过Collections.max(filenumList)方法获取最大一条
|
||||
// }catch(NumberFormatException e){
|
||||
// System.out.println("异常:\""+filenum + "\"不是数字/整数...");
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// int j= Collections.max(filenumList);//获取最大一条
|
||||
// j=j+1;//最大一条+1
|
||||
// filenum=ruleName+j+"号";
|
||||
//
|
||||
// }else {
|
||||
// filenum=ruleName+"1号";
|
||||
// }
|
||||
//
|
||||
// // map.put("filenum"+(i+1), filenum);
|
||||
// DictCommonVo vo1=new DictCommonVo();
|
||||
// vo1.setDictValue(filenum);
|
||||
// list1.add(vo1);
|
||||
// }
|
||||
//
|
||||
// }
|
||||
//
|
||||
// }
|
||||
//
|
||||
//
|
||||
// map.put("list",list1);
|
||||
// return map;
|
||||
// }
|
||||
|
||||
|
||||
@Override
|
||||
public AppDailyVo isSave(AppDailyDto appDailyDto) {
|
||||
AppDailyVo appDailyVo = new AppDailyVo();
|
||||
return appDailyVo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppDailyVo update(AppDailyDto appDailyDto) throws Exception {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getNewFormItemsVo() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getEditFormItemsVo(String formSid) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getLinkAge(FormSelectLinkDto dto) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,181 @@
|
||||
package com.yxt.jlzx.oa.biz.formqkbg;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.config.component.FileUploadComponent;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.FilesappendixVo;
|
||||
import com.yxt.jlzx.oa.api.form.FormDto;
|
||||
import com.yxt.jlzx.oa.api.form.FormResultVo;
|
||||
import com.yxt.jlzx.oa.api.formqkbg.*;
|
||||
import com.yxt.jlzx.oa.biz.filesappendix.FilesappendixService;
|
||||
import com.yxt.jlzx.oa.biz.work.WorkService;
|
||||
import com.yxt.jlzx.oa.biz.workflow.WorkFlowService;
|
||||
import com.yxt.jlzx.system.api.user.UserApi;
|
||||
import com.yxt.jlzx.system.api.user.UserInfoVo;
|
||||
import com.yxt.workflow.api.task.WfTaskVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @author hanweijia
|
||||
* @date 2020/9/19
|
||||
* @description
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("v1/formqkbgs")
|
||||
@Api(tags = "情况报告表单")
|
||||
public class FormQkbgApiImpl implements FormQkbgApi {
|
||||
@Autowired
|
||||
private FormQkbgService service;
|
||||
@Autowired
|
||||
private WorkFlowService wfservice;
|
||||
@Autowired
|
||||
private FilesappendixService filesappendixservice;
|
||||
@Autowired
|
||||
private FileUploadComponent fileUploadComponent;
|
||||
@Autowired
|
||||
private UserApi userApi;
|
||||
|
||||
@Autowired
|
||||
private WorkService workService;
|
||||
|
||||
@Override
|
||||
public ResultBean<List<FormQkbgVo>> list(FormQkbgQuery query) {
|
||||
ResultBean<List<FormQkbgVo>> resultBean = ResultBean.fireFail();
|
||||
List<FormQkbgVo> list = service.list(query);
|
||||
if (null == list) {
|
||||
return resultBean;
|
||||
}
|
||||
return resultBean.success().setData(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<PagerVo<FormQkbgVo>> pageList(PagerQuery<FormQkbgQuery> pagerQuery) {
|
||||
ResultBean<PagerVo<FormQkbgVo>> rb = ResultBean.fireFail();
|
||||
|
||||
|
||||
IPage<FormQkbgVo> page = service.pageList(pagerQuery);
|
||||
|
||||
//把Ipage转换为PageVo
|
||||
PagerVo<FormQkbgVo> pv_result = PagerUtil.pageToVo(page, null);
|
||||
|
||||
return rb.success().setData(pv_result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<FormResultVo> save(FormQkbgDto dto) {
|
||||
ResultBean<FormResultVo> resultBean = ResultBean.fireFail();
|
||||
FormResultVo formResultVo = new FormResultVo();
|
||||
// 首次保存,二次修改
|
||||
if (!dto.getFormSid().equals("")) {
|
||||
if (update(dto, dto.getFormSid()).getSuccess()) {
|
||||
formResultVo.setFormSid(dto.getFormSid());
|
||||
return resultBean.success().setData(formResultVo);
|
||||
} else {
|
||||
return resultBean.setData(null);
|
||||
}
|
||||
|
||||
}
|
||||
FormQkbg t = new FormQkbg();
|
||||
|
||||
// 开始流程
|
||||
dto.setFormSid(t.getSid());
|
||||
WfTaskVo taskVo = wfservice.startProcess((FormDto) dto);
|
||||
if (taskVo == null) {
|
||||
return resultBean.setData(null);
|
||||
}
|
||||
|
||||
dto.fillEntity(t);
|
||||
t.setOrderSid(taskVo.getOrderSid());
|
||||
UserInfoVo userInfoVo = userApi.fetchUserInfoBysid(t.getCreateBySid()).getData();
|
||||
if (null != userInfoVo) {
|
||||
t.setCreateOrgSid(userInfoVo.getOrganizationSid());
|
||||
}
|
||||
if (service.save(t)) {
|
||||
filesappendixservice.uploadFiles(dto.getFilePathlist(), t.getSid(),
|
||||
t.getClass().getSimpleName());
|
||||
formResultVo.setFormSid(t.getSid());
|
||||
formResultVo.setTaskSid(taskVo.getTaskSid());
|
||||
return resultBean.success().setData(formResultVo);
|
||||
}
|
||||
return resultBean.setData(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<String> update(FormQkbgDto dto, String sid) {
|
||||
ResultBean<String> rb = ResultBean.fireFail();
|
||||
FormQkbg t = service.fetchBySid(sid);
|
||||
if (null == t)
|
||||
return rb.setMsg("该记录不存在").setData("");
|
||||
|
||||
if (0 == service.updateBySid(dto.toMap(), sid)) {
|
||||
return rb.setData("");
|
||||
}
|
||||
// 修改流程实例中的title和紧急紧急程度
|
||||
dto.setOrderSid(t.getOrderSid());
|
||||
if (wfservice.updateMfOrderFormInfo((FormDto) dto)) {
|
||||
filesappendixservice.reUploadFiles(dto.getFilePathlist(),
|
||||
t.getSid(), t.getClass().getSimpleName());
|
||||
return rb.success().setData(sid);
|
||||
}
|
||||
return rb.setData("");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean delete(String sid) {
|
||||
FormQkbg t = service.fetchBySid(sid);
|
||||
if (null == t) {
|
||||
return ResultBean.fireFail().setMsg("该记录不存在");
|
||||
}
|
||||
if (0 == service.deleteBySid(sid)) {
|
||||
return ResultBean.fireFail();
|
||||
}
|
||||
filesappendixservice.deleteByLinkSid(sid);
|
||||
return ResultBean.fireSuccess();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<FormQkbgVo> getVo(String sid) {
|
||||
ResultBean<FormQkbgVo> resultBean = ResultBean.fireFail();
|
||||
FormQkbg t = service.fetchBySid(sid);
|
||||
if (null == t) {
|
||||
return resultBean;
|
||||
}
|
||||
FormQkbgVo vo = new FormQkbgVo();
|
||||
vo.fromEntity(t);
|
||||
List<FilesappendixVo> list_appendix = filesappendixservice
|
||||
.queryBylinkSid(sid);
|
||||
vo.setFilePathlist(list_appendix);
|
||||
//2021.10.08 添加本地pdf的保存路径
|
||||
if(t.getPdfFilePath()!=null && t.getPdfFilePath().length()>0){
|
||||
String pdfPath=fileUploadComponent.getUrlPrefix().replace("upload", "oapdf");
|
||||
vo.setLocalhostpdfFilePath(pdfPath+t.getPdfFilePath());
|
||||
}else{
|
||||
vo.setLocalhostpdfFilePath("");
|
||||
}
|
||||
|
||||
return resultBean.success().setData(vo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<FormQkbgHeadPaperVo> getRedHeadPaper(String formSid) {
|
||||
ResultBean<FormQkbgHeadPaperVo> resultBean = ResultBean.fireFail();
|
||||
FormQkbg t = service.fetchBySid(formSid);
|
||||
if (null == t) {
|
||||
return resultBean;
|
||||
}
|
||||
FormQkbgHeadPaperVo vo = new FormQkbgHeadPaperVo();
|
||||
vo.fromEntity(t);
|
||||
vo.setIssueOpinions(workService.getOpinioRows(t.getOrderSid(), "单位领导批示"));
|
||||
vo.setDeptOpinions(workService.getOpinioRows(t.getOrderSid(), "部门负责人审核"));
|
||||
return resultBean.success().setData(vo);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.yxt.jlzx.oa.biz.formqkbg;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.yxt.jlzx.oa.api.formqkbg.FormQkbg;
|
||||
import com.yxt.jlzx.oa.api.formqkbg.FormQkbgQuery;
|
||||
import com.yxt.jlzx.oa.api.formqkbg.FormQkbgVo;
|
||||
@Mapper
|
||||
public interface FormQkbgMapper extends BaseMapper<FormQkbg>{
|
||||
//分页列表
|
||||
IPage<FormQkbgVo> pageList(IPage<FormQkbgQuery> page,@Param(Constants.WRAPPER) Wrapper<FormQkbgVo> qw);
|
||||
List<FormQkbgVo> list(@Param(Constants.WRAPPER) QueryWrapper<FormQkbgVo> qw);
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.jlzx.oa.biz.formqkbg.FormQkbgMapper">
|
||||
<select id="pageList" resultType="com.yxt.jlzx.oa.api.formqkbg.FormQkbgVo">
|
||||
select * from form_qkbg
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="list" resultType="com.yxt.jlzx.oa.api.formqkbg.FormQkbgVo">
|
||||
select * from form_qkbg
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,120 @@
|
||||
package com.yxt.jlzx.oa.biz.formqkbg;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.yxt.jlzx.oa.api.index.AppDailyDto;
|
||||
import com.yxt.jlzx.oa.api.index.AppDailyVo;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.jlzx.oa.api.form.FormSelectLinkDto;
|
||||
import com.yxt.jlzx.oa.api.formqkbg.FormQkbg;
|
||||
import com.yxt.jlzx.oa.api.formqkbg.FormQkbgQuery;
|
||||
import com.yxt.jlzx.oa.api.formqkbg.FormQkbgVo;
|
||||
import com.yxt.jlzx.oa.biz.form.IFormService;
|
||||
|
||||
|
||||
@Service("000004")
|
||||
public class FormQkbgService extends MybatisBaseService<FormQkbgMapper, FormQkbg> implements IFormService{
|
||||
|
||||
// 分页列表
|
||||
public IPage<FormQkbgVo> pageList(PagerQuery<FormQkbgQuery> pagerQuery) {
|
||||
// mybits所用的分页对对象
|
||||
IPage<FormQkbgQuery> page = PagerUtil.queryToPage(pagerQuery);
|
||||
// mybits所用的查询条件封装类
|
||||
QueryWrapper<FormQkbgVo> qw = buildQueryWrapper(pagerQuery.getParams());
|
||||
return baseMapper.pageList(page, qw);
|
||||
|
||||
}
|
||||
|
||||
// 不分页列表
|
||||
public List<FormQkbgVo> list(FormQkbgQuery pagerQuery) {
|
||||
|
||||
// mybits所用的查询条件封装类
|
||||
QueryWrapper<FormQkbgVo> qw = buildQueryWrapper(pagerQuery);
|
||||
return baseMapper.list(qw);
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析和组装查询条件,封装在qw中,虚方法,需要在子类中定义具体实现
|
||||
* @param pagerQuery
|
||||
* @return
|
||||
*/
|
||||
|
||||
private QueryWrapper<FormQkbgVo> buildQueryWrapper(FormQkbgQuery pagerQuery)
|
||||
{
|
||||
QueryWrapper<FormQkbgVo> qw = new QueryWrapper<FormQkbgVo>();
|
||||
if (pagerQuery != null) {
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery
|
||||
.getCreateDeptSid()))
|
||||
qw.eq("createDeptSid", pagerQuery.getCreateDeptSid());
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery
|
||||
.getProcessSid()))
|
||||
qw.eq("processSid", pagerQuery.getProcessSid());
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery.getCreaterName()))
|
||||
qw.eq("createrName", pagerQuery.getCreaterName());
|
||||
qw.orderByDesc("createTime");
|
||||
}
|
||||
|
||||
return qw;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取动态表单
|
||||
* @param sid
|
||||
* @return
|
||||
*/
|
||||
|
||||
public Map<String,Object> getFormItemsVo(String sid)
|
||||
{
|
||||
|
||||
FormQkbg t=fetchBySid(sid);
|
||||
if(null==t)
|
||||
return null;
|
||||
FormQkbgVo vo=new FormQkbgVo();
|
||||
vo.fromEntity(t);
|
||||
return vo.toFormItemsMap();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getMaxFileNum(com.yxt.jlzx.oa.api.form.MaxFileNumDto dto) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppDailyVo isSave(AppDailyDto appDailyDto) {
|
||||
AppDailyVo appDailyVo = new AppDailyVo();
|
||||
return appDailyVo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppDailyVo update(AppDailyDto appDailyDto) throws Exception {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getNewFormItemsVo() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getEditFormItemsVo(String formSid) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getLinkAge(FormSelectLinkDto dto) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.yxt.jlzx.oa.biz.formtzgg;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.jlzx.jlcyry.api.staffinfo.StaffUnitVo;
|
||||
import com.yxt.jlzx.oa.api.formtzgg.AppFormTzgg.AppFormTzggQuery;
|
||||
import com.yxt.jlzx.oa.api.formtzgg.AppFormTzgg.AppFormTzggVo;
|
||||
import com.yxt.jlzx.oa.api.formtzgg.AppFormTzggApi;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2020/11/12 9:47
|
||||
* @description
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("v1/appformtzggs")
|
||||
@Api(tags = "app-通知公告")
|
||||
public class AppFormTzggApiImpl implements AppFormTzggApi {
|
||||
|
||||
@Autowired
|
||||
private FormTzggService formTzggService;
|
||||
|
||||
@Override
|
||||
public ResultBean<PagerVo<AppFormTzggVo>> formTzggPageList(PagerQuery<AppFormTzggQuery> pagerQuery) {
|
||||
ResultBean<PagerVo<AppFormTzggVo>> rb = ResultBean.fireFail();
|
||||
PagerVo<AppFormTzggVo> pv = new PagerVo<>();
|
||||
IPage<AppFormTzggVo> p2 = formTzggService.formTzggPageList(pagerQuery);
|
||||
PagerVo<AppFormTzggVo> pv1 = PagerUtil.pageToVo(p2, pv);
|
||||
return rb.success().setData(pv1);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,166 @@
|
||||
package com.yxt.jlzx.oa.biz.formtzgg;
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.config.component.FileUploadComponent;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.Filesappendix;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.FilesappendixVo;
|
||||
import com.yxt.jlzx.oa.api.form.FormDto;
|
||||
import com.yxt.jlzx.oa.api.form.FormResultVo;
|
||||
import com.yxt.jlzx.oa.api.formtzgg.FormTzgg;
|
||||
import com.yxt.jlzx.oa.api.formtzgg.FormTzggApi;
|
||||
import com.yxt.jlzx.oa.api.formtzgg.FormTzggDto;
|
||||
import com.yxt.jlzx.oa.api.formtzgg.FormTzggQuery;
|
||||
import com.yxt.jlzx.oa.api.formtzgg.FormTzggVo;
|
||||
import com.yxt.jlzx.oa.biz.filesappendix.FilesappendixService;
|
||||
import com.yxt.jlzx.oa.biz.workflow.WorkFlowService;
|
||||
import com.yxt.jlzx.system.api.user.UserApi;
|
||||
import com.yxt.jlzx.system.api.user.UserInfoVo;
|
||||
import com.yxt.workflow.api.task.WfTaskVo;
|
||||
|
||||
/**
|
||||
* @author yxt_mtl
|
||||
* @date 2020/9/29 13:30
|
||||
* @description 角色信息
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("v1/formtzggs")
|
||||
@Api(tags = "通知公告表单")
|
||||
public class FormTzggApiImpl implements FormTzggApi {
|
||||
@Autowired
|
||||
private FormTzggService service;
|
||||
@Autowired
|
||||
private WorkFlowService wfservice;
|
||||
@Autowired
|
||||
private FilesappendixService filesappendixservice;
|
||||
@Autowired
|
||||
private FileUploadComponent fileUploadComponent;
|
||||
@Autowired
|
||||
private UserApi userApi;
|
||||
@Override
|
||||
public ResultBean<List<FormTzggVo>> list(FormTzggQuery query) {
|
||||
ResultBean<List<FormTzggVo>> resultBean = ResultBean.fireFail();
|
||||
List<FormTzggVo> list = service.list(query);
|
||||
if (null == list)
|
||||
return resultBean;
|
||||
return resultBean.success().setData(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<PagerVo<FormTzggVo>> pageList(
|
||||
PagerQuery<FormTzggQuery> pagerQuery) {
|
||||
ResultBean<PagerVo<FormTzggVo>> rb = ResultBean.fireFail();
|
||||
|
||||
UserInfoVo userInfoVo = userApi.fetchUserInfoBysid(pagerQuery.getParams().getCreateBySid()).getData();
|
||||
if (userInfoVo!=null){
|
||||
//判断是不是管理员是的话显示所有
|
||||
if (userInfoVo.getIsAdmin()==1){
|
||||
pagerQuery.getParams().setCreateBySid("");
|
||||
}
|
||||
}
|
||||
IPage<FormTzggVo> page = service.pageList(pagerQuery);
|
||||
|
||||
// 把Ipage转换为PageVo
|
||||
PagerVo<FormTzggVo> pv_result = PagerUtil.pageToVo(page, null);
|
||||
|
||||
return rb.success().setData(pv_result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<FormResultVo> save(FormTzggDto dto) {
|
||||
ResultBean<FormResultVo> resultBean=ResultBean.fireFail();
|
||||
FormResultVo formResultVo = new FormResultVo();
|
||||
// 首次保存,二次修改
|
||||
if (!dto.getFormSid().equals("")) {
|
||||
if (update(dto, dto.getFormSid()).getSuccess())
|
||||
return resultBean.success().setData(formResultVo);
|
||||
else
|
||||
return resultBean.setData(null);
|
||||
|
||||
}
|
||||
FormTzgg t = new FormTzgg();
|
||||
// 开始流程
|
||||
dto.setFormSid(t.getSid());
|
||||
WfTaskVo taskVo = wfservice.startProcess((FormDto) dto);
|
||||
if (taskVo == null)
|
||||
return resultBean.setData(null);
|
||||
|
||||
dto.fillEntity(t);
|
||||
t.setOrderSid(taskVo.getOrderSid());
|
||||
UserInfoVo userInfoVo = userApi.fetchUserInfoBysid(t.getCreateBySid()).getData();
|
||||
if (null != userInfoVo)
|
||||
t.setCreateOrgSid(userInfoVo.getOrganizationSid());
|
||||
if (service.save(t)) {
|
||||
filesappendixservice.uploadFiles(dto.getFilePathlist(), t.getSid(),
|
||||
t.getClass().getSimpleName());
|
||||
formResultVo.setFormSid(t.getSid());
|
||||
formResultVo.setTaskSid(taskVo.getTaskSid());
|
||||
return resultBean.success().setData(formResultVo);
|
||||
}
|
||||
return resultBean.setData(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<String> update(FormTzggDto dto, String sid){
|
||||
ResultBean<String> rb = ResultBean.fireFail();
|
||||
FormTzgg t = service.fetchBySid(sid);
|
||||
if (null == t)
|
||||
return rb.setMsg("该记录不存在").setData("");
|
||||
|
||||
if (0 == service.updateBySid(dto.toMap(), sid))
|
||||
return rb.setData("");
|
||||
// 修改流程实例中的title和紧急紧急程度
|
||||
dto.setOrderSid(t.getOrderSid());
|
||||
if (wfservice.updateMfOrderFormInfo((FormDto) dto)) {
|
||||
filesappendixservice.reUploadFiles(dto.getFilePathlist(),
|
||||
t.getSid(), t.getClass().getSimpleName());
|
||||
return rb.success().setData(sid);
|
||||
}
|
||||
return rb.setData("");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean delete(String sid) {
|
||||
FormTzgg t = service.fetchBySid(sid);
|
||||
if (null == t)
|
||||
return ResultBean.fireFail().setMsg("该记录不存在");
|
||||
if (0 == service.deleteBySid(sid))
|
||||
return ResultBean.fireFail();
|
||||
filesappendixservice.deleteByLinkSid(sid);
|
||||
return ResultBean.fireSuccess();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<FormTzggVo> getVo(String sid) {
|
||||
ResultBean<FormTzggVo> resultBean = ResultBean.fireFail();
|
||||
FormTzgg t = service.fetchBySid(sid);
|
||||
if (null == t)
|
||||
return resultBean;
|
||||
FormTzggVo vo = new FormTzggVo();
|
||||
vo.fromEntity(t);
|
||||
List<FilesappendixVo> list_appendix = filesappendixservice
|
||||
.queryBylinkSid(sid);
|
||||
vo.setFilePathlist(list_appendix);
|
||||
//2021.10.08 添加本地pdf的保存路径
|
||||
if(t.getPdfFilePath()!=null && t.getPdfFilePath().length()>0){
|
||||
String pdfPath=fileUploadComponent.getUrlPrefix().replace("upload", "oapdf");
|
||||
vo.setLocalhostpdfFilePath(pdfPath+t.getPdfFilePath());
|
||||
}else{
|
||||
vo.setLocalhostpdfFilePath("");
|
||||
}
|
||||
|
||||
return resultBean.success().setData(vo);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package com.yxt.jlzx.oa.biz.formtzgg;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.yxt.jlzx.jlcyry.api.staffinfo.StaffUnitVo;
|
||||
import com.yxt.jlzx.oa.api.formtzgg.AppFormTzgg.AppFormTzggVo;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.yxt.jlzx.oa.api.form.FileNumVo;
|
||||
import com.yxt.jlzx.oa.api.formtzgg.FormTzgg;
|
||||
import com.yxt.jlzx.oa.api.formtzgg.FormTzggQuery;
|
||||
import com.yxt.jlzx.oa.api.formtzgg.FormTzggVo;
|
||||
|
||||
@Mapper
|
||||
public interface FormTzggMapper extends BaseMapper<FormTzgg> {
|
||||
//分页列表
|
||||
IPage<FormTzggVo> pageList(IPage<FormTzggQuery> page, @Param(Constants.WRAPPER) Wrapper<FormTzggVo> qw);
|
||||
IPage<FormTzggVo> pageList1(IPage<FormTzggQuery> page, @Param(Constants.WRAPPER) Wrapper<FormTzggVo> qw);
|
||||
|
||||
List<FormTzggVo> list(@Param(Constants.WRAPPER) QueryWrapper<FormTzggVo> qw);
|
||||
|
||||
/**
|
||||
* app通知公告分页列表
|
||||
*
|
||||
* @param page 分页
|
||||
* @param qw 参数
|
||||
* @return 通知公告分页列表
|
||||
*/
|
||||
public IPage<AppFormTzggVo> formTzggPageList(
|
||||
IPage<?> page, @Param(Constants.WRAPPER) Wrapper<AppFormTzggVo> qw);
|
||||
|
||||
|
||||
FileNumVo getMaxFileNum(String ruleName);
|
||||
}
|
||||
@@ -0,0 +1,130 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.jlzx.oa.biz.formtzgg.FormTzggMapper">
|
||||
|
||||
<select id="pageList" resultType="com.yxt.jlzx.oa.api.formtzgg.FormTzggVo">
|
||||
SELECT fz.sid,
|
||||
fz.title,
|
||||
fz.sid formSid,
|
||||
fz.createBySid,
|
||||
fz.createrName,
|
||||
fz.createDeptSid,
|
||||
DATE_FORMAT(fz.createTime, '%Y-%m-%d %H:%m:%s') AS createTime,
|
||||
fz.createDeptName,
|
||||
fz.orderSid,
|
||||
fz.processSid,
|
||||
fz.filePath,
|
||||
fz.fileNum,
|
||||
fz.closingDate,
|
||||
t.sid taskSid,
|
||||
p.instanceUrl2,
|
||||
p.instanceUrl3
|
||||
FROM form_tzgg fz
|
||||
LEFT JOIN workflow.wf_order o ON o.sid = fz.orderSid
|
||||
LEFT JOIN workflow.wf_task t ON t.orderSid = o.sid
|
||||
LEFT JOIN workflow.wf_process p ON t.processSid = p.sid
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="pageList1" resultType="com.yxt.jlzx.oa.api.formtzgg.FormTzggVo">
|
||||
SELECT a.*
|
||||
FROM (SELECT fz.sid,
|
||||
fz.title,
|
||||
fz.sid formSid,
|
||||
fz.createBySid,
|
||||
fz.createrName,
|
||||
fz.createDeptSid,
|
||||
DATE_FORMAT(fz.createTime, '%Y-%m-%d %H:%m:%s') AS createTime,
|
||||
fz.createDeptName,
|
||||
fz.orderSid,
|
||||
fz.processSid,
|
||||
fz.filePath,
|
||||
fz.fileNum,
|
||||
fz.closingDate,
|
||||
t.sid taskSid,
|
||||
p.instanceUrl2,
|
||||
p.instanceUrl3,
|
||||
fz.createOrgSid,
|
||||
t.taskType,
|
||||
t.createBySid actorSid
|
||||
FROM form_tzgg fz
|
||||
LEFT JOIN workflow.wf_hist_order o ON o.sid = fz.orderSid
|
||||
LEFT JOIN workflow.wf_task t ON t.orderSid = o.sid
|
||||
LEFT JOIN workflow.wf_process p ON t.processSid = p.sid
|
||||
UNION ALL
|
||||
SELECT fz.sid,
|
||||
fz.title,
|
||||
fz.sid formSid,
|
||||
fz.createBySid,
|
||||
fz.createrName,
|
||||
fz.createDeptSid,
|
||||
DATE_FORMAT(fz.createTime, '%Y-%m-%d %H:%m:%s') AS createTime,
|
||||
fz.createDeptName,
|
||||
fz.orderSid,
|
||||
fz.processSid,
|
||||
fz.filePath,
|
||||
fz.fileNum,
|
||||
fz.closingDate,
|
||||
t.sid taskSid,
|
||||
p.instanceUrl2,
|
||||
p.instanceUrl3,
|
||||
fz.createOrgSid,
|
||||
t.taskType,
|
||||
t.createBySid actorSid
|
||||
FROM form_tzgg fz
|
||||
LEFT JOIN workflow.wf_hist_order o ON o.sid = fz.orderSid
|
||||
LEFT JOIN workflow.wf_hist_task t ON t.orderSid = o.sid
|
||||
LEFT JOIN workflow.wf_process p ON t.processSid = p.sid) a ${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="list" resultType="com.yxt.jlzx.oa.api.formtzgg.FormTzggVo">
|
||||
SELECT fz.sid,
|
||||
fz.sid formSid,
|
||||
t.sid taskSid,
|
||||
fz.title,
|
||||
fz.createBySid,
|
||||
fz.createrName,
|
||||
fz.createDeptSid,
|
||||
DATE_FORMAT(fz.createTime, '%Y-%m-%d %H:%m:%s') AS createTime,
|
||||
fz.createDeptName,
|
||||
fz.orderSid,
|
||||
fz.processSid,
|
||||
fz.filePath,
|
||||
fz.fileNum,
|
||||
fz.closingDate,
|
||||
fz.sid formSid,
|
||||
t.sid taskSid,
|
||||
p.instanceUrl2,
|
||||
p.instanceUrl3
|
||||
FROM form_tzgg fz
|
||||
LEFT JOIN workflow.wf_order o ON o.sid = fz.orderSid
|
||||
LEFT JOIN workflow.wf_task t ON t.orderSid = o.sid
|
||||
LEFT JOIN workflow.wf_process p ON t.processSid = p.sid
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="formTzggPageList" resultType="com.yxt.jlzx.oa.api.formtzgg.AppFormTzgg.AppFormTzggVo">
|
||||
SELECT ft.title,
|
||||
ft.createDeptName writeDepartment,
|
||||
ft.createrName writeUser,
|
||||
ft.closingDate invalidTime,
|
||||
ft.sid,
|
||||
ft.sid formSid,
|
||||
ft.orderSid,
|
||||
t.sid taskSid,
|
||||
ft.processSid
|
||||
FROM form_tzgg ft
|
||||
LEFT JOIN workflow.wf_order o ON o.sid = ft.orderSid
|
||||
LEFT JOIN workflow.wf_task t ON t.orderSid = o.sid
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
|
||||
<select id="getMaxFileNum" resultType="com.yxt.jlzx.oa.api.form.FileNumVo">
|
||||
SELECT (SELECT fileNum
|
||||
FROM form_tzgg
|
||||
WHERE id IN (SELECT MAX(id) FROM `form_tzgg` WHERE fileNum LIKE concat("%", #{ruleName}, "%"))) filenum
|
||||
FROM form_tzgg f
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,245 @@
|
||||
package com.yxt.jlzx.oa.biz.formtzgg;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.base.utils.StringUtils;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.jlzx.oa.api.form.FileNumVo;
|
||||
import com.yxt.jlzx.oa.api.form.FormSelectLinkDto;
|
||||
import com.yxt.jlzx.oa.api.formtzgg.AppFormTzgg.AppFormTzggQuery;
|
||||
import com.yxt.jlzx.oa.api.formtzgg.AppFormTzgg.AppFormTzggVo;
|
||||
import com.yxt.jlzx.oa.api.formtzgg.FormTzgg;
|
||||
import com.yxt.jlzx.oa.api.formtzgg.FormTzggQuery;
|
||||
import com.yxt.jlzx.oa.api.formtzgg.FormTzggVo;
|
||||
import com.yxt.jlzx.oa.api.index.AppDailyDto;
|
||||
import com.yxt.jlzx.oa.api.index.AppDailyVo;
|
||||
import com.yxt.jlzx.oa.biz.form.IFormService;
|
||||
import com.yxt.jlzx.system.api.filenumrule.FilenumruleApi;
|
||||
import com.yxt.jlzx.system.api.filenumrule.FilenumruleOneVo;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
//service的别名为流程sid
|
||||
@Service("000001")
|
||||
public class FormTzggService extends MybatisBaseService<FormTzggMapper, FormTzgg> implements IFormService {
|
||||
@Autowired
|
||||
private FilenumruleApi filenumruleApi;
|
||||
|
||||
// 分页列表
|
||||
public IPage<FormTzggVo> pageList(PagerQuery<FormTzggQuery> pagerQuery) {
|
||||
// mybits所用的分页对对象
|
||||
IPage<FormTzggQuery> page = PagerUtil.queryToPage(pagerQuery);
|
||||
// mybits所用的查询条件封装类
|
||||
QueryWrapper<FormTzggVo> qw = buildQueryWrapper(pagerQuery.getParams());
|
||||
return baseMapper.pageList(page, qw);
|
||||
}
|
||||
|
||||
public IPage<FormTzggVo> pageList1(PagerQuery<FormTzggQuery> pagerQuery) {
|
||||
// mybits所用的分页对对象
|
||||
IPage<FormTzggQuery> page = PagerUtil.queryToPage(pagerQuery);
|
||||
// mybits所用的查询条件封装类
|
||||
QueryWrapper<FormTzggVo> qw = buildQueryWrapper1(pagerQuery.getParams());
|
||||
return baseMapper.pageList1(page, qw);
|
||||
}
|
||||
|
||||
private QueryWrapper<FormTzggVo> buildQueryWrapper1(FormTzggQuery pagerQuery) {
|
||||
QueryWrapper<FormTzggVo> qw = new QueryWrapper<FormTzggVo>();
|
||||
if (pagerQuery != null) {
|
||||
if (StringUtils.isNotBlank(pagerQuery.getCreateBySid())) {
|
||||
qw.eq("a.createBySid", pagerQuery.getCreateBySid());
|
||||
}
|
||||
if (StringUtils.isNotBlank(pagerQuery.getCreateDeptSid())) {
|
||||
qw.eq("a.createDeptSid", pagerQuery.getCreateDeptSid());
|
||||
}
|
||||
if (StringUtils.isNotBlank(pagerQuery.getProcessSid())) {
|
||||
qw.eq("a.processSid", pagerQuery.getProcessSid());
|
||||
}
|
||||
if (StringUtils.isNotBlank(pagerQuery.getTitle())) {
|
||||
qw.like("a.title", pagerQuery.getTitle());
|
||||
}
|
||||
if (null != pagerQuery.getClosingDate() && StringUtils.isNotBlank(pagerQuery.getClosingDate())) {
|
||||
qw.gt("a.closingDate", pagerQuery.getClosingDate());
|
||||
}
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery.getCreaterName())) {
|
||||
qw.eq("a.createrName", pagerQuery.getCreaterName());
|
||||
}
|
||||
if (StringUtils.isNotBlank(pagerQuery.getCreateOrgSid())) {
|
||||
qw.eq("a.createOrgSid", pagerQuery.getCreateOrgSid());
|
||||
} else {
|
||||
qw.eq("a.createOrgSid", "-1");
|
||||
}
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery.getUserSid())) {
|
||||
qw.eq("a.actorSid", pagerQuery.getUserSid());
|
||||
}
|
||||
qw.groupBy("a.sid");
|
||||
qw.eq("a.taskType", 1);
|
||||
qw.orderByDesc("a.createTime");
|
||||
}
|
||||
return qw;
|
||||
|
||||
}
|
||||
|
||||
// 不分页列表
|
||||
public List<FormTzggVo> list(FormTzggQuery pagerQuery) {
|
||||
// mybits所用的查询条件封装类
|
||||
QueryWrapper<FormTzggVo> qw = buildQueryWrapper(pagerQuery);
|
||||
return baseMapper.list(qw);
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析和组装查询条件,封装在qw中,虚方法,需要在子类中定义具体实现
|
||||
*
|
||||
* @param pagerQuery
|
||||
* @return
|
||||
*/
|
||||
private QueryWrapper<FormTzggVo> buildQueryWrapper(FormTzggQuery pagerQuery) {
|
||||
QueryWrapper<FormTzggVo> qw = new QueryWrapper<FormTzggVo>();
|
||||
if (pagerQuery != null) {
|
||||
if (StringUtils.isNotBlank(pagerQuery.getCreateBySid())) {
|
||||
qw.eq("fz.createBySid", pagerQuery.getCreateBySid());
|
||||
}
|
||||
if (StringUtils.isNotBlank(pagerQuery.getCreateDeptSid())) {
|
||||
qw.eq("fz.createDeptSid", pagerQuery.getCreateDeptSid());
|
||||
}
|
||||
if (StringUtils.isNotBlank(pagerQuery.getProcessSid())) {
|
||||
qw.eq("fz.processSid", pagerQuery.getProcessSid());
|
||||
}
|
||||
if (StringUtils.isNotBlank(pagerQuery.getTitle())) {
|
||||
qw.like("fz.title", pagerQuery.getTitle());
|
||||
}
|
||||
if (null != pagerQuery.getClosingDate() && StringUtils.isNotBlank(pagerQuery.getClosingDate())) {
|
||||
qw.gt("fz.closingDate", pagerQuery.getClosingDate());
|
||||
}
|
||||
/* if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery.getCreaterName())) {
|
||||
qw.eq("createrName", pagerQuery.getCreaterName());
|
||||
}*/
|
||||
if (StringUtils.isNotBlank(pagerQuery.getCreateOrgSid())) {
|
||||
qw.eq("fz.createOrgSid", pagerQuery.getCreateOrgSid());
|
||||
} else {
|
||||
qw.eq("fz.createOrgSid", "-1");
|
||||
}
|
||||
qw.orderByDesc("fz.createTime");
|
||||
}
|
||||
return qw;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取动态表单
|
||||
*
|
||||
* @param sid
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Map<String, Object> getFormItemsVo(String sid) {
|
||||
FormTzgg t = fetchBySid(sid);
|
||||
if (null == t) {
|
||||
return null;
|
||||
}
|
||||
FormTzggVo vo = new FormTzggVo();
|
||||
vo.fromEntity(t);
|
||||
return vo.toFormItemsMap();
|
||||
}
|
||||
|
||||
/**
|
||||
* app通知公告分页列表
|
||||
*
|
||||
* @param pagerQuery 参数
|
||||
* @return
|
||||
*/
|
||||
public IPage<AppFormTzggVo> formTzggPageList(PagerQuery<AppFormTzggQuery> pagerQuery) {
|
||||
IPage<AppFormTzggQuery> page = PagerUtil.queryToPage(pagerQuery);
|
||||
AppFormTzggQuery params = pagerQuery.getParams();
|
||||
QueryWrapper<AppFormTzggVo> qw = new QueryWrapper<>();
|
||||
if (params != null) {
|
||||
// String userSid = params.getUserSid();
|
||||
// if (StringUtils.isNotBlank(userSid)) {
|
||||
// qw.eq("ft.createBySid", userSid);
|
||||
// }
|
||||
}
|
||||
qw.orderByDesc("ft.createTime");
|
||||
return baseMapper.formTzggPageList(page, qw);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getMaxFileNum(com.yxt.jlzx.oa.api.form.MaxFileNumDto dto) {
|
||||
String processSid = dto.getProcessSid();
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
|
||||
Date date = new Date();
|
||||
String year = sdf.format(date);
|
||||
ResultBean<List<FilenumruleOneVo>> bean = filenumruleApi.getVoByProcessSid(processSid);
|
||||
List<FilenumruleOneVo> list = bean.getData();
|
||||
Map<String, Object> map = new HashMap<String, Object>();
|
||||
String filenum = "";
|
||||
if (list != null && list.size() > 0) {
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
String ruleName = list.get(i).getRuleName();
|
||||
if (StringUtils.isNotBlank(ruleName)) {
|
||||
ruleName = ruleName + "〔" + year + "〕";
|
||||
FileNumVo vo = baseMapper.getMaxFileNum(ruleName);
|
||||
if (vo != null) {
|
||||
filenum = vo.getFilenum();
|
||||
if (StringUtils.isNoneBlank(filenum)) {
|
||||
filenum = filenum.replace(ruleName, "");
|
||||
filenum = filenum.replace("号", "");
|
||||
try {
|
||||
int j = Integer.parseInt(filenum) + 1;
|
||||
filenum = ruleName + j + "号";
|
||||
} catch (NumberFormatException e) {
|
||||
System.out.println("异常:\"" + filenum + "\"不是数字/整数...");
|
||||
}
|
||||
} else {
|
||||
filenum = ruleName + "1号";
|
||||
}
|
||||
} else {
|
||||
filenum = ruleName + "1号";
|
||||
}
|
||||
map.put("filenum" + (i + 1), filenum);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppDailyVo isSave(AppDailyDto appDailyDto) {
|
||||
AppDailyVo appDailyVo = new AppDailyVo();
|
||||
return appDailyVo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppDailyVo update(AppDailyDto appDailyDto) throws Exception {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getNewFormItemsVo() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getEditFormItemsVo(String formSid) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getLinkAge(FormSelectLinkDto dto) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,167 @@
|
||||
package com.yxt.jlzx.oa.biz.formweixin;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.config.component.FileUploadComponent;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.Filesappendix;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.FilesappendixVo;
|
||||
import com.yxt.jlzx.oa.api.form.FormDto;
|
||||
import com.yxt.jlzx.oa.api.form.FormResultVo;
|
||||
import com.yxt.jlzx.oa.api.formweixin.FormWeixin;
|
||||
import com.yxt.jlzx.oa.api.formweixin.FormWeixinApi;
|
||||
import com.yxt.jlzx.oa.api.formweixin.FormWeixinDto;
|
||||
import com.yxt.jlzx.oa.api.formweixin.FormWeixinQuery;
|
||||
import com.yxt.jlzx.oa.api.formweixin.FormWeixinVo;
|
||||
import com.yxt.jlzx.oa.biz.filesappendix.FilesappendixService;
|
||||
import com.yxt.jlzx.oa.biz.workflow.WorkFlowService;
|
||||
import com.yxt.jlzx.system.api.user.UserApi;
|
||||
import com.yxt.jlzx.system.api.user.UserInfoVo;
|
||||
import com.yxt.workflow.api.task.WfTaskVo;
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @author yxt_mtl
|
||||
* @date 2020/9/29 13:30
|
||||
* @description 角色信息
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("v1/formweixins")
|
||||
@Api(tags = "微信审核表单")
|
||||
public class FormWeixinApiImpl implements FormWeixinApi{
|
||||
@Autowired
|
||||
private FormWeixinService service;
|
||||
@Autowired
|
||||
private WorkFlowService wfservice;
|
||||
@Autowired
|
||||
private FilesappendixService filesappendixservice;
|
||||
@Autowired
|
||||
private FileUploadComponent fileUploadComponent;
|
||||
@Autowired
|
||||
private UserApi userApi;
|
||||
|
||||
@Override
|
||||
public ResultBean<List<FormWeixinVo>> list(FormWeixinQuery query) {
|
||||
ResultBean<List<FormWeixinVo>> resultBean=ResultBean.fireFail();
|
||||
List<FormWeixinVo> list=service.list(query);
|
||||
if(null==list)
|
||||
return resultBean;
|
||||
return resultBean.success().setData(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<PagerVo<FormWeixinVo>> pageList(PagerQuery<FormWeixinQuery> pagerQuery) {
|
||||
ResultBean<PagerVo<FormWeixinVo>> rb = ResultBean.fireFail();
|
||||
|
||||
|
||||
IPage<FormWeixinVo> page = service.pageList(pagerQuery);
|
||||
|
||||
//把Ipage转换为PageVo
|
||||
PagerVo<FormWeixinVo> pv_result = PagerUtil.pageToVo(page, null);
|
||||
|
||||
return rb.success().setData(pv_result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<FormResultVo> save(FormWeixinDto dto) {
|
||||
ResultBean<FormResultVo> resultBean=ResultBean.fireFail();
|
||||
FormResultVo formResultVo = new FormResultVo();
|
||||
// 首次保存,二次修改
|
||||
if (!dto.getFormSid().equals("")) {
|
||||
if (update(dto, dto.getFormSid()).getSuccess())
|
||||
return resultBean.success().setData(formResultVo);
|
||||
else
|
||||
return resultBean.setData(null);
|
||||
|
||||
}
|
||||
FormWeixin t=new FormWeixin();
|
||||
|
||||
|
||||
// 开始流程
|
||||
dto.setFormSid(t.getSid());
|
||||
WfTaskVo taskVo = wfservice.startProcess((FormDto) dto);
|
||||
if (taskVo == null)
|
||||
return resultBean.setData(null);
|
||||
|
||||
dto.fillEntity(t);
|
||||
t.setOrderSid(taskVo.getOrderSid());
|
||||
|
||||
UserInfoVo userInfoVo = userApi.fetchUserInfoBysid(t.getCreateBySid()).getData();
|
||||
if (null != userInfoVo)
|
||||
t.setCreateOrgSid(userInfoVo.getOrganizationSid());
|
||||
|
||||
if (service.save(t)) {
|
||||
filesappendixservice.uploadFiles(dto.getFilePathlist(), t.getSid(),
|
||||
t.getClass().getSimpleName());
|
||||
formResultVo.setFormSid(t.getSid());
|
||||
formResultVo.setTaskSid(taskVo.getTaskSid());
|
||||
return resultBean.success().setData(formResultVo);
|
||||
}
|
||||
return resultBean.setData(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<String> update(FormWeixinDto dto, String sid){
|
||||
ResultBean<String> rb = ResultBean.fireFail();
|
||||
FormWeixin t=service.fetchBySid(sid);
|
||||
if (null == t)
|
||||
return rb.setMsg("该记录不存在").setData("");
|
||||
|
||||
if (0 == service.updateBySid(dto.toMap(), sid))
|
||||
return rb.setData("");
|
||||
// 修改流程实例中的title和紧急紧急程度
|
||||
dto.setOrderSid(t.getOrderSid());
|
||||
if (wfservice.updateMfOrderFormInfo((FormDto) dto)) {
|
||||
filesappendixservice.reUploadFiles(dto.getFilePathlist(),
|
||||
t.getSid(), t.getClass().getSimpleName());
|
||||
return rb.success().setData(sid);
|
||||
}
|
||||
return rb.setData("");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean delete(String sid) {
|
||||
FormWeixin t=service.fetchBySid(sid);
|
||||
if(null==t)
|
||||
return ResultBean.fireFail().setMsg("该记录不存在");
|
||||
if(0==service.deleteBySid(sid))
|
||||
return ResultBean.fireFail();
|
||||
filesappendixservice.deleteByLinkSid(sid);
|
||||
return ResultBean.fireSuccess();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<FormWeixinVo> getVo(String sid) {
|
||||
ResultBean<FormWeixinVo> resultBean=ResultBean.fireFail();
|
||||
FormWeixin t=service.fetchBySid(sid);
|
||||
if(null==t)
|
||||
return resultBean;
|
||||
FormWeixinVo vo=new FormWeixinVo();
|
||||
vo.fromEntity(t);
|
||||
List<FilesappendixVo> list_appendix = filesappendixservice
|
||||
.queryBylinkSid(sid);
|
||||
vo.setFilePathlist(list_appendix);
|
||||
//2021.10.08 添加本地pdf的保存路径
|
||||
if(t.getPdfFilePath()!=null && t.getPdfFilePath().length()>0){
|
||||
String pdfPath=fileUploadComponent.getUrlPrefix().replace("upload", "oapdf");
|
||||
vo.setLocalhostpdfFilePath(pdfPath+t.getPdfFilePath());
|
||||
}else{
|
||||
vo.setLocalhostpdfFilePath("");
|
||||
}
|
||||
|
||||
return resultBean.success().setData(vo);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.yxt.jlzx.oa.biz.formweixin;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.yxt.jlzx.oa.api.formweixin.FormWeixin;
|
||||
import com.yxt.jlzx.oa.api.formweixin.FormWeixinQuery;
|
||||
import com.yxt.jlzx.oa.api.formweixin.FormWeixinVo;
|
||||
@Mapper
|
||||
public interface FormWeixinMapper extends BaseMapper<FormWeixin>{
|
||||
//分页列表
|
||||
IPage<FormWeixinVo> pageList(IPage<FormWeixinQuery> page,@Param(Constants.WRAPPER) Wrapper<FormWeixinVo> qw);
|
||||
List<FormWeixinVo> list(@Param(Constants.WRAPPER) QueryWrapper<FormWeixinVo> qw);
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.jlzx.oa.biz.formweixin.FormWeixinMapper">
|
||||
<select id="pageList" resultType="com.yxt.jlzx.oa.api.formweixin.FormWeixinVo">
|
||||
select * from form_weixin
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="list" resultType="com.yxt.jlzx.oa.api.formweixin.FormWeixinVo">
|
||||
select * from form_weixin
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,122 @@
|
||||
package com.yxt.jlzx.oa.biz.formweixin;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.yxt.jlzx.oa.api.index.AppDailyDto;
|
||||
import com.yxt.jlzx.oa.api.index.AppDailyVo;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.jlzx.oa.api.form.FormSelectLinkDto;
|
||||
import com.yxt.jlzx.oa.api.formweixin.FormWeixin;
|
||||
import com.yxt.jlzx.oa.api.formweixin.FormWeixinQuery;
|
||||
import com.yxt.jlzx.oa.api.formweixin.FormWeixinVo;
|
||||
import com.yxt.jlzx.oa.biz.form.IFormService;
|
||||
|
||||
|
||||
@Service("d7286500-e528-433b-a03c-1ced60899e44")
|
||||
public class FormWeixinService extends MybatisBaseService<FormWeixinMapper, FormWeixin> implements IFormService{
|
||||
|
||||
// 分页列表
|
||||
public IPage<FormWeixinVo> pageList(PagerQuery<FormWeixinQuery> pagerQuery) {
|
||||
// mybits所用的分页对对象
|
||||
IPage<FormWeixinQuery> page = PagerUtil.queryToPage(pagerQuery);
|
||||
// mybits所用的查询条件封装类
|
||||
QueryWrapper<FormWeixinVo> qw = buildQueryWrapper(pagerQuery.getParams());
|
||||
return baseMapper.pageList(page, qw);
|
||||
|
||||
}
|
||||
|
||||
// 不分页列表
|
||||
public List<FormWeixinVo> list(FormWeixinQuery pagerQuery) {
|
||||
|
||||
// mybits所用的查询条件封装类
|
||||
QueryWrapper<FormWeixinVo> qw = buildQueryWrapper(pagerQuery);
|
||||
return baseMapper.list(qw);
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析和组装查询条件,封装在qw中,虚方法,需要在子类中定义具体实现
|
||||
* @param pagerQuery
|
||||
* @return
|
||||
*/
|
||||
|
||||
private QueryWrapper<FormWeixinVo> buildQueryWrapper(FormWeixinQuery pagerQuery)
|
||||
{
|
||||
QueryWrapper<FormWeixinVo> qw = new QueryWrapper<FormWeixinVo>();
|
||||
if (pagerQuery != null) {
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery
|
||||
.getCreateDeptSid()))
|
||||
qw.eq("createDeptSid", pagerQuery.getCreateDeptSid());
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery
|
||||
.getProcessSid()))
|
||||
qw.eq("processSid", pagerQuery.getProcessSid());
|
||||
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery.getCreaterName()))
|
||||
qw.eq("createrName", pagerQuery.getCreaterName());
|
||||
qw.orderByDesc("createTime");
|
||||
}
|
||||
|
||||
return qw;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 获取动态表单
|
||||
* @param sid
|
||||
* @return
|
||||
*/
|
||||
|
||||
public Map<String,Object> getFormItemsVo(String sid)
|
||||
{
|
||||
|
||||
FormWeixin t=fetchBySid(sid);
|
||||
if(null==t)
|
||||
return null;
|
||||
FormWeixinVo vo=new FormWeixinVo();
|
||||
vo.fromEntity(t);
|
||||
return vo.toFormItemsMap();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getMaxFileNum(com.yxt.jlzx.oa.api.form.MaxFileNumDto dto) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppDailyVo isSave(AppDailyDto appDailyDto) {
|
||||
AppDailyVo appDailyVo = new AppDailyVo();
|
||||
return appDailyVo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppDailyVo update(AppDailyDto appDailyDto) throws Exception {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getNewFormItemsVo() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getEditFormItemsVo(String formSid) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getLinkAge(FormSelectLinkDto dto) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,184 @@
|
||||
package com.yxt.jlzx.oa.biz.formzzfw;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.config.component.FileUploadComponent;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.Filesappendix;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.FilesappendixDto;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.FilesappendixVo;
|
||||
import com.yxt.jlzx.oa.api.form.FormDto;
|
||||
import com.yxt.jlzx.oa.api.form.FormResultVo;
|
||||
import com.yxt.jlzx.oa.api.formzzfw.FormZzfw;
|
||||
import com.yxt.jlzx.oa.api.formzzfw.FormZzfwApi;
|
||||
import com.yxt.jlzx.oa.api.formzzfw.FormZzfwDto;
|
||||
import com.yxt.jlzx.oa.api.formzzfw.FormZzfwQuery;
|
||||
import com.yxt.jlzx.oa.api.formzzfw.FormZzfwVo;
|
||||
import com.yxt.jlzx.oa.biz.filesappendix.FilesappendixService;
|
||||
import com.yxt.jlzx.oa.biz.workflow.WorkFlowService;
|
||||
import com.yxt.jlzx.system.api.user.UserApi;
|
||||
import com.yxt.jlzx.system.api.user.UserInfoVo;
|
||||
import com.yxt.workflow.api.task.WfTaskVo;
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @author yxt_mtl
|
||||
* @date 2020/9/29 13:30
|
||||
* @description 角色信息
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("v1/formzzfws")
|
||||
@Api(tags = "党总支发文表单")
|
||||
public class FormZzfwApiImpl implements FormZzfwApi{
|
||||
@Autowired
|
||||
private FormZzfwService service;
|
||||
@Autowired
|
||||
private WorkFlowService wfservice;
|
||||
@Autowired
|
||||
private FilesappendixService filesappendixservice;
|
||||
@Autowired
|
||||
private FileUploadComponent fileUploadComponent;
|
||||
@Autowired
|
||||
private UserApi userApi;
|
||||
@Override
|
||||
public ResultBean<List<FormZzfwVo>> list(FormZzfwQuery query) {
|
||||
ResultBean<List<FormZzfwVo>> resultBean=ResultBean.fireFail();
|
||||
List<FormZzfwVo> list=service.list(query);
|
||||
if(null==list)
|
||||
return resultBean;
|
||||
return resultBean.success().setData(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<PagerVo<FormZzfwVo>> pageList(PagerQuery<FormZzfwQuery> pagerQuery) {
|
||||
ResultBean<PagerVo<FormZzfwVo>> rb = ResultBean.fireFail();
|
||||
|
||||
|
||||
IPage<FormZzfwVo> page = service.pageList(pagerQuery);
|
||||
|
||||
//把Ipage转换为PageVo
|
||||
PagerVo<FormZzfwVo> pv_result = PagerUtil.pageToVo(page, null);
|
||||
|
||||
return rb.success().setData(pv_result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<FormResultVo> save(FormZzfwDto dto) {
|
||||
ResultBean<FormResultVo> resultBean=ResultBean.fireFail();
|
||||
FormResultVo formResultVo = new FormResultVo();
|
||||
// 首次保存,二次修改
|
||||
if (!dto.getFormSid().equals("")) {
|
||||
if (update(dto, dto.getFormSid()).getSuccess())
|
||||
return resultBean.success().setData(formResultVo);
|
||||
else
|
||||
return resultBean.setData(null);
|
||||
|
||||
}
|
||||
FormZzfw t=new FormZzfw();
|
||||
// 开始流程
|
||||
dto.setFormSid(t.getSid());
|
||||
WfTaskVo taskVo = wfservice.startProcess((FormDto) dto);
|
||||
if (taskVo == null)
|
||||
return resultBean.setData(null);
|
||||
|
||||
dto.fillEntity(t);
|
||||
t.setOrderSid(taskVo.getOrderSid());
|
||||
|
||||
UserInfoVo userInfoVo = userApi.fetchUserInfoBysid(t.getCreateBySid()).getData();
|
||||
if (null != userInfoVo)
|
||||
t.setCreateOrgSid(userInfoVo.getOrganizationSid());
|
||||
|
||||
if (service.save(t)) {
|
||||
filesappendixservice.uploadFiles(dto.getFilePathlist(), t.getSid(),
|
||||
t.getClass().getSimpleName());
|
||||
formResultVo.setFormSid(t.getSid());
|
||||
formResultVo.setTaskSid(taskVo.getTaskSid());
|
||||
return resultBean.success().setData(formResultVo);
|
||||
}
|
||||
return resultBean.setData(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<String> update(FormZzfwDto dto, String sid) {
|
||||
ResultBean<String> rb = ResultBean.fireFail();
|
||||
FormZzfw t=service.fetchBySid(sid);
|
||||
if (null == t)
|
||||
return rb.setMsg("该记录不存在").setData("");
|
||||
//if issueUserSid 包含"签发",则设置签发人sid,签发人姓名,签发日期
|
||||
Map<String,Object> map= dto.toMap();
|
||||
if(!dto.getMotif().contains("签发"))
|
||||
{
|
||||
//不是签发环节,不更新签发信息
|
||||
map.remove("issueUserSid");
|
||||
map.remove("issuePersonName");
|
||||
map.remove("issueTime");
|
||||
}
|
||||
else
|
||||
{
|
||||
//签发人姓名和签发人sid是前端传回来的当前操作人的信息
|
||||
//dto.setIssueUserSid(issueUserSid);
|
||||
//dto.setIssuePersonName(issuePersonName);
|
||||
//dto.setIssueTime(new Date());
|
||||
|
||||
map.put("issueTime", new Date());
|
||||
}
|
||||
if (0 == service.updateBySid(map, sid))
|
||||
return rb.setData("");
|
||||
// 修改流程实例中的title和紧急紧急程度
|
||||
dto.setOrderSid(t.getOrderSid());
|
||||
if (wfservice.updateMfOrderFormInfo((FormDto) dto)) {
|
||||
filesappendixservice.reUploadFiles(dto.getFilePathlist(),
|
||||
t.getSid(), t.getClass().getSimpleName());
|
||||
return rb.success().setData(sid);
|
||||
}
|
||||
return rb.setData("");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean delete(String sid) {
|
||||
FormZzfw t=service.fetchBySid(sid);
|
||||
if(null==t)
|
||||
return ResultBean.fireFail().setMsg("该记录不存在");
|
||||
if(0==service.deleteBySid(sid))
|
||||
return ResultBean.fireFail();
|
||||
filesappendixservice.deleteByLinkSid(sid);
|
||||
return ResultBean.fireSuccess();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<FormZzfwVo> getVo(String sid) {
|
||||
ResultBean<FormZzfwVo> resultBean=ResultBean.fireFail();
|
||||
FormZzfw t=service.fetchBySid(sid);
|
||||
if(null==t)
|
||||
return resultBean;
|
||||
FormZzfwVo vo=new FormZzfwVo();
|
||||
vo.fromEntity(t);
|
||||
List<FilesappendixVo> list_appendix = filesappendixservice
|
||||
.queryBylinkSid(sid);
|
||||
vo.setFilePathlist(list_appendix);
|
||||
//2021.10.08 添加本地pdf的保存路径
|
||||
if(t.getPdfFilePath()!=null && t.getPdfFilePath().length()>0){
|
||||
String pdfPath=fileUploadComponent.getUrlPrefix().replace("upload", "oapdf");
|
||||
vo.setLocalhostpdfFilePath(pdfPath+t.getPdfFilePath());
|
||||
}else{
|
||||
vo.setLocalhostpdfFilePath("");
|
||||
}
|
||||
|
||||
return resultBean.success().setData(vo);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.yxt.jlzx.oa.biz.formzzfw;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.yxt.jlzx.oa.api.form.FileNumVo;
|
||||
import com.yxt.jlzx.oa.api.formzzfw.FormZzfw;
|
||||
import com.yxt.jlzx.oa.api.formzzfw.FormZzfwQuery;
|
||||
import com.yxt.jlzx.oa.api.formzzfw.FormZzfwVo;
|
||||
@Mapper
|
||||
public interface FormZzfwMapper extends BaseMapper<FormZzfw>{
|
||||
//分页列表
|
||||
IPage<FormZzfwVo> pageList(IPage<FormZzfwQuery> page,@Param(Constants.WRAPPER) Wrapper<FormZzfwVo> qw);
|
||||
List<FormZzfwVo> list(@Param(Constants.WRAPPER) QueryWrapper<FormZzfwVo> qw);
|
||||
|
||||
FileNumVo getMaxFileNum(String ruleName);
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.jlzx.oa.biz.formzzfw.FormZzfwMapper">
|
||||
<select id="pageList" resultType="com.yxt.jlzx.oa.api.formzzfw.FormZzfwVo">
|
||||
select * from form_zzfw
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="list" resultType="com.yxt.jlzx.oa.api.formzzfw.FormZzfwVo">
|
||||
select * from form_zzfw
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
|
||||
<select id="getMaxFileNum" resultType="com.yxt.jlzx.oa.api.form.FileNumVo">
|
||||
SELECT
|
||||
(SELECT fileNum FROM form_zzfw WHERE id IN( SELECT MAX(id) FROM `form_zzfw` WHERE fileNum LIKE concat("%",#{ruleName},"%")))filenum
|
||||
FROM form_zzfw f LIMIT 1
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,184 @@
|
||||
package com.yxt.jlzx.oa.biz.formzzfw;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.yxt.jlzx.oa.api.index.AppDailyDto;
|
||||
import com.yxt.jlzx.oa.api.index.AppDailyVo;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.jlzx.jlcyry.api.datadictionary.DictCommonVo;
|
||||
import com.yxt.jlzx.oa.api.form.FileNumVo;
|
||||
import com.yxt.jlzx.oa.api.form.FormSelectLinkDto;
|
||||
import com.yxt.jlzx.oa.api.formzzfw.FormZzfw;
|
||||
import com.yxt.jlzx.oa.api.formzzfw.FormZzfwQuery;
|
||||
import com.yxt.jlzx.oa.api.formzzfw.FormZzfwVo;
|
||||
import com.yxt.jlzx.oa.biz.form.IFormService;
|
||||
import com.yxt.jlzx.system.api.filenumrule.FilenumruleApi;
|
||||
import com.yxt.jlzx.system.api.filenumrule.FilenumruleOneVo;
|
||||
|
||||
@Service("000003")
|
||||
public class FormZzfwService extends MybatisBaseService<FormZzfwMapper, FormZzfw> implements IFormService{
|
||||
@Autowired
|
||||
private FilenumruleApi filenumruleApi;
|
||||
// 分页列表
|
||||
public IPage<FormZzfwVo> pageList(PagerQuery<FormZzfwQuery> pagerQuery) {
|
||||
// mybits所用的分页对对象
|
||||
IPage<FormZzfwQuery> page = PagerUtil.queryToPage(pagerQuery);
|
||||
// mybits所用的查询条件封装类
|
||||
QueryWrapper<FormZzfwVo> qw = buildQueryWrapper(pagerQuery.getParams());
|
||||
return baseMapper.pageList(page, qw);
|
||||
|
||||
}
|
||||
|
||||
// 不分页列表
|
||||
public List<FormZzfwVo> list(FormZzfwQuery pagerQuery) {
|
||||
|
||||
// mybits所用的查询条件封装类
|
||||
QueryWrapper<FormZzfwVo> qw = buildQueryWrapper(pagerQuery);
|
||||
return baseMapper.list(qw);
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析和组装查询条件,封装在qw中,虚方法,需要在子类中定义具体实现
|
||||
* @param pagerQuery
|
||||
* @return
|
||||
*/
|
||||
|
||||
private QueryWrapper<FormZzfwVo> buildQueryWrapper(FormZzfwQuery pagerQuery)
|
||||
{
|
||||
QueryWrapper<FormZzfwVo> qw = new QueryWrapper<FormZzfwVo>();
|
||||
if (pagerQuery != null) {
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery
|
||||
.getCreateDeptSid()))
|
||||
qw.eq("createDeptSid", pagerQuery.getCreateDeptSid());
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery
|
||||
.getProcessSid()))
|
||||
qw.eq("processSid", pagerQuery.getProcessSid());
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery.getCreaterName()))
|
||||
qw.eq("createrName", pagerQuery.getCreaterName());
|
||||
|
||||
if (null!=pagerQuery.getIssueTime() && org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery
|
||||
.getIssueTime().toString()))
|
||||
qw.eq("issueTime", pagerQuery.getIssueTime());//大于等于
|
||||
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery.getPublicType()))
|
||||
qw.eq("issueTime", pagerQuery.getPublicType());
|
||||
|
||||
qw.orderByDesc("createTime");
|
||||
}
|
||||
|
||||
return qw;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取动态表单
|
||||
* @param sid
|
||||
* @return
|
||||
*/
|
||||
|
||||
public Map<String,Object> getFormItemsVo(String sid)
|
||||
{
|
||||
|
||||
FormZzfw t=fetchBySid(sid);
|
||||
if(null==t)
|
||||
return null;
|
||||
FormZzfwVo vo=new FormZzfwVo();
|
||||
vo.fromEntity(t);
|
||||
return vo.toFormItemsMap();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getMaxFileNum(com.yxt.jlzx.oa.api.form.MaxFileNumDto dto) {
|
||||
String processSid=dto.getProcessSid();
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
|
||||
Date date = new Date();
|
||||
String year=sdf.format(date);
|
||||
ResultBean<List<FilenumruleOneVo>> bean = filenumruleApi.getVoByProcessSid(processSid);
|
||||
List<FilenumruleOneVo> list=bean.getData();
|
||||
Map<String,Object> map=new HashMap<String,Object>();
|
||||
List<DictCommonVo> list1= new ArrayList();
|
||||
String filenum="";
|
||||
if(list!=null&&list.size()>0) {
|
||||
for (int i = 0; i< list.size();i++) {
|
||||
String ruleName=list.get(i).getRuleName();
|
||||
if(StringUtils.isNotBlank(ruleName)) {
|
||||
ruleName=ruleName+"〔"+year+"〕";
|
||||
FileNumVo vo=baseMapper.getMaxFileNum(ruleName);
|
||||
if(vo!=null) {
|
||||
filenum=vo.getFilenum();
|
||||
if(StringUtils.isNoneBlank(filenum)) {
|
||||
filenum=filenum.replace(ruleName, "");
|
||||
filenum=filenum.replace("号", "");
|
||||
try{
|
||||
int j=Integer.parseInt(filenum)+1;
|
||||
filenum=ruleName+j+"号";
|
||||
}catch(NumberFormatException e){
|
||||
System.out.println("异常:\""+filenum + "\"不是数字/整数...");
|
||||
}
|
||||
}else {
|
||||
filenum=ruleName+"1号";
|
||||
}
|
||||
}else {
|
||||
filenum=ruleName+"1号";
|
||||
}
|
||||
// map.put("filenum"+(i+1), filenum);
|
||||
DictCommonVo vo1=new DictCommonVo();
|
||||
vo1.setDictValue(filenum);
|
||||
list1.add(vo1);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
map.put("list",list1);
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppDailyVo isSave(AppDailyDto appDailyDto) {
|
||||
AppDailyVo appDailyVo = new AppDailyVo();
|
||||
return appDailyVo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppDailyVo update(AppDailyDto appDailyDto) throws Exception {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getNewFormItemsVo() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getEditFormItemsVo(String formSid) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getLinkAge(FormSelectLinkDto dto) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,403 @@
|
||||
package com.yxt.jlzx.oa.biz.goodsform;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.utils.DateUtils;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.jlzx.oa.api.form.FormDto;
|
||||
import com.yxt.jlzx.oa.api.form.FormResultVo;
|
||||
import com.yxt.jlzx.oa.api.goodsform.GoodsForm;
|
||||
import com.yxt.jlzx.oa.api.goodsform.GoodsFormApi;
|
||||
import com.yxt.jlzx.oa.api.goodsform.GoodsFormDidVo;
|
||||
import com.yxt.jlzx.oa.api.goodsform.GoodsFormDoVo;
|
||||
import com.yxt.jlzx.oa.api.goodsform.GoodsFormDto;
|
||||
import com.yxt.jlzx.oa.api.goodsform.GoodsFormQuery;
|
||||
import com.yxt.jlzx.oa.api.goodsform.GoodsFormVo;
|
||||
import com.yxt.jlzx.oa.api.goodsformlist.GoodsFormList;
|
||||
import com.yxt.jlzx.oa.api.goodsformlist.GoodsFormListDto;
|
||||
import com.yxt.jlzx.oa.api.goodsformlist.GoodsFormListQuery;
|
||||
import com.yxt.jlzx.oa.api.goodsformlist.GoodsFormListVo;
|
||||
import com.yxt.jlzx.oa.api.goodslib.GoodslibVo;
|
||||
import com.yxt.jlzx.oa.api.work.WorkQuery;
|
||||
import com.yxt.jlzx.oa.biz.goodsformlist.GoodsFormListService;
|
||||
import com.yxt.jlzx.oa.biz.goodslib.GoodslibService;
|
||||
import com.yxt.jlzx.oa.biz.workflow.WorkFlowService;
|
||||
import com.yxt.jlzx.system.api.dictcommon.DictCommonApi;
|
||||
import com.yxt.jlzx.system.api.user.UserApi;
|
||||
import com.yxt.jlzx.system.api.user.UserInfoVo;
|
||||
import com.yxt.workflow.api.histtask.WfHistTaskDidVo;
|
||||
import com.yxt.workflow.api.histtask.WfHistTaskQuery;
|
||||
import com.yxt.workflow.api.task.WfTaskQuery;
|
||||
import com.yxt.workflow.api.task.WfTaskVo;
|
||||
import com.yxt.workflow.api.wfmanger.WfManagerApi;
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
|
||||
|
||||
/**
|
||||
* @author yxt_hwj
|
||||
* @date 2020/9/29 13:30
|
||||
* @description 角色信息
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("v1/goodsforms")
|
||||
@Api(tags = "物品领用申请单")
|
||||
public class GoodsFormApiImpl implements GoodsFormApi {
|
||||
@Autowired
|
||||
private GoodsFormService service;
|
||||
@Autowired
|
||||
private WorkFlowService wfservice;
|
||||
@Autowired
|
||||
private GoodsFormListService goodsFormListService;
|
||||
@Autowired
|
||||
private UserApi userApi;
|
||||
@Autowired
|
||||
private DictCommonApi dictCommonApi;
|
||||
|
||||
@Autowired
|
||||
private WfManagerApi wfManagerApi;
|
||||
@Autowired
|
||||
private GoodsFormService goodsFormService;
|
||||
|
||||
@Autowired
|
||||
private GoodslibService goodslibService;
|
||||
|
||||
@Override
|
||||
public ResultBean<List<GoodsFormVo>> list(GoodsFormQuery query) {
|
||||
ResultBean<List<GoodsFormVo>> resultBean = ResultBean.fireFail();
|
||||
List<GoodsFormVo> list = service.list(query);
|
||||
if (null == list) {
|
||||
return resultBean;
|
||||
}
|
||||
return resultBean.success().setData(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<PagerVo<GoodsFormVo>> pageList(PagerQuery<GoodsFormQuery> pagerQuery) {
|
||||
ResultBean<PagerVo<GoodsFormVo>> rb = ResultBean.fireFail();
|
||||
IPage<GoodsFormVo> page = service.pageList(pagerQuery);
|
||||
//把Ipage转换为PageVo
|
||||
|
||||
PagerVo<GoodsFormVo> pv_result = PagerUtil.pageToVo(page, null);
|
||||
return rb.success().setData(pv_result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<FormResultVo> save(GoodsFormDto dto) {//修改时须同时修改app端的保存接口
|
||||
ResultBean<FormResultVo> resultBean = ResultBean.fireFail();
|
||||
FormResultVo formResultVo = new FormResultVo();
|
||||
// 首次保存,二次修改
|
||||
if (dto != null && StringUtils.isNotBlank(dto.getFormSid())) {
|
||||
if (update(dto, dto.getFormSid()).getSuccess()) {
|
||||
return resultBean.success().setData(formResultVo);
|
||||
} else {
|
||||
return resultBean;
|
||||
}
|
||||
}
|
||||
GoodsForm t = new GoodsForm();
|
||||
UserInfoVo vo = userApi.fetchUserInfoBysid(dto.getCreateBySid()).getData();
|
||||
String title = vo.getName() + "于" + DateUtils.getNowDateDayStr() + "申请物品领用";
|
||||
dto.setTitle(title);
|
||||
dto.setFormSid(t.getSid());
|
||||
dto.fillEntity(t);
|
||||
// 开始流程
|
||||
WfTaskVo taskVo = wfservice.startProcess((FormDto) dto);
|
||||
if (taskVo == null) {
|
||||
return resultBean;
|
||||
}
|
||||
t.setOrderSid(taskVo.getOrderSid());
|
||||
UserInfoVo userInfoVo = userApi.fetchUserInfoBysid(t.getCreateBySid()).getData();
|
||||
if (null != userInfoVo)
|
||||
t.setCreateOrgSid(userInfoVo.getOrganizationSid());
|
||||
|
||||
if (!service.save(t)) {
|
||||
return resultBean;
|
||||
}
|
||||
List<GoodsFormListDto> goodsFormLists = dto.getGoodsFormList();
|
||||
if (goodsFormLists != null && goodsFormLists.size() > 0) {
|
||||
for (int i = 0; i < goodsFormLists.size(); i++) {
|
||||
GoodsFormListDto goodsFormListDto = goodsFormLists.get(i);
|
||||
GoodsFormList goodsFormList = new GoodsFormList();
|
||||
String code=goodsFormListDto.getCode();
|
||||
GoodslibVo goodslibVo = goodslibService.selectByGoodsCode(code);
|
||||
goodsFormList.setGoodsFormSid(t.getSid());
|
||||
goodsFormList.setGoodsType(goodsFormListDto.getGoodsType());
|
||||
goodsFormList.setGoodsName(goodslibVo.getName());
|
||||
goodsFormList.setUnit(goodsFormListDto.getUnit());
|
||||
goodsFormList.setNum(goodsFormListDto.getNum());
|
||||
goodsFormList.setRemarks(goodsFormListDto.getRemarks());
|
||||
goodsFormList.setCode(goodsFormListDto.getCode());
|
||||
goodsFormList.setBrand(goodslibVo.getBrand());
|
||||
goodsFormList.setPattern(goodslibVo.getPattern());
|
||||
goodsFormListService.save(goodsFormList);
|
||||
}
|
||||
}
|
||||
formResultVo.setFormSid(t.getSid());
|
||||
formResultVo.setTaskSid(taskVo.getTaskSid());
|
||||
return resultBean.success().setData(formResultVo);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public ResultBean update(GoodsFormDto dto, String sid) {
|
||||
ResultBean<String> rb = ResultBean.fireFail();
|
||||
GoodsForm t = service.fetchBySid(sid);
|
||||
if (null == t) {
|
||||
return ResultBean.fireFail().setMsg("该记录不存在");
|
||||
}
|
||||
SimpleDateFormat format0 = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Date date = new Date();
|
||||
String createTime = format0.format(date);
|
||||
UserInfoVo vo = userApi.fetchUserInfoBysid(dto.getCreateBySid()).getData();
|
||||
String title = vo.getName() + "于" + createTime + "申请物品领用";
|
||||
dto.setTitle(title);
|
||||
if (0 == service.updateBySid(dto.toMap(), sid)) {
|
||||
return ResultBean.fireFail();
|
||||
}
|
||||
//修改流程实例中的title和紧急紧急程度
|
||||
wfservice.updateMfOrderFormInfo((FormDto) dto);
|
||||
goodsFormListService.deleteByGoodsSid(sid);
|
||||
List<GoodsFormListDto> goodsFormLists = dto.getGoodsFormList();
|
||||
if (goodsFormLists != null && goodsFormLists.size() > 0) {
|
||||
for (int i = 0; i < goodsFormLists.size(); i++) {
|
||||
GoodsFormListDto goodsFormListDto = goodsFormLists.get(i);
|
||||
GoodsFormList goodsFormList = new GoodsFormList();
|
||||
goodsFormList.setGoodsFormSid(t.getSid());
|
||||
goodsFormList.setGoodsType(goodsFormListDto.getGoodsType());
|
||||
goodsFormList.setGoodsName(goodsFormListDto.getGoodsName());
|
||||
goodsFormList.setUnit(goodsFormListDto.getUnit());
|
||||
goodsFormList.setRemarks(goodsFormListDto.getRemarks());
|
||||
goodsFormList.setCode(goodsFormListDto.getCode());
|
||||
goodsFormList.setBrand(goodsFormListDto.getBrand());
|
||||
goodsFormList.setNum(goodsFormListDto.getNum());
|
||||
goodsFormList.setPattern(goodsFormListDto.getPattern());
|
||||
goodsFormListService.save(goodsFormList);
|
||||
}
|
||||
}
|
||||
dto.setOrderSid(t.getOrderSid());
|
||||
if (wfservice.updateMfOrderFormInfo((FormDto) dto)) {
|
||||
return rb.success().setData(sid);
|
||||
}
|
||||
return rb.setData("");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean delete(String sid) {
|
||||
GoodsForm t = service.fetchBySid(sid);
|
||||
if (null == t) {
|
||||
return ResultBean.fireFail().setMsg("该记录不存在");
|
||||
}
|
||||
if (0 == service.deleteBySid(sid)) {
|
||||
return ResultBean.fireFail();
|
||||
}
|
||||
// GoodsFormListQuery q=new GoodsFormListQuery();
|
||||
// q.setGoodsSid(sid);
|
||||
// List<GoodsFormListVo> list=goodsFormListService.list(q);
|
||||
// if(null!=list) {
|
||||
// for(int i=0;list.size()>i;i++) {
|
||||
// GoodsFormListVo vo=list.get(i);
|
||||
// service.deleteBySid(vo.getSid());
|
||||
// }
|
||||
// }
|
||||
goodsFormListService.deleteByGoodsSid(sid);
|
||||
return ResultBean.fireSuccess();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<GoodsFormVo> getVo(String sid) {
|
||||
ResultBean<GoodsFormVo> resultBean = ResultBean.fireFail();
|
||||
GoodsForm t = service.fetchBySid(sid);
|
||||
if (null == t) {
|
||||
return resultBean;
|
||||
}
|
||||
GoodsFormVo vo = new GoodsFormVo();
|
||||
vo.fromEntity(t);
|
||||
GoodsFormListQuery q = new GoodsFormListQuery();
|
||||
q.setGoodsSid(sid);
|
||||
List<GoodsFormListVo> goodsFormList = goodsFormListService.list(q);
|
||||
for (int i = 0; i < goodsFormList.size(); i++) {
|
||||
String goodsType=goodsFormList.get(i).getGoodsType();
|
||||
List<GoodslibVo> goodslibVolist = goodslibService.selectByGoodsType(goodsType);
|
||||
goodsFormList.get(i).setGoodslibVolist(goodslibVolist);
|
||||
}
|
||||
vo.setGoodsFormList(goodsFormList);
|
||||
return resultBean.success().setData(vo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<Map<String, Object>> dictSelect() {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
ResultBean<Map<String, Object>> dictCommonInitVoResultBean = dictCommonApi.dictCommonGoodsform();
|
||||
map.put("dictCommonList", dictCommonInitVoResultBean.getData());
|
||||
return new ResultBean().success().setData(map);
|
||||
}
|
||||
|
||||
// 待办工作列表
|
||||
@Override
|
||||
public ResultBean<PagerVo<GoodsFormDoVo>> doingWorks(PagerQuery<WorkQuery> pagerQuery) {
|
||||
pagerQuery.getParams().setProcessSid("dc2ec394-663d-4d5e-a6b2-69a3ccdf4253");
|
||||
ResultBean<PagerVo<GoodsFormDoVo>> resultBean = ResultBean.fireFail();
|
||||
// 参数转换
|
||||
PagerQuery<WfTaskQuery> task_query = new PagerQuery<>();
|
||||
task_query.setParams(new WfTaskQuery());
|
||||
task_query.fromPagerQuery(pagerQuery);
|
||||
// 直接调用流程任务
|
||||
ResultBean<PagerVo<WfTaskVo>> task_rb = wfManagerApi
|
||||
.webTaskPageList(task_query);
|
||||
|
||||
PagerVo<GoodsFormDoVo> workVo_pager = new PagerVo<GoodsFormDoVo>();
|
||||
|
||||
if (null == task_rb.getData()) {
|
||||
return resultBean;
|
||||
}
|
||||
// 结果转换
|
||||
workVo_pager = PagerUtil.switchPagerVo(task_rb
|
||||
.getData());
|
||||
for (int i = 0; i < task_rb.getData().getRecords().size(); i++) {
|
||||
GoodsFormDoVo workDoVo = new GoodsFormDoVo();
|
||||
GoodsForm goodsForm = goodsFormService.fetchBySid(task_rb.getData().getRecords().get(i).getFormSid());
|
||||
|
||||
GoodsFormListQuery query=new GoodsFormListQuery();
|
||||
query.setGoodsSid(goodsForm.getSid());
|
||||
List<GoodsFormListVo> lists = goodsFormListService.list(query);
|
||||
|
||||
workDoVo.fromMap(task_rb.getData().getRecords().get(i).toMap());
|
||||
workDoVo.setGoodsFormList(lists);
|
||||
List<GoodsFormDoVo> records = workVo_pager.getRecords();
|
||||
records.add(workDoVo);
|
||||
records.get(i).setRemarks(goodsForm.getRemarks());
|
||||
records.get(i).setCreateTime(goodsForm.getCreateTime());
|
||||
records.get(i).setNum(lists.size());
|
||||
}
|
||||
|
||||
// String createrName=pagerQuery.getParams().getCreaterName();//申请人
|
||||
|
||||
// List<GoodsFormDoVo> records = workVo_pager.getRecords();
|
||||
// for (int i = 0; i < records.size(); i++) {
|
||||
// if(StringUtils.isNoneBlank(createrName)&&createrName.indexOf(records.get(i).getCreaterName())<0) {
|
||||
// records.remove(i);
|
||||
// i=i-1;
|
||||
// continue;
|
||||
// }
|
||||
// List<GoodsFormListVo> goodsFormList = records.get(i).getGoodsFormList();
|
||||
// records.get(i).setNum(goodsFormList.size());
|
||||
// int k=0;
|
||||
// int s=0;
|
||||
// for (int j = 0; j < goodsFormList.size(); j++) {
|
||||
// if(StringUtils.isNoneBlank(goodsType)&&goodsType.equals(goodsFormList.get(j).getGoodsType())) {
|
||||
// break;
|
||||
// }else if(StringUtils.isNoneBlank(goodsType)&&!goodsType.equals(goodsFormList.get(j).getGoodsType())){
|
||||
// k++;
|
||||
// }
|
||||
//
|
||||
// }
|
||||
// for (int j = 0; j < goodsFormList.size(); j++) {
|
||||
// if(StringUtils.isNoneBlank(name)&&goodsFormList.get(j).getGoodsName().indexOf(name)>-1) {
|
||||
// break;
|
||||
// }else if(StringUtils.isNoneBlank(name)&&goodsFormList.get(j).getGoodsName().indexOf(name)<0){
|
||||
// s++;
|
||||
// }
|
||||
//
|
||||
// }
|
||||
// if(k==goodsFormList.size()||s==goodsFormList.size()) {
|
||||
// records.remove(i);
|
||||
// i=i-1;
|
||||
// continue;
|
||||
// }
|
||||
|
||||
|
||||
// }
|
||||
// workVo_pager.setRecords(records);
|
||||
return resultBean.success().setData(workVo_pager);
|
||||
}
|
||||
|
||||
// 已办工作列表
|
||||
@Override
|
||||
public ResultBean<PagerVo<GoodsFormDidVo>> didWorks(PagerQuery<WorkQuery> pagerQuery) {
|
||||
pagerQuery.getParams().setProcessSid("dc2ec394-663d-4d5e-a6b2-69a3ccdf4253");
|
||||
ResultBean<PagerVo<GoodsFormDidVo>> resultBean = ResultBean.fireFail();
|
||||
// 参数转换
|
||||
PagerQuery<WfHistTaskQuery> histtask_query = new PagerQuery<>();
|
||||
histtask_query.setParams(new WfHistTaskQuery());
|
||||
histtask_query.fromPagerQuery(pagerQuery);
|
||||
// 直接调用流程任务
|
||||
ResultBean<PagerVo<WfHistTaskDidVo>> task_rb = wfManagerApi.histTaskPageList(histtask_query);
|
||||
|
||||
PagerVo<GoodsFormDidVo> workVo_pager = new PagerVo<GoodsFormDidVo>();
|
||||
if (null == task_rb.getData()) {
|
||||
return resultBean;
|
||||
}
|
||||
// 结果转换
|
||||
workVo_pager = PagerUtil.switchPagerVo(task_rb.getData());
|
||||
for (int i = 0; i < task_rb.getData().getRecords().size(); i++) {
|
||||
GoodsFormDidVo workDidVo = new GoodsFormDidVo();
|
||||
workDidVo.fromMap(task_rb.getData().getRecords().get(i).toMap());
|
||||
GoodsForm goodsForm = goodsFormService.fetchBySid(task_rb.getData().getRecords().get(i).getFormSid());
|
||||
|
||||
GoodsFormListQuery query=new GoodsFormListQuery();
|
||||
query.setGoodsSid(goodsForm.getSid());
|
||||
List<GoodsFormListVo> lists = goodsFormListService.list(query);
|
||||
workDidVo.setGoodsFormList(lists);
|
||||
workVo_pager.getRecords().add(workDidVo);
|
||||
workVo_pager.getRecords().get(i).setRemarks(goodsForm.getRemarks());
|
||||
workVo_pager.getRecords().get(i).setNum(lists.size());
|
||||
}
|
||||
// String createrName=pagerQuery.getParams().getCreaterName();//申请人
|
||||
//
|
||||
//
|
||||
// List<GoodsFormDidVo> records = workVo_pager.getRecords();
|
||||
// for (int i = 0; i < records.size(); i++) {
|
||||
// if(StringUtils.isNoneBlank(createrName)&&createrName.indexOf(records.get(i).getCreaterName())<0) {
|
||||
// records.remove(i);
|
||||
// i=i-1;
|
||||
// continue;
|
||||
// }
|
||||
// List<GoodsFormListVo> goodsFormList = records.get(i).getGoodsFormList();
|
||||
// records.get(i).setNum(goodsFormList.size());
|
||||
// int k=0;
|
||||
// int s=0;
|
||||
// for (int j = 0; j < goodsFormList.size(); j++) {
|
||||
// if(StringUtils.isNoneBlank(goodsType)&&goodsType.equals(goodsFormList.get(j).getGoodsType())) {
|
||||
// break;
|
||||
// }else if(StringUtils.isNoneBlank(goodsType)&&!goodsType.equals(goodsFormList.get(j).getGoodsType())){
|
||||
// k++;
|
||||
// }
|
||||
//
|
||||
// }
|
||||
// for (int j = 0; j < goodsFormList.size(); j++) {
|
||||
// if(StringUtils.isNoneBlank(name)&&goodsFormList.get(j).getGoodsName()!=null&&goodsFormList.get(j).getGoodsName().indexOf(name)>-1) {
|
||||
// break;
|
||||
// }else if(StringUtils.isNoneBlank(name)&&goodsFormList.get(j).getGoodsName().indexOf(name)<0){
|
||||
// s++;
|
||||
// }
|
||||
//
|
||||
// }
|
||||
// if(k==goodsFormList.size()||s==goodsFormList.size()) {
|
||||
// records.remove(i);
|
||||
// i=i-1;
|
||||
// continue;
|
||||
// }
|
||||
|
||||
//
|
||||
// }
|
||||
// workVo_pager.setRecords(records);
|
||||
return resultBean.success().setData(workVo_pager);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.yxt.jlzx.oa.biz.goodsform;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.yxt.jlzx.oa.api.goodsform.GoodsForm;
|
||||
import com.yxt.jlzx.oa.api.goodsform.GoodsFormQuery;
|
||||
import com.yxt.jlzx.oa.api.goodsform.GoodsFormVo;
|
||||
@Mapper
|
||||
public interface GoodsFormMapper extends BaseMapper<GoodsForm>{
|
||||
//分页列表
|
||||
IPage<GoodsFormVo> pageList(IPage<?> page,@Param(Constants.WRAPPER) Wrapper<GoodsFormVo> qw);
|
||||
List<GoodsFormVo> list(@Param(Constants.WRAPPER) QueryWrapper<GoodsFormVo> qw);
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.jlzx.oa.biz.goodsform.GoodsFormMapper">
|
||||
<select id="pageList" resultType="com.yxt.jlzx.oa.api.goodsform.GoodsFormVo">
|
||||
select sid,title,createBySid,createrName,createDeptSid,DATE_FORMAT(createTime, '%Y-%m-%d %H:%m:%s') AS createTime,createDeptName,orderSid,processSid,filePath,fileNum,remarks from goods_form
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="list" resultType="com.yxt.jlzx.oa.api.goodsform.GoodsFormVo">
|
||||
select sid,title,createBySid,createrName,createDeptSid,DATE_FORMAT(createTime, '%Y-%m-%d %H:%m:%s') AS createTime,createDeptName,orderSid,processSid,filePath,fileNum,remarks from goods_form
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,315 @@
|
||||
package com.yxt.jlzx.oa.biz.goodsform;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.jlzx.jlcyry.api.staffinfo.StaffBasicDetailsVo;
|
||||
import com.yxt.jlzx.jlcyry.api.staffinfo.StaffInfoApi;
|
||||
import com.yxt.jlzx.oa.api.form.FormDto;
|
||||
import com.yxt.jlzx.oa.api.form.FormItems;
|
||||
import com.yxt.jlzx.oa.api.form.FormItems2;
|
||||
import com.yxt.jlzx.oa.api.form.FormSelectLinkDto;
|
||||
import com.yxt.jlzx.oa.api.goodsform.GoodsForm;
|
||||
import com.yxt.jlzx.oa.api.goodsform.GoodsFormQuery;
|
||||
import com.yxt.jlzx.oa.api.goodsform.GoodsFormVo;
|
||||
import com.yxt.jlzx.oa.api.goodsformlist.GoodsFormList;
|
||||
import com.yxt.jlzx.oa.api.goodsformlist.GoodsFormListDto;
|
||||
import com.yxt.jlzx.oa.api.goodslib.GoodslibVo;
|
||||
import com.yxt.jlzx.oa.api.index.AppDailyDto;
|
||||
import com.yxt.jlzx.oa.api.index.AppDailyVo;
|
||||
import com.yxt.jlzx.oa.api.index.DailyDto;
|
||||
import com.yxt.jlzx.oa.biz.filesappendix.FilesappendixService;
|
||||
import com.yxt.jlzx.oa.biz.form.IFormService;
|
||||
import com.yxt.jlzx.oa.biz.goodsformlist.GoodsFormListService;
|
||||
import com.yxt.jlzx.oa.biz.goodslib.GoodslibService;
|
||||
import com.yxt.jlzx.oa.biz.workflow.WorkFlowService;
|
||||
import com.yxt.jlzx.system.api.department.DepartmentApi;
|
||||
import com.yxt.jlzx.system.api.department.DepartmentListVo;
|
||||
import com.yxt.jlzx.system.api.departmentstaff.DepartmentStaff;
|
||||
import com.yxt.jlzx.system.api.departmentstaff.DepartmentStaffApi;
|
||||
import com.yxt.jlzx.system.api.dictcommon.DictCommonApi;
|
||||
import com.yxt.jlzx.system.api.dictcommon.DictCommonListVo;
|
||||
import com.yxt.jlzx.system.api.user.UserApi;
|
||||
import com.yxt.jlzx.system.api.user.UserInfoVo;
|
||||
import com.yxt.workflow.api.task.WfTaskVo;
|
||||
import org.apache.commons.beanutils.ConvertUtils;
|
||||
import org.apache.commons.beanutils.converters.DateConverter;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Service("dc2ec394-663d-4d5e-a6b2-69a3ccdf4253")
|
||||
public class GoodsFormService extends MybatisBaseService<GoodsFormMapper, GoodsForm> implements IFormService {
|
||||
|
||||
@Autowired
|
||||
private FilesappendixService filesappendixservice;
|
||||
|
||||
@Autowired
|
||||
private WorkFlowService wfservice;
|
||||
@Autowired
|
||||
private UserApi userApi;
|
||||
@Autowired
|
||||
private StaffInfoApi staffInfoApi;
|
||||
|
||||
@Autowired
|
||||
private DepartmentStaffApi departmentStaffApi;
|
||||
@Autowired
|
||||
private DepartmentApi departmentApi;
|
||||
|
||||
@Autowired
|
||||
private DictCommonApi dictCommonApi;
|
||||
@Autowired
|
||||
private GoodslibService goodslibService;
|
||||
@Autowired
|
||||
private GoodsFormListService goodsFormListService;
|
||||
|
||||
// 分页列表
|
||||
public IPage<GoodsFormVo> pageList(PagerQuery<GoodsFormQuery> pagerQuery) {
|
||||
// mybits所用的分页对对象
|
||||
IPage<GoodsFormQuery> page = PagerUtil.queryToPage(pagerQuery);
|
||||
// mybits所用的查询条件封装类
|
||||
QueryWrapper<GoodsFormVo> qw = buildQueryWrapper(pagerQuery.getParams());
|
||||
return baseMapper.pageList(page, qw);
|
||||
|
||||
}
|
||||
|
||||
// 不分页列表
|
||||
public List<GoodsFormVo> list(GoodsFormQuery pagerQuery) {
|
||||
|
||||
// mybits所用的查询条件封装类
|
||||
QueryWrapper<GoodsFormVo> qw = buildQueryWrapper(pagerQuery);
|
||||
return baseMapper.list(qw);
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析和组装查询条件,封装在qw中,虚方法,需要在子类中定义具体实现
|
||||
*
|
||||
* @param pagerQuery
|
||||
* @return
|
||||
*/
|
||||
|
||||
private QueryWrapper<GoodsFormVo> buildQueryWrapper(GoodsFormQuery pagerQuery) {
|
||||
QueryWrapper<GoodsFormVo> qw = new QueryWrapper<GoodsFormVo>();
|
||||
if (pagerQuery != null) {
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery
|
||||
.getCreaterName())) {
|
||||
qw.eq("createrName", pagerQuery.getCreaterName());
|
||||
}
|
||||
if (pagerQuery.getCreateTime() != null && !"".equals(pagerQuery.getCreateTime())) {
|
||||
qw.eq("createTime", pagerQuery.getCreateTime());
|
||||
}
|
||||
qw.orderByDesc("createTime");
|
||||
}
|
||||
|
||||
return qw;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getFormItemsVo(String sid) {
|
||||
GoodsForm goodsForm = fetchBySid(sid);
|
||||
List<GoodsFormList> goodsFormlist = goodsFormListService.selectByGoodsFormSid(sid);
|
||||
if (null == goodsForm) {
|
||||
return null;
|
||||
}
|
||||
// FormFileVo vo = new FormFileVo();
|
||||
GoodsFormVo vo = new GoodsFormVo();
|
||||
vo.fromEntity(goodsForm);
|
||||
return vo.toFormItemsMap();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getNewFormItemsVo() {
|
||||
Map<String, Object> map = new GoodsFormVo().getFormItemsMap();
|
||||
//获取数据字典的内容
|
||||
List<FormItems> formList = (List<FormItems>) map.get("formItems");
|
||||
|
||||
List<DictCommonListVo> dicts = dictCommonApi.getDictsByTypeCode("wplx").getData();
|
||||
List<String> list_key = new ArrayList<>();
|
||||
List<String> list_value = new ArrayList<>();
|
||||
if (null != dicts) {
|
||||
for (int i = 0; i < dicts.size(); i++) {
|
||||
list_key.add(dicts.get(i).getDictKey());
|
||||
list_value.add(dicts.get(i).getDictValue());
|
||||
}
|
||||
}
|
||||
List<String> linkIds = new ArrayList<>();
|
||||
linkIds.add("goodsType");
|
||||
linkIds.add("code");
|
||||
linkIds.add("unit");
|
||||
List<FormItems2> formList1 = formList.get(4).getRight_text().getListDate();
|
||||
formList1.get(0).getRight_text().setList_key(list_key);
|
||||
formList1.get(0).getRight_text().setList_value(list_value);
|
||||
formList1.get(0).getRight_text().setLinkIds(linkIds);
|
||||
|
||||
formList1.get(1).getRight_text().setLinkIds(linkIds);
|
||||
formList1.get(2).getRight_text().setLinkIds(linkIds);
|
||||
return map;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getLinkAge(FormSelectLinkDto dto) {
|
||||
Map<String, Object> map = new GoodsFormVo().getFormItemsMap();
|
||||
Map<String, Object> map1 = new HashMap<String, Object>();
|
||||
//获取数据字典的内容
|
||||
List<FormItems> formList = (List<FormItems>) map.get("formItems");
|
||||
String controlId = dto.getControlId();
|
||||
List<String> list_key = new ArrayList<>();
|
||||
List<String> list_value = new ArrayList<>();
|
||||
if ("goodsType".equals(controlId)) {
|
||||
List<GoodslibVo> selectByGoodsType = goodslibService.selectByGoodsType(dto.getDictKey());
|
||||
if (selectByGoodsType != null && selectByGoodsType.size() > 0) {
|
||||
for (int i = 0; i < selectByGoodsType.size(); i++) {
|
||||
list_key.add(selectByGoodsType.get(i).getCode());
|
||||
list_value.add(selectByGoodsType.get(i).getNameText());
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
FormItems2 formItems2 = formList.get(4).getRight_text().getListDate().get(1);
|
||||
formItems2.getRight_text().setList_key(list_key);
|
||||
formItems2.getRight_text().setList_value(list_value);
|
||||
|
||||
List<String> linkIds = new ArrayList<>();
|
||||
linkIds.add("goodsType");
|
||||
linkIds.add("code");
|
||||
linkIds.add("unit");
|
||||
formItems2.getRight_text().setLinkIds(linkIds);
|
||||
BeanUtils.copyProperties(this, formItems2);
|
||||
map1 = JSON.parseObject(JSON.toJSONString(formItems2), Map.class);
|
||||
}
|
||||
if ("code".equals(controlId)) {
|
||||
FormItems2 formItems2 = formList.get(4).getRight_text().getListDate().get(2);
|
||||
GoodslibVo selectByGoodsCode = goodslibService.selectByGoodsCode(dto.getDictKey());
|
||||
list_key.add(selectByGoodsCode.getUnit());
|
||||
list_value.add(selectByGoodsCode.getUnit());
|
||||
formItems2.getRight_text().setDefaultText(selectByGoodsCode.getUnit());
|
||||
|
||||
List<String> linkIds = new ArrayList<>();
|
||||
linkIds.add("goodsType");
|
||||
linkIds.add("code");
|
||||
linkIds.add("unit");
|
||||
formItems2.getRight_text().setLinkIds(linkIds);
|
||||
BeanUtils.copyProperties(this, formItems2);
|
||||
map1 = JSON.parseObject(JSON.toJSONString(formItems2), Map.class);
|
||||
}
|
||||
|
||||
return map1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getEditFormItemsVo(String formSid) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getMaxFileNum(com.yxt.jlzx.oa.api.form.MaxFileNumDto dto) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppDailyVo isSave(AppDailyDto appDailyDto) throws Exception {
|
||||
AppDailyVo appDailyVo = new AppDailyVo();
|
||||
GoodsForm goodsForm = new GoodsForm();
|
||||
|
||||
appDailyDto.setProcessSid(appDailyDto.getProcessSid());
|
||||
appDailyDto.setCreateBySid(appDailyDto.getCreateBySid());
|
||||
|
||||
SimpleDateFormat sdf = new SimpleDateFormat();
|
||||
String s = sdf.format(goodsForm.getCreateTime());
|
||||
UserInfoVo userInfoVo = userApi.selectBysid(appDailyDto.getCreateBySid()).getData();
|
||||
StaffBasicDetailsVo staffBasicDetailsVo = staffInfoApi.selectByUserName(userInfoVo.getUserName()).getData();
|
||||
appDailyDto.setTitle(staffBasicDetailsVo.getName() + "于" + s + "发起物品领用申请");
|
||||
appDailyDto.setFormSid(goodsForm.getSid());
|
||||
//查询在哪个部门
|
||||
DepartmentStaff departmentStaff = departmentStaffApi.selectByStaffSid(staffBasicDetailsVo.getStaffSid()).getData();
|
||||
DepartmentListVo departmentListVo = departmentApi.getVo(departmentStaff.getDepartmentSid()).getData();
|
||||
appDailyDto.setCreaterName(staffBasicDetailsVo.getName());
|
||||
appDailyDto.setCreateDeptName(departmentListVo.getName());
|
||||
appDailyDto.setCreateDeptSid(departmentListVo.getSid());
|
||||
appDailyDto.setFilePath("");
|
||||
appDailyDto.setFileNum("");
|
||||
appDailyDto.fillEntity(goodsForm);
|
||||
WfTaskVo taskVo = wfservice.startProcess((FormDto) appDailyDto);
|
||||
if (taskVo == null) {
|
||||
return appDailyVo;
|
||||
}
|
||||
|
||||
goodsForm.setOrderSid(taskVo.getOrderSid());
|
||||
UserInfoVo userInfoVo1 = userApi.fetchUserInfoBysid(goodsForm.getCreateBySid()).getData();
|
||||
if (null != userInfoVo1) {
|
||||
goodsForm.setCreateOrgSid(userInfoVo1.getOrganizationSid());
|
||||
}
|
||||
|
||||
List<GoodsFormListDto> goodsFormLists = appDailyDto.getGoodsFormList();
|
||||
if (goodsFormLists != null && goodsFormLists.size() > 0) {
|
||||
for (int i = 0; i < goodsFormLists.size(); i++) {
|
||||
GoodsFormListDto goodsFormListDto = goodsFormLists.get(i);
|
||||
GoodsFormList goodsFormList = new GoodsFormList();
|
||||
String code = goodsFormListDto.getCode();
|
||||
GoodslibVo goodslibVo = goodslibService.selectByGoodsCode(code);
|
||||
goodsFormList.setGoodsFormSid(goodsForm.getSid());
|
||||
goodsFormList.setGoodsType(goodsFormListDto.getGoodsType());
|
||||
goodsFormList.setUnit(goodsFormListDto.getUnit());
|
||||
goodsFormList.setNum(goodsFormListDto.getNum());
|
||||
goodsFormList.setRemarks(goodsFormListDto.getRemarks());
|
||||
goodsFormList.setCode(goodsFormListDto.getCode());
|
||||
goodsFormList.setGoodsName(goodslibVo.getName());
|
||||
goodsFormList.setBrand(goodslibVo.getBrand());
|
||||
goodsFormList.setPattern(goodslibVo.getPattern());
|
||||
goodsFormListService.save(goodsFormList);
|
||||
}
|
||||
}
|
||||
|
||||
if (save(goodsForm)) {
|
||||
filesappendixservice.uploadFiles(appDailyDto.getFilePathlist(), goodsForm.getSid(),
|
||||
goodsForm.getClass().getSimpleName());
|
||||
appDailyVo.setTaskSid(taskVo.getTaskSid());
|
||||
appDailyVo.setFormSid(goodsForm.getSid());
|
||||
appDailyVo.setOrderSid(taskVo.getOrderSid());
|
||||
}
|
||||
return appDailyVo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppDailyVo update(AppDailyDto appDailyDto) throws Exception {
|
||||
ConvertUtils.register(new DateConverter(null), java.util.Date.class);
|
||||
AppDailyVo appDailyVo = new AppDailyVo();
|
||||
String sid = appDailyDto.getFormSid();
|
||||
GoodsForm goodsForm = fetchBySid(sid);
|
||||
if (goodsForm == null) {
|
||||
return appDailyVo;
|
||||
}
|
||||
if (0 == updateBySid(appDailyDto.toMap(), sid)) {
|
||||
return appDailyVo;
|
||||
} else {
|
||||
DailyDto dailyDto = new DailyDto();
|
||||
dailyDto.setProcessSid(appDailyDto.getProcessSid());
|
||||
dailyDto.setCreateBySid(appDailyDto.getCreateBySid());
|
||||
SimpleDateFormat sdf = new SimpleDateFormat();
|
||||
String s = sdf.format(goodsForm.getCreateTime());
|
||||
UserInfoVo userInfoVo = userApi.selectBysid(appDailyDto.getCreateBySid()).getData();
|
||||
StaffBasicDetailsVo staffBasicDetailsVo = staffInfoApi.selectByUserName(userInfoVo.getUserName()).getData();
|
||||
dailyDto.setTitle(staffBasicDetailsVo.getName() + "于" + s + "发起物品领用申请");
|
||||
dailyDto.setFormSid(goodsForm.getSid());
|
||||
if (wfservice.updateMfOrderFormInfo((FormDto) dailyDto)) {
|
||||
filesappendixservice.reUploadFiles(appDailyDto.getFilePathlist(),
|
||||
goodsForm.getSid(), goodsForm.getClass().getSimpleName());
|
||||
appDailyVo.setFormSid(sid);
|
||||
|
||||
}
|
||||
}
|
||||
return appDailyVo;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,107 @@
|
||||
package com.yxt.jlzx.oa.biz.goodsformlist;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.jlzx.oa.api.goodsformlist.GoodsFormListApi;
|
||||
import com.yxt.jlzx.oa.api.goodsformlist.GoodsFormListQuery;
|
||||
import com.yxt.jlzx.oa.api.goodsformlist.GoodsFormListVo;
|
||||
import com.yxt.jlzx.system.api.dictcommon.DictCommonApi;
|
||||
import com.yxt.jlzx.system.api.dictcommon.DictCommonVo;
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
|
||||
/**
|
||||
* @author yxt_mtl
|
||||
* @date 2020/9/29 13:30
|
||||
* @description 角色信息
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("v1/goodsformlists")
|
||||
@Api(tags = "物品清单信息")
|
||||
public class GoodsFormListApiImpl implements GoodsFormListApi {
|
||||
@Autowired
|
||||
private GoodsFormListService service;
|
||||
@Autowired
|
||||
private DictCommonApi dictCommonApi;
|
||||
|
||||
@Override
|
||||
public ResultBean<List<GoodsFormListVo>> list(GoodsFormListQuery query) {
|
||||
ResultBean<List<GoodsFormListVo>> resultBean = ResultBean.fireFail();
|
||||
List<GoodsFormListVo> list = service.list(query);
|
||||
if (null == list)
|
||||
return resultBean;
|
||||
|
||||
for (int j = 0; j < list.size(); j++) {
|
||||
String goodsType=list.get(j).getGoodsType();
|
||||
ResultBean<DictCommonVo> ret = dictCommonApi.selectBykey(goodsType, "wplx");
|
||||
if(ret!=null) {
|
||||
list.get(j).setGoodsType(ret.getData().getDictValue());
|
||||
}
|
||||
}
|
||||
return resultBean.success().setData(list);
|
||||
}
|
||||
|
||||
/*
|
||||
* @Override public ResultBean<PagerVo<GoodsFormListVo>>
|
||||
* pageList(PagerQuery<GoodsFormListQuery> pagerQuery) {
|
||||
* ResultBean<PagerVo<GoodsFormListVo>> rb = ResultBean.fireFail();
|
||||
*
|
||||
*
|
||||
* IPage<GoodsFormListVo> page = service.pageList(pagerQuery);
|
||||
*
|
||||
* //把Ipage转换为PageVo PagerVo<GoodsFormListVo> pv_result =
|
||||
* PagerUtil.pageToVo(page, null);
|
||||
*
|
||||
* return rb.success().setData(pv_result); }
|
||||
*
|
||||
* @Override public ResultBean save(GoodsFormListDto dto) {
|
||||
*
|
||||
* GoodsFormList t=new GoodsFormList(); dto.fillEntity(t); if(!service.save(t))
|
||||
* return ResultBean.fireFail(); return
|
||||
* ResultBean.fireSuccess().setData(t.getSid());
|
||||
*
|
||||
* return ResultBean.fireSuccess().setMsg("接口暂未使用"); }
|
||||
*
|
||||
* @Override public ResultBean update(GoodsFormListDto dto, String sid) throws
|
||||
* Exception {
|
||||
*
|
||||
* GoodsFormList t=service.fetchBySid(sid); if(null==t) return
|
||||
* ResultBean.fireFail().setMsg("该记录不存在");
|
||||
*
|
||||
* if(0==service.updateBySid(dto.toMap(), sid)) return ResultBean.fireFail();
|
||||
* return ResultBean.fireSuccess().setData(sid);
|
||||
*
|
||||
*
|
||||
* return ResultBean.fireSuccess().setMsg("接口暂未使用"); }
|
||||
*
|
||||
* @Override public ResultBean delete(String sid) { GoodsFormList
|
||||
* t=service.fetchBySid(sid); if(null==t) return
|
||||
* ResultBean.fireFail().setMsg("该记录不存在"); if(0==service.deleteBySid(sid))
|
||||
* return ResultBean.fireFail(); return ResultBean.fireSuccess(); }
|
||||
*
|
||||
* @Override public ResultBean<GoodsFormListVo> getVo(String sid) {
|
||||
* ResultBean<GoodsFormListVo> resultBean=ResultBean.fireFail(); GoodsFormList
|
||||
* t=service.fetchBySid(sid); if(null==t) return resultBean; GoodsFormListVo
|
||||
* vo=new GoodsFormListVo(); vo.fromEntity(t);
|
||||
*
|
||||
* return resultBean.success().setData(vo); }
|
||||
*
|
||||
* @Override public ResultBean deleteByGoodsSid(String goodsSid) { return
|
||||
* service.deleteByGoodsSid(goodsSid);
|
||||
*
|
||||
* }
|
||||
*
|
||||
* @Override public ResultBean<List<GoodsFormListVo>> selectByGoodsSid(String
|
||||
* goodsSid) { GoodsFormListQuery q=new GoodsFormListQuery();
|
||||
* q.setGoodsSid(goodsSid); ResultBean<List<GoodsFormListVo>>
|
||||
* resultBean=ResultBean.fireFail(); List<GoodsFormListVo> list=service.list(q);
|
||||
* if(null==list) return resultBean; return resultBean.success().setData(list);
|
||||
* }
|
||||
*/
|
||||
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.yxt.jlzx.oa.biz.goodsformlist;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.yxt.jlzx.oa.api.goodsformlist.GoodsFormList;
|
||||
import com.yxt.jlzx.oa.api.goodsformlist.GoodsFormListQuery;
|
||||
import com.yxt.jlzx.oa.api.goodsformlist.GoodsFormListVo;
|
||||
|
||||
@Mapper
|
||||
public interface GoodsFormListMapper extends BaseMapper<GoodsFormList> {
|
||||
//分页列表
|
||||
IPage<GoodsFormListVo> pageList(IPage<?> page, @Param(Constants.WRAPPER) Wrapper<GoodsFormListVo> qw);
|
||||
|
||||
List<GoodsFormListVo> list(@Param(Constants.WRAPPER) QueryWrapper<GoodsFormListVo> qw);
|
||||
|
||||
public List<GoodsFormList> selectByGoodsFormSid(String formSid);
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.jlzx.oa.biz.goodsformlist.GoodsFormListMapper">
|
||||
<select id="pageList" resultType="com.yxt.jlzx.oa.api.goodsformlist.GoodsFormListVo">
|
||||
SELECT sid, goodsType, goodsName, unit, num, goodsFormSid, remarks,pattern,brand,code
|
||||
FROM goods_form_list ${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="list" resultType="com.yxt.jlzx.oa.api.goodsformlist.GoodsFormListVo">
|
||||
SELECT sid, goodsType, code, goodsName, unit, num, goodsFormSid, remarks,pattern,brand
|
||||
FROM goods_form_list ${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="selectByGoodsFormSid" resultType="com.yxt.jlzx.oa.api.goodsformlist.GoodsFormList">
|
||||
SELECT *
|
||||
FROM jlzx_oa.goods_form_list
|
||||
WHERE goodsFormSid = #{formSid}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,97 @@
|
||||
package com.yxt.jlzx.oa.biz.goodsformlist;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.jlzx.oa.api.goodsformlist.GoodsFormList;
|
||||
import com.yxt.jlzx.oa.api.goodsformlist.GoodsFormListQuery;
|
||||
import com.yxt.jlzx.oa.api.goodsformlist.GoodsFormListVo;
|
||||
|
||||
@Service
|
||||
public class GoodsFormListService extends MybatisBaseService<GoodsFormListMapper, GoodsFormList> {
|
||||
|
||||
// // 分页列表
|
||||
// public IPage<GoodsFormListVo> pageList(PagerQuery<GoodsFormListQuery> pagerQuery) {
|
||||
// // mybits所用的分页对对象
|
||||
// IPage<GoodsFormListQuery> page = PagerUtil.queryToPage(pagerQuery);
|
||||
// // mybits所用的查询条件封装类
|
||||
// QueryWrapper<GoodsFormListVo> qw = buildQueryWrapper(pagerQuery.getParams());
|
||||
// return baseMapper.pageList(page, qw);
|
||||
//
|
||||
// }
|
||||
|
||||
// 不分页列表
|
||||
public List<GoodsFormListVo> list(GoodsFormListQuery pagerQuery) {
|
||||
|
||||
// mybits所用的查询条件封装类
|
||||
QueryWrapper<GoodsFormListVo> qw = buildQueryWrapper(pagerQuery);
|
||||
return baseMapper.list(qw);
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析和组装查询条件,封装在qw中,虚方法,需要在子类中定义具体实现
|
||||
*
|
||||
* @param pagerQuery
|
||||
* @return
|
||||
*/
|
||||
|
||||
private QueryWrapper<GoodsFormListVo> buildQueryWrapper(GoodsFormListQuery pagerQuery) {
|
||||
QueryWrapper<GoodsFormListVo> qw = new QueryWrapper<GoodsFormListVo>();
|
||||
if (pagerQuery != null) {
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery
|
||||
.getGoodsSid()))
|
||||
qw.eq("goodsFormSid", pagerQuery.getGoodsSid());
|
||||
|
||||
/*
|
||||
if (null!=pagerQuery.getEndDay() && org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery
|
||||
.getEndDay().toString()))
|
||||
qw.lt("endDay", pagerQuery.getEndDay());
|
||||
*/
|
||||
|
||||
qw.orderByDesc("createTime");
|
||||
}
|
||||
|
||||
return qw;
|
||||
|
||||
}
|
||||
|
||||
public void selectByGoodsSid(String goodsSid) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
public ResultBean deleteByGoodsSid(String goodsSid) {
|
||||
ResultBean resultBean = ResultBean.fireFail();
|
||||
GoodsFormListQuery q = new GoodsFormListQuery();
|
||||
q.setGoodsSid(goodsSid);
|
||||
List<GoodsFormListVo> list = list(q);
|
||||
if (null == list) {
|
||||
return resultBean;
|
||||
} else {
|
||||
int num = 0;
|
||||
for (int i = 0; list.size() > i; i++) {
|
||||
GoodsFormListVo vo = list.get(i);
|
||||
num = deleteBySid(vo.getSid());
|
||||
if (num > 0)
|
||||
num = num + 1;
|
||||
}
|
||||
if (num > 0 && num == list.size()) {
|
||||
return ResultBean.fireSuccess();
|
||||
} else {
|
||||
return ResultBean.fireFail();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public List<GoodsFormList> selectByGoodsFormSid(String formsSid) {
|
||||
return baseMapper.selectByGoodsFormSid(formsSid);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,116 @@
|
||||
package com.yxt.jlzx.oa.biz.goodsinventory;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.validation.Valid;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.jlzx.oa.api.goodsinventory.GoodsInventory;
|
||||
import com.yxt.jlzx.oa.api.goodsinventory.GoodsInventoryApi;
|
||||
import com.yxt.jlzx.oa.api.goodsinventory.GoodsInventoryDto;
|
||||
import com.yxt.jlzx.oa.api.goodsinventory.GoodsInventoryQuery;
|
||||
import com.yxt.jlzx.oa.api.goodsinventory.GoodsInventoryVo;
|
||||
import com.yxt.jlzx.oa.biz.goodslib.GoodslibService;
|
||||
import com.yxt.jlzx.oa.biz.storagin.StoragInService;
|
||||
import com.yxt.jlzx.oa.biz.storagout.StoragOutService;
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
|
||||
/**
|
||||
* @author yxt_hwj
|
||||
* @date 2020/9/29 13:30
|
||||
* @description
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("v1/goodsinventorys")
|
||||
@Api(tags = "物品库存信息")
|
||||
public class GoodsInventoryApiImpl implements GoodsInventoryApi{
|
||||
@Autowired
|
||||
private GoodsInventoryService goodsInventoryService;
|
||||
@Autowired
|
||||
private GoodslibService goodslibService;
|
||||
@Autowired
|
||||
private StoragInService storagInService;
|
||||
@Autowired
|
||||
private StoragOutService storagOutService;
|
||||
@Override
|
||||
public ResultBean<List<GoodsInventoryVo>> list(@Valid GoodsInventoryQuery query) {
|
||||
return new ResultBean().setData(null).setMsg("暂不对外开发!");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<PagerVo<GoodsInventoryVo>> pageList(@Valid PagerQuery<GoodsInventoryQuery> pagerQuery) {
|
||||
ResultBean<PagerVo<GoodsInventoryVo>> rb = ResultBean.fireFail();
|
||||
|
||||
|
||||
IPage<GoodsInventoryVo> page = goodsInventoryService.pageList(pagerQuery);
|
||||
//把Ipage转换为PageVo
|
||||
PagerVo<GoodsInventoryVo> pv_result = PagerUtil.pageToVo(page, null);
|
||||
|
||||
return rb.success().setData(pv_result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean save(@Valid GoodsInventoryDto goodsinventoryDto) {
|
||||
/*
|
||||
* int num=goodsInventoryService.selectCode(goodsinventoryDto.getCode());
|
||||
* if(num>0) { return ResultBean.fireFail().setMsg("该物品编码已存在"); } GoodsInventory
|
||||
* goodsinventory=new GoodsInventory();
|
||||
* goodsinventoryDto.fillEntity(goodsinventory);
|
||||
* if(!goodsInventoryService.save(goodsinventory)) return ResultBean.fireFail();
|
||||
* return ResultBean.fireSuccess().setData(goodsinventory.getSid());
|
||||
*/
|
||||
return new ResultBean().setData(null).setMsg("暂不对外开发,物品管理保存时已对物品库存信息做保存!");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean update(@Valid GoodsInventoryDto goodsinventoryDto, String sid) throws Exception {
|
||||
GoodsInventory goodsinventory=goodsInventoryService.fetchBySid(sid);
|
||||
if(null==goodsinventory)
|
||||
return ResultBean.fireFail().setMsg("该记录不存在");
|
||||
|
||||
if(0==goodsInventoryService.updateBySid(goodsinventoryDto.toMap(), sid))
|
||||
return ResultBean.fireFail();
|
||||
return ResultBean.fireSuccess().setData(sid);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public ResultBean delete(String sid) {
|
||||
GoodsInventory goodsinventory=goodsInventoryService.fetchBySid(sid);
|
||||
if(null==goodsinventory)
|
||||
return ResultBean.fireFail().setMsg("该记录不存在");
|
||||
|
||||
String goodslibSid= goodsinventory.getGoodslibSid();
|
||||
if(goodslibSid!=null&&!"".equals(goodslibSid)) {
|
||||
goodslibService.deleteBySid(goodslibSid);
|
||||
|
||||
storagInService.deleteByInventorySid(sid);//出库记录删除
|
||||
storagOutService.deleteByInventorySid(sid);//入库记录删除
|
||||
}
|
||||
|
||||
if(0==goodsInventoryService.deleteBySid(sid))
|
||||
return ResultBean.fireFail();
|
||||
return ResultBean.fireSuccess();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<GoodsInventoryVo> getVo(String sid) {
|
||||
ResultBean<GoodsInventoryVo> resultBean=ResultBean.fireFail();
|
||||
GoodsInventoryVo vo=goodsInventoryService.selectVoBysid(sid);
|
||||
if(null==vo)
|
||||
return resultBean;
|
||||
|
||||
return resultBean.success().setData(vo);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.yxt.jlzx.oa.biz.goodsinventory;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.yxt.jlzx.oa.api.goodsinventory.GoodsInventory;
|
||||
import com.yxt.jlzx.oa.api.goodsinventory.GoodsInventoryQuery;
|
||||
import com.yxt.jlzx.oa.api.goodsinventory.GoodsInventoryVo;
|
||||
|
||||
|
||||
/**
|
||||
* @author yxt_mtl
|
||||
* @date 2020/10/12 11:14
|
||||
* @description
|
||||
*/
|
||||
@Mapper
|
||||
public interface GoodsInventoryMapper extends BaseMapper<GoodsInventory>{
|
||||
//分页列表
|
||||
IPage<GoodsInventoryVo> pageList(IPage<GoodsInventoryVo> page,@Param(Constants.WRAPPER) Wrapper<GoodsInventoryVo> qw);
|
||||
|
||||
|
||||
GoodsInventoryVo selectVoBysid(String sid);
|
||||
|
||||
|
||||
GoodsInventoryVo selectVoByGoodslibsid(String sid);
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.jlzx.oa.biz.goodsinventory.GoodsInventoryMapper">
|
||||
<select id="pageList" resultType="com.yxt.jlzx.oa.api.goodsinventory.GoodsInventoryVo">
|
||||
select l.code,l.goodsType,l.name,l.brand,l.unit,l.pattern,i.count,ROUND(i.cost,1) cost,i.sid,i.goodslibSid
|
||||
FROM`goods_inventory` i LEFT JOIN `goodslib` l ON l.sid=i.goodslibSid
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="selectVoBysid" resultType="com.yxt.jlzx.oa.api.goodsinventory.GoodsInventoryVo">
|
||||
SELECT
|
||||
l.code,l.goodsType,l.name,l.brand,l.unit,l.pattern,i.count,ROUND(i.cost,1) cost,i.sid,i.goodslibSid
|
||||
FROM`goods_inventory` i LEFT JOIN `goodslib` l ON l.sid=i.goodslibSid
|
||||
WHERE i.sid=#{sid}
|
||||
</select>
|
||||
|
||||
<select id="selectVoByGoodslibsid" resultType="com.yxt.jlzx.oa.api.goodsinventory.GoodsInventoryVo">
|
||||
SELECT
|
||||
l.code,l.goodsType,l.name,l.brand,l.unit,l.pattern,i.count,ROUND(i.cost,1) cost,i.sid,i.goodslibSid
|
||||
FROM`goods_inventory` i LEFT JOIN `goodslib` l ON l.sid=i.goodslibSid
|
||||
WHERE i.goodslibSid=#{sid}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,90 @@
|
||||
package com.yxt.jlzx.oa.biz.goodsinventory;
|
||||
|
||||
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 com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.base.utils.StringUtils;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.jlzx.oa.api.goodsinventory.GoodsInventory;
|
||||
import com.yxt.jlzx.oa.api.goodsinventory.GoodsInventoryQuery;
|
||||
import com.yxt.jlzx.oa.api.goodsinventory.GoodsInventoryVo;
|
||||
import com.yxt.jlzx.oa.api.goodslib.GoodslibVo;
|
||||
import com.yxt.jlzx.system.api.dictcommon.DictCommonApi;
|
||||
import com.yxt.jlzx.system.api.dictcommon.DictCommonVo;
|
||||
import com.yxt.jlzx.oa.api.contract.Contract;
|
||||
import com.yxt.jlzx.oa.api.contract.ContractQuery;
|
||||
import com.yxt.jlzx.oa.api.contract.ContractVo;
|
||||
|
||||
/**
|
||||
* @author yxt_mtl
|
||||
* @date 2020/10/12 11:12
|
||||
* @description
|
||||
*/
|
||||
@Service
|
||||
public class GoodsInventoryService extends MybatisBaseService<GoodsInventoryMapper, GoodsInventory> {
|
||||
|
||||
|
||||
@Autowired
|
||||
private DictCommonApi dictcommonApi;
|
||||
// 分页列表
|
||||
public IPage<GoodsInventoryVo> pageList(PagerQuery<GoodsInventoryQuery> pagerQuery) {
|
||||
// mybits所用的分页对对象
|
||||
IPage<GoodsInventoryVo> page = PagerUtil.queryToPage(pagerQuery);
|
||||
// mybits所用的查询条件封装类
|
||||
QueryWrapper<GoodsInventoryVo> qw = buildQueryWrapper(pagerQuery.getParams());
|
||||
|
||||
page=baseMapper.pageList(page, qw);
|
||||
List<GoodsInventoryVo> l=page.getRecords();
|
||||
if(l!=null) {
|
||||
for (GoodsInventoryVo goodsInventoryVo : l) {
|
||||
String str=goodsInventoryVo.getGoodsType();
|
||||
ResultBean<DictCommonVo> v1=dictcommonApi.selectBykey(str, "wplx");
|
||||
if(v1.getData()!=null&&StringUtils.isNotBlank(v1.getData().getDictValue())) {
|
||||
goodsInventoryVo.setGoodsType(v1.getData().getDictValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
page.setRecords(l);
|
||||
return page;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析和组装查询条件,封装在qw中
|
||||
*
|
||||
* @param pagerQuery
|
||||
* @return
|
||||
*/
|
||||
private QueryWrapper<GoodsInventoryVo> buildQueryWrapper(GoodsInventoryQuery pagerQuery) {
|
||||
QueryWrapper<GoodsInventoryVo> qw = new QueryWrapper<>();
|
||||
if (pagerQuery != null) {
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery.getGoodsType()))
|
||||
qw.eq("l.goodsType", pagerQuery.getGoodsType());
|
||||
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery.getName()))
|
||||
qw.like("l.name", pagerQuery.getName());
|
||||
|
||||
qw.orderByDesc("i.createTime");
|
||||
}
|
||||
|
||||
return qw;
|
||||
|
||||
}
|
||||
|
||||
public GoodsInventoryVo selectVoBysid(String sid) {
|
||||
// TODO Auto-generated method stub
|
||||
return baseMapper.selectVoBysid(sid);
|
||||
}
|
||||
|
||||
public GoodsInventoryVo selectVoByGoodslibsid(String sid) {
|
||||
// TODO Auto-generated method stub
|
||||
return baseMapper.selectVoByGoodslibsid(sid);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,146 @@
|
||||
package com.yxt.jlzx.oa.biz.goodslib;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.validation.Valid;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.jlzx.oa.api.goodsinventory.GoodsInventory;
|
||||
import com.yxt.jlzx.oa.api.goodsinventory.GoodsInventoryVo;
|
||||
import com.yxt.jlzx.oa.api.goodslib.Goodslib;
|
||||
import com.yxt.jlzx.oa.api.goodslib.GoodslibApi;
|
||||
import com.yxt.jlzx.oa.api.goodslib.GoodslibDto;
|
||||
import com.yxt.jlzx.oa.api.goodslib.GoodslibQuery;
|
||||
import com.yxt.jlzx.oa.api.goodslib.GoodslibVo;
|
||||
import com.yxt.jlzx.oa.biz.goodsinventory.GoodsInventoryService;
|
||||
import com.yxt.jlzx.oa.biz.storagin.StoragInService;
|
||||
import com.yxt.jlzx.oa.biz.storagout.StoragOutService;
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
|
||||
/**
|
||||
* @author yxt_hwj
|
||||
* @date 2020/9/29 13:30
|
||||
* @description
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("v1/goodslibs")
|
||||
@Api(tags = "物品管理")
|
||||
public class GoodslibApiImpl implements GoodslibApi{
|
||||
@Autowired
|
||||
private GoodslibService goodslibService;
|
||||
@Autowired
|
||||
private GoodsInventoryService goodsInventoryService;
|
||||
@Autowired
|
||||
private StoragInService storagInService;
|
||||
@Autowired
|
||||
private StoragOutService storagOutService;
|
||||
@Override
|
||||
public ResultBean<List<GoodslibVo>> list(@Valid GoodslibQuery query) {
|
||||
return new ResultBean().setData(null).setMsg("暂不对外开发!");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<PagerVo<GoodslibVo>> pageList(@Valid PagerQuery<GoodslibQuery> pagerQuery) {
|
||||
ResultBean<PagerVo<GoodslibVo>> rb = ResultBean.fireFail();
|
||||
|
||||
|
||||
IPage<GoodslibVo> page = goodslibService.pageList(pagerQuery);
|
||||
//把Ipage转换为PageVo
|
||||
PagerVo<GoodslibVo> pv_result = PagerUtil.pageToVo(page, null);
|
||||
|
||||
return rb.success().setData(pv_result);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public ResultBean save(@Valid GoodslibDto goodslibDto) {
|
||||
int num=goodslibService.selectCode(goodslibDto.getCode());
|
||||
if(num>0) {
|
||||
return ResultBean.fireFail().setMsg("该物品编码已存在");
|
||||
}
|
||||
Goodslib goodslib=new Goodslib();
|
||||
goodslibDto.fillEntity(goodslib);
|
||||
if(!goodslibService.save(goodslib))
|
||||
return ResultBean.fireFail();
|
||||
|
||||
GoodsInventory goodsInventory=new GoodsInventory();
|
||||
goodsInventory.setGoodslibSid(goodslib.getSid());
|
||||
goodsInventoryService.save(goodsInventory);
|
||||
return ResultBean.fireSuccess().setData(goodslib.getSid());
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean update(@Valid GoodslibDto goodslibDto, String sid) throws Exception {
|
||||
Goodslib goodslib=goodslibService.fetchBySid(sid);
|
||||
if(null==goodslib)
|
||||
return ResultBean.fireFail().setMsg("该记录不存在");
|
||||
|
||||
if(0==goodslibService.updateBySid(goodslibDto.toMap(), sid))
|
||||
return ResultBean.fireFail();
|
||||
return ResultBean.fireSuccess().setData(sid);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public ResultBean delete(String sid) {
|
||||
Goodslib goodslib=goodslibService.fetchBySid(sid);
|
||||
if(null==goodslib)
|
||||
return ResultBean.fireFail().setMsg("该记录不存在");
|
||||
|
||||
GoodsInventoryVo vo=goodsInventoryService.selectVoByGoodslibsid(sid);
|
||||
if(vo!=null)
|
||||
goodsInventoryService.deleteBySid(vo.getSid());//库存删除
|
||||
storagInService.deleteByInventorySid(sid);//出库记录删除
|
||||
storagOutService.deleteByInventorySid(sid);//入库记录删除
|
||||
|
||||
if(0==goodslibService.deleteBySid(sid))
|
||||
return ResultBean.fireFail();
|
||||
return ResultBean.fireSuccess();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<GoodslibVo> getVo(String sid) {
|
||||
ResultBean<GoodslibVo> resultBean=ResultBean.fireFail();
|
||||
Goodslib goodslib=goodslibService.fetchBySid(sid);
|
||||
if(null==goodslib)
|
||||
return resultBean;
|
||||
GoodslibVo vo=new GoodslibVo();
|
||||
vo.fromEntity(goodslib);
|
||||
|
||||
return resultBean.success().setData(vo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean selectCode(String code) {
|
||||
int codeNum=goodslibService.selectCode(code);
|
||||
if(codeNum>0) {
|
||||
return ResultBean.fireFail().setMsg("该物品编码已存在");
|
||||
}
|
||||
return ResultBean.fireSuccess();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<List<GoodslibVo>> selectByGoodsType(String goodsType) {
|
||||
ResultBean<List<GoodslibVo>> resultBean=ResultBean.fireFail();
|
||||
// TODO Auto-generated method stub
|
||||
List<GoodslibVo> list=goodslibService.selectByGoodsType(goodsType);
|
||||
if(list!=null) {
|
||||
|
||||
return resultBean.success().setData(list);
|
||||
}
|
||||
|
||||
return resultBean.success().setData(null);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.yxt.jlzx.oa.biz.goodslib;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.jlzx.oa.api.goodslib.Goodslib;
|
||||
import com.yxt.jlzx.oa.api.goodslib.GoodslibQuery;
|
||||
import com.yxt.jlzx.oa.api.goodslib.GoodslibVo;
|
||||
|
||||
|
||||
/**
|
||||
* @author yxt_mtl
|
||||
* @date 2020/10/12 11:14
|
||||
* @description
|
||||
*/
|
||||
@Mapper
|
||||
public interface GoodslibMapper extends BaseMapper<Goodslib>{
|
||||
//分页列表
|
||||
IPage<GoodslibVo> pageList(IPage<GoodslibVo> page,@Param(Constants.WRAPPER) Wrapper<GoodslibVo> qw);
|
||||
|
||||
public int selectCode(@Param("code") String code);
|
||||
|
||||
List<GoodslibVo> selectByGoodsType(String goodsType);
|
||||
|
||||
GoodslibVo selectByGoodsCode(String goodsCode);
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.jlzx.oa.biz.goodslib.GoodslibMapper">
|
||||
<select id="pageList" resultType="com.yxt.jlzx.oa.api.goodslib.GoodslibVo">
|
||||
select * from goodslib
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectCode" resultType="java.lang.Integer">
|
||||
select count(id) from goodslib
|
||||
where code=#{code}
|
||||
</select>
|
||||
<select id="selectByGoodsType" resultType="com.yxt.jlzx.oa.api.goodslib.GoodslibVo">
|
||||
select * from goodslib
|
||||
where goodsType=#{goodsType}
|
||||
</select>
|
||||
|
||||
<select id="selectByGoodsCode" resultType="com.yxt.jlzx.oa.api.goodslib.GoodslibVo">
|
||||
select * from goodslib
|
||||
where code=#{goodsCode}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,118 @@
|
||||
package com.yxt.jlzx.oa.biz.goodslib;
|
||||
|
||||
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 com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.base.utils.StringUtils;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.jlzx.oa.api.goodslib.Goodslib;
|
||||
import com.yxt.jlzx.oa.api.goodslib.GoodslibQuery;
|
||||
import com.yxt.jlzx.oa.api.goodslib.GoodslibVo;
|
||||
import com.yxt.jlzx.system.api.dictcommon.DictCommonApi;
|
||||
import com.yxt.jlzx.system.api.dictcommon.DictCommonVo;
|
||||
import com.yxt.jlzx.oa.api.contract.Contract;
|
||||
import com.yxt.jlzx.oa.api.contract.ContractQuery;
|
||||
import com.yxt.jlzx.oa.api.contract.ContractVo;
|
||||
import com.yxt.jlzx.oa.api.goodsformlist.GoodsFormListVo;
|
||||
|
||||
/**
|
||||
* @author yxt_mtl
|
||||
* @date 2020/10/12 11:12
|
||||
* @description
|
||||
*/
|
||||
@Service
|
||||
public class GoodslibService extends MybatisBaseService<GoodslibMapper, Goodslib> {
|
||||
|
||||
@Autowired
|
||||
private DictCommonApi dictcommonApi;
|
||||
|
||||
// 分页列表
|
||||
public IPage<GoodslibVo> pageList(PagerQuery<GoodslibQuery> pagerQuery) {
|
||||
// mybits所用的分页对对象
|
||||
IPage<GoodslibVo> page = PagerUtil.queryToPage(pagerQuery);
|
||||
// mybits所用的查询条件封装类
|
||||
QueryWrapper<GoodslibVo> qw = buildQueryWrapper(pagerQuery.getParams());
|
||||
|
||||
page=baseMapper.pageList(page, qw);
|
||||
List<GoodslibVo> l=page.getRecords();
|
||||
if(l!=null) {
|
||||
for (GoodslibVo goodslibVo : l) {
|
||||
String str=goodslibVo.getGoodsType();
|
||||
if(StringUtils.isNotBlank(str)) {
|
||||
ResultBean<DictCommonVo> v1=dictcommonApi.selectBykey(str, "wplx");
|
||||
if(v1.getData()!=null&&StringUtils.isNotBlank(v1.getData().getDictValue())) {
|
||||
goodslibVo.setGoodsType(v1.getData().getDictValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
page.setRecords(l);
|
||||
return page;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析和组装查询条件,封装在qw中
|
||||
*
|
||||
* @param pagerQuery
|
||||
* @return
|
||||
*/
|
||||
private QueryWrapper<GoodslibVo> buildQueryWrapper(GoodslibQuery pagerQuery) {
|
||||
QueryWrapper<GoodslibVo> qw = new QueryWrapper<>();
|
||||
if (pagerQuery != null) {
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery.getGoodsType()))
|
||||
qw.eq("goodsType", pagerQuery.getGoodsType());
|
||||
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery.getName()))
|
||||
qw.like("name", pagerQuery.getName());
|
||||
|
||||
qw.orderByDesc("createTime");
|
||||
}
|
||||
|
||||
return qw;
|
||||
|
||||
}
|
||||
|
||||
public int selectCode(String code) {
|
||||
// TODO Auto-generated method stub
|
||||
return baseMapper.selectCode(code);
|
||||
}
|
||||
|
||||
public List<GoodslibVo> selectByGoodsType(String goodsType) {
|
||||
// TODO Auto-generated method stub
|
||||
List<GoodslibVo> list=baseMapper.selectByGoodsType(goodsType);
|
||||
|
||||
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
String goodsName="";
|
||||
if(StringUtils.isNoneBlank(list.get(i).getCode())) {
|
||||
goodsName=goodsName+list.get(i).getCode();
|
||||
}
|
||||
if(StringUtils.isNoneBlank(list.get(i).getBrand())) {
|
||||
goodsName=goodsName+","+list.get(i).getBrand();
|
||||
}
|
||||
if(StringUtils.isNoneBlank(list.get(i).getPattern())) {
|
||||
goodsName=goodsName+","+list.get(i).getPattern();
|
||||
}
|
||||
if(!"".equals(goodsName)) {
|
||||
list.get(i).setNameText(list.get(i).getName()+"("+goodsName+")");
|
||||
}else {
|
||||
list.get(i).setNameText(list.get(i).getName());
|
||||
}
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
public GoodslibVo selectByGoodsCode(String goodsCode) {
|
||||
// TODO Auto-generated method stub
|
||||
return baseMapper.selectByGoodsCode(goodsCode);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
package com.yxt.jlzx.oa.biz.index;
|
||||
|
||||
import com.yxt.common.base.utils.StringUtils;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.jlzx.oa.api.index.AppDailyApi;
|
||||
import com.yxt.jlzx.oa.api.index.AppDailyDto;
|
||||
import com.yxt.jlzx.oa.api.index.AppDailyVo;
|
||||
import com.yxt.jlzx.oa.biz.form.FormServiceCreator;
|
||||
import com.yxt.jlzx.oa.biz.form.IFormService;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2020/12/17 16:52
|
||||
* @description
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("v1/app/daily")
|
||||
@Api(tags = "APP-移动端日常管理")
|
||||
public class AppDailyApiImpl implements AppDailyApi {
|
||||
@Override
|
||||
public ResultBean<AppDailyVo> save(AppDailyDto appDailyDto) throws Exception {
|
||||
String processSid = appDailyDto.getProcessSid();
|
||||
if (StringUtils.isBlank(processSid)) {
|
||||
return new ResultBean<AppDailyVo>().fail().setMsg("流程sid不允许为空!");
|
||||
}
|
||||
String createBySid = appDailyDto.getCreateBySid();
|
||||
if (StringUtils.isBlank(createBySid)) {
|
||||
return new ResultBean<AppDailyVo>().fail().setMsg("用户sid不允许为空!");
|
||||
}
|
||||
IFormService formService = FormServiceCreator.creator(appDailyDto.getProcessSid());
|
||||
if (formService == null) {
|
||||
return new ResultBean<AppDailyVo>().fail().setData(null);
|
||||
}
|
||||
AppDailyVo appDailyVo = formService.isSave(appDailyDto);
|
||||
if (appDailyVo == null) {
|
||||
return new ResultBean<AppDailyVo>().fail().setMsg("保存失败");
|
||||
}
|
||||
return new ResultBean<AppDailyVo>().success().setData(appDailyVo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<AppDailyVo> update(AppDailyDto appDailyDto) throws Exception {
|
||||
String processSid = appDailyDto.getProcessSid();
|
||||
if (StringUtils.isBlank(processSid)) {
|
||||
return new ResultBean<AppDailyVo>().fail().setMsg("流程sid不允许为空!");
|
||||
}
|
||||
String createBySid = appDailyDto.getCreateBySid();
|
||||
if (StringUtils.isBlank(createBySid)) {
|
||||
return new ResultBean<AppDailyVo>().fail().setMsg("用户sid不允许为空!");
|
||||
}
|
||||
IFormService formService = FormServiceCreator.creator(appDailyDto.getProcessSid());
|
||||
if (formService == null) {
|
||||
return new ResultBean<AppDailyVo>().fail().setData(null);
|
||||
}
|
||||
AppDailyVo appDailyVo = formService.update(appDailyDto);
|
||||
if (appDailyVo == null) {
|
||||
return new ResultBean<AppDailyVo>().success().setMsg("修改失败");
|
||||
}
|
||||
return new ResultBean<AppDailyVo>().success().setMsg("修改成功");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,191 @@
|
||||
package com.yxt.jlzx.oa.biz.index;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.yxt.attend.api.attenderrand.AttendErrandApi;
|
||||
import com.yxt.jlzx.oa.api.index.*;
|
||||
import com.yxt.jlzx.oa.biz.oafilereceive.OafileReceiveService;
|
||||
import com.yxt.jlzx.system.api.appsubset2.AppSubsetApi;
|
||||
import com.yxt.jlzx.system.api.appsubset2.AppSubsetVo;
|
||||
import com.yxt.jlzx.system.api.banner.BannerApi;
|
||||
|
||||
import com.yxt.jlzx.system.api.user.UserInfoVo;
|
||||
import io.swagger.annotations.Api;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import com.yxt.common.base.utils.DateUtils;
|
||||
import com.yxt.common.base.utils.StringUtils;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.jlzx.oa.api.formtzgg.FormTzggQuery;
|
||||
import com.yxt.jlzx.oa.api.formtzgg.FormTzggVo;
|
||||
import com.yxt.jlzx.oa.biz.formtzgg.FormTzggService;
|
||||
import com.yxt.jlzx.system.api.banner.BannerVo;
|
||||
import com.yxt.jlzx.system.api.source.SourceApi;
|
||||
import com.yxt.jlzx.system.api.source.SourceQuery;
|
||||
import com.yxt.jlzx.system.api.source.SourceVo;
|
||||
import com.yxt.jlzx.system.api.user.UserApi;
|
||||
import com.yxt.workflow.api.task.WfTaskCountQuery;
|
||||
import com.yxt.workflow.api.task.WfTaskCountVo;
|
||||
import com.yxt.workflow.api.task.WfTaskQuery;
|
||||
import com.yxt.workflow.api.task.WfTaskVo;
|
||||
import com.yxt.workflow.api.wfmanger.WfManagerApi;
|
||||
|
||||
|
||||
/**
|
||||
* @author yxt_mtl
|
||||
* @date 2020/10/16 11:55
|
||||
* @description 移动端首页
|
||||
*/
|
||||
|
||||
@Controller
|
||||
@RequestMapping("v1/app/index")
|
||||
@Api(tags = "APP-移动端首页")
|
||||
public class AppIndexApiImpl implements AppIndexApi {
|
||||
@Autowired
|
||||
private SourceApi sourceApi;
|
||||
@Autowired
|
||||
private WfManagerApi wfManagerApi;
|
||||
@Autowired
|
||||
private UserApi userApi;
|
||||
@Autowired
|
||||
private FormTzggService tzggSerivce;
|
||||
@Autowired
|
||||
private BannerApi bannerApi;
|
||||
@Autowired
|
||||
private AppSubsetApi appSubsetApi;
|
||||
@Autowired
|
||||
private AttendErrandApi attendErrandApi;
|
||||
@Autowired
|
||||
private OafileReceiveService oafileReceiveService;
|
||||
|
||||
|
||||
@Override
|
||||
public ResultBean<AppIndexVo> index(AppIndexQuery query) {
|
||||
ResultBean<AppIndexVo> rb = ResultBean.fireFail();
|
||||
AppIndexVo vo = new AppIndexVo();
|
||||
Map<String, Object> map = new HashMap<String, Object>();
|
||||
|
||||
vo.setUserSid(query.getUserSid());
|
||||
|
||||
//noWork待办数量 流程中的任务
|
||||
WfTaskCountQuery taskQuery = new WfTaskCountQuery();
|
||||
taskQuery.setActorSid(query.getUserSid());
|
||||
taskQuery.setTaskType("0");
|
||||
ResultBean<List<WfTaskCountVo>> resultBean_tasks = wfManagerApi.getTaskCounts(taskQuery);
|
||||
if (resultBean_tasks.getSuccess()) {
|
||||
if (resultBean_tasks.getData() != null && resultBean_tasks.getData().size() > 0) {
|
||||
|
||||
vo.setNoWork(resultBean_tasks.getData().get(0).getCount());
|
||||
|
||||
// //noRead待阅数量,与消息关联
|
||||
// if (resultBean_tasks.getData().size() > 1){
|
||||
// vo.setNoRead(resultBean_tasks.getData().get(1).getCount());
|
||||
// }
|
||||
|
||||
}
|
||||
}
|
||||
taskQuery.setTaskType("1");
|
||||
ResultBean<List<WfTaskCountVo>> resultBean_tasks1 = wfManagerApi.getTaskCounts(taskQuery);
|
||||
if (resultBean_tasks1.getSuccess()) {
|
||||
if (resultBean_tasks1.getData() != null && resultBean_tasks1.getData().size() > 0) {
|
||||
vo.setNoRead(resultBean_tasks1.getData().get(0).getCount());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//tips列表
|
||||
FormTzggQuery tzggQuery1 = new FormTzggQuery();
|
||||
// tzggQuery.setClosingDate(DateUtils.dateConvertStr(new Date()));
|
||||
PagerQuery<FormTzggQuery> tzggQuery = new PagerQuery<>();
|
||||
tzggQuery.setParams(tzggQuery1);
|
||||
tzggQuery.getParams().setClosingDate(DateUtils.dateConvertStr(new Date()));
|
||||
UserInfoVo userInfoVo = userApi.fetchUserInfoBysid(query.getUserSid()).getData();
|
||||
if (null != userInfoVo) {
|
||||
tzggQuery.getParams().setCreateOrgSid(userInfoVo.getOrganizationSid());
|
||||
} else {
|
||||
tzggQuery.getParams().setCreateOrgSid("-1");
|
||||
}
|
||||
//取前6条
|
||||
tzggQuery.setSize(6);
|
||||
// List<FormTzggVo> list_tzgg = tzggSerivce.list(tzggQuery);
|
||||
List<FormTzggVo> list_tzgg = tzggSerivce.pageList(tzggQuery).getRecords();
|
||||
map.put("tips", list_tzgg);
|
||||
|
||||
//apps列表
|
||||
/*SourceQuery sourceQuery = new SourceQuery();
|
||||
sourceQuery.setPsid("oasid");
|
||||
ResultBean<List<SourceVo>> resultBean_sources = sourceApi.list(sourceQuery);
|
||||
if (resultBean_sources.getSuccess() && resultBean_sources.getData() != null) {
|
||||
for (int i = 0; i < resultBean_sources.getData().size(); i++) {
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("userSid", query.getUserSid());
|
||||
String jsonStr = JSONObject.toJSONString(jsonObject);
|
||||
resultBean_sources.getData().get(i).setSourceExtra(jsonStr);
|
||||
|
||||
}
|
||||
map.put("apps", resultBean_sources.getData());
|
||||
|
||||
} else {
|
||||
map.put("apps", "[]");
|
||||
}*/
|
||||
String linkSid = query.getLinkSid();
|
||||
ResultBean<List<AppSubsetVo>> appSubsetVoResultBean = appSubsetApi.selectVersionList(linkSid);
|
||||
if (appSubsetVoResultBean.getSuccess() && appSubsetVoResultBean.getData() != null) {
|
||||
map.put("apps", appSubsetVoResultBean.getData());
|
||||
|
||||
} else {
|
||||
map.put("apps", "[]");
|
||||
}
|
||||
//banners列表
|
||||
List<BannerVo> list_banner = new ArrayList<BannerVo>();
|
||||
ResultBean<List<BannerVo>> list_banner1 = bannerApi.selectBannerList();
|
||||
for (int i = 0; i < list_banner1.getData().size(); i++) {
|
||||
BannerVo bannerVo = new BannerVo();
|
||||
bannerVo.setPic(list_banner1.getData().get(i).getPic());
|
||||
bannerVo.setSid(list_banner1.getData().get(i).getSid());
|
||||
bannerVo.setUrl(list_banner1.getData().get(i).getUrl());
|
||||
|
||||
list_banner.add(bannerVo);
|
||||
}
|
||||
map.put("banners", list_banner);
|
||||
vo.setMapsExtra(map);
|
||||
return rb.setData(vo).success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<AppIndexVo> Apphandle(IndexQuery query) throws ParseException {
|
||||
AppIndexVo appIndexVo = new AppIndexVo();
|
||||
//考勤申请
|
||||
int attendApply = 0;
|
||||
//文件传送待阅读
|
||||
int fileDelivery = 0;
|
||||
//查询考勤申请待办的
|
||||
ResultBean hanld = attendErrandApi.getHanld(query.getUserSid());
|
||||
if(StringUtils.isNotBlank(hanld.getData().toString())) {
|
||||
attendApply=Integer.valueOf(hanld.getData().toString());
|
||||
}else {
|
||||
attendApply=0;
|
||||
}
|
||||
//文件传送待阅读
|
||||
fileDelivery = oafileReceiveService.selectUnReadNum(query.getUserSid());
|
||||
Map<String, Object> map = new HashMap<String, Object>();
|
||||
map.put("3617e81e-5ce4-481e-9cae-33e110a26d77",fileDelivery);
|
||||
map.put("d81b4a78-59cd-4f84-bfea-23cdba0ffb1e",attendApply);
|
||||
appIndexVo.setMapsExtra(map);
|
||||
return new ResultBean<AppIndexVo>().success().setData(appIndexVo);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,238 @@
|
||||
package com.yxt.jlzx.oa.biz.index;
|
||||
|
||||
import com.yxt.attend.api.attenderrand.AttendErrandApi;
|
||||
import com.yxt.common.base.utils.DateUtils;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.jlzx.oa.api.dutyschedule.DutyScheduleApi;
|
||||
import com.yxt.jlzx.oa.api.formtzgg.FormTzggQuery;
|
||||
import com.yxt.jlzx.oa.api.formtzgg.FormTzggVo;
|
||||
import com.yxt.jlzx.oa.api.index.IndexApi;
|
||||
import com.yxt.jlzx.oa.api.index.IndexQuery;
|
||||
import com.yxt.jlzx.oa.api.index.IndexVo;
|
||||
import com.yxt.jlzx.oa.api.work.WorkDoAppVo;
|
||||
import com.yxt.jlzx.oa.api.work.WorkDoVo;
|
||||
import com.yxt.jlzx.oa.api.work.WorkQuery;
|
||||
import com.yxt.jlzx.oa.biz.formjournal.FormJournalService;
|
||||
import com.yxt.jlzx.oa.biz.formtzgg.FormTzggService;
|
||||
import com.yxt.jlzx.oa.biz.oafilereceive.OafileReceiveService;
|
||||
import com.yxt.jlzx.oa.biz.orgduty.OrgDutyService;
|
||||
import com.yxt.jlzx.oa.biz.work.WorkService;
|
||||
import com.yxt.jlzx.system.api.source.SourceApi;
|
||||
import com.yxt.jlzx.system.api.user.UserApi;
|
||||
import com.yxt.jlzx.system.api.user.UserInfoVo;
|
||||
import com.yxt.workflow.api.task.WfTaskCountQuery;
|
||||
import com.yxt.workflow.api.task.WfTaskCountVo;
|
||||
import com.yxt.workflow.api.wfmanger.WfManagerApi;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.text.ParseException;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("v1/pc/index")
|
||||
@Api(tags = "pc-首页")
|
||||
public class IndexApiImpl implements IndexApi {
|
||||
@Autowired
|
||||
private SourceApi sourceApi;
|
||||
@Autowired
|
||||
private WfManagerApi wfManagerApi;
|
||||
@Autowired
|
||||
private UserApi userApi;
|
||||
@Autowired
|
||||
private FormTzggService tzggSerivce;
|
||||
@Autowired
|
||||
private DutyScheduleApi dutyScheduleApi;
|
||||
@Autowired
|
||||
private FormJournalService formJournalService;
|
||||
@Autowired
|
||||
private OrgDutyService orgDutyService;
|
||||
@Autowired
|
||||
private AttendErrandApi attendErrandApi;
|
||||
@Autowired
|
||||
private OafileReceiveService oafileReceiveService;
|
||||
|
||||
@Autowired
|
||||
private WorkService workService;
|
||||
|
||||
@Autowired
|
||||
private HttpServletRequest request;
|
||||
@Override
|
||||
public ResultBean<IndexVo> index(IndexQuery query) throws ParseException {
|
||||
ResultBean<IndexVo> rb = ResultBean.fireFail();
|
||||
IndexVo vo = new IndexVo();
|
||||
Map<String, Object> map = new HashMap<String, Object>();
|
||||
|
||||
vo.setUserSid(query.getUserSid());
|
||||
//1.我的工作数量
|
||||
//2.通知公告列表
|
||||
//3.值班表列表
|
||||
//4.省局信息(多个选择页)
|
||||
//5.内部刊物封面
|
||||
|
||||
|
||||
//1.公文中心(待办)
|
||||
WfTaskCountQuery taskQuery = new WfTaskCountQuery();
|
||||
taskQuery.setActorSid(query.getUserSid());
|
||||
taskQuery.setTaskType("0");
|
||||
ResultBean<List<WfTaskCountVo>> resultBean_tasks = wfManagerApi.getTaskCounts(taskQuery);
|
||||
// if (resultBean_tasks.getSuccess()) {
|
||||
// if (resultBean_tasks.getData() != null && resultBean_tasks.getData().size() > 0) {
|
||||
// vo.setWorkCount(resultBean_tasks.getData().get(0).getCount());
|
||||
// }
|
||||
// }
|
||||
PagerQuery<WorkQuery> pagerQuery=new PagerQuery<WorkQuery>();
|
||||
WorkQuery wq=new WorkQuery();
|
||||
wq.setActorSid(query.getUserSid());
|
||||
wq.setState("0");
|
||||
wq.setTaskType("0");
|
||||
wq.setProcessTypeSid("0001");
|
||||
pagerQuery.setParams(wq);
|
||||
PagerVo<WorkDoVo> workdovo = workService.doingWorks(pagerQuery);
|
||||
|
||||
// 结果转换
|
||||
PagerVo<WorkDoAppVo> workdoappVo_pager = PagerUtil.switchPagerVo(workdovo);
|
||||
for (int i = 0; i < workdovo.getRecords().size(); i++) {
|
||||
WorkDoAppVo workDoVo = new WorkDoAppVo();
|
||||
workdoappVo_pager.getRecords().add(workDoVo.fromMap(workdovo.getRecords().get(i).toMap()));
|
||||
}
|
||||
|
||||
//2021.10.15 查询待阅的数量
|
||||
PagerQuery<WorkQuery> pagerQuery1=new PagerQuery<WorkQuery>();
|
||||
WorkQuery wq1 = new WorkQuery();
|
||||
wq1.setActorSid(query.getUserSid());
|
||||
wq1.setState("0");
|
||||
wq1.setTaskType("1");
|
||||
wq1.setProcessTypeSid("0001");
|
||||
pagerQuery1.setParams(wq1);
|
||||
PagerVo<WorkDoVo> workdovo1 = workService.doingWorks(pagerQuery1);
|
||||
|
||||
// 结果转换
|
||||
PagerVo<WorkDoAppVo> workdoappVo_pager1 = PagerUtil.switchPagerVo(workdovo1);
|
||||
for (int i = 0; i < workdovo1.getRecords().size(); i++) {
|
||||
WorkDoAppVo workDoVo1 = new WorkDoAppVo();
|
||||
workdoappVo_pager1.getRecords().add(workDoVo1.fromMap(workdovo1.getRecords().get(i).toMap()));
|
||||
}
|
||||
int allCount = (int) workdoappVo_pager.getTotal() + (int) workdoappVo_pager1.getTotal();
|
||||
vo.setWorkCount(allCount);
|
||||
|
||||
// vo.setWorkCount( (int) workdoappVo_pager.getTotal());
|
||||
//文件传送的待办数量
|
||||
int fileDelivery = oafileReceiveService.selectUnReadNum(query.getUserSid());
|
||||
vo.setFileDelivery(fileDelivery);
|
||||
|
||||
|
||||
//日常管理的待办数量
|
||||
if (resultBean_tasks.getSuccess()) {
|
||||
if (resultBean_tasks.getData() != null && resultBean_tasks.getData().size() > 0) {
|
||||
vo.setRcglCount( resultBean_tasks.getData().get(0).getCount()-(int)workService.doingWorks(pagerQuery).getTotal());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//2.通知公告列表(返回前六条)
|
||||
FormTzggQuery tzggQuery1 = new FormTzggQuery();
|
||||
PagerQuery<FormTzggQuery> tzggQuery = new PagerQuery<>();
|
||||
tzggQuery.setParams(tzggQuery1);
|
||||
|
||||
tzggQuery.getParams().setClosingDate(DateUtils.dateConvertStr(new Date()));
|
||||
tzggQuery.getParams().setUserSid(query.getUserSid());
|
||||
// String token = request.getHeader("token");
|
||||
UserInfoVo userInfoVo = userApi.fetchUserInfoBysid(query.getUserSid()).getData();
|
||||
if (null != userInfoVo) {
|
||||
//如果是管理员则显示所有
|
||||
if (userInfoVo.getIsAdmin()==1){
|
||||
tzggQuery.getParams().setUserSid("");
|
||||
}
|
||||
tzggQuery.getParams().setCreateOrgSid(userInfoVo.getOrganizationSid());
|
||||
} else {
|
||||
tzggQuery.getParams().setCreateOrgSid("-1");
|
||||
}
|
||||
//取前6条
|
||||
tzggQuery.setSize(6);
|
||||
// List<FormTzggVo> list_tzgg = tzggSerivce.list(tzggQuery);
|
||||
List<FormTzggVo> list_tzgg = tzggSerivce.pageList1(tzggQuery).getRecords();
|
||||
map.put("tips", list_tzgg);
|
||||
|
||||
|
||||
//3.值班表列表
|
||||
//List<DutyScheduleVo> list_duty = dutyScheduleApi.list(null);
|
||||
// List<DutyScheduleVo> list_duty = new ArrayList<DutyScheduleVo>();
|
||||
Map<String, Object> mapNew = orgDutyService.selectList(query.getOrgSid()).getData();
|
||||
// for (int i = 0; i < 3; i++) {
|
||||
// DutyScheduleVo dutyScheduleVo = new DutyScheduleVo();
|
||||
// dutyScheduleVo.setName("name" + i);
|
||||
// Map<String, Object> map1 = new HashMap<>();
|
||||
// map1.put("sid", i);
|
||||
// map1.put("nameOne",i);
|
||||
// dutyScheduleVo.setMapList(map1);
|
||||
// list_duty.add(dutyScheduleVo);
|
||||
// }
|
||||
map.put("dutyschedules", mapNew);
|
||||
|
||||
|
||||
//4.省局信息(多个选择页)
|
||||
Map<String, Object> map_notices = new HashMap<>();
|
||||
/* String jslist = "{\"data\":[{\"title\":\"信息1\",\"createTime\":\"2021-01-01\",\"url\":\"\",\"extra\":\"\"}," +
|
||||
"{\"title\":\"信息2\",\"createTime\":\"2021-01-02\",\"url\":\"\",\"extra\":\"\"}],\"title\":\"省局信息1\"}";
|
||||
JSONObject jsonToArray = JSONObject.parseObject(jslist);
|
||||
JSONArray data = jsonToArray.getJSONArray("data");
|
||||
Map<String, Object> map1 = new HashMap<>();
|
||||
map1.put("date", data.toArray());
|
||||
map1.put("title", "省局信息1");
|
||||
map_notices.put("page1", map1);
|
||||
Map<String, Object> map2 = new HashMap<>();
|
||||
map2.put("date", data.toArray());
|
||||
map2.put("title", "省局信息2");
|
||||
map_notices.put("page2", map2);*/
|
||||
map.put("notices", map_notices);
|
||||
|
||||
|
||||
//5.内部刊物封面
|
||||
// FormJournalQuery journalQuery1 = new FormJournalQuery();
|
||||
// PagerQuery<FormJournalQuery> journalQuery = new PagerQuery<>();
|
||||
// journalQuery.setParams(journalQuery1);
|
||||
//
|
||||
// if (null != userInfoVo) {
|
||||
// journalQuery.getParams().setCreateOrgSid(userInfoVo.getOrganizationSid());
|
||||
// } else {
|
||||
// journalQuery.getParams().setCreateOrgSid("-1");
|
||||
// }
|
||||
// //取前6条
|
||||
// journalQuery.setSize(1);
|
||||
// List<FormJournalVo> list_journal = formJournalService.pageList(journalQuery).getRecords();
|
||||
// map.put("journal", list_journal.get(0));
|
||||
|
||||
|
||||
vo.setMapsExtra(map);
|
||||
|
||||
return rb.setData(vo).success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<IndexVo> handle(IndexQuery query) throws ParseException {
|
||||
IndexVo indexVo = new IndexVo();
|
||||
//考勤申请
|
||||
int attendApply = 0;
|
||||
//文件传送待阅读
|
||||
int fileDelivery = 0;
|
||||
//查询考勤申请待办的
|
||||
ResultBean hanld = attendErrandApi.getHanld(query.getUserSid());
|
||||
attendApply=Integer.valueOf(hanld.getData().toString());
|
||||
//文件传送待阅读
|
||||
fileDelivery = oafileReceiveService.selectUnReadNum(query.getUserSid());
|
||||
indexVo.setAttendApply(attendApply);
|
||||
indexVo.setFileDelivery(fileDelivery);
|
||||
return new ResultBean<IndexVo>().success().setData(indexVo);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,187 @@
|
||||
package com.yxt.jlzx.oa.biz.oafile;
|
||||
|
||||
import com.yxt.common.base.config.component.FileUploadComponent;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.jlzx.jlcyry.api.education.EducationVo;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.FilesappendixApi;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.FilesappendixDto;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.FilesappendixVo;
|
||||
import com.yxt.jlzx.oa.api.oafile.*;
|
||||
import com.yxt.jlzx.oa.api.oafilereceive.OafileReceive;
|
||||
import com.yxt.jlzx.oa.api.oafilereceive.OafileReceiveDto;
|
||||
import com.yxt.jlzx.oa.api.oafilesend.OafileSendVo;
|
||||
import com.yxt.jlzx.oa.biz.filesappendix.FilesappendixApiImpl;
|
||||
import com.yxt.jlzx.oa.biz.filesappendix.FilesappendixService;
|
||||
import com.yxt.jlzx.oa.biz.oafilereceive.OafileReceiveApiImpl;
|
||||
import com.yxt.jlzx.oa.biz.oafilereceive.OafileReceiveService;
|
||||
import com.yxt.jlzx.oa.biz.oafilesend.OafileSendApiImpl;
|
||||
import com.yxt.jlzx.oa.biz.oafilesend.OafileSendService;
|
||||
import com.yxt.jlzx.oa.api.oafilesend.OafileSend;
|
||||
import com.yxt.jlzx.oa.api.oafilesend.OafileSendDto;
|
||||
import io.swagger.annotations.Api;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import javax.validation.Valid;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author hanweijia
|
||||
* @date 2020/9/29 13:30
|
||||
* @description 角色信息
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("v1/oafiles")
|
||||
@Api(tags = "发送文件")
|
||||
public class OafileApiImpl implements OafileApi {
|
||||
@Autowired
|
||||
private OafileService oafileService;
|
||||
|
||||
@Autowired
|
||||
private OafileSendApiImpl oafileSendApiImpl;
|
||||
@Autowired
|
||||
private OafileReceiveApiImpl oafileReceiveApiImpl;
|
||||
@Autowired
|
||||
private FilesappendixApiImpl filesappendixApiImpl;
|
||||
@Autowired
|
||||
private
|
||||
OafileReceiveService OafileReceiveService;
|
||||
@Autowired
|
||||
private OafileSendService oafileSendService;
|
||||
@Autowired
|
||||
private FilesappendixService filesappendixService;
|
||||
@Autowired
|
||||
private FileUploadComponent fileUploadComponent;
|
||||
|
||||
|
||||
@Override
|
||||
public ResultBean<List<OafileVo>> list(@Valid OafileQuery query) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<PagerVo<OafileVo>> pageList(@Valid PagerQuery<OafileQuery> pagerQuery) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean save(@Valid OafileDto oafiledto) {
|
||||
Oafile oafile = new Oafile();
|
||||
oafiledto.fillEntity(oafile);
|
||||
if (!oafileService.save(oafile)) {
|
||||
return ResultBean.fireFail();
|
||||
}
|
||||
if (oafiledto.getFilePathlist() != null && oafiledto.getFilePathlist().size() > 0) {
|
||||
for (int i = 0; i < oafiledto.getFilePathlist().size(); i++) {
|
||||
FilesappendixDto oafileAccessory = new FilesappendixDto();
|
||||
oafileAccessory.setFilePath(oafiledto.getFilePathlist().get(i).getFilePath());
|
||||
oafileAccessory.setFileType("sendFile");
|
||||
oafileAccessory.setFileName(oafiledto.getFilePathlist().get(i).getFileName());
|
||||
oafileAccessory.setLinkSid(oafile.getSid());
|
||||
filesappendixApiImpl.save(oafileAccessory);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
OafileSendDto sendDto = new OafileSendDto();
|
||||
sendDto.setFileSid(oafile.getSid());
|
||||
sendDto.setReceiveNames(oafiledto.getReceiveNames());
|
||||
sendDto.setRemindWay(oafiledto.getRemindWay());
|
||||
sendDto.setSenderName(oafiledto.getCreateMen());
|
||||
sendDto.setSenderSid(oafiledto.getCreateBySid());
|
||||
sendDto.setSendTime(oafile.getCreateTime());
|
||||
sendDto.setRemarks(oafile.getRemarks());
|
||||
oafileSendApiImpl.save(sendDto);
|
||||
|
||||
|
||||
OafileReceiveDto receiveDto = new OafileReceiveDto();
|
||||
receiveDto.setFileSid(oafile.getSid());
|
||||
receiveDto.setReceiveTime(oafile.getCreateTime());
|
||||
receiveDto.setReceiveUser(oafiledto.getReceiveNames());
|
||||
receiveDto.setReceiveUserSid(oafiledto.getReceiveSids());
|
||||
receiveDto.setRemindWay(oafiledto.getRemindWay());
|
||||
receiveDto.setSenderName(oafiledto.getCreateMen());
|
||||
receiveDto.setSenderSid(oafiledto.getCreateBySid());
|
||||
receiveDto.setRemarks(oafile.getRemarks());
|
||||
oafileReceiveApiImpl.save(receiveDto);
|
||||
|
||||
|
||||
return ResultBean.fireSuccess().setData(oafile.getSid());
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean update(@Valid OafileDto dto, String sid) throws Exception {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean delete(String sid) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<OafileVo> getVo(String sid) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<Map<String, Object>> selectByfileSid(String sid, String type) {
|
||||
Map<String, Object> map = new HashMap<String, Object>();
|
||||
Oafile oa = oafileService.fetchBySid(sid);
|
||||
OafileVo vo = new OafileVo();
|
||||
vo.setRemarks(oa.getRemarks());
|
||||
if (StringUtils.isNoneBlank(type)) {
|
||||
if ("cf".equals(type)) {//重发
|
||||
vo.setTitle(oa.getTitle());
|
||||
List<OafileReceive> receiveList = OafileReceiveService.fetchByFileSid(sid);
|
||||
String receiveSids = "";
|
||||
if (receiveList != null && receiveList.size() > 0) {
|
||||
for (int i = 0; i < receiveList.size(); i++) {
|
||||
if (receiveList.size() == i + 1) {
|
||||
receiveSids = receiveSids + receiveList.get(i).getReceiveUserSid();
|
||||
} else {
|
||||
receiveSids = receiveSids + receiveList.get(i).getReceiveUserSid() + ",";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
OafileSend Send = oafileSendService.fetchByFileSid(sid);
|
||||
vo.setReceiveSids(receiveSids);
|
||||
vo.setReceiveNames(Send.getReceiveNames());
|
||||
List<FilesappendixVo> FilesappendixVolist = filesappendixService.queryBylinkSid(sid);
|
||||
map.put("Oafile", vo);
|
||||
map.put("fileList", FilesappendixVolist);
|
||||
return new ResultBean<Map<String, Object>>().success().setData(map);
|
||||
} else if ("zf".equals(type)) {//转发
|
||||
vo.setTitle("转发:" + oa.getTitle());
|
||||
List<FilesappendixVo> FilesappendixVolist = filesappendixService.queryBylinkSid(sid);
|
||||
map.put("Oafile", vo);
|
||||
map.put("fileList", FilesappendixVolist);
|
||||
return new ResultBean<Map<String, Object>>().success().setData(map);
|
||||
} else if ("hf".equals(type)) {//回复
|
||||
vo.setTitle("回复:" + oa.getTitle());
|
||||
OafileSend Send = oafileSendService.fetchByFileSid(sid);
|
||||
List<FilesappendixVo> FilesappendixVolist = new ArrayList<FilesappendixVo>();
|
||||
vo.setReceiveNames(Send.getSenderName());
|
||||
vo.setReceiveSids(Send.getSenderSid());
|
||||
map.put("Oafile", vo);
|
||||
map.put("fileList", FilesappendixVolist);
|
||||
return new ResultBean<Map<String, Object>>().success().setData(map);
|
||||
} else {
|
||||
return new ResultBean<Map<String, Object>>().fail().setData(map);
|
||||
}
|
||||
} else {
|
||||
return new ResultBean<Map<String, Object>>().fail().setData(map);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.yxt.jlzx.oa.biz.oafile;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.Filesappendix;
|
||||
import com.yxt.jlzx.oa.api.oafile.Oafile;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2020/10/14 14:29
|
||||
* @description
|
||||
*/
|
||||
@Mapper
|
||||
public interface OafileMaper extends BaseMapper<Oafile> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.jlzx.oa.biz.oafile.Oafile">
|
||||
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.yxt.jlzx.oa.biz.oafile;
|
||||
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.Filesappendix;
|
||||
import com.yxt.jlzx.oa.api.oafile.Oafile;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2020/10/14 14:29
|
||||
* @description
|
||||
*/
|
||||
@Service
|
||||
public class OafileService extends MybatisBaseService<OafileMaper, Oafile> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
package com.yxt.jlzx.oa.biz.oafilereceive;
|
||||
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.jlzx.oa.api.oafilereceive.AppOafileReceiveApi;
|
||||
import com.yxt.jlzx.oa.api.oafilereceive.OafileReceiveTwoVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2021/1/13 16:37
|
||||
* @description
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("v1/appoafileReceives")
|
||||
@Api(tags = "app接收文件")
|
||||
public class AppOafileReceiveApiImpl implements AppOafileReceiveApi {
|
||||
|
||||
@Autowired
|
||||
private OafileReceiveService oafileReceiveService;
|
||||
|
||||
@Override
|
||||
public ResultBean unReadNum(String userSid) {
|
||||
int i = oafileReceiveService.selectUnReadNum(userSid);
|
||||
return ResultBean.fireSuccess().setData(i);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<List<Map<String, Object>>> oafileReceiveThreeList(String fileSid) {
|
||||
//未读
|
||||
int state = 0;
|
||||
List<OafileReceiveTwoVo> oafileReceives = oafileReceiveService.selectByFileSidAndStateOne(fileSid, state);
|
||||
List oaFileReceiveThreeVo = new ArrayList<>();
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("list", oafileReceives);
|
||||
map.put("title", "未读(" + oafileReceives.size() + ")");
|
||||
oaFileReceiveThreeVo.add(map);
|
||||
Map<String, Object> map1 = new HashMap<>();
|
||||
state = 1;
|
||||
List<OafileReceiveTwoVo> oafileReceiveList = oafileReceiveService.selectByFileSidAndStateOne(fileSid, state);
|
||||
map1.put("list", oafileReceiveList);
|
||||
map1.put("title", "已读(" + oafileReceiveList.size() + ")");
|
||||
oaFileReceiveThreeVo.add(map1);
|
||||
return new ResultBean<List<Map<String, Object>>>().success().setData(oaFileReceiveThreeVo);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,235 @@
|
||||
package com.yxt.jlzx.oa.biz.oafilereceive;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.config.component.FileUploadComponent;
|
||||
import com.yxt.common.base.utils.DateUtils;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.base.utils.StringUtils;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.FilesappendixVo;
|
||||
import com.yxt.jlzx.oa.api.oafile.Oafile;
|
||||
import com.yxt.jlzx.oa.api.oafile.OafileVo;
|
||||
import com.yxt.jlzx.oa.api.oafilereceive.*;
|
||||
import com.yxt.jlzx.oa.biz.filesappendix.FilesappendixService;
|
||||
import com.yxt.jlzx.oa.biz.oafile.OafileService;
|
||||
import com.yxt.jlzx.oa.biz.oafilesend.OafileSendService;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import javax.servlet.ServletOutputStream;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.Valid;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.URLEncoder;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author yxt_mtl
|
||||
* @date 2020/9/29 13:30
|
||||
* @description 角色信息
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("v1/oafileReceives")
|
||||
@Api(tags = "接收文件")
|
||||
public class OafileReceiveApiImpl implements OafileReceiveApi {
|
||||
@Autowired
|
||||
private OafileReceiveService oafileReceiveService;
|
||||
@Autowired
|
||||
private OafileService oafileService;
|
||||
@Autowired
|
||||
private FilesappendixService filesappendixService;
|
||||
@Autowired
|
||||
private OafileSendService oafileSendService;
|
||||
|
||||
@Autowired(required = false)
|
||||
private HttpServletResponse response;
|
||||
@Autowired
|
||||
private FileUploadComponent fileUploadComponent;
|
||||
|
||||
@Autowired(required = false)
|
||||
private HttpServletRequest request;
|
||||
|
||||
@Override
|
||||
public ResultBean<List<OafileReceiveVo>> list(@Valid OafileReceiveQuery query) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<PagerVo<OafileReceiveVo>> pageList(@Valid PagerQuery<OafileReceiveQuery> pagerQuery) {
|
||||
ResultBean<PagerVo<OafileReceiveVo>> rb = ResultBean.fireFail();
|
||||
IPage<OafileReceiveVo> page = oafileReceiveService.pageList(pagerQuery);
|
||||
//把Ipage转换为PageVo
|
||||
PagerVo<OafileReceiveVo> pv_result = PagerUtil.pageToVo(page, null);
|
||||
return rb.success().setData(pv_result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean save(@Valid OafileReceiveDto dto) {
|
||||
if (dto != null && StringUtils.isNotBlank(dto.getReceiveUserSid())) {
|
||||
int ii = dto.getReceiveUserSid().indexOf(",");
|
||||
if (dto.getReceiveUserSid().indexOf(",") >= -1) {
|
||||
String[] ReceiveUserSids = dto.getReceiveUserSid().split(",");
|
||||
String[] receiveUsers = dto.getReceiveUser().split(",");
|
||||
for (int i = 0; ReceiveUserSids.length > i; i++) {
|
||||
OafileReceive oafileReceive = new OafileReceive();
|
||||
dto.fillEntity(oafileReceive);
|
||||
oafileReceive.setReceiveUserSid(ReceiveUserSids[i]);
|
||||
oafileReceive.setReceiveUser(receiveUsers[i]);
|
||||
oafileReceive.setState(0);
|
||||
Date receiveTime = dto.getReceiveTime();
|
||||
String dateStr = new SimpleDateFormat("yyyy-MM-dd").format(receiveTime);
|
||||
oafileReceive.setReceiveTimeStr(dateStr);
|
||||
if (!oafileReceiveService.save(oafileReceive)) {
|
||||
return ResultBean.fireFail();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ResultBean.fireSuccess().setMsg("保存成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean update(@Valid OafileReceiveDto dto, String sid) throws Exception {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean delete(String sid) {
|
||||
OafileReceive oafileReceive = oafileReceiveService.fetchBySid(sid);
|
||||
if (oafileReceive == null) {
|
||||
return ResultBean.fireFail().setMsg("该文件不存在");
|
||||
}
|
||||
int i = oafileReceiveService.deleteBySid(sid);
|
||||
if (i == 0) {
|
||||
return ResultBean.fireFail().setMsg("删除失败");
|
||||
}
|
||||
return ResultBean.fireSuccess().setMsg("删除成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<OafileReceiveVo> getVo(String sid) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public ResultBean<Map<String, Object>> fileDtail(String sid) {
|
||||
Map<String, Object> map = new HashMap<String, Object>();
|
||||
OafileReceive receive = oafileReceiveService.fetchBySid(sid);
|
||||
Oafile oafile = oafileService.fetchBySid(receive.getFileSid());
|
||||
OafileVo vo = new OafileVo();
|
||||
vo.setTitle(oafile.getTitle());
|
||||
vo.setRemarks(oafile.getRemarks());
|
||||
vo.setSid(oafile.getSid());
|
||||
List<OafileReceive> receiveList = oafileReceiveService.fetchByFileSid(receive.getFileSid());
|
||||
String receiveSids = "";
|
||||
if (receiveList != null && receiveList.size() > 0) {
|
||||
for (int i = 0; i < receiveList.size(); i++) {
|
||||
receiveSids = receiveSids + ";" + receiveList.get(i).getReceiveUserSid();
|
||||
}
|
||||
}
|
||||
String receiveTime = "";
|
||||
if (receive != null && receive.getReceiveTime() != null) {
|
||||
receiveTime = DateUtils.dateConvertStr(receive.getReceiveTime());
|
||||
}
|
||||
vo.setReceiveNames(receive.getReceiveUser());
|
||||
vo.setReceiveSids(receive.getReceiveUserSid());
|
||||
vo.setCreateTime(receiveTime);
|
||||
vo.setSenderName(receive.getSenderName());
|
||||
vo.setSenderSid(receive.getSenderSid());
|
||||
List<FilesappendixVo> FilesappendixVolist = filesappendixService.queryBylinkSid(receive.getFileSid());
|
||||
map.put("Oafile", vo);
|
||||
map.put("fileList", FilesappendixVolist);
|
||||
map.put("sendRemarks", "");
|
||||
if (receive.getState() != 1) {
|
||||
receive.setModifyTime(new Date());//修改已阅时间
|
||||
receive.setState(1);//点击详情 为已阅
|
||||
oafileReceiveService.updateById(receive);
|
||||
}
|
||||
|
||||
//将已发文件表中的已读描述修改
|
||||
//根据receive的fileSid和state为1查询已读数量
|
||||
int size = oafileReceiveService.selectByFileSidAndState(receive.getFileSid(), 1);
|
||||
String sendRemarks = "";
|
||||
if (size == receiveList.size()) {
|
||||
sendRemarks = "全部已读";
|
||||
} else {
|
||||
sendRemarks = "已读 " + size + "/" + receiveList.size();
|
||||
}
|
||||
|
||||
//根据fileSid更新已发文件的
|
||||
oafileSendService.updateByFileSid(receive.getFileSid(), sendRemarks);
|
||||
return new ResultBean<Map<String, Object>>().success().setData(map);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<List<OafileReceiveOneVo>> selectByFileSid(String fileSid) {
|
||||
List<OafileReceiveOneVo> list = oafileReceiveService.selectByFileSid(fileSid);
|
||||
if (list != null) {
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
if ("未阅".equals(list.get(i).getState())) {
|
||||
list.get(i).setModifyTime("");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
return new ResultBean<List<OafileReceiveOneVo>>().success().setData(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void exportOrder(String filePath) throws IOException {
|
||||
String path = fileUploadComponent.getUrlPrefix();
|
||||
File file = null;
|
||||
InputStream inputStream = null;
|
||||
ServletOutputStream out = null;
|
||||
if (filePath.indexOf(path) > -1) {
|
||||
filePath = filePath.replace(path, "");
|
||||
}
|
||||
try {
|
||||
request.setCharacterEncoding("UTF-8");
|
||||
String realPath = fileUploadComponent.getUploadPath();
|
||||
file = new File(realPath + filePath);
|
||||
inputStream = new FileInputStream(file);
|
||||
response.setCharacterEncoding("utf-8");
|
||||
response.setContentType("application/pdf");
|
||||
response.setHeader("content-disposition", "attachment;filename="
|
||||
+ URLEncoder.encode(filePath, "UTF-8"));
|
||||
out = response.getOutputStream();
|
||||
byte[] buffer = new byte[512]; // 缓冲区
|
||||
int bytesToRead = -1;
|
||||
// 通过循环将读入的Excel文件的内容输出到浏览器中
|
||||
while ((bytesToRead = inputStream.read(buffer)) != -1) {
|
||||
out.write(buffer, 0, bytesToRead);
|
||||
}
|
||||
out.flush();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
if (inputStream != null) {
|
||||
inputStream.close();
|
||||
}
|
||||
if (out != null) {
|
||||
out.close();
|
||||
}
|
||||
if (file != null) {
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package com.yxt.jlzx.oa.biz.oafilereceive;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.yxt.jlzx.oa.api.oafilereceive.*;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.yxt.jlzx.oa.api.car.Car;
|
||||
import com.yxt.jlzx.oa.api.car.CarQuery;
|
||||
import com.yxt.jlzx.oa.api.car.CarVo;
|
||||
import com.yxt.jlzx.oa.api.contract.Contract;
|
||||
import com.yxt.jlzx.oa.api.contract.ContractQuery;
|
||||
import com.yxt.jlzx.oa.api.contract.ContractVo;
|
||||
import com.yxt.jlzx.oa.api.oafile.Oafile;
|
||||
import com.yxt.jlzx.oa.api.oafile.OafileQuery;
|
||||
import com.yxt.jlzx.oa.api.oafile.OafileVo;
|
||||
import com.yxt.jlzx.oa.api.oafilesend.OafileSend;
|
||||
import com.yxt.jlzx.oa.api.oafilesend.OafileSendQuery;
|
||||
import com.yxt.jlzx.oa.api.oafilesend.OafileSendVo;
|
||||
|
||||
|
||||
/**
|
||||
* @author yxt_mtl
|
||||
* @date 2020/10/12 11:14
|
||||
* @description
|
||||
*/
|
||||
@Mapper
|
||||
public interface OafileReceiveMapper extends BaseMapper<OafileReceive> {
|
||||
//分页列表
|
||||
IPage<OafileReceiveVo> pageList(IPage<OafileReceiveQuery> page, @Param(Constants.WRAPPER) Wrapper<OafileReceiveVo> qw);
|
||||
|
||||
List<OafileReceive> fetchByFileSid(String fileSid);
|
||||
|
||||
void updateState(String sid);
|
||||
|
||||
List<OafileReceiveOneVo> selectByFileSid(String fileSid);
|
||||
|
||||
public int selectUnReadNum(String userSid);
|
||||
|
||||
public int selectByFileSidAndState(@Param("fileSid") String fileSid, @Param("state") int state);
|
||||
|
||||
public List<OafileReceiveTwoVo> selectByFileSidAndStateOne(@Param("fileSid") String fileSid, @Param("state") int state);
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.jlzx.oa.biz.oafilereceive.OafileReceiveMapper">
|
||||
<select id="pageList" resultType="com.yxt.jlzx.oa.api.oafilereceive.OafileReceiveVo">
|
||||
SELECT r.fileSid,
|
||||
r.senderSid,
|
||||
r.senderName,
|
||||
r.receiveUserSid,
|
||||
r.receiveUser,
|
||||
DATE_FORMAT(r.receiveTime, '%Y-%m-%d %H:%m:%s') AS receiveTime,
|
||||
r.remindWay,
|
||||
r.state,
|
||||
r.sid,
|
||||
r.remarks,
|
||||
o.title,
|
||||
r.receiveTimeStr,
|
||||
r.sendRemarks
|
||||
FROM oafile_receive r
|
||||
LEFT JOIN oafile o ON o.sid = r.fileSid
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
|
||||
<select id="fetchByFileSid" resultType="com.yxt.jlzx.oa.api.oafilereceive.OafileReceive">
|
||||
SELECT *
|
||||
FROM oafile_receive
|
||||
WHERE fileSid = #{fileSid}
|
||||
</select>
|
||||
|
||||
<select id="selectByFileSid" resultType="com.yxt.jlzx.oa.api.oafilereceive.OafileReceiveOneVo">
|
||||
SELECT (SELECT senderName FROM oafile_send WHERE fileSid = r.fileSid) senderName,
|
||||
r.receiveUser,
|
||||
r.receiveUserSid,
|
||||
modifyTime,
|
||||
r.sid,
|
||||
(CASE WHEN r.state = 1 THEN "已阅" ELSE "未阅" END) state
|
||||
FROM oafile_receive r
|
||||
WHERE fileSid = #{fileSid}
|
||||
</select>
|
||||
|
||||
<update id="updateState">
|
||||
UPDATE oafile_receive
|
||||
SET state =1
|
||||
WHERE sid = #{sid}
|
||||
</update>
|
||||
|
||||
<select id="selectUnReadNum" resultType="java.lang.Integer">
|
||||
SELECT count(*)
|
||||
FROM oafile_receive
|
||||
WHERE receiveUserSid = #{userSid}
|
||||
AND state = 0
|
||||
|
||||
</select>
|
||||
|
||||
<select id="selectByFileSidAndState" resultType="java.lang.Integer">
|
||||
SELECT count(*)
|
||||
FROM oafile_receive
|
||||
WHERE fileSid = #{fileSid}
|
||||
AND state = #{state}
|
||||
</select>
|
||||
|
||||
<select id="selectByFileSidAndStateOne" resultType="com.yxt.jlzx.oa.api.oafilereceive.OafileReceiveTwoVo">
|
||||
SELECT receiveUser name
|
||||
FROM oafile_receive
|
||||
WHERE fileSid = #{fileSid}
|
||||
AND state = #{state}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,106 @@
|
||||
package com.yxt.jlzx.oa.biz.oafilereceive;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.yxt.common.base.utils.StringUtils;
|
||||
import com.yxt.jlzx.oa.api.oafilereceive.*;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.jlzx.oa.api.contract.Contract;
|
||||
import com.yxt.jlzx.oa.api.contract.ContractQuery;
|
||||
import com.yxt.jlzx.oa.api.contract.ContractVo;
|
||||
import com.yxt.jlzx.oa.api.oafile.Oafile;
|
||||
import com.yxt.jlzx.oa.api.oafile.OafileQuery;
|
||||
import com.yxt.jlzx.oa.api.oafile.OafileVo;
|
||||
|
||||
/**
|
||||
* @author yxt_mtl
|
||||
* @date 2020/10/12 11:12
|
||||
* @description
|
||||
*/
|
||||
@Service
|
||||
public class OafileReceiveService extends MybatisBaseService<OafileReceiveMapper, OafileReceive> {
|
||||
// 分页列表
|
||||
public IPage<OafileReceiveVo> pageList(PagerQuery<OafileReceiveQuery> pagerQuery) {
|
||||
IPage<OafileReceiveQuery> page = PagerUtil.queryToPage(pagerQuery);
|
||||
QueryWrapper<OafileReceiveVo> qw = buildQueryWrapper(pagerQuery.getParams());
|
||||
|
||||
return baseMapper.pageList(page, qw);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析和组装查询条件,封装在qw中
|
||||
*
|
||||
* @param pagerQuery
|
||||
* @return
|
||||
*/
|
||||
private QueryWrapper<OafileReceiveVo> buildQueryWrapper(OafileReceiveQuery pagerQuery) {
|
||||
QueryWrapper<OafileReceiveVo> qw = new QueryWrapper<>();
|
||||
if (pagerQuery != null) {
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery.getTitle())) {
|
||||
qw.like("o.title", pagerQuery.getTitle());
|
||||
}
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery.getSenderName())) {
|
||||
qw.like("r.senderName", pagerQuery.getSenderName());
|
||||
}
|
||||
if (pagerQuery.getStartDate() != null && pagerQuery.getStartDate() != "") {
|
||||
qw.apply(StringUtils.isNotBlank(pagerQuery.getStartDate()),
|
||||
"date_format (r.receiveTime,'%Y-%m-%d') >= str_to_date('" + pagerQuery.getStartDate() + "','%Y-%m-%d')");
|
||||
}
|
||||
if (pagerQuery.getEndDate() != "" && pagerQuery.getEndDate() != null) {
|
||||
qw.apply(StringUtils.isNotBlank(pagerQuery.getEndDate()),
|
||||
"date_format (r.receiveTime,'%Y-%m-%d') <= str_to_date('" + pagerQuery.getEndDate() + "','%Y-%m-%d')");
|
||||
}
|
||||
if (StringUtils.isNotBlank(pagerQuery.getUserSid())) {
|
||||
qw.eq("r.receiveUserSid", pagerQuery.getUserSid());
|
||||
}
|
||||
if (StringUtils.isNotBlank(pagerQuery.getState())) {
|
||||
qw.eq("r.state", pagerQuery.getState());
|
||||
}
|
||||
qw.orderByDesc("r.createTime");
|
||||
}
|
||||
|
||||
return qw;
|
||||
|
||||
}
|
||||
|
||||
public List<OafileReceive> fetchByFileSid(String fileSid) {
|
||||
// TODO Auto-generated method stub
|
||||
return baseMapper.fetchByFileSid(fileSid);
|
||||
}
|
||||
|
||||
public void updateState(String sid) {
|
||||
baseMapper.updateState(sid);
|
||||
|
||||
}
|
||||
|
||||
public List<OafileReceiveOneVo> selectByFileSid(String fileSid) {
|
||||
// TODO Auto-generated method stub
|
||||
return baseMapper.selectByFileSid(fileSid);
|
||||
}
|
||||
|
||||
public int selectUnReadNum(String userSid) {
|
||||
return baseMapper.selectUnReadNum(userSid);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据文件sid和已读状态查询该文件已读的个数
|
||||
*
|
||||
* @param fileSid 文件sid
|
||||
* @param state 状态
|
||||
* @return
|
||||
*/
|
||||
public int selectByFileSidAndState(String fileSid, int state) {
|
||||
return baseMapper.selectByFileSidAndState(fileSid, state);
|
||||
}
|
||||
|
||||
public List<OafileReceiveTwoVo> selectByFileSidAndStateOne(String fileSid, int state) {
|
||||
return baseMapper.selectByFileSidAndStateOne(fileSid,state);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,164 @@
|
||||
package com.yxt.jlzx.oa.biz.oafilesend;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.validation.Valid;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.utils.DateUtils;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.FilesappendixVo;
|
||||
import com.yxt.jlzx.oa.api.oafile.Oafile;
|
||||
import com.yxt.jlzx.oa.api.oafile.OafileVo;
|
||||
import com.yxt.jlzx.oa.api.oafilereceive.OafileReceive;
|
||||
import com.yxt.jlzx.oa.api.oafilesend.OafileSend;
|
||||
import com.yxt.jlzx.oa.api.oafilesend.OafileSendApi;
|
||||
import com.yxt.jlzx.oa.api.oafilesend.OafileSendDto;
|
||||
import com.yxt.jlzx.oa.api.oafilesend.OafileSendQuery;
|
||||
import com.yxt.jlzx.oa.api.oafilesend.OafileSendVo;
|
||||
import com.yxt.jlzx.oa.biz.filesappendix.FilesappendixService;
|
||||
import com.yxt.jlzx.oa.biz.oafile.OafileService;
|
||||
import com.yxt.jlzx.oa.biz.oafilereceive.OafileReceiveService;
|
||||
import com.yxt.jlzx.oa.biz.workflow.WorkFlowService;
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
|
||||
/**
|
||||
* @author yxt_mtl
|
||||
* @date 2020/9/29 13:30
|
||||
* @description 角色信息
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("v1/oafileSends")
|
||||
@Api(tags = "已发文件")
|
||||
public class OafileSendApiImpl implements OafileSendApi {
|
||||
@Autowired
|
||||
private OafileSendService oafileSendService;
|
||||
@Autowired
|
||||
private WorkFlowService wfservice;
|
||||
@Autowired
|
||||
private OafileReceiveService oafileReceiveService;
|
||||
@Autowired
|
||||
private OafileService oafileService;
|
||||
@Autowired
|
||||
private FilesappendixService filesappendixService;
|
||||
|
||||
@Override
|
||||
public ResultBean<List<OafileSendVo>> list(@Valid OafileSendQuery query) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<PagerVo<OafileSendVo>> pageList(@Valid PagerQuery<OafileSendQuery> pagerQuery) {
|
||||
ResultBean<PagerVo<OafileSendVo>> rb = ResultBean.fireFail();
|
||||
IPage<OafileSendVo> page = oafileSendService.pageList(pagerQuery);
|
||||
List<OafileSendVo> records = page.getRecords();
|
||||
if(records!=null) {
|
||||
for (int i = 0; i < records.size(); i++) {
|
||||
int stuNum=records.get(i).getStuNum();
|
||||
int conNum=records.get(i).getConNum();
|
||||
if(stuNum==0) {
|
||||
records.get(i).setStu("全部未阅");
|
||||
}else if(stuNum==conNum) {
|
||||
records.get(i).setStu("全部已阅");
|
||||
}else{
|
||||
records.get(i).setStu("部分已阅");
|
||||
}
|
||||
}
|
||||
}
|
||||
//把Ipage转换为PageVo
|
||||
PagerVo<OafileSendVo> pv_result = PagerUtil.pageToVo(page, null);
|
||||
return rb.success().setData(pv_result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean save(@Valid OafileSendDto dto) {
|
||||
OafileSend oafileSend = new OafileSend();
|
||||
dto.fillEntity(oafileSend);
|
||||
Date sendTime = dto.getSendTime();
|
||||
String dateStr = new SimpleDateFormat("yyyy-MM-dd").format(sendTime);
|
||||
oafileSend.setSendTimeStr(dateStr);
|
||||
//
|
||||
String receiveNames = dto.getReceiveNames();
|
||||
String[] a = receiveNames.split(",");
|
||||
// List<String> addressList = JSON.parseArray(receiveNames, String.class);
|
||||
int size = a.length;
|
||||
String sendRemarks = "已读 0/" + size;
|
||||
oafileSend.setSendRemarks(sendRemarks);
|
||||
if (!oafileSendService.save(oafileSend)) {
|
||||
return ResultBean.fireFail();
|
||||
}
|
||||
return ResultBean.fireSuccess().setData(oafileSend.getSid());
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean update(@Valid OafileSendDto dto, String sid) throws Exception {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean delete(String sid) {
|
||||
OafileSend oafileSend = oafileSendService.fetchBySid(sid);
|
||||
if (oafileSend == null) {
|
||||
return ResultBean.fireFail().setMsg("该已发文件不存在");
|
||||
}
|
||||
int i = oafileSendService.deleteBySid(sid);
|
||||
if (i == 0) {
|
||||
return ResultBean.fireFail().setMsg("删除失败");
|
||||
}
|
||||
return ResultBean.fireSuccess().setMsg("删除成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<OafileSendVo> getVo(String sid) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public ResultBean<Map<String, Object>> fileDtail(String sid) {
|
||||
Map<String, Object> map = new HashMap<String, Object>();
|
||||
OafileSend send = oafileSendService.fetchBySid(sid);
|
||||
String sendtime = "";
|
||||
if (send != null && send.getSendTime() != null) {
|
||||
sendtime = DateUtils.dateConvertStr(send.getSendTime());
|
||||
}
|
||||
Oafile oafile = oafileService.fetchBySid(send.getFileSid());
|
||||
OafileVo vo = new OafileVo();
|
||||
vo.setTitle(oafile.getTitle());
|
||||
vo.setCreateTime(sendtime);
|
||||
vo.setRemarks(oafile.getRemarks());
|
||||
vo.setSid(oafile.getSid());
|
||||
List<OafileReceive> receiveList = oafileReceiveService.fetchByFileSid(send.getFileSid());
|
||||
String receiveSids = "";
|
||||
if (receiveList != null && receiveList.size() > 0) {
|
||||
for (int i = 0; i < receiveList.size(); i++) {
|
||||
receiveSids = receiveSids + ";" + receiveList.get(i).getReceiveUserSid();
|
||||
}
|
||||
}
|
||||
vo.setSenderName(send.getSenderName());
|
||||
vo.setSenderSid(send.getSenderSid());
|
||||
vo.setReceiveNames(send.getReceiveNames());
|
||||
vo.setReceiveSids(receiveSids);
|
||||
List<FilesappendixVo> FilesappendixVolist = filesappendixService.queryBylinkSid(send.getFileSid());
|
||||
map.put("Oafile", vo);
|
||||
map.put("fileList", FilesappendixVolist);
|
||||
map.put("sendRemarks", send.getSendRemarks());
|
||||
return new ResultBean<Map<String, Object>>().success().setData(map);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.yxt.jlzx.oa.biz.oafilesend;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.yxt.jlzx.oa.api.car.Car;
|
||||
import com.yxt.jlzx.oa.api.car.CarQuery;
|
||||
import com.yxt.jlzx.oa.api.car.CarVo;
|
||||
import com.yxt.jlzx.oa.api.contract.Contract;
|
||||
import com.yxt.jlzx.oa.api.contract.ContractQuery;
|
||||
import com.yxt.jlzx.oa.api.contract.ContractVo;
|
||||
import com.yxt.jlzx.oa.api.oafile.Oafile;
|
||||
import com.yxt.jlzx.oa.api.oafile.OafileQuery;
|
||||
import com.yxt.jlzx.oa.api.oafile.OafileVo;
|
||||
import com.yxt.jlzx.oa.api.oafilesend.OafileSend;
|
||||
import com.yxt.jlzx.oa.api.oafilesend.OafileSendQuery;
|
||||
import com.yxt.jlzx.oa.api.oafilesend.OafileSendVo;
|
||||
|
||||
|
||||
/**
|
||||
* @author yxt_mtl
|
||||
* @date 2020/10/12 11:14
|
||||
* @description
|
||||
*/
|
||||
@Mapper
|
||||
public interface OafileSendMapper extends BaseMapper<OafileSend> {
|
||||
//分页列表
|
||||
IPage<OafileSendVo> pageList(IPage<OafileSendQuery> page, @Param(Constants.WRAPPER) Wrapper<OafileSendVo> qw);
|
||||
|
||||
OafileSend fetchByFileSid(String fileSid);
|
||||
|
||||
public int updateByFileSid(@Param("fileSid") String fileSid, @Param("sendRemarks") String sendRemarks);
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.jlzx.oa.biz.oafilesend.OafileSendMapper">
|
||||
<select id="pageList" resultType="com.yxt.jlzx.oa.api.oafilesend.OafileSendVo">
|
||||
SELECT s.fileSid,
|
||||
s.senderName,
|
||||
s.senderSid,
|
||||
s.receiveNames,
|
||||
s.sendTime,
|
||||
s.remindWay,
|
||||
s.sid,
|
||||
s.remarks,
|
||||
o.title,
|
||||
(SELECT count(id) FROM oafile_receive WHERE fileSid = s.fileSid AND state = 1) AS stuNum,
|
||||
(SELECT count(id) FROM oafile_receive WHERE fileSid = s.fileSid ) AS conNum,
|
||||
s.sendRemarks,
|
||||
s.sendTimeStr
|
||||
FROM oafile_send s
|
||||
LEFT JOIN oafile o ON o.sid = s.fileSid
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="fetchByFileSid" resultType="com.yxt.jlzx.oa.api.oafilesend.OafileSend">
|
||||
SELECT *
|
||||
FROM oafile_send
|
||||
WHERE fileSid = #{fileSid}
|
||||
</select>
|
||||
|
||||
<update id="updateByFileSid">
|
||||
UPDATE oafile_send
|
||||
SET sendRemarks = #{sendRemarks}
|
||||
WHERE fileSid = #{fileSid}
|
||||
</update>
|
||||
</mapper>
|
||||
@@ -0,0 +1,88 @@
|
||||
package com.yxt.jlzx.oa.biz.oafilesend;
|
||||
|
||||
import com.yxt.common.base.utils.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.jlzx.oa.api.contract.Contract;
|
||||
import com.yxt.jlzx.oa.api.contract.ContractQuery;
|
||||
import com.yxt.jlzx.oa.api.contract.ContractVo;
|
||||
import com.yxt.jlzx.oa.api.oafile.Oafile;
|
||||
import com.yxt.jlzx.oa.api.oafile.OafileQuery;
|
||||
import com.yxt.jlzx.oa.api.oafile.OafileVo;
|
||||
import com.yxt.jlzx.oa.api.oafilesend.OafileSend;
|
||||
import com.yxt.jlzx.oa.api.oafilesend.OafileSendQuery;
|
||||
import com.yxt.jlzx.oa.api.oafilesend.OafileSendVo;
|
||||
|
||||
/**
|
||||
* @author yxt_mtl
|
||||
* @date 2020/10/12 11:12
|
||||
* @description
|
||||
*/
|
||||
@Service
|
||||
public class OafileSendService extends MybatisBaseService<OafileSendMapper, OafileSend> {
|
||||
// 分页列表
|
||||
public IPage<OafileSendVo> pageList(PagerQuery<OafileSendQuery> pagerQuery) {
|
||||
IPage<OafileSendQuery> page = PagerUtil.queryToPage(pagerQuery);
|
||||
QueryWrapper<OafileSendVo> qw = buildQueryWrapper(pagerQuery.getParams());
|
||||
|
||||
return baseMapper.pageList(page, qw);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析和组装查询条件,封装在qw中
|
||||
*
|
||||
* @param pagerQuery
|
||||
* @return
|
||||
*/
|
||||
private QueryWrapper<OafileSendVo> buildQueryWrapper(OafileSendQuery pagerQuery) {
|
||||
QueryWrapper<OafileSendVo> qw = new QueryWrapper<>();
|
||||
if (pagerQuery != null) {
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(pagerQuery.getTitle())) {
|
||||
qw.like("o.title", pagerQuery.getTitle());
|
||||
}
|
||||
|
||||
|
||||
if (StringUtils.isNotBlank(pagerQuery.getSenderName())) {
|
||||
qw.like("s.receiveNames", pagerQuery.getSenderName());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(pagerQuery.getStartDate())) {
|
||||
// qw.ge("s.sendTime", pagerQuery.getStartDate());
|
||||
qw.apply(StringUtils.isNotBlank(pagerQuery.getStartDate()),
|
||||
"date_format (s.sendTime,'%Y-%m-%d') >= str_to_date('" + pagerQuery.getStartDate() + "','%Y-%m-%d')");
|
||||
}
|
||||
|
||||
|
||||
if (StringUtils.isNotBlank(pagerQuery.getEndDate())) {
|
||||
// qw.le("s.sendTime", pagerQuery.getEndDate());
|
||||
qw.apply(StringUtils.isNotBlank(pagerQuery.getEndDate()),
|
||||
"date_format (s.sendTime,'%Y-%m-%d') <= str_to_date('" + pagerQuery.getEndDate() + "','%Y-%m-%d')");
|
||||
}
|
||||
|
||||
|
||||
if (StringUtils.isNotBlank(pagerQuery.getUserSid())) {
|
||||
qw.eq("s.senderSid", pagerQuery.getUserSid());
|
||||
}
|
||||
|
||||
qw.orderByDesc("s.createTime");
|
||||
}
|
||||
|
||||
return qw;
|
||||
|
||||
}
|
||||
|
||||
public OafileSend fetchByFileSid(String fileSid) {
|
||||
// TODO Auto-generated method stub
|
||||
return baseMapper.fetchByFileSid(fileSid);
|
||||
}
|
||||
|
||||
public int updateByFileSid(String fileSid, String sendRemarks) {
|
||||
return baseMapper.updateByFileSid(fileSid, sendRemarks);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.yxt.jlzx.oa.biz.orgduty;
|
||||
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.jlzx.oa.api.filesappendix.Filesappendix;
|
||||
import com.yxt.jlzx.oa.api.form.FormDto;
|
||||
import com.yxt.jlzx.oa.api.orgduty.OrgDuty;
|
||||
import com.yxt.jlzx.oa.api.orgduty.OrgDutyApi;
|
||||
import com.yxt.jlzx.oa.api.orgduty.OrgDutyDto;
|
||||
import com.yxt.jlzx.oa.api.project.Project;
|
||||
import com.yxt.workflow.api.task.WfTaskVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2021/1/15 10:48
|
||||
* @description
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("v1/orgduty")
|
||||
@Api(tags = "值班")
|
||||
public class OrgDutyApiImpl implements OrgDutyApi {
|
||||
|
||||
@Autowired
|
||||
private OrgDutyService orgDutyService;
|
||||
|
||||
@Override
|
||||
public ResultBean save(OrgDutyDto orgDutyDto) {
|
||||
OrgDuty orgDuty = new OrgDuty();
|
||||
orgDutyDto.fillEntity(orgDuty);
|
||||
if (!orgDutyService.save(orgDuty)) {
|
||||
return ResultBean.fireFail().setMsg("保存失败");
|
||||
}
|
||||
return ResultBean.fireSuccess().setData(orgDuty.getSid());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.yxt.jlzx.oa.biz.orgduty;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.yxt.jlzx.oa.api.orgduty.OrgDuty;
|
||||
import com.yxt.jlzx.oa.api.orgdutys.OrgDutysListVo;
|
||||
import com.yxt.jlzx.oa.api.orgdutys.OrgDutysOneDto;
|
||||
import com.yxt.jlzx.system.api.user.UserVerifyVo;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2021/1/16 14:52
|
||||
* @description
|
||||
*/
|
||||
@Mapper
|
||||
public interface OrgDutyMapper extends BaseMapper<OrgDuty> {
|
||||
|
||||
public OrgDuty selectByOrgSid(String organizationSid);
|
||||
|
||||
public OrgDuty selectByOrgSidOne(@Param("organizationSid") String organizationSid, @Param("type") String type);
|
||||
|
||||
public List<OrgDuty> selectByOrgSidList(String orgSid);
|
||||
public List<OrgDuty> selectByOrgSidList1(@Param("orgSid") String orgSid,@Param("typeSid") String typeSid);
|
||||
|
||||
public List<OrgDuty> listOne(String orgSid);
|
||||
|
||||
public IPage<OrgDutysListVo> pagerList(
|
||||
IPage<?> page, @Param(Constants.WRAPPER) Wrapper<OrgDutysListVo> qw);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.jlzx.oa.biz.orgduty.OrgDutyMapper">
|
||||
|
||||
<select id="selectByOrgSid" resultType="com.yxt.jlzx.oa.api.orgduty.OrgDuty">
|
||||
SELECT *
|
||||
FROM org_duty
|
||||
WHERE orgSid = #{organizationSid}
|
||||
</select>
|
||||
|
||||
<select id="selectByOrgSidOne" resultType="com.yxt.jlzx.oa.api.orgduty.OrgDuty">
|
||||
SELECT *
|
||||
FROM org_duty
|
||||
WHERE orgSid = #{organizationSid}
|
||||
AND dutyTypeSid = #{type}
|
||||
</select>
|
||||
|
||||
<select id="selectByOrgSidList" resultType="com.yxt.jlzx.oa.api.orgduty.OrgDuty">
|
||||
SELECT *
|
||||
FROM org_duty
|
||||
WHERE orgSid = #{orgSid}
|
||||
ORDER BY createTime DESC
|
||||
</select>
|
||||
|
||||
<select id="selectByOrgSidList1" resultType="com.yxt.jlzx.oa.api.orgduty.OrgDuty">
|
||||
SELECT *
|
||||
FROM org_duty
|
||||
WHERE orgSid = #{orgSid}
|
||||
AND dutyTypeSid = #{typeSid}
|
||||
ORDER BY createTime DESC
|
||||
</select>
|
||||
|
||||
<select id="listOne" resultType="com.yxt.jlzx.oa.api.orgduty.OrgDuty">
|
||||
SELECT *
|
||||
FROM jlzx_oa.org_duty
|
||||
WHERE orgSid = #{orgSid}
|
||||
</select>
|
||||
|
||||
<select id="pagerList" resultType="com.yxt.jlzx.oa.api.orgdutys.OrgDutysListVo">
|
||||
SELECT od.sid,od.startTime,od.endTime,od.dutyDay day
|
||||
FROM org_duty_date od
|
||||
LEFT JOIN jlzx_oa.org_duty o ON o.sid = od.orgDutySid
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,286 @@
|
||||
package com.yxt.jlzx.oa.biz.orgduty;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.jlzx.oa.api.orgduty.OrgDuty;
|
||||
import com.yxt.jlzx.oa.api.orgdutydate.OrgDutyDate;
|
||||
import com.yxt.jlzx.oa.api.orgdutygroup.OrgDutyGroup;
|
||||
import com.yxt.jlzx.oa.api.orgdutygroupmember.OrgDutyGroupMember;
|
||||
import com.yxt.jlzx.oa.api.orgdutys.OrgDutysListVo;
|
||||
import com.yxt.jlzx.oa.api.orgdutys.OrgDutysOneDto;
|
||||
import com.yxt.jlzx.oa.api.orgdutys.OrgDutysQuery;
|
||||
import com.yxt.jlzx.oa.biz.orgdutydate.OrgDutyDateService;
|
||||
import com.yxt.jlzx.oa.biz.orgdutygroup.OrgDutyGroupService;
|
||||
import com.yxt.jlzx.oa.biz.orgdutygroupmember.OrgDutyGroupMemberService;
|
||||
import com.yxt.jlzx.system.api.user.UserApi;
|
||||
import com.yxt.jlzx.system.api.user.UserStaffOneVo;
|
||||
import com.yxt.jlzx.system.api.user.UserVerifyQuery;
|
||||
import com.yxt.jlzx.system.api.user.UserVerifyVo;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.text.DateFormat;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2021/1/16 14:52
|
||||
* @description
|
||||
*/
|
||||
@Service
|
||||
public class OrgDutyService extends MybatisBaseService<OrgDutyMapper, OrgDuty> {
|
||||
|
||||
@Autowired
|
||||
private OrgDutyDateService orgDutyDateService;
|
||||
@Autowired
|
||||
private OrgDutyGroupService orgDutyGroupService;
|
||||
@Autowired
|
||||
private OrgDutyGroupMemberService orgDutyGroupMemberService;
|
||||
|
||||
@Autowired
|
||||
private UserApi userApi;
|
||||
|
||||
public OrgDuty selectByOrgSid(String organizationSid) {
|
||||
return baseMapper.selectByOrgSid(organizationSid);
|
||||
}
|
||||
|
||||
public OrgDuty selectByOrgSidOne(String organizationSid, String type) {
|
||||
return baseMapper.selectByOrgSidOne(organizationSid, type);
|
||||
}
|
||||
|
||||
public List<OrgDuty> selectByOrgSidList(String orgSid) {
|
||||
return baseMapper.selectByOrgSidList(orgSid);
|
||||
}
|
||||
|
||||
public List<OrgDuty> selectByOrgSidList1(String orgSid, String typeSid) {
|
||||
return baseMapper.selectByOrgSidList1(orgSid, typeSid);
|
||||
}
|
||||
|
||||
public List<OrgDuty> listOne(String orgSid) {
|
||||
return baseMapper.listOne(orgSid);
|
||||
}
|
||||
|
||||
public IPage<OrgDutysListVo> pagerList(PagerQuery<OrgDutysQuery> pagerQuery) {
|
||||
IPage<OrgDutysQuery> page = PagerUtil.queryToPage(pagerQuery);
|
||||
OrgDutysQuery params = pagerQuery.getParams();
|
||||
QueryWrapper<OrgDutysListVo> qw = new QueryWrapper<>();
|
||||
if (params != null) {
|
||||
String orgSid = params.getOrgSid();
|
||||
String dutyTypeSid = params.getDutyTypeSid();
|
||||
String startTime = params.getStartTime();
|
||||
String endTime = params.getEndTime();
|
||||
if (StringUtils.isNotBlank(orgSid)) {
|
||||
qw.eq("o.orgSid", orgSid);
|
||||
}
|
||||
if (StringUtils.isNotBlank(dutyTypeSid)) {
|
||||
qw.eq("o.dutyTypeSid", dutyTypeSid);
|
||||
}
|
||||
if (StringUtils.isNotBlank(startTime)) {
|
||||
qw.eq("od.startTime", startTime);
|
||||
}
|
||||
if (StringUtils.isNotBlank(endTime)) {
|
||||
qw.eq("od.endTime", endTime);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
return baseMapper.pagerList(page, qw);
|
||||
|
||||
|
||||
}
|
||||
|
||||
public ResultBean<Map<String, Object>> selectList(String organizationSid) throws ParseException {
|
||||
Map<String, Object> mapNew = new HashMap<>();
|
||||
Date date = new Date();
|
||||
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
||||
String dateString = format.format(date);
|
||||
List list = date2(dateString);
|
||||
List ls1 = new ArrayList();
|
||||
//根据orgSid查询
|
||||
List<OrgDuty> orgDuties = selectByOrgSidList(organizationSid);
|
||||
String sid = "";
|
||||
if (orgDuties.size() > 1) {
|
||||
if (orgDuties.get(0).getDutyTypeSid().equals("gzrzb")) {
|
||||
sid = orgDuties.get(0).getSid();
|
||||
} else {
|
||||
sid = orgDuties.get(1).getSid();
|
||||
}
|
||||
} else if (orgDuties.size() == 1) {
|
||||
sid = orgDuties.get(0).getSid();
|
||||
}
|
||||
if (orgDuties.size() != 0) {
|
||||
List<OrgDutyDate> L = orgDutyDateService.selectByOrgDutySidOne(sid);
|
||||
//两个日期之间相差天数。
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
if (L.size() > 0) {
|
||||
int a = daysBetween(date, sdf.parse(L.get(0).getDutyDay()));
|
||||
for (int i = 0; i < a + 1; i++) {
|
||||
Map<String, Object> map1 = new HashMap<>();
|
||||
List<OrgDutyDate> orgDutyDateList = orgDutyDateService.selectByOrgDutySid(organizationSid, list.get(i).toString());
|
||||
map1.put("day", list.get(i).toString());
|
||||
List list1 = new ArrayList();
|
||||
for (int iii = 0; iii < orgDutyDateList.size(); iii++) {
|
||||
List<OrgDutyGroup> orgDutyGroupList = orgDutyGroupService.selectByDateSid(orgDutyDateList.get(iii).getSid());
|
||||
List ls2 = new ArrayList();
|
||||
Map<String, Object> map2 = new HashMap<>();
|
||||
for (int ii = 0; ii < orgDutyGroupList.size(); ii++) {
|
||||
List ls = new ArrayList();
|
||||
Map<String, Object> map3 = new HashMap<>();
|
||||
List<OrgDutyGroupMember> orgDutyGroupMemberList = orgDutyGroupMemberService.selectByGroupSid(orgDutyGroupList.get(ii).getSid());
|
||||
for (int j = 0; j < orgDutyGroupMemberList.size(); j++) {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
String name = orgDutyGroupMemberList.get(j).getName();
|
||||
String userSid = orgDutyGroupMemberList.get(j).getUserSid();
|
||||
UserStaffOneVo user = userApi.selectBySid(userSid).getData();
|
||||
map.put("name", name);
|
||||
map.put("mobile", user.getMobile());
|
||||
ls.add(map);
|
||||
}
|
||||
map3.put("list1", ls);
|
||||
map3.put("groupName", orgDutyGroupList.get(ii).getGroupName());
|
||||
ls2.add(map3);
|
||||
}
|
||||
map2.put("list", ls2);
|
||||
map2.put("startTime", orgDutyDateList.get(iii).getStartTime());
|
||||
map2.put("endTime", orgDutyDateList.get(iii).getEndTime());
|
||||
list1.add(map2);
|
||||
}
|
||||
map1.put("list1", list1);
|
||||
ls1.add(map1);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
mapNew.put("listNew", ls1);
|
||||
}
|
||||
|
||||
|
||||
return new ResultBean<Map<String, Object>>().success().setData(mapNew);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询两个时间之间相差的天数
|
||||
*
|
||||
* @param smdate 开始时间
|
||||
* @param bdate 结束时间
|
||||
* @return
|
||||
* @throws ParseException
|
||||
*/
|
||||
public int daysBetween(Date smdate, Date bdate) throws ParseException {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
smdate = sdf.parse(sdf.format(smdate));
|
||||
bdate = sdf.parse(sdf.format(bdate));
|
||||
Calendar cal = Calendar.getInstance();
|
||||
cal.setTime(smdate);
|
||||
long time1 = cal.getTimeInMillis();
|
||||
cal.setTime(bdate);
|
||||
long time2 = cal.getTimeInMillis();
|
||||
long between_days = (time2 - time1) / (1000 * 3600 * 24);
|
||||
|
||||
return Integer.parseInt(String.valueOf(between_days));
|
||||
}
|
||||
|
||||
/**
|
||||
* 指定开始时间和结束时间的时间的集合
|
||||
*
|
||||
* @param startTime 开始时间
|
||||
* @param endTime 结束时间
|
||||
* @return
|
||||
* @throws ParseException
|
||||
*/
|
||||
public List date(String startTime, String endTime) throws ParseException {
|
||||
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
||||
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Date daystart = df.parse(startTime); //按照yyyy-MM-dd格式转换为日期
|
||||
Date dayend = df.parse(endTime);
|
||||
List lDate = new ArrayList();
|
||||
lDate.add(startTime);// 把开始时间加入集合
|
||||
Calendar cal = Calendar.getInstance();
|
||||
// 使用给定的 Date 设置此 Calendar 的时间
|
||||
cal.setTime(daystart);
|
||||
boolean bContinue = true;
|
||||
while (bContinue) {
|
||||
// 根据日历的规则,为给定的日历字段添加或减去指定的时间量
|
||||
cal.add(Calendar.DAY_OF_MONTH, 1);
|
||||
// 测试此日期是否在指定日期之后
|
||||
if (dayend.after(cal.getTime())) {
|
||||
String dateString = formatter.format(cal.getTime());
|
||||
lDate.add(dateString);
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
lDate.add(endTime);// 把结束时间加入集合
|
||||
return lDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 取开始时间至往后7天的日期的集合
|
||||
*
|
||||
* @param startTime 开始日期
|
||||
* @return
|
||||
* @throws ParseException
|
||||
*/
|
||||
public List date2(String startTime) throws ParseException {
|
||||
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
||||
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Date daystart = df.parse(startTime); //按照yyyy-MM-dd格式转换为日期
|
||||
Calendar cal = Calendar.getInstance();
|
||||
cal.set(Calendar.DAY_OF_YEAR, cal.get(Calendar.DAY_OF_YEAR) + 7);
|
||||
Date endTime = cal.getTime();
|
||||
List lDate = new ArrayList();
|
||||
lDate.add(startTime);// 把开始时间加入集合
|
||||
// 使用给定的 Date 设置此 Calendar 的时间
|
||||
cal.setTime(daystart);
|
||||
boolean bContinue = true;
|
||||
while (bContinue) {
|
||||
// 根据日历的规则,为给定的日历字段添加或减去指定的时间量
|
||||
cal.add(Calendar.DAY_OF_MONTH, 1);
|
||||
// 测试此日期是否在指定日期之后
|
||||
if (endTime.after(cal.getTime())) {
|
||||
String dateString = formatter.format(cal.getTime());
|
||||
lDate.add(dateString);
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
lDate.add(endTime);// 把结束时间加入集合
|
||||
return lDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 日期转星期
|
||||
*
|
||||
* @param datetime
|
||||
* @return
|
||||
*/
|
||||
public String dateToWeek(String datetime) {
|
||||
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
|
||||
String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
|
||||
// 获得一个日历
|
||||
Calendar cal = Calendar.getInstance();
|
||||
Date datet = null;
|
||||
try {
|
||||
datet = f.parse(datetime);
|
||||
cal.setTime(datet);
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
// 指示一个星期中的某天。
|
||||
int w = cal.get(Calendar.DAY_OF_WEEK) - 1;
|
||||
if (w < 0) {
|
||||
w = 0;
|
||||
}
|
||||
return weekDays[w];
|
||||
}
|
||||
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user