Merge remote-tracking branch 'origin/master'

master
wangjiadong 2 weeks ago
commit 364c6cd02a
  1. 4
      jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/CommonConstant.java
  2. 7
      jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java
  3. 15
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/cms/controller/CmsColumnController.java
  4. 15
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/cms/controller/CmsHomePageController.java
  5. 5
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/cms/entity/CmsColumn.java
  6. 187
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/depadminlx/controller/DepadminlxController.java
  7. 106
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/depadminlx/entity/Depadminlx.java
  8. 20
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/depadminlx/mapper/DepadminlxMapper.java
  9. 5
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/depadminlx/mapper/xml/DepadminlxMapper.xml
  10. 15
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/depadminlx/service/IDepadminlxService.java
  11. 26
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/depadminlx/service/impl/DepadminlxServiceImpl.java
  12. 231
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/depfile/controller/DepfileController.java
  13. 98
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/depfile/entity/Depfile.java
  14. 17
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/depfile/mapper/DepfileMapper.java
  15. 5
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/depfile/mapper/xml/DepfileMapper.xml
  16. 14
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/depfile/service/IDepfileService.java
  17. 19
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/depfile/service/impl/DepfileServiceImpl.java
  18. 228
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/depsbncz/controller/DepsbnczController.java
  19. 116
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/depsbncz/entity/Depsbncz.java
  20. 17
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/depsbncz/mapper/DepsbnczMapper.java
  21. 5
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/depsbncz/mapper/xml/DepsbnczMapper.xml
  22. 14
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/depsbncz/service/IDepsbnczService.java
  23. 19
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/depsbncz/service/impl/DepsbnczServiceImpl.java
  24. 10
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/disciplinefieid/controller/DisciplineFieidController.java
  25. 95
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/expert/controller/ExpertController.java
  26. 10
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/expert/entity/ExpCmsVo.java
  27. 9
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/expert/entity/ExpdefVo.java
  28. 11
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/expert/entity/Expert.java
  29. 41
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/expproject/controller/ExpprojectController.java
  30. 56
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/instrument/controller/InstrumentController.java
  31. 15
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/instrumenttype/controller/InstrumentTypeController.java
  32. 41
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/vxe/controller/VxeMockController.java
  33. 15
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/vxe/json/projectFeeBudget.json
  34. 442
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/project/controller/ProjectController.java
  35. 3
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/project/dto/BasicInfoDto.java
  36. 3
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/project/dto/DepartExtDto.java
  37. 70
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/project/dto/DepartExtDto2.java
  38. 6
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/project/entity/Project.java
  39. 6
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/project/service/impl/ProjectServiceImpl.java
  40. 188
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/projectAnnualBudget/controller/ProjectAnnualBudgetController.java
  41. 120
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/projectAnnualBudget/entity/ProjectAnnualBudget.java
  42. 17
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/projectAnnualBudget/mapper/ProjectAnnualBudgetMapper.java
  43. 5
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/projectAnnualBudget/mapper/xml/ProjectAnnualBudgetMapper.xml
  44. 14
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/projectAnnualBudget/service/IProjectAnnualBudgetService.java
  45. 19
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/projectAnnualBudget/service/impl/ProjectAnnualBudgetServiceImpl.java
  46. 202
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/projectFeeBudget/controller/ProjectFeeBudgetController.java
  47. 104
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/projectFeeBudget/entity/ProjectFeeBudget.java
  48. 17
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/projectFeeBudget/mapper/ProjectFeeBudgetMapper.java
  49. 5
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/projectFeeBudget/mapper/xml/ProjectFeeBudgetMapper.xml
  50. 14
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/projectFeeBudget/service/IProjectFeeBudgetService.java
  51. 19
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/projectFeeBudget/service/impl/ProjectFeeBudgetServiceImpl.java
  52. 8
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/projectFile/controller/ProjectFileController.java
  53. 6
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/projectFile/entity/ProjectFile.java
  54. 163
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/projectLog/controller/ProjectLogController.java
  55. 120
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/projectLog/entity/ProjectLog.java
  56. 17
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/projectLog/mapper/ProjectLogMapper.java
  57. 5
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/projectLog/mapper/xml/ProjectLogMapper.xml
  58. 14
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/projectLog/service/IProjectLogService.java
  59. 19
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/projectLog/service/impl/ProjectLogServiceImpl.java
  60. 22
      jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java
  61. 4
      jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/application-dev.yml
  62. 8
      jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/application-prod.yml
  63. 4
      jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/application-test.yml
  64. 6
      jeecg-boot/pom.xml
  65. 4
      jeecgboot-vue3/.env
  66. 3
      jeecgboot-vue3/.env.development
  67. 6
      jeecgboot-vue3/.env.production
  68. 2
      jeecgboot-vue3/index.html
  69. 27
      jeecgboot-vue3/package.json
  70. 102
      jeecgboot-vue3/src/api/mainHome/index.ts
  71. BIN
      jeecgboot-vue3/src/assets/images/image.png
  72. BIN
      jeecgboot-vue3/src/assets/images/image1.png
  73. BIN
      jeecgboot-vue3/src/assets/images/image11.png
  74. BIN
      jeecgboot-vue3/src/assets/images/mainHome/2641675928551_ 3.png
  75. BIN
      jeecgboot-vue3/src/assets/images/mainHome/2641675928551_ 3@2x.png
  76. BIN
      jeecgboot-vue3/src/assets/images/mainHome/2641675928551_3.png
  77. BIN
      jeecgboot-vue3/src/assets/images/mainHome/Frame(1).png
  78. BIN
      jeecgboot-vue3/src/assets/images/mainHome/Frame(2).png
  79. BIN
      jeecgboot-vue3/src/assets/images/mainHome/Frame(3).png
  80. BIN
      jeecgboot-vue3/src/assets/images/mainHome/Frame(4).png
  81. BIN
      jeecgboot-vue3/src/assets/images/mainHome/Frame(5).png
  82. BIN
      jeecgboot-vue3/src/assets/images/mainHome/Frame(6).png
  83. BIN
      jeecgboot-vue3/src/assets/images/mainHome/Frame.png
  84. BIN
      jeecgboot-vue3/src/assets/images/mainHome/Frame@2x(1).png
  85. BIN
      jeecgboot-vue3/src/assets/images/mainHome/Frame@2x(2).png
  86. BIN
      jeecgboot-vue3/src/assets/images/mainHome/Frame@2x(3).png
  87. BIN
      jeecgboot-vue3/src/assets/images/mainHome/Frame@2x(4).png
  88. BIN
      jeecgboot-vue3/src/assets/images/mainHome/Frame@2x(5).png
  89. BIN
      jeecgboot-vue3/src/assets/images/mainHome/Frame@2x(6).png
  90. BIN
      jeecgboot-vue3/src/assets/images/mainHome/Frame@2x.png
  91. BIN
      jeecgboot-vue3/src/assets/images/mainHome/Group 18.png
  92. BIN
      jeecgboot-vue3/src/assets/images/mainHome/Group 18@2x.png
  93. BIN
      jeecgboot-vue3/src/assets/images/mainHome/Group 3.png
  94. BIN
      jeecgboot-vue3/src/assets/images/mainHome/Group 3@2x.png
  95. BIN
      jeecgboot-vue3/src/assets/images/mainHome/Group18.png
  96. BIN
      jeecgboot-vue3/src/assets/images/mainHome/aa.png
  97. BIN
      jeecgboot-vue3/src/assets/images/mainHome/bg.png
  98. BIN
      jeecgboot-vue3/src/assets/images/mainHome/chevron-right.png
  99. BIN
      jeecgboot-vue3/src/assets/images/mainHome/chevron-right@2x.png
  100. BIN
      jeecgboot-vue3/src/assets/images/mainHome/declare.png
  101. Some files were not shown because too many files have changed in this diff Show More

@ -88,9 +88,9 @@ public interface CommonConstant {
Integer SC_JEECG_NO_AUTHZ=510;
/** 登录用户Shiro权限缓存KEY前缀 */
public static String PREFIX_USER_SHIRO_CACHE = "shiro:cache:org.jeecg.config.shiro.ShiroRealm.authorizationCache:";
public static String PREFIX_USER_SHIRO_CACHE = "shiro_kjj:cache:org.jeecg.config.shiro.ShiroRealm.authorizationCache:";
/** 登录用户Token令牌缓存KEY前缀 */
String PREFIX_USER_TOKEN = "prefix_user_token:";
String PREFIX_USER_TOKEN = "prefix_user_kjj_token:";
// /** Token缓存时间:3600秒即一小时 */
// int TOKEN_EXPIRE_TIME = 3600;

@ -84,6 +84,13 @@ public class ShiroConfig {
}
// 配置不会被拦截的链接 顺序判断
filterChainDefinitionMap.put("/instrument/instrument/listcms", "anon"); //cms仪器资源接口
filterChainDefinitionMap.put("/instrument/instrument/queryByIdCms", "anon"); //cms仪器资源接口
filterChainDefinitionMap.put("/disciplinefieid/disciplineFieid/listcms", "anon"); //cms学科领域接口
filterChainDefinitionMap.put("/instrumenttype/instrumentType/listcms", "anon"); //cms仪器分类接口
filterChainDefinitionMap.put("/expert/expert/listadminCMS", "anon"); //cms专家模块不拦截
filterChainDefinitionMap.put("/expert/expert/directioncalListCMS", "anon"); //cms专家模块不拦截
filterChainDefinitionMap.put("/expert/expert/CMSexpinfo", "anon"); //cms专家模块不拦截
filterChainDefinitionMap.put("/cms/front/**", "anon"); //cms不拦截
filterChainDefinitionMap.put("/newsWebsocket/**", "anon");//CMS模块
filterChainDefinitionMap.put("/expert/expert/userRegisterexp", "anon"); //专家注册

@ -239,6 +239,7 @@ public class CmsColumnController extends JeecgController<CmsColumn, ICmsColumnSe
// @RequiresPermissions("cms:cms_column:add")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody CmsColumn cmsColumn) {
cmsColumn.setPid("0");
cmsColumnService.save(cmsColumn);
return Result.OK("添加成功!");
}
@ -270,11 +271,15 @@ public class CmsColumnController extends JeecgController<CmsColumn, ICmsColumnSe
public Result<CmsColumn> delete(@RequestParam(name = "id", required = true) String id) {
Result<CmsColumn> result = new Result();
CmsColumn sysCategory = cmsColumnService.getById(id);
if (sysCategory == null) {
result.error500("未找到对应实体");
} else {
this.cmsColumnService.delete(id);
result.success("删除成功!");
if (sysCategory.getIsdel().equals("Y")) {
if (sysCategory == null) {
result.error500("未找到对应实体");
} else {
this.cmsColumnService.delete(id);
result.success("删除成功!");
}
}else {
result.success("基础设置不可删除!");
}
return result;
}

@ -98,4 +98,19 @@ public class CmsHomePageController /*extends JeecgController<CmsColumn, ICmsColu
}
}
@ApiOperation(value = "查询全部新闻", notes = "查询全部新闻")
@GetMapping(value = "/cmsfindallnews")
public Result<?> cmsfindallnews(CmsArticle cmsArticle,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<CmsArticle> queryWrapper = QueryGenerator.initQueryWrapper(cmsArticle, req.getParameterMap());
queryWrapper.eq("status", "1");
queryWrapper.last("order by publish_time desc");
Page<CmsArticle> page = new Page<CmsArticle>(pageNo, pageSize);
IPage<CmsArticle> pageList = cmsArticleService.page(page, queryWrapper);
return Result.OK(pageList);
}
}

@ -86,4 +86,9 @@ public class CmsColumn implements Serializable {
@ApiModelProperty(value = "是否有子节点")
@Dict(dicCode = "captain_code")
private String hasChild;
/**删除标记*/
@Excel(name = "删除标记", width = 15)
@ApiModelProperty(value = "删除标记")
private java.lang.String isdel;
}

@ -0,0 +1,187 @@
package org.jeecg.modules.demo.depadminlx.controller;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.system.query.QueryRuleEnum;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.demo.depadminlx.entity.Depadminlx;
import org.jeecg.modules.demo.depadminlx.service.IDepadminlxService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.jeecg.common.system.base.controller.JeecgController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.aspect.annotation.AutoLog;
/**
* @Description: 单位基本情况联系人
* @Author: jeecg-boot
* @Date: 2024-11-01
* @Version: V1.0
*/
@Api(tags="单位基本情况联系人")
@RestController
@RequestMapping("/depadminlx/depadminlx")
@Slf4j
public class DepadminlxController extends JeecgController<Depadminlx, IDepadminlxService> {
@Autowired
private IDepadminlxService depadminlxService;
/**
* 分页列表查询
*
* @param depadminlx
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "单位基本情况联系人-分页列表查询")
@ApiOperation(value="单位基本情况联系人-分页列表查询", notes="单位基本情况联系人-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<Depadminlx>> queryPageList(Depadminlx depadminlx,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal();
QueryWrapper<Depadminlx> queryWrapper = QueryGenerator.initQueryWrapper(depadminlx, req.getParameterMap());
queryWrapper.eq("userid",user.getId());
Page<Depadminlx> page = new Page<Depadminlx>(pageNo, pageSize);
IPage<Depadminlx> pageList = depadminlxService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param depadminlx
* @return
*/
@AutoLog(value = "单位基本情况联系人-添加")
@ApiOperation(value="单位基本情况联系人-添加", notes="单位基本情况联系人-添加")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody Depadminlx depadminlx) {
LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal();
String depiid = depadminlxService.getdepid(user.getId());
List<Depadminlx> depadminlxes = depadminlxService.query().eq("depid",depiid).list();
if (depadminlxes.size()>0){
return Result.error("已经添加过了!");
}else {
depadminlx.setUserid(user.getId());
depadminlx.setDepid(depiid);
depadminlxService.save(depadminlx);
return Result.OK("添加成功!");
}
}
/**
* 编辑
*
* @param depadminlx
* @return
*/
@AutoLog(value = "单位基本情况联系人-编辑")
@ApiOperation(value="单位基本情况联系人-编辑", notes="单位基本情况联系人-编辑")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody Depadminlx depadminlx) {
depadminlxService.updateById(depadminlx);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "单位基本情况联系人-通过id删除")
@ApiOperation(value="单位基本情况联系人-通过id删除", notes="单位基本情况联系人-通过id删除")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
depadminlxService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "单位基本情况联系人-批量删除")
@ApiOperation(value="单位基本情况联系人-批量删除", notes="单位基本情况联系人-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.depadminlxService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "单位基本情况联系人-通过id查询")
@ApiOperation(value="单位基本情况联系人-通过id查询", notes="单位基本情况联系人-通过id查询")
@GetMapping(value = "/queryById")
public Result<Depadminlx> queryById(@RequestParam(name="id",required=true) String id) {
Depadminlx depadminlx = depadminlxService.getById(id);
if(depadminlx==null) {
return Result.error("未找到对应数据");
}
return Result.OK(depadminlx);
}
/**
* 导出excel
*
* @param request
* @param depadminlx
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, Depadminlx depadminlx) {
return super.exportXls(request, depadminlx, Depadminlx.class, "单位基本情况联系人");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, Depadminlx.class);
}
}

@ -0,0 +1,106 @@
package org.jeecg.modules.demo.depadminlx.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import org.jeecg.common.constant.ProvinceCityArea;
import org.jeecg.common.util.SpringContextUtils;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @Description: 单位基本情况联系人
* @Author: jeecg-boot
* @Date: 2024-11-01
* @Version: V1.0
*/
@Data
@TableName("depadminlx")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="depadminlx对象", description="单位基本情况联系人")
public class Depadminlx implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private String id;
/**创建人*/
@ApiModelProperty(value = "创建人")
private String createBy;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期")
private Date updateTime;
/**所属部门*/
@ApiModelProperty(value = "所属部门")
private String sysOrgCode;
/**编制数*/
@Excel(name = "编制数", width = 15)
@ApiModelProperty(value = "编制数")
private String bzs;
/**在职职工人数:*/
@Excel(name = "在职职工人数:", width = 15)
@ApiModelProperty(value = "在职职工人数:")
private String zzzgrs;
/**中级职称以上研究人员数*/
@Excel(name = "中级职称以上研究人员数", width = 15)
@ApiModelProperty(value = "中级职称以上研究人员数")
private String zjzcysyjrys;
/**单位联系人姓名*/
@Excel(name = "单位联系人姓名", width = 15)
@ApiModelProperty(value = "单位联系人姓名")
private String dwlxrxm;
/**单位联系人职称*/
@Excel(name = "单位联系人职称", width = 15)
@ApiModelProperty(value = "单位联系人职称")
private String dwlxrzc;
/**单位联系人职务*/
@Excel(name = "单位联系人职务", width = 15)
@ApiModelProperty(value = "单位联系人职务")
private String dwlxrzw;
/**单位联系人电话*/
@Excel(name = "单位联系人电话", width = 15)
@ApiModelProperty(value = "单位联系人电话")
private String dwlxrdh;
/**单位联系人手机*/
@Excel(name = "单位联系人手机", width = 15)
@ApiModelProperty(value = "单位联系人手机")
private String dwlxrsj;
/**单位联系人邮箱*/
@Excel(name = "单位联系人邮箱", width = 15)
@ApiModelProperty(value = "单位联系人邮箱")
private String dwlxryx;
/**部门*/
@Excel(name = "部门", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
@Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
@ApiModelProperty(value = "部门")
private String depid;
/**用户id*/
@Excel(name = "用户id", width = 15)
@ApiModelProperty(value = "用户id")
private java.lang.String userid;
}

@ -0,0 +1,20 @@
package org.jeecg.modules.demo.depadminlx.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.jeecg.modules.demo.depadminlx.entity.Depadminlx;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 单位基本情况联系人
* @Author: jeecg-boot
* @Date: 2024-11-01
* @Version: V1.0
*/
public interface DepadminlxMapper extends BaseMapper<Depadminlx> {
@Select("select dep_id from sys_user_depart where user_id=#{id}")
String getdepid(String id);
}

@ -0,0 +1,5 @@
<?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="org.jeecg.modules.demo.depadminlx.mapper.DepadminlxMapper">
</mapper>

@ -0,0 +1,15 @@
package org.jeecg.modules.demo.depadminlx.service;
import org.jeecg.modules.demo.depadminlx.entity.Depadminlx;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: 单位基本情况联系人
* @Author: jeecg-boot
* @Date: 2024-11-01
* @Version: V1.0
*/
public interface IDepadminlxService extends IService<Depadminlx> {
String getdepid(String id);
}

@ -0,0 +1,26 @@
package org.jeecg.modules.demo.depadminlx.service.impl;
import org.jeecg.modules.demo.depadminlx.entity.Depadminlx;
import org.jeecg.modules.demo.depadminlx.mapper.DepadminlxMapper;
import org.jeecg.modules.demo.depadminlx.service.IDepadminlxService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 单位基本情况联系人
* @Author: jeecg-boot
* @Date: 2024-11-01
* @Version: V1.0
*/
@Service
public class DepadminlxServiceImpl extends ServiceImpl<DepadminlxMapper, Depadminlx> implements IDepadminlxService {
@Autowired
private DepadminlxMapper depadminlxMapper;
@Override
public String getdepid(String id) {
return depadminlxMapper.getdepid(id);
}
}

@ -0,0 +1,231 @@
package org.jeecg.modules.demo.depfile.controller;
import java.io.File;
import java.net.URL;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.system.query.QueryRuleEnum;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.demo.depadminlx.service.IDepadminlxService;
import org.jeecg.modules.demo.depfile.entity.Depfile;
import org.jeecg.modules.demo.depfile.service.IDepfileService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.modules.system.entity.SysDepart;
import org.jeecg.modules.system.service.ISysDepartService;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.jeecg.common.system.base.controller.JeecgController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.aspect.annotation.AutoLog;
/**
* @Description: 单位技术研究资质情况
* @Author: jeecg-boot
* @Date: 2024-11-01
* @Version: V1.0
*/
@Api(tags="单位技术研究资质情况")
@RestController
@RequestMapping("/depfile/depfile")
@Slf4j
public class DepfileController extends JeecgController<Depfile, IDepfileService> {
@Autowired
private IDepfileService depfileService;
@Autowired
private IDepadminlxService depadminlxService;
@Autowired
private ISysDepartService iSysDepartService;
/**
* 分页列表查询
*
* @param depfile
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "单位技术研究资质情况-分页列表查询")
@ApiOperation(value="单位技术研究资质情况-分页列表查询", notes="单位技术研究资质情况-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<Depfile>> queryPageList(Depfile depfile,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal();
QueryWrapper<Depfile> queryWrapper = QueryGenerator.initQueryWrapper(depfile, req.getParameterMap());
queryWrapper.eq("userid",user.getId());
Page<Depfile> page = new Page<Depfile>(pageNo, pageSize);
IPage<Depfile> pageList = depfileService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* @description: 申报书-单位管理员上传附件查询
* @param: [depfile, pageNo, pageSize, req]
* @return: org.jeecg.common.api.vo.Result<com.baomidou.mybatisplus.core.metadata.IPage<org.jeecg.modules.demo.depfile.entity.Depfile>>
* @author: z.h.c
* @date: 24/11/1 16:38
*/
@ApiOperation(value="申报书-单位管理员上传附件查询", notes="申报书-单位管理员上传附件查询")
@GetMapping(value = "/getDepFileList")
public Result<IPage<Depfile>> getDepFileList(Depfile depfile,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
SysDepart sysDepart = iSysDepartService.getOne(new LambdaQueryWrapper<SysDepart>().eq(SysDepart::getOrgCode, depfile.getDepid()));
depfile.setDepid(sysDepart.getId());
QueryWrapper<Depfile> queryWrapper = QueryGenerator.initQueryWrapper(depfile, req.getParameterMap());
Page<Depfile> page = new Page<Depfile>(pageNo, pageSize);
IPage<Depfile> pageList = depfileService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param depfile
* @return
*/
@AutoLog(value = "单位技术研究资质情况-添加")
@ApiOperation(value="单位技术研究资质情况-添加", notes="单位技术研究资质情况-添加")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody Depfile depfile) {
LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal();
depfile.setUserid(user.getId());
String depiid = depadminlxService.getdepid(user.getId());
depfile.setDepid(depiid);
String extension = getFileExtensionFromUrl(depfile.getUpfile());
System.out.println(depfile.getUpfile());
System.out.println(depfile.getUpfile());
depfile.setFilehz(extension);
depfileService.save(depfile);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param depfile
* @return
*/
@AutoLog(value = "单位技术研究资质情况-编辑")
@ApiOperation(value="单位技术研究资质情况-编辑", notes="单位技术研究资质情况-编辑")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody Depfile depfile) {
String extension = getFileExtensionFromUrl(depfile.getUpfile());
depfile.setFilehz(extension);
System.out.println(depfile.getUpfile());
System.out.println(depfile.getUpfile());
depfileService.updateById(depfile);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "单位技术研究资质情况-通过id删除")
@ApiOperation(value="单位技术研究资质情况-通过id删除", notes="单位技术研究资质情况-通过id删除")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
depfileService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "单位技术研究资质情况-批量删除")
@ApiOperation(value="单位技术研究资质情况-批量删除", notes="单位技术研究资质情况-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.depfileService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "单位技术研究资质情况-通过id查询")
@ApiOperation(value="单位技术研究资质情况-通过id查询", notes="单位技术研究资质情况-通过id查询")
@GetMapping(value = "/queryById")
public Result<Depfile> queryById(@RequestParam(name="id",required=true) String id) {
Depfile depfile = depfileService.getById(id);
if(depfile==null) {
return Result.error("未找到对应数据");
}
return Result.OK(depfile);
}
/**
* 导出excel
*
* @param request
* @param depfile
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, Depfile depfile) {
return super.exportXls(request, depfile, Depfile.class, "单位技术研究资质情况");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, Depfile.class);
}
public static String getFileExtensionFromUrl(String fileUrl) {
File file = new File(fileUrl);
String fileName = file.getName();
String extension = fileName.substring(fileName.lastIndexOf(".") + 1);
return extension;
}
}

@ -0,0 +1,98 @@
package org.jeecg.modules.demo.depfile.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import org.jeecg.common.constant.ProvinceCityArea;
import org.jeecg.common.util.SpringContextUtils;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @Description: 单位技术研究资质情况
* @Author: jeecg-boot
* @Date: 2024-11-01
* @Version: V1.0
*/
@Data
@TableName("depfile")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="depfile对象", description="单位技术研究资质情况")
public class Depfile implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private String id;
/**创建人*/
@ApiModelProperty(value = "创建人")
private String createBy;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期")
private Date updateTime;
/**所属部门*/
@ApiModelProperty(value = "所属部门")
private String sysOrgCode;
/**部门名称*/
@Excel(name = "部门名称", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
@Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
@ApiModelProperty(value = "部门名称")
private String depid;
/**名称*/
@Excel(name = "名称", width = 15)
@ApiModelProperty(value = "名称")
private String filename;
/**认定部门及批号*/
@Excel(name = "认定部门及批号", width = 15)
@ApiModelProperty(value = "认定部门及批号")
private String depnumber;
/**认定时间*/
@Excel(name = "认定时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "认定时间")
private Date rdtime;
/**文件*/
@Excel(name = "文件", width = 15)
@ApiModelProperty(value = "文件")
private String upfile;
/**用户id*/
@Excel(name = "用户id", width = 15)
@ApiModelProperty(value = "用户id")
private java.lang.String userid;
/**文件后缀*/
@Excel(name = "文件后缀", width = 15)
@ApiModelProperty(value = "文件后缀")
private java.lang.String filehz;
/**文件类型*/
@Excel(name = "文件类型", width = 15, dicCode = "filetext")
@Dict(dicCode = "filetext")
@ApiModelProperty(value = "文件类型")
private java.lang.String filelx;
}

@ -0,0 +1,17 @@
package org.jeecg.modules.demo.depfile.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.demo.depfile.entity.Depfile;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 单位技术研究资质情况
* @Author: jeecg-boot
* @Date: 2024-11-01
* @Version: V1.0
*/
public interface DepfileMapper extends BaseMapper<Depfile> {
}

@ -0,0 +1,5 @@
<?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="org.jeecg.modules.demo.depfile.mapper.DepfileMapper">
</mapper>

@ -0,0 +1,14 @@
package org.jeecg.modules.demo.depfile.service;
import org.jeecg.modules.demo.depfile.entity.Depfile;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: 单位技术研究资质情况
* @Author: jeecg-boot
* @Date: 2024-11-01
* @Version: V1.0
*/
public interface IDepfileService extends IService<Depfile> {
}

@ -0,0 +1,19 @@
package org.jeecg.modules.demo.depfile.service.impl;
import org.jeecg.modules.demo.depfile.entity.Depfile;
import org.jeecg.modules.demo.depfile.mapper.DepfileMapper;
import org.jeecg.modules.demo.depfile.service.IDepfileService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 单位技术研究资质情况
* @Author: jeecg-boot
* @Date: 2024-11-01
* @Version: V1.0
*/
@Service
public class DepfileServiceImpl extends ServiceImpl<DepfileMapper, Depfile> implements IDepfileService {
}

@ -0,0 +1,228 @@
package org.jeecg.modules.demo.depsbncz.controller;
import java.time.LocalDate;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.system.query.QueryRuleEnum;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.demo.annual.entity.Annual;
import org.jeecg.modules.demo.annual.service.IAnnualService;
import org.jeecg.modules.demo.depadminlx.service.IDepadminlxService;
import org.jeecg.modules.demo.depsbncz.entity.Depsbncz;
import org.jeecg.modules.demo.depsbncz.service.IDepsbnczService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.modules.system.entity.SysDepart;
import org.jeecg.modules.system.service.ISysDepartService;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.jeecg.common.system.base.controller.JeecgController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.aspect.annotation.AutoLog;
/**
* @Description: 上年度()主要财务数据
* @Author: jeecg-boot
* @Date: 2024-11-01
* @Version: V1.0
*/
@Api(tags="上年度(末)主要财务数据")
@RestController
@RequestMapping("/depsbncz/depsbncz")
@Slf4j
public class DepsbnczController extends JeecgController<Depsbncz, IDepsbnczService> {
@Autowired
private IDepsbnczService depsbnczService;
@Autowired
private IDepadminlxService depadminlxService;
@Autowired
private IAnnualService annualService;
@Autowired
private ISysDepartService iSysDepartService;
/**
* 分页列表查询
*
* @param depsbncz
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "上年度(末)主要财务数据-分页列表查询")
@ApiOperation(value="上年度(末)主要财务数据-分页列表查询", notes="上年度(末)主要财务数据-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<Depsbncz>> queryPageList(Depsbncz depsbncz,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal();
QueryWrapper<Depsbncz> queryWrapper = QueryGenerator.initQueryWrapper(depsbncz, req.getParameterMap());
queryWrapper.eq("userid",user.getId());
Page<Depsbncz> page = new Page<Depsbncz>(pageNo, pageSize);
IPage<Depsbncz> pageList = depsbnczService.page(page, queryWrapper);
return Result.OK(pageList);
}
@ApiOperation(value="预算书-部门基本情况-上年度(末)主要财务数据", notes="预算书-部门基本情况-上年度(末)主要财务数据")
@GetMapping(value = "/getBydepid")
public Result<IPage<Depsbncz>> getBydepid(Depsbncz depsbncz,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
SysDepart sysDepart = iSysDepartService.getOne(new LambdaQueryWrapper<SysDepart>().eq(SysDepart::getOrgCode, depsbncz.getDepid()));
depsbncz.setDepid(sysDepart.getId());
QueryWrapper<Depsbncz> queryWrapper = QueryGenerator.initQueryWrapper(depsbncz, req.getParameterMap());
Page<Depsbncz> page = new Page<Depsbncz>(pageNo, pageSize);
IPage<Depsbncz> pageList = depsbnczService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param depsbncz
* @return
*/
@AutoLog(value = "上年度(末)主要财务数据-添加")
@ApiOperation(value="上年度(末)主要财务数据-添加", notes="上年度(末)主要财务数据-添加")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody Depsbncz depsbncz) {
LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
depsbncz.setUserid(user.getId());
String depiid = depadminlxService.getdepid(user.getId());
// 获取当前日期
LocalDate currentDate = LocalDate.now();
// 获取当前年份并直接转换为字符串
String currentYearString = String.valueOf(currentDate.getYear());
Annual annual = annualService.query().eq("annual_name",currentYearString).one();
List<Depsbncz> depsbnczs=depsbnczService.query().eq("annualid",annual.getId()).eq("depid",depiid).list();
if (depsbnczs.size()>0){
return Result.error("本年度已经添加过了");
}else {
depsbncz.setAnnualid(annual.getId());
depsbncz.setDepid(depiid);
depsbnczService.save(depsbncz);
return Result.OK("添加成功!");
}
}
/**
* 编辑
*
* @param depsbncz
* @return
*/
@AutoLog(value = "上年度(末)主要财务数据-编辑")
@ApiOperation(value="上年度(末)主要财务数据-编辑", notes="上年度(末)主要财务数据-编辑")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody Depsbncz depsbncz) {
depsbnczService.updateById(depsbncz);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "上年度(末)主要财务数据-通过id删除")
@ApiOperation(value="上年度(末)主要财务数据-通过id删除", notes="上年度(末)主要财务数据-通过id删除")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
depsbnczService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "上年度(末)主要财务数据-批量删除")
@ApiOperation(value="上年度(末)主要财务数据-批量删除", notes="上年度(末)主要财务数据-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.depsbnczService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "上年度(末)主要财务数据-通过id查询")
@ApiOperation(value="上年度(末)主要财务数据-通过id查询", notes="上年度(末)主要财务数据-通过id查询")
@GetMapping(value = "/queryById")
public Result<Depsbncz> queryById(@RequestParam(name="id",required=true) String id) {
Depsbncz depsbncz = depsbnczService.getById(id);
if(depsbncz==null) {
return Result.error("未找到对应数据");
}
return Result.OK(depsbncz);
}
@ApiOperation(value="上年度(末)主要财务数据-通过depid查询", notes="上年度(末)主要财务数据-通过depid查询")
@GetMapping(value = "/queryBydepid/{depid}")
public Result<List<Depsbncz>> queryBydepid(@PathVariable("depid") String depid) {
List<Depsbncz> list = depsbnczService.list(new LambdaQueryWrapper<Depsbncz>().eq(Depsbncz::getDepid, depid));
return Result.OK(list);
}
/**
* 导出excel
*
* @param request
* @param depsbncz
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, Depsbncz depsbncz) {
return super.exportXls(request, depsbncz, Depsbncz.class, "上年度(末)主要财务数据");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, Depsbncz.class);
}
}

@ -0,0 +1,116 @@
package org.jeecg.modules.demo.depsbncz.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import org.jeecg.common.constant.ProvinceCityArea;
import org.jeecg.common.util.SpringContextUtils;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @Description: 上年度()主要财务数据
* @Author: jeecg-boot
* @Date: 2024-11-01
* @Version: V1.0
*/
@Data
@TableName("depsbncz")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="depsbncz对象", description="上年度(末)主要财务数据")
public class Depsbncz implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private String id;
/**创建人*/
@ApiModelProperty(value = "创建人")
private String createBy;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期")
private Date updateTime;
/**所属部门*/
@ApiModelProperty(value = "所属部门")
private String sysOrgCode;
/**部门*/
@Excel(name = "部门", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
@Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
@ApiModelProperty(value = "部门")
private String depid;
/**单位开办费*/
@Excel(name = "单位开办费", width = 15)
@ApiModelProperty(value = "单位开办费")
private String dwkbf;
/**资产合计*/
@Excel(name = "资产合计", width = 15)
@ApiModelProperty(value = "资产合计")
private String zchj;
/**负债合计*/
@Excel(name = "负债合计", width = 15)
@ApiModelProperty(value = "负债合计")
private String fzhj;
/**净资产*/
@Excel(name = "净资产", width = 15)
@ApiModelProperty(value = "净资产")
private String jzc;
/**财政拨款*/
@Excel(name = "财政拨款", width = 15)
@ApiModelProperty(value = "财政拨款")
private String czbk;
/**财政拨款专项支出*/
@Excel(name = "财政拨款专项支出", width = 15)
@ApiModelProperty(value = "财政拨款专项支出")
private String czbkzxzc;
/**经营收入*/
@Excel(name = "经营收入", width = 15)
@ApiModelProperty(value = "经营收入")
private String jysr;
/**经营支出*/
@Excel(name = "经营支出", width = 15)
@ApiModelProperty(value = "经营支出")
private String jyzc;
/**经营结余*/
@Excel(name = "经营结余", width = 15)
@ApiModelProperty(value = "经营结余")
private String jyjy;
/**纳税总额*/
@Excel(name = "纳税总额", width = 15)
@ApiModelProperty(value = "纳税总额")
private String nsze;
/**用户id*/
@Excel(name = "用户id", width = 15)
@ApiModelProperty(value = "用户id")
private java.lang.String userid;
/**年度*/
@Excel(name = "年度", width = 15, dictTable = "annual", dicText = "annual_name", dicCode = "id")
@Dict(dictTable = "annual", dicText = "annual_name", dicCode = "id")
@ApiModelProperty(value = "年度")
private java.lang.String annualid;
}

@ -0,0 +1,17 @@
package org.jeecg.modules.demo.depsbncz.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.demo.depsbncz.entity.Depsbncz;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 上年度()主要财务数据
* @Author: jeecg-boot
* @Date: 2024-11-01
* @Version: V1.0
*/
public interface DepsbnczMapper extends BaseMapper<Depsbncz> {
}

@ -0,0 +1,5 @@
<?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="org.jeecg.modules.demo.depsbncz.mapper.DepsbnczMapper">
</mapper>

@ -0,0 +1,14 @@
package org.jeecg.modules.demo.depsbncz.service;
import org.jeecg.modules.demo.depsbncz.entity.Depsbncz;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: 上年度()主要财务数据
* @Author: jeecg-boot
* @Date: 2024-11-01
* @Version: V1.0
*/
public interface IDepsbnczService extends IService<Depsbncz> {
}

@ -0,0 +1,19 @@
package org.jeecg.modules.demo.depsbncz.service.impl;
import org.jeecg.modules.demo.depsbncz.entity.Depsbncz;
import org.jeecg.modules.demo.depsbncz.mapper.DepsbnczMapper;
import org.jeecg.modules.demo.depsbncz.service.IDepsbnczService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 上年度()主要财务数据
* @Author: jeecg-boot
* @Date: 2024-11-01
* @Version: V1.0
*/
@Service
public class DepsbnczServiceImpl extends ServiceImpl<DepsbnczMapper, Depsbncz> implements IDepsbnczService {
}

@ -75,6 +75,16 @@ public class DisciplineFieidController extends JeecgController<DisciplineFieid,
return Result.OK(pageList);
}
@ApiOperation(value="学科领域-分页列表查询", notes="学科领域-分页列表查询")
@GetMapping(value = "/listcms")
public Result<List<DisciplineFieid>> listcms() {
QueryWrapper<DisciplineFieid> queryWrapper = new QueryWrapper();
List<DisciplineFieid> pageList = disciplineFieidService.list(queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*

@ -17,6 +17,10 @@ import org.jeecg.common.system.query.QueryRuleEnum;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.common.util.PasswordUtil;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.demo.disciplinefieid.entity.DisciplineFieid;
import org.jeecg.modules.demo.disciplinefieid.service.IDisciplineFieidService;
import org.jeecg.modules.demo.expert.entity.ExpCmsVo;
import org.jeecg.modules.demo.expert.entity.ExpdefVo;
import org.jeecg.modules.demo.expert.entity.Expert;
import org.jeecg.modules.demo.expert.service.IExpertService;
@ -63,6 +67,8 @@ public class ExpertController extends JeecgController<Expert, IExpertService> {
private ISysUserService sysUserService;
@Autowired
private ISysDepartService sysDepartService;
@Autowired
private IDisciplineFieidService disciplineFieidService;
/**
* 分页列表查询
@ -681,4 +687,93 @@ public class ExpertController extends JeecgController<Expert, IExpertService> {
expertService.save(expert);
return Result.OK("注册成功");
}
//专家CMS列表
@ApiOperation(value="专家CMS列表,参数为一个对象Expert,Expert里面就一个参数directioncal。directioncal就是研究方向", notes="专家CMS列表,Expert里面就一个参数directioncal。directioncal就是研究方向")
@GetMapping(value = "/listadminCMS")
public Result<IPage<Expert>> listadminCMS(Expert expert,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
//用于查看所有信息无论是否审核,无论哪个部门
QueryWrapper<Expert> queryWrapper = QueryGenerator.initQueryWrapper(expert, req.getParameterMap());
if(expert.getDirectioncal()!=null){
queryWrapper.eq("directioncal",expert.getDirectioncal());
}
Page<Expert> page = new Page<Expert>(pageNo, pageSize);
IPage<Expert> pageList = expertService.page(page, queryWrapper);
pageList.getRecords().forEach(experttemp -> {
//开始用于修改数据
SysUser sysUser = sysUserService.query().eq("username",experttemp.getSeusername()).one();
String depid = expertService.getdeps(sysUser.getId());
SysDepart sysDepart = sysDepartService.getById(depid);
experttemp.setRealname(sysUser.getRealname());
experttemp.setWorkon(sysUser.getWorkNo());
experttemp.setSex(sysUser.getSex());
experttemp.setTopPic(sysUser.getAvatar());
experttemp.setPhone(sysUser.getPhone());
experttemp.setEmails(sysUser.getEmail());
experttemp.setSsdep(sysDepart.getDepartName());
experttemp.setPsd(sysUser.getPassword());
experttemp.setSepsd(sysUser.getPassword());
experttemp.setAvatar(sysUser.getAvatar());
});
return Result.OK(pageList);
}
@ApiOperation(value="专家列表研究方向CMS列表", notes="专家列表研究方向CMS列表")
@GetMapping(value = "/directioncalListCMS")
public Result<List<DisciplineFieid>> directioncalListCMS() {
List<DisciplineFieid> disciplineFieid =disciplineFieidService.list();
return Result.OK(disciplineFieid);
}
@ApiOperation(value="专家CMS详细信息需要的,参数为专家的id", notes="专家CMS详细信息需要的,参数为专家的id")
@GetMapping(value = "/CMSexpinfo")
public Result<ExpCmsVo> CMSexpinfo(@RequestParam(name="id",required=true) String id) {
Expert expert = expertService.getById(id);
SysUser sysUser=sysUserService.query().eq("username",expert.getSeusername()).one();
ExpCmsVo expCmsVo = new ExpCmsVo();
expCmsVo.setUserinfo(expert.getExpinfo());
expCmsVo.setAvatar(sysUser.getAvatar());
expCmsVo.setRealname(sysUser.getRealname());
return Result.OK(expCmsVo);
}
@ApiOperation(value="管理员专家数据---专家总数", notes="管理员专家数据---专家总数")
@GetMapping(value = "/expdatanumber")
public Result<Integer> expdatanumber() {
List<Expert> expertList = expertService.list();
return Result.OK(expertList.size());
}
@ApiOperation(value="管理员专家数据---正常专家数", notes="管理员专家数据---正常专家数")
@GetMapping(value = "/expdatanumberzc")
public Result<Integer> expdatanumberzc() {
List<Expert> expertList = expertService.query().eq("adminopen","2").eq("compopen","2").eq("expsture","N").list();
return Result.OK(expertList.size());
}
@ApiOperation(value="管理员专家数据---异常专家数", notes="管理员专家数据---异常专家数")
@GetMapping(value = "/expdatanumberyc")
public Result<Integer> expdatanumberyc() {
List<Expert> expertList = expertService.query().eq("adminopen","2").eq("compopen","2").eq("expsture","Y").list();
return Result.OK(expertList.size());
}
@ApiOperation(value="管理员专家数据---不同的领域专家数", notes="管理员专家数据---不同的领域专家数")
@GetMapping(value = "/expdatanumberdiffect")
public Result<List<ExpdefVo>> expdatanumberdiffect() {
List<ExpdefVo> expdefVoList = new ArrayList<>();
List<DisciplineFieid> disciplineFieidList = disciplineFieidService.list();
for (int i=0;i<disciplineFieidList.size();i++){
ExpdefVo expdefVo =new ExpdefVo();
List<Expert> expertList = expertService.query().eq("compopen","2").eq("adminopen","2").eq("directioncal",disciplineFieidList.get(i).getId()).list();
expdefVo.setName(disciplineFieidList.get(i).getName());
expdefVo.setNumber(expertList.size());
expdefVoList.add(expdefVo);
}
return Result.OK(expdefVoList);
}
}

@ -0,0 +1,10 @@
package org.jeecg.modules.demo.expert.entity;
import lombok.Data;
@Data
public class ExpCmsVo {
private String realname;
private String avatar;
private String userinfo;
}

@ -0,0 +1,9 @@
package org.jeecg.modules.demo.expert.entity;
import lombok.Data;
@Data
public class ExpdefVo {
private String name;
private Integer number;
}

@ -78,6 +78,7 @@ public class Expert implements Serializable {
private String research;
/**学历*/
@Excel(name = "学历", width = 15)
@Dict(dicCode = "xl")
@ApiModelProperty(value = "学历")
private String educationcal;
/**专家简介*/
@ -103,6 +104,9 @@ public class Expert implements Serializable {
private String emails;
@TableField(exist = false)
private Integer sex;
@TableField(exist = false)
private String avatar;
/**提交审核*/
// @Excel(name = "提交审核", width = 15,replace = {"是_Y","否_N"} )
@ -116,6 +120,7 @@ public class Expert implements Serializable {
private java.lang.String expsture;
/**异常备注*/
@Excel(name = "异常备注", width = 15)
@Dict(dicCode = "yczt")
@ApiModelProperty(value = "异常备注")
private java.lang.String errinfo;
@ -129,6 +134,10 @@ public class Expert implements Serializable {
@Dict(dicCode = "examstures")
@ApiModelProperty(value = "管理员审核")
private java.lang.String adminopen;
/**职称*/
@Excel(name = "职称", width = 15, dicCode = "zc")
@Dict(dicCode = "zc")
@ApiModelProperty(value = "职称")
private java.lang.String zc;
}

@ -88,6 +88,47 @@ public class ExpprojectController {
return Result.OK(pageList);
}
/**
* 分页列表查询
*
* @param expproject
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "专家项目表-分页列表查询")
@ApiOperation(value="专家项目表-分页列表查询专家", notes="专家项目表-分页列表专家")
@GetMapping(value = "/listself")
public Result<IPage<Expproject>> listself(Expproject expproject,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<Expproject> queryWrapper = QueryGenerator.initQueryWrapper(expproject, req.getParameterMap());
//获取当前登录
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
System.out.println(sysUser.getUsername());
Expert expert = expertService.query().eq("seusername",sysUser.getUsername()).one();
System.out.println(expert.getId());
List<Expandpro> expandproList = expandproService.query().eq("expid",expert.getSeusername()).list();
List<String> expprojectidlist = new ArrayList<>();
// 遍历expandproList并提取expprojectid
for (Expandpro expandpro : expandproList) {
String expprojectid = expandpro.getExpprojectid();
expprojectidlist.add(expprojectid);
}
if (expprojectidlist.size()>0) {
queryWrapper.in("id", expprojectidlist);
Page<Expproject> page = new Page<Expproject>(pageNo, pageSize);
IPage<Expproject> pageList = expprojectService.page(page, queryWrapper);
return Result.OK(pageList);
} else {
return Result.error("未发现数据");
}
}
/**
* 添加
*

@ -27,6 +27,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.modules.system.entity.SysDepart;
import org.jeecg.modules.system.service.ISysDepartService;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
@ -94,6 +95,48 @@ public class InstrumentController extends JeecgController<Instrument, IInstrumen
return Result.OK(pageList);
}
/**
* 分页列表查询
*
* @param instrument
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "仪器信息表-分页列表查询")
@ApiOperation(value="仪器信息表-分页列表查询", notes="仪器信息表-分页列表查询")
@GetMapping(value = "/listcms")
public Result<IPage<Instrument>> listcms(Instrument instrument,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<Instrument> queryWrapper = QueryGenerator.initQueryWrapper(instrument, req.getParameterMap());
queryWrapper.eq("state","3");
Page<Instrument> page = new Page<Instrument>(pageNo, pageSize);
IPage<Instrument> pageList = instrumentService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "仪器信息表-通过id查询")
@ApiOperation(value="仪器信息表-通过id查询", notes="仪器信息表-通过id查询")
@GetMapping(value = "/queryByIdCms")
public Result<IPage<Instrument>> queryByIdCms(@RequestParam(name="id",required=true) String id) {
QueryWrapper<Instrument> queryWrapper = new QueryWrapper();
queryWrapper.eq("id",id);
Page<Instrument> page = new Page<Instrument>(1, 10);
IPage<Instrument> pageList = instrumentService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 分页列表查询
*
@ -152,6 +195,12 @@ public class InstrumentController extends JeecgController<Instrument, IInstrumen
//县区管理员角色
queryWrapper.in("state",1,2,3);
queryWrapper.in("flag",1,2);
QueryWrapper<SysDepart> queryWrappersd = new QueryWrapper();
queryWrappersd.eq("del_flag", 0);
queryWrappersd.eq("parent_id", loginUser.getOrgId());
List<SysDepart> listsd = sysDepartService.list(queryWrappersd);
List<String> ids = listsd.stream().map(SysDepart::getId).collect(Collectors.toList());
queryWrapper.in("declaration_unit",ids);
Page<Instrument> page = new Page<Instrument>(pageNo, pageSize);
IPage<Instrument> pageList = instrumentService.page(page, queryWrapper);
return Result.OK(pageList);
@ -215,8 +264,8 @@ public class InstrumentController extends JeecgController<Instrument, IInstrumen
//@RequiresPermissions("instrument:instrument:edit")
@RequestMapping(value = "/edit2", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit2(@RequestBody Instrument instrument) {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(sysDepartService.getById(loginUser.getOrgId()).getOrgCategory().equals("3")){
//LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(sysDepartService.getById(instrument.getDeclarationUnit()).getOrgCategory().equals("3")){
instrument.setFlag("1");
}else{
instrument.setFlag("0");
@ -349,8 +398,7 @@ public class InstrumentController extends JeecgController<Instrument, IInstrumen
if(instrument.getFlag().equals("1")){
instrument.setState("2");
instrument.setFlag("2");
}
if(instrument.getFlag().equals("2")&&instrument.getState().equals("2")){
}else if(instrument.getFlag().equals("2")&&instrument.getState().equals("2")){
instrument.setState("3");
}
//instrument.setFlag("2");

@ -75,6 +75,21 @@ public class InstrumentTypeController extends JeecgController<InstrumentType, II
return Result.OK(pageList);
}
/**
* 分页列表查询
*
* @return
*/
//@AutoLog(value = "仪器分类-分页列表查询")
@ApiOperation(value="仪器分类-分页列表查询", notes="仪器分类-分页列表查询")
@GetMapping(value = "/listcms")
public Result<List<InstrumentType>> listcms() {
QueryWrapper<InstrumentType> queryWrapper = new QueryWrapper();
List<InstrumentType> pageList = instrumentTypeService.list(queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*

@ -1,8 +1,10 @@
package org.jeecg.modules.demo.mock.vxe.controller;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -16,6 +18,9 @@ import org.jeecg.common.system.query.QueryCondition;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.modules.demo.mock.vxe.entity.MockEntity;
import org.jeecg.modules.demo.mock.vxe.websocket.VxeSocket;
import org.jeecg.modules.demo.projectFeeBudget.entity.ProjectFeeBudget;
import org.jeecg.modules.demo.projectFeeBudget.service.IProjectFeeBudgetService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
@ -33,6 +38,9 @@ import java.util.*;
@Slf4j
public class VxeMockController {
@Autowired
private IProjectFeeBudgetService projectFeeBudgetService;
/**
* 模拟更改状态
*
@ -65,7 +73,7 @@ public class VxeMockController {
*/
@Deprecated
@GetMapping("/change2")
public Result mockChange2(@RequestParam("id") String id,@RequestParam("tug_status") String tugStatus) {
public Result mockChange2(@RequestParam("id") String id, @RequestParam("tug_status") String tugStatus) {
/* id 为 行的id(rowId),只要获取到rowId,那么只需要调用 VXESocket.sendMessageToAll() 即可 */
// 封装行数据
@ -200,6 +208,37 @@ public class VxeMockController {
return Result.ok(page);
}
/**
* @description: 获取项目经费预算填报项
* @param: [pageNo, pageSize, parentId]
* @return: org.jeecg.common.api.vo.Result
* @author: z.h.c
* @date: 24/10/29 15:47
*/
@GetMapping("/getProjectFeeBudgetList/{projectId}")
public Result getProjectFeeBudgetList(@PathVariable("projectId") String projectId,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
// 父级id,根据父级id查询子级,如果为空则查询顶级
@RequestParam(name = "parentId", required = false) String parentId) {
JSONArray dataList;
List<ProjectFeeBudget> feeBudgetList = projectFeeBudgetService.list(new LambdaQueryWrapper<ProjectFeeBudget>().eq(ProjectFeeBudget::getProjectId,projectId));
if (ObjectUtil.isNotEmpty(feeBudgetList)) {
dataList = JSONArray.parseArray(JSON.toJSONString(feeBudgetList));
} else {
String path = "classpath:org/jeecg/modules/demo/mock/vxe/json/projectFeeBudget.json";
dataList = readJsonData(path);
/*// 读取JSON数据
if (dataList == null) {
return Result.error("读取数据失败!");
}*/
}
IPage<JSONObject> page = this.queryDataPage(dataList, parentId, pageNo, pageSize);
return Result.ok(page);
}
/**
* 获取模拟调度计划页面的数据
*

@ -0,0 +1,15 @@
[
{"budgetSubject":"设备费","totalFee":0.00,"specialFee":0.00,"selfFee":0.00,"specialFeeMark":""},
{"budgetSubject":"材料费","totalFee":0.00,"specialFee":0.00,"selfFee":0.00,"specialFeeMark":""}
{"budgetSubject":"测试化验加工费","totalFee":0.00,"specialFee":0.00,"selfFee":0.00,"specialFeeMark":""}
{"budgetSubject":"燃料动力费","totalFee":0.00,"specialFee":0.00,"selfFee":0.00,"specialFeeMark":""}
{"budgetSubject":"差旅费/会议费/国际合作与交流费","totalFee":0.00,"specialFee":0.00,"selfFee":0.00,"specialFeeMark":""}
{"budgetSubject":"出版/文献/信息传播/知识产权事务费","totalFee":0.00,"specialFee":0.00,"selfFee":0.00,"specialFeeMark":""}
{"budgetSubject":"劳务费","totalFee":0.00,"specialFee":0.00,"selfFee":0.00,"specialFeeMark":""}
{"budgetSubject":"专家咨询费","totalFee":0.00,"specialFee":0.00,"selfFee":0.00,"specialFeeMark":""}
{"budgetSubject":"其他支出","totalFee":0.00,"specialFee":0.00,"selfFee":0.00,"specialFeeMark":""}
{"budgetSubject":"本次申请省财政经费支持","totalFee":0.00,"specialFee":0.00,"selfFee":0.00,"specialFeeMark":""}
{"budgetSubject":"其他财政拨款","totalFee":0.00,"specialFee":0.00,"selfFee":0.00,"specialFeeMark":""}
{"budgetSubject":"单位自有货币资金","totalFee":0.00,"specialFee":0.00,"selfFee":0.00,"specialFeeMark":""}
{"budgetSubject":"其他资金","totalFee":0.00,"specialFee":0.00,"selfFee":0.00,"specialFeeMark":""}
]

@ -1,5 +1,6 @@
package org.jeecg.modules.demo.project.controller;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -8,6 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
@ -15,13 +17,20 @@ import org.jeecg.common.exception.JeecgBootException;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.system.query.QueryRuleEnum;
import org.jeecg.common.system.vo.DictModel;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.modules.demo.depadminlx.entity.Depadminlx;
import org.jeecg.modules.demo.depadminlx.service.IDepadminlxService;
import org.jeecg.modules.demo.departext.entity.DepartExt;
import org.jeecg.modules.demo.departext.service.IDepartExtService;
import org.jeecg.modules.demo.project.dto.BasicInfoDto;
import org.jeecg.modules.demo.project.dto.DepartExtDto;
import org.jeecg.modules.demo.project.dto.DepartExtDto2;
import org.jeecg.modules.demo.project.dto.ProjectShenBaoDto;
import org.jeecg.modules.demo.project.entity.Project;
import org.jeecg.modules.demo.project.service.IProjectService;
import org.jeecg.modules.demo.projectLog.entity.ProjectLog;
import org.jeecg.modules.demo.projectLog.service.IProjectLogService;
import org.jeecg.modules.demo.projectType.entity.ProjectType;
import org.jeecg.modules.demo.projectType.service.IProjectTypeService;
import org.jeecg.modules.demo.userext.entity.UserExt;
@ -30,6 +39,7 @@ import org.jeecg.modules.system.entity.SysDepart;
import org.jeecg.modules.system.entity.SysUser;
import org.jeecg.modules.system.service.ISysDepartService;
import org.jeecg.modules.system.service.ISysUserService;
import org.jeecg.modules.system.service.impl.SysBaseApiImpl;
import org.jeewx.api.core.util.DateUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -38,9 +48,7 @@ import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.*;
/**
* @Description: 项目表
@ -71,6 +79,15 @@ public class ProjectController extends JeecgController<Project, IProjectService>
@Autowired
private IProjectTypeService iProjectTypeService;
@Autowired
private SysBaseApiImpl sysBaseApi;
@Autowired
private IDepadminlxService iDepadminlxService;
@Autowired
private IProjectLogService iProjectLogService;
/**
* 分页列表查询
*
@ -83,6 +100,7 @@ public class ProjectController extends JeecgController<Project, IProjectService>
//@AutoLog(value = "项目表-分页列表查询")
@ApiOperation(value = "项目表-分页列表查询", notes = "项目表-分页列表查询")
@GetMapping(value = "/list")
// @PermissionData(pageComponent = "projectApplication/project/ProjectList")
public Result<IPage<Project>> queryPageList(Project project,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
@ -93,12 +111,238 @@ public class ProjectController extends JeecgController<Project, IProjectService>
customeRuleMap.put("projectDomain", QueryRuleEnum.LIKE_WITH_OR);
customeRuleMap.put("projectStatus", QueryRuleEnum.LIKE_WITH_OR);
customeRuleMap.put("budgetStatus", QueryRuleEnum.LIKE_WITH_OR);
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if ("shenbaoren_role".equals(loginUser.getRoleCode())) {
project.setCreateBy(loginUser.getUsername());
}
QueryWrapper<Project> queryWrapper = QueryGenerator.initQueryWrapper(project, req.getParameterMap(), customeRuleMap);
Page<Project> page = new Page<Project>(pageNo, pageSize);
IPage<Project> pageList = projectService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* @description: 申报列表不同角色可见数据
* @param: [project, pageNo, pageSize, req]
* @return: org.jeecg.common.api.vo.Result<com.baomidou.mybatisplus.core.metadata.IPage<org.jeecg.modules.demo.project.entity.Project>>
* @author: z.h.c
* @date: 24/11/7 14:56
*/
@ApiOperation(value = "项目表-分页列表查询", notes = "项目表-分页列表查询")
@GetMapping(value = "/list4Audit")
// @PermissionData(pageComponent = "projectApplication/productAudit/project4AuditList")
public Result<IPage<Project>> queryPageList2(Project project,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
// 自定义查询规则
Map<String, QueryRuleEnum> customeRuleMap = new HashMap<>();
// 自定义多选的查询规则为:LIKE_WITH_OR
customeRuleMap.put("projectDomain", QueryRuleEnum.LIKE_WITH_OR);
customeRuleMap.put("projectStatus", QueryRuleEnum.LIKE_WITH_OR);
customeRuleMap.put("budgetStatus", QueryRuleEnum.LIKE_WITH_OR);
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
QueryWrapper<Project> queryWrapper = QueryGenerator.initQueryWrapper(project, req.getParameterMap(), customeRuleMap);
Page<Project> page = new Page<Project>(pageNo, pageSize);
//('不受理', '3');
//('已受理', '4');
//('申请人待提交', '5');
//('申请单位待提交', '6');
//('科技主管部门待提交(区/县管理员)', '1');
//('市科技局待提交', '7');
//('市科技局已提交', '8');
//('财政主管理部门待审核', '9');
//('财政主管理部门审核通过', '10');
// 11 已立项
// 12 已验收
//13 已结项
//申请人数据
if ("shenbaoren_role".equals(loginUser.getRoleCode())) {
queryWrapper.eq("create_by", loginUser.getUsername());
}
//申请单位数据
if ("faren_admin".equals(loginUser.getRoleCode())) {
queryWrapper.eq("sys_org_code", loginUser.getOrgCode());
queryWrapper.in("project_status", 6, 1, 7, 8, 9, 10);
}
// 区/县管理员数据
if ("quxian_admin".equals(loginUser.getRoleCode())) {
queryWrapper.likeRight("sys_org_code", loginUser.getOrgCode());
queryWrapper.in("project_status", 1, 7, 8, 9, 10);
}
if ("kejiju_admin".equals(loginUser.getRoleCode())) {
queryWrapper.in("project_status", 7, 8, 9, 10);
}
if ("caizheng_admin".equals(loginUser.getRoleCode())) {
queryWrapper.in("budget_status", 8, 9, 10);
}
IPage<Project> pageList = projectService.page(page, queryWrapper);
return Result.OK(pageList);
}
@ApiOperation(value = "项目立项-分页列表查询", notes = "项目表-项目立项")
@GetMapping(value = "/list4LiXiang")
// @PermissionData(pageComponent = "projectApplication/productAudit/project4AuditList")
public Result<IPage<Project>> list4LiXiang(Project project,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
// 自定义查询规则
Map<String, QueryRuleEnum> customeRuleMap = new HashMap<>();
// 自定义多选的查询规则为:LIKE_WITH_OR
customeRuleMap.put("projectDomain", QueryRuleEnum.LIKE_WITH_OR);
customeRuleMap.put("projectStatus", QueryRuleEnum.LIKE_WITH_OR);
customeRuleMap.put("budgetStatus", QueryRuleEnum.LIKE_WITH_OR);
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
QueryWrapper<Project> queryWrapper = QueryGenerator.initQueryWrapper(project, req.getParameterMap(), customeRuleMap);
Page<Project> page = new Page<Project>(pageNo, pageSize);
//('不受理', '3');
//('已受理', '4');
//('申请人待提交', '5');
//('申请单位待提交', '6');
//('科技主管部门待提交(区/县管理员)', '1');
//('市科技局待提交', '7');
//('市科技局已提交', '8');
//('财政主管理部门待审核', '9');
//('财政主管理部门审核通过', '10');
// 11 已立项
// 12 已验收
//13 已结项
//财政管理员看到要立项的数据
if ("kejiju_admin".equals(loginUser.getRoleCode())) {
queryWrapper.in("budget_status", 10, 11);
} else {
queryWrapper.in("project_status", 11);
}
IPage<Project> pageList = projectService.page(page, queryWrapper);
return Result.OK(pageList);
}
@ApiOperation(value = "项目验收-分页列表查询", notes = "项目表-项目验收")
@GetMapping(value = "/list4YanShou")
// @PermissionData(pageComponent = "projectApplication/productAudit/project4AuditList")
public Result<IPage<Project>> list4YanShou(Project project,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
// 自定义查询规则
Map<String, QueryRuleEnum> customeRuleMap = new HashMap<>();
// 自定义多选的查询规则为:LIKE_WITH_OR
customeRuleMap.put("projectDomain", QueryRuleEnum.LIKE_WITH_OR);
customeRuleMap.put("projectStatus", QueryRuleEnum.LIKE_WITH_OR);
customeRuleMap.put("budgetStatus", QueryRuleEnum.LIKE_WITH_OR);
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
QueryWrapper<Project> queryWrapper = QueryGenerator.initQueryWrapper(project, req.getParameterMap(), customeRuleMap);
Page<Project> page = new Page<Project>(pageNo, pageSize);
//('不受理', '3');
//('已受理', '4');
//('申请人待提交', '5');
//('申请单位待提交', '6');
//('科技主管部门待提交(区/县管理员)', '1');
//('市科技局待提交', '7');
//('市科技局已提交', '8');
//('财政主管理部门待审核', '9');
//('财政主管理部门审核通过', '10');
// 11 已立项
// 12 已验收
//13 已结项
//财政管理可以看到要验收的数据
if ("kejiju_admin".equals(loginUser.getRoleCode())) {
queryWrapper.in("project_status", 11, 12);
} else {
queryWrapper.in("project_status", 12);
}
IPage<Project> pageList = projectService.page(page, queryWrapper);
return Result.OK(pageList);
}
@ApiOperation(value = "项目结项-分页列表查询", notes = "项目表-项目结项")
@GetMapping(value = "/list4JieXiang")
// @PermissionData(pageComponent = "projectApplication/productAudit/project4AuditList")
public Result<IPage<Project>> list4JieXiang(Project project,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
// 自定义查询规则
Map<String, QueryRuleEnum> customeRuleMap = new HashMap<>();
// 自定义多选的查询规则为:LIKE_WITH_OR
customeRuleMap.put("projectDomain", QueryRuleEnum.LIKE_WITH_OR);
customeRuleMap.put("projectStatus", QueryRuleEnum.LIKE_WITH_OR);
customeRuleMap.put("budgetStatus", QueryRuleEnum.LIKE_WITH_OR);
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
QueryWrapper<Project> queryWrapper = QueryGenerator.initQueryWrapper(project, req.getParameterMap(), customeRuleMap);
Page<Project> page = new Page<Project>(pageNo, pageSize);
// 11 已立项
// 12 已验收
//13 已结项
//财政管理可以看到要验收的数据
if ("kejiju_admin".equals(loginUser.getRoleCode())) {
queryWrapper.in("project_status", 12, 13);
} else {
queryWrapper.in("project_status", 13);
}
IPage<Project> pageList = projectService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* @description: 市科技局立项验收结项审核流程
* @param: [param, req]
* @return: org.jeecg.common.api.vo.Result<org.jeecg.modules.demo.project.entity.Project>
* @author: z.h.c
* @date: 24/11/7 14:44
*/
@ApiOperation(value = "项目表-更新状态", notes = "项目表-更新状态")
@PostMapping(value = "/updateStatus")
public Result<Project> updateStatus(@RequestBody Project param, HttpServletRequest req) {
Project project = projectService.getById(param.getId());
projectService.updateById(param);
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
ProjectLog log = new ProjectLog();
log.setOperatorName(loginUser.getRealname());
log.setOperatorId(loginUser.getId());
log.setProjectId(project.getId());
log.setProjectName(project.getProjectName());
log.setOperationTime(new Date());
log.setProjectStatus(param.getProjectStatus());
log.setBudgetStatus(param.getBudgetStatus());
// 11 已立项
// 12 已验收
//13 已结项
if ("11".equals(param.getProjectStatus())) {
log.setOperationMark("市科技局立项");
}
if ("12".equals(param.getProjectStatus())) {
log.setOperationMark("市科技局验收");
}
if ("13".equals(param.getProjectStatus())) {
log.setOperationMark("市科技局结项");
}
iProjectLogService.save(log);
return Result.OK("操作成功");
}
@ApiOperation(value = "项目表-根据id查询", notes = "项目表-根据id查询")
@GetMapping(value = "/getById")
public Result<Project> getById(Project param, HttpServletRequest req) {
@ -153,7 +397,7 @@ public class ProjectController extends JeecgController<Project, IProjectService>
BeanUtils.copyProperties(userExt, basicInfoDto);
BeanUtils.copyProperties(project, basicInfoDto);
basicInfoDto.setRealName(sysUser.getRealname());
basicInfoDto.setProjectTime(DateUtils.formatDate(project.getStartTime()) +"——"+DateUtils.formatDate(project.getEndTime()));
basicInfoDto.setProjectTime(DateUtils.formatDate(project.getStartTime()) + "——" + DateUtils.formatDate(project.getEndTime()));
return Result.OK(basicInfoDto);
}
@ -188,6 +432,58 @@ public class ProjectController extends JeecgController<Project, IProjectService>
BeanUtils.copyProperties(departExt, dto);
ProjectType projectType = iProjectTypeService.getById(project.getProjectTypeid());
dto.setAnnualName(projectType.getAnnualName());
List<DictModel> dictModels = sysBaseApi.queryDictItemsByCode("depart_type");
if (ObjectUtil.isNotEmpty(dictModels)) {
dictModels.forEach(e -> {
if (e.getValue().equals(dto.getType())) {
dto.setType(e.getText());
}
});
}
List<DictModel> dictModels2 = sysBaseApi.queryDictItemsByCode("depart_category");
if (ObjectUtil.isNotEmpty(dictModels2)) {
dictModels2.forEach(d -> {
if (d.getValue().equals(dto.getOrgCategory())) {
dto.setOrgCategory(d.getText());
}
});
}
return Result.OK(dto);
}
@ApiOperation(value = "预算书-部门基本情况-部门信息", notes = "预算书-部门基本情况-部门信息")
@GetMapping(value = "/getDepartDtoInfo")
public Result<DepartExtDto2> getDepartDtoInfo(Project para, HttpServletRequest req) {
Project project = projectService.getById(para.getId());
SysUser sysUser = iSysUserService.getById(project.getProjectCharger());
SysDepart sysDepart = iSysDepartService.getOne(new LambdaQueryWrapper<SysDepart>().eq(SysDepart::getOrgCode, sysUser.getOrgCode()));
DepartExt departExt = iDepartExtService.getOne(new LambdaQueryWrapper<DepartExt>()
.eq(DepartExt::getDepartId, sysDepart.getId())
.eq(DepartExt::getProjectId, para.getId())
);
Depadminlx depadminlx = iDepadminlxService.getOne(new LambdaQueryWrapper<Depadminlx>().eq(Depadminlx::getDepid, project.getSysOrgCode()));
DepartExtDto2 dto = new DepartExtDto2();
BeanUtils.copyProperties(sysDepart, dto);
BeanUtils.copyProperties(departExt, dto);
BeanUtils.copyProperties(depadminlx, dto);
ProjectType projectType = iProjectTypeService.getById(project.getProjectTypeid());
dto.setAnnualName(projectType.getAnnualName());
List<DictModel> dictModels = sysBaseApi.queryDictItemsByCode("depart_type");
if (ObjectUtil.isNotEmpty(dictModels)) {
dictModels.forEach(e -> {
if (e.getValue().equals(dto.getType())) {
dto.setType(e.getText());
}
});
}
List<DictModel> dictModels2 = sysBaseApi.queryDictItemsByCode("depart_category");
if (ObjectUtil.isNotEmpty(dictModels2)) {
dictModels2.forEach(d -> {
if (d.getValue().equals(dto.getOrgCategory())) {
dto.setOrgCategory(d.getText());
}
});
}
return Result.OK(dto);
}
@ -206,11 +502,147 @@ public class ProjectController extends JeecgController<Project, IProjectService>
return Result.OK("添加成功!");
}
/**
* @description: 向上级提交项目
* @param: [project]
* @return: org.jeecg.common.api.vo.Result<java.lang.String>
* @author: z.h.c
* @date: 24/11/4 16:12
*/
@AutoLog(value = "项目表-上级管理员审核通过")
@ApiOperation(value = "项目表-审核通过", notes = "项目表-审核通过")
@PostMapping(value = "/submitApply")
public Result<String> submitApply(@RequestBody Project project) {
//('科技主管部门待提交', '1');
//('科技主管部门已提交', '2');
//('不受理', '3');
//('已受理', '4');
//('申请人待提交', '5');
//('申请单位待提交', '6');
//('市科技局待提交', '7');
//('市科技局已提交', '8');
//('财政主管理部门待审核', '9');
//('财政主管理部门审核通过', '10');
Project project1 = projectService.getById(project.getId());
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
ProjectLog log = new ProjectLog();
log.setOperatorName(loginUser.getRealname());
log.setOperatorId(loginUser.getId());
log.setProjectId(project.getId());
log.setProjectName(project1.getProjectName());
log.setOperationTime(new Date());
//申报人提交,并向上级提交->申请单位待提交
if ("shenbaoren_role".equals(loginUser.getRoleCode())) {
project.setProjectStatus("6");
//预算书和项目书用同一种状态
project.setBudgetStatus("6");
log.setProjectStatus("6");
log.setBudgetStatus("6");
log.setOperationMark("申请人提交项目书,申请人提交预算书");
}
//申请单位审核通过,并向上级提交->科技主管部门待提交(区/县管理员)
if ("faren_admin".equals(loginUser.getRoleCode())) {
project.setProjectStatus("1");
//预算书和项目书用同一种状态
project.setBudgetStatus("1");
log.setProjectStatus("1");
log.setBudgetStatus("1");
log.setOperationMark("申请单位提交项目书,申请单位提交预算书");
}
//区/县管理员审核通过,并向上级提交->市科技局处理
if ("quxian_admin".equals(loginUser.getRoleCode())) {
project.setProjectStatus("7");
//预算书和项目书用同一种状态
project.setBudgetStatus("7");
log.setProjectStatus("7");
log.setBudgetStatus("7");
log.setOperationMark("科技主管部门提交项目书,科技主管部门提交预算书");
}
//市科技局通过-》财政管理员处理
if ("kejiju_admin".equals(loginUser.getRoleCode())) {
project.setProjectStatus("8");
//预算书和项目书用同一种状态
project.setBudgetStatus("9");
log.setProjectStatus("8");
log.setBudgetStatus("9");
log.setOperationMark("市科技局已提交,待财政主管部门审核");
}
//市科技局通过-》财政管理员处理
if ("caizheng_admin".equals(loginUser.getRoleCode())) {
// project.setProjectStatus("10");
project.setBudgetStatus("10");
project.setProjectStatus(project1.getProjectStatus());
log.setBudgetStatus("10");
log.setOperationMark("财政主管部门审核通过");
}
project.setUpdateTime(new Date());
projectService.updateById(project);
iProjectLogService.save(log);
return Result.OK("操作成功!");
}
/**
* @description: (申请单位待提交)状态申报人可以取回项目
* @param: [project]
* @return: org.jeecg.common.api.vo.Result<java.lang.String>
* @author: z.h.c
* @date: 24/11/5 11:00
*/
@AutoLog(value = "项目表-申报人取回项目/审核取回")
@ApiOperation(value = "项目表-申报人取回项目/审核取回", notes = "项目表-申报人取回项目/审核取回")
@PostMapping(value = "/rollbackProject")
public Result<String> rollbackProject(@RequestBody Project project) {
//('科技主管部门待提交', '1');
//('科技主管部门已提交', '2');
//('不受理', '3');
//('已受理', '4');
//('申请人待提交', '5');
//('申请单位待提交', '6');
//('市科技局待提交', '7');
//('市科技局已提交', '8');
//('财政主管理部门待审核', '9');
//('财政主管理部门审核通过', '10');
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
project.setProjectStatus("5");
//预算书和项目书用同一种状态
project.setBudgetStatus("5");
project.setUpdateTime(new Date());
project.setUpdateBy(loginUser.getRealname());
projectService.updateById(project);
Project project1 = projectService.getById(project.getId());
ProjectLog log = new ProjectLog();
log.setOperatorName(loginUser.getRealname());
log.setOperatorId(loginUser.getId());
log.setProjectId(project.getId());
log.setProjectName(project1.getProjectName());
log.setOperationTime(new Date());
log.setProjectStatus("5");
log.setBudgetStatus("5");
if ("shenbaoren_role".equals(loginUser.getRoleCode())) {
log.setOperationMark("申请人取回项目书,申请人取回预算书");
} else {
log.setOperationMark("审核驳回");
}
iProjectLogService.save(log);
return Result.OK("操作成功!");
}
@AutoLog(value = "新增项目审报")
@ApiOperation(value = "新增项目审报", notes = "新增项目审报")
@PostMapping(value = "/save4shenbao")
public Result<String> save4shenbao(@RequestBody ProjectShenBaoDto dto) {
long count = projectService.count(new LambdaQueryWrapper<Project>().eq(Project::getProjectTypeid, dto.getProjectTypeid()));
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
long count = projectService.count(new LambdaQueryWrapper<Project>()
.eq(Project::getProjectTypeid, dto.getProjectTypeid())
.eq(Project::getSysOrgCode, loginUser.getOrgId()));
if (count > 0) {
throw new JeecgBootException("该项目类型,当年已填报,不能重复填报!");
}

@ -22,4 +22,7 @@ public class BasicInfoDto {
private String email;
private String title;;
// @ApiModelProperty(value = "项目主要内容")
private String projectContent;
}

@ -51,6 +51,7 @@ public class DepartExtDto {
*/
@Excel(name = "企业登记注册类型", width = 15)
@ApiModelProperty(value = "企业登记注册类型")
@Dict(dicCode = "depart_type")
private String type;
/**
* 开户银行
@ -133,7 +134,7 @@ public class DepartExtDto {
/**
* 机构类型
*/
private String orgType;
// private String orgType;
/**
* 机构编码
*/

@ -0,0 +1,70 @@
package org.jeecg.modules.demo.project.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
/**
* @Description: TODO
* @Author: Z.H.C
* @CreateTime: 2024-10-24 11:09
* @Version: 1.0
*/
@Data
public class DepartExtDto2 extends DepartExtDto {
@Excel(name = "编制数", width = 15)
@ApiModelProperty(value = "编制数")
private String bzs;
/**
* 在职职工人数:
*/
@Excel(name = "在职职工人数:", width = 15)
@ApiModelProperty(value = "在职职工人数:")
private String zzzgrs;
/**
* 中级职称以上研究人员数
*/
@Excel(name = "中级职称以上研究人员数", width = 15)
@ApiModelProperty(value = "中级职称以上研究人员数")
private String zjzcysyjrys;
/**
* 单位联系人姓名
*/
@Excel(name = "单位联系人姓名", width = 15)
@ApiModelProperty(value = "单位联系人姓名")
private String dwlxrxm;
/**
* 单位联系人职称
*/
@Excel(name = "单位联系人职称", width = 15)
@ApiModelProperty(value = "单位联系人职称")
private String dwlxrzc;
/**
* 单位联系人职务
*/
@Excel(name = "单位联系人职务", width = 15)
@ApiModelProperty(value = "单位联系人职务")
private String dwlxrzw;
/**
* 单位联系人电话
*/
@Excel(name = "单位联系人电话", width = 15)
@ApiModelProperty(value = "单位联系人电话")
private String dwlxrdh;
/**
* 单位联系人手机
*/
@Excel(name = "单位联系人手机", width = 15)
@ApiModelProperty(value = "单位联系人手机")
private String dwlxrsj;
/**
* 单位联系人邮箱
*/
@Excel(name = "单位联系人邮箱", width = 15)
@ApiModelProperty(value = "单位联系人邮箱")
private String dwlxryx;
}

@ -65,7 +65,7 @@ public class Project implements Serializable {
/**
* 所属部门
*/
@Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
@Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "org_code")
@ApiModelProperty(value = "所属部门")
private String sysOrgCode;
/**
@ -273,4 +273,8 @@ public class Project implements Serializable {
@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "id")
@ApiModelProperty(value = "负责人")
private String projectCharger;
@ApiModelProperty(value = "项目主要内容")
private String projectContent;
}

@ -64,13 +64,13 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
// BeanUtils.copyProperties(dto, sysUser);
BeanUtils.copyProperties(dto, userExt);
BeanUtils.copyProperties(dto, project);
project.setSysOrgCode(loginUser.getOrgId());
project.setSysOrgCode(loginUser.getOrgCode());
//负责人
project.setProjectCharger(loginUser.getId());
//申请人待提交
project.setProjectStatus("5");
// 预算书不存在
project.setBudgetStatus("10");
// 申请人待提交
project.setBudgetStatus("1");
this.save(project);
userExt.setUserId(loginUser.getId());

@ -0,0 +1,188 @@
package org.jeecg.modules.demo.projectAnnualBudget.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.exception.JeecgBootException;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.modules.demo.project.entity.Project;
import org.jeecg.modules.demo.project.service.IProjectService;
import org.jeecg.modules.demo.projectAnnualBudget.entity.ProjectAnnualBudget;
import org.jeecg.modules.demo.projectAnnualBudget.service.IProjectAnnualBudgetService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
import java.util.Optional;
/**
* @Description: 财政拨款分单位年度预算
* @Author: jeecg-boot
* @Date: 2024-10-31
* @Version: V1.0
*/
@Api(tags = "财政拨款分单位年度预算")
@RestController
@RequestMapping("/projectAnnualBudget/projectAnnualBudget")
@Slf4j
public class ProjectAnnualBudgetController extends JeecgController<ProjectAnnualBudget, IProjectAnnualBudgetService> {
@Autowired
private IProjectAnnualBudgetService projectAnnualBudgetService;
@Autowired
private IProjectService iProjectService;
/**
* 分页列表查询
*
* @param projectAnnualBudget
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "财政拨款分单位年度预算-分页列表查询")
@ApiOperation(value = "财政拨款分单位年度预算-分页列表查询", notes = "财政拨款分单位年度预算-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<ProjectAnnualBudget>> queryPageList(ProjectAnnualBudget projectAnnualBudget,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<ProjectAnnualBudget> queryWrapper = QueryGenerator.initQueryWrapper(projectAnnualBudget, req.getParameterMap());
Page<ProjectAnnualBudget> page = new Page<ProjectAnnualBudget>(pageNo, pageSize);
IPage<ProjectAnnualBudget> pageList = projectAnnualBudgetService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param
* @return
*/
@AutoLog(value = "财政拨款分单位年度预算-添加")
@ApiOperation(value = "财政拨款分单位年度预算-添加", notes = "财政拨款分单位年度预算-添加")
// @RequiresPermissions("projectAnnualBudget:project_annual_budget:add")
@PostMapping(value = "/add/{projectId}")
public Result<String> add(@PathVariable("projectId") String projectId, @RequestBody ProjectAnnualBudget projectAnnualBudget) {
Project project = iProjectService.getById(projectId);
Optional.ofNullable(project).orElseThrow(() -> new JeecgBootException("项目不存在"));
projectAnnualBudgetService.remove(new LambdaQueryWrapper<ProjectAnnualBudget>().eq(ProjectAnnualBudget::getProjectId, projectId));
projectAnnualBudgetService.save(projectAnnualBudget);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param projectAnnualBudget
* @return
*/
@AutoLog(value = "财政拨款分单位年度预算-编辑")
@ApiOperation(value = "财政拨款分单位年度预算-编辑", notes = "财政拨款分单位年度预算-编辑")
// @RequiresPermissions("projectAnnualBudget:project_annual_budget:edit")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
public Result<String> edit(@RequestBody ProjectAnnualBudget projectAnnualBudget) {
projectAnnualBudgetService.updateById(projectAnnualBudget);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "财政拨款分单位年度预算-通过id删除")
@ApiOperation(value = "财政拨款分单位年度预算-通过id删除", notes = "财政拨款分单位年度预算-通过id删除")
// @RequiresPermissions("projectAnnualBudget:project_annual_budget:delete")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name = "id", required = true) String id) {
projectAnnualBudgetService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "财政拨款分单位年度预算-批量删除")
@ApiOperation(value = "财政拨款分单位年度预算-批量删除", notes = "财政拨款分单位年度预算-批量删除")
// @RequiresPermissions("projectAnnualBudget:project_annual_budget:deleteBatch")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
this.projectAnnualBudgetService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "财政拨款分单位年度预算-通过id查询")
@ApiOperation(value = "财政拨款分单位年度预算-通过id查询", notes = "财政拨款分单位年度预算-通过id查询")
@GetMapping(value = "/queryById")
public Result<ProjectAnnualBudget> queryById(@RequestParam(name = "id", required = true) String id) {
ProjectAnnualBudget projectAnnualBudget = projectAnnualBudgetService.getById(id);
if (projectAnnualBudget == null) {
return Result.error("未找到对应数据");
}
return Result.OK(projectAnnualBudget);
}
@ApiOperation(value = "财政拨款分单位年度预算-通过id查询", notes = "财政拨款分单位年度预算-通过id查询")
@GetMapping(value = "/queryByProjectId/{projectId}")
public Result<ProjectAnnualBudget> queryByProjectId(@PathVariable("projectId") String projectId) {
ProjectAnnualBudget projectAnnualBudget = projectAnnualBudgetService.getOne(new LambdaQueryWrapper<ProjectAnnualBudget>().eq(ProjectAnnualBudget::getProjectId,projectId));
if (projectAnnualBudget == null) {
return Result.error("未找到对应数据");
}
return Result.OK(projectAnnualBudget);
}
/**
* 导出excel
*
* @param request
* @param projectAnnualBudget
*/
// @RequiresPermissions("projectAnnualBudget:project_annual_budget:exportXls")
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, ProjectAnnualBudget projectAnnualBudget) {
return super.exportXls(request, projectAnnualBudget, ProjectAnnualBudget.class, "财政拨款分单位年度预算");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequiresPermissions("projectAnnualBudget:project_annual_budget:importExcel")
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, ProjectAnnualBudget.class);
}
}

@ -0,0 +1,120 @@
package org.jeecg.modules.demo.projectAnnualBudget.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* @Description: 财政拨款分单位年度预算
* @Author: jeecg-boot
* @Date: 2024-10-31
* @Version: V1.0
*/
@Data
@TableName("project_annual_budget")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "project_annual_budget对象", description = "财政拨款分单位年度预算")
public class ProjectAnnualBudget implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private String id;
/**
* 创建人
*/
@ApiModelProperty(value = "创建人")
private String createBy;
/**
* 创建日期
*/
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private Date createTime;
/**
* 更新人
*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**
* 更新日期
*/
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期")
private Date updateTime;
/**
* 所属部门
*/
@ApiModelProperty(value = "所属部门")
private String sysOrgCode;
/**
* 项目id
*/
@Excel(name = "项目id", width = 15)
@ApiModelProperty(value = "项目id")
private String projectId;
@Excel(name = "年度1", width = 15)
@ApiModelProperty(value = "年度1")
private String year1;
/**
* 年度2
*/
@Excel(name = "年度2", width = 15)
@ApiModelProperty(value = "年度2")
private String year2;
/**
* 年度3
*/
@Excel(name = "年度3", width = 15)
@ApiModelProperty(value = "年度3")
private String year3;
@Excel(name = "年度1", width = 15)
@ApiModelProperty(value = "年度1")
private String year1Value;
/**
* 年度2
*/
@Excel(name = "年度2", width = 15)
@ApiModelProperty(value = "年度2")
private String year2Value;
/**
* 年度3
*/
@Excel(name = "年度3", width = 15)
@ApiModelProperty(value = "年度3")
private String year3Value;
/**
* 部门名称
*/
@Excel(name = "部门名称", width = 15)
@ApiModelProperty(value = "部门名称")
private String departName;
/**
* 总金额
*/
@Excel(name = "总金额", width = 15)
@ApiModelProperty(value = "总金额")
private BigDecimal totalAmount;
}

@ -0,0 +1,17 @@
package org.jeecg.modules.demo.projectAnnualBudget.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.demo.projectAnnualBudget.entity.ProjectAnnualBudget;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 财政拨款分单位年度预算
* @Author: jeecg-boot
* @Date: 2024-10-31
* @Version: V1.0
*/
public interface ProjectAnnualBudgetMapper extends BaseMapper<ProjectAnnualBudget> {
}

@ -0,0 +1,5 @@
<?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="org.jeecg.modules.demo.projectAnnualBudget.mapper.ProjectAnnualBudgetMapper">
</mapper>

@ -0,0 +1,14 @@
package org.jeecg.modules.demo.projectAnnualBudget.service;
import org.jeecg.modules.demo.projectAnnualBudget.entity.ProjectAnnualBudget;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: 财政拨款分单位年度预算
* @Author: jeecg-boot
* @Date: 2024-10-31
* @Version: V1.0
*/
public interface IProjectAnnualBudgetService extends IService<ProjectAnnualBudget> {
}

@ -0,0 +1,19 @@
package org.jeecg.modules.demo.projectAnnualBudget.service.impl;
import org.jeecg.modules.demo.projectAnnualBudget.entity.ProjectAnnualBudget;
import org.jeecg.modules.demo.projectAnnualBudget.mapper.ProjectAnnualBudgetMapper;
import org.jeecg.modules.demo.projectAnnualBudget.service.IProjectAnnualBudgetService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 财政拨款分单位年度预算
* @Author: jeecg-boot
* @Date: 2024-10-31
* @Version: V1.0
*/
@Service
public class ProjectAnnualBudgetServiceImpl extends ServiceImpl<ProjectAnnualBudgetMapper, ProjectAnnualBudget> implements IProjectAnnualBudgetService {
}

@ -0,0 +1,202 @@
package org.jeecg.modules.demo.projectFeeBudget.controller;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.exception.JeecgBootException;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.util.UUIDGenerator;
import org.jeecg.modules.demo.project.entity.Project;
import org.jeecg.modules.demo.project.service.IProjectService;
import org.jeecg.modules.demo.projectFeeBudget.entity.ProjectFeeBudget;
import org.jeecg.modules.demo.projectFeeBudget.service.IProjectFeeBudgetService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
import java.util.Optional;
/**
* @Description: 项目经费预算
* @Author: jeecg-boot
* @Date: 2024-10-29
* @Version: V1.0
*/
@Api(tags = "项目经费预算")
@RestController
@RequestMapping("/projectFeeBudget/projectFeeBudget")
@Slf4j
public class ProjectFeeBudgetController extends JeecgController<ProjectFeeBudget, IProjectFeeBudgetService> {
@Autowired
private IProjectFeeBudgetService projectFeeBudgetService;
@Autowired
private IProjectService iProjectService;
/**
* @description: 保存项目经费预算
* @param: [projectId, tableData]
* @return: org.jeecg.common.api.vo.Result
* @author: z.h.c
* @date: 24/10/29 16:10
*/
@PostMapping("/saveAll/{projectId}")
public Result saveAll(@PathVariable("projectId") String projectId, @RequestBody JSONArray tableData) {
Project project = iProjectService.getById(projectId);
Optional.ofNullable(project).orElseThrow(() -> new JeecgBootException("项目不存在"));
List<ProjectFeeBudget> list = JSONArray.parseArray(tableData.toJSONString(), ProjectFeeBudget.class);
list.forEach(obj -> {
obj.setProjectId(projectId);
obj.setId(UUIDGenerator.generate());
});
BigDecimal sumFee = Optional.ofNullable(list).orElse(new LinkedList<>()).stream().map(ProjectFeeBudget::getTotalFee).reduce(BigDecimal.ZERO, BigDecimal::add);
//申请财政拨款与经费明细总各比较,不相等 异常退出
if(project.getApplyFund().compareTo(sumFee) != 0){
throw new JeecgBootException("申请财政拨款("+project.getApplyFund()+"万元),与项目经费预算表合计金额不等,请核对!");
}
projectFeeBudgetService.remove(new LambdaQueryWrapper<ProjectFeeBudget>().eq(ProjectFeeBudget::getProjectId, projectId));
projectFeeBudgetService.saveBatch(list);
return Result.ok();
}
/**
* 分页列表查询
*
* @param projectFeeBudget
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "项目经费预算-分页列表查询")
@ApiOperation(value = "项目经费预算-分页列表查询", notes = "项目经费预算-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<ProjectFeeBudget>> queryPageList(ProjectFeeBudget projectFeeBudget,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<ProjectFeeBudget> queryWrapper = QueryGenerator.initQueryWrapper(projectFeeBudget, req.getParameterMap());
Page<ProjectFeeBudget> page = new Page<ProjectFeeBudget>(pageNo, pageSize);
IPage<ProjectFeeBudget> pageList = projectFeeBudgetService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param projectFeeBudget
* @return
*/
@AutoLog(value = "项目经费预算-添加")
@ApiOperation(value = "项目经费预算-添加", notes = "项目经费预算-添加")
// @RequiresPermissions("projectFeeBudget:project_fee_budget:add")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody ProjectFeeBudget projectFeeBudget) {
projectFeeBudgetService.save(projectFeeBudget);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param projectFeeBudget
* @return
*/
@AutoLog(value = "项目经费预算-编辑")
@ApiOperation(value = "项目经费预算-编辑", notes = "项目经费预算-编辑")
// @RequiresPermissions("projectFeeBudget:project_fee_budget:edit")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
public Result<String> edit(@RequestBody ProjectFeeBudget projectFeeBudget) {
projectFeeBudgetService.updateById(projectFeeBudget);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "项目经费预算-通过id删除")
@ApiOperation(value = "项目经费预算-通过id删除", notes = "项目经费预算-通过id删除")
// @RequiresPermissions("projectFeeBudget:project_fee_budget:delete")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name = "id", required = true) String id) {
projectFeeBudgetService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "项目经费预算-批量删除")
@ApiOperation(value = "项目经费预算-批量删除", notes = "项目经费预算-批量删除")
// @RequiresPermissions("projectFeeBudget:project_fee_budget:deleteBatch")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
this.projectFeeBudgetService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "项目经费预算-通过id查询")
@ApiOperation(value = "项目经费预算-通过id查询", notes = "项目经费预算-通过id查询")
@GetMapping(value = "/queryById")
public Result<ProjectFeeBudget> queryById(@RequestParam(name = "id", required = true) String id) {
ProjectFeeBudget projectFeeBudget = projectFeeBudgetService.getById(id);
if (projectFeeBudget == null) {
return Result.error("未找到对应数据");
}
return Result.OK(projectFeeBudget);
}
/**
* 导出excel
*
* @param request
* @param projectFeeBudget
*/
// @RequiresPermissions("projectFeeBudget:project_fee_budget:exportXls")
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, ProjectFeeBudget projectFeeBudget) {
return super.exportXls(request, projectFeeBudget, ProjectFeeBudget.class, "项目经费预算");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequiresPermissions("projectFeeBudget:project_fee_budget:importExcel")
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, ProjectFeeBudget.class);
}
}

@ -0,0 +1,104 @@
package org.jeecg.modules.demo.projectFeeBudget.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* @Description: 项目经费预算
* @Author: jeecg-boot
* @Date: 2024-10-29
* @Version: V1.0
*/
@Data
@TableName("project_fee_budget")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "project_fee_budget对象", description = "项目经费预算")
public class ProjectFeeBudget implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private String id;
/**
* 创建人
*/
@ApiModelProperty(value = "创建人")
private String createBy;
/**
* 创建日期
*/
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private Date createTime;
/**
* 更新人
*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**
* 更新日期
*/
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期")
private Date updateTime;
/**
* 所属部门
*/
@ApiModelProperty(value = "所属部门")
private String sysOrgCode;
/**
* 项目id
*/
@Excel(name = "项目id", width = 15)
@ApiModelProperty(value = "项目id")
private String projectId;
/**
* 预算科目
*/
@Excel(name = "预算科目", width = 15)
@ApiModelProperty(value = "预算科目")
private String budgetSubject;
/**
* 合计
*/
@Excel(name = "合计", width = 15)
@ApiModelProperty(value = "合计")
private BigDecimal totalFee;
/**
* 专项经费
*/
@Excel(name = "专项经费", width = 15)
@ApiModelProperty(value = "专项经费")
private BigDecimal specialFee;
/**
* 自筹经费
*/
@Excel(name = "自筹经费", width = 15)
@ApiModelProperty(value = "自筹经费")
private BigDecimal selfFee;
/**
* 专项经费说明
*/
@Excel(name = "专项经费说明", width = 15)
@ApiModelProperty(value = "专项经费说明")
private String specialFeeMark;
}

@ -0,0 +1,17 @@
package org.jeecg.modules.demo.projectFeeBudget.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.demo.projectFeeBudget.entity.ProjectFeeBudget;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 项目经费预算
* @Author: jeecg-boot
* @Date: 2024-10-29
* @Version: V1.0
*/
public interface ProjectFeeBudgetMapper extends BaseMapper<ProjectFeeBudget> {
}

@ -0,0 +1,5 @@
<?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="org.jeecg.modules.demo.projectFeeBudget.mapper.ProjectFeeBudgetMapper">
</mapper>

@ -0,0 +1,14 @@
package org.jeecg.modules.demo.projectFeeBudget.service;
import org.jeecg.modules.demo.projectFeeBudget.entity.ProjectFeeBudget;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: 项目经费预算
* @Author: jeecg-boot
* @Date: 2024-10-29
* @Version: V1.0
*/
public interface IProjectFeeBudgetService extends IService<ProjectFeeBudget> {
}

@ -0,0 +1,19 @@
package org.jeecg.modules.demo.projectFeeBudget.service.impl;
import org.jeecg.modules.demo.projectFeeBudget.entity.ProjectFeeBudget;
import org.jeecg.modules.demo.projectFeeBudget.mapper.ProjectFeeBudgetMapper;
import org.jeecg.modules.demo.projectFeeBudget.service.IProjectFeeBudgetService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 项目经费预算
* @Author: jeecg-boot
* @Date: 2024-10-29
* @Version: V1.0
*/
@Service
public class ProjectFeeBudgetServiceImpl extends ServiceImpl<ProjectFeeBudgetMapper, ProjectFeeBudget> implements IProjectFeeBudgetService {
}

@ -88,6 +88,14 @@ public class ProjectFileController extends JeecgController<ProjectFile, IProject
// @RequiresPermissions("projectFile:project_file:add")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody ProjectFile projectFile) {
String fileUrl = projectFile.getFileUrl();
String[] fileArr = fileUrl.split("/");
String fileTemp = fileArr[1];
projectFile.setFileName(fileTemp);
String[] fileArr2 = fileTemp.split("\\.");
String fileName = fileArr2[0];
String fileType = fileArr2[1];
projectFile.setFileType(fileType);
projectFileService.save(projectFile);
return Result.OK("添加成功!");
}

@ -74,4 +74,10 @@ public class ProjectFile implements Serializable {
// @Excel(name = "附件地址", width = 255)
@ApiModelProperty(value = "附件标识 fujian:附件tab页显示,zhengwen:正文件tab页显示")
private java.lang.String fileFlag;
@ApiModelProperty(value = "附件名称")
private java.lang.String fileName;
@ApiModelProperty(value = "附件类型")
private java.lang.String fileType;
}

@ -0,0 +1,163 @@
package org.jeecg.modules.demo.projectLog.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.modules.demo.projectLog.entity.ProjectLog;
import org.jeecg.modules.demo.projectLog.service.IProjectLogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
/**
* @Description: 项目操作日志
* @Author: jeecg-boot
* @Date: 2024-11-04
* @Version: V1.0
*/
@Api(tags = "项目操作日志")
@RestController
@RequestMapping("/projectLog/projectLog")
@Slf4j
public class ProjectLogController extends JeecgController<ProjectLog, IProjectLogService> {
@Autowired
private IProjectLogService projectLogService;
/**
* 分页列表查询
*
* @param projectLog
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "项目操作日志-分页列表查询")
@ApiOperation(value = "项目操作日志-分页列表查询", notes = "项目操作日志-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<ProjectLog>> queryPageList(ProjectLog projectLog,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<ProjectLog> queryWrapper = QueryGenerator.initQueryWrapper(projectLog, req.getParameterMap());
Page<ProjectLog> page = new Page<ProjectLog>(pageNo, pageSize);
queryWrapper.orderByDesc("operation_time");
IPage<ProjectLog> pageList = projectLogService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param projectLog
* @return
*/
@AutoLog(value = "项目操作日志-添加")
@ApiOperation(value = "项目操作日志-添加", notes = "项目操作日志-添加")
@RequiresPermissions("projectLog:project_log:add")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody ProjectLog projectLog) {
projectLogService.save(projectLog);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param projectLog
* @return
*/
@AutoLog(value = "项目操作日志-编辑")
@ApiOperation(value = "项目操作日志-编辑", notes = "项目操作日志-编辑")
@RequiresPermissions("projectLog:project_log:edit")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
public Result<String> edit(@RequestBody ProjectLog projectLog) {
projectLogService.updateById(projectLog);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "项目操作日志-通过id删除")
@ApiOperation(value = "项目操作日志-通过id删除", notes = "项目操作日志-通过id删除")
@RequiresPermissions("projectLog:project_log:delete")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name = "id", required = true) String id) {
projectLogService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "项目操作日志-批量删除")
@ApiOperation(value = "项目操作日志-批量删除", notes = "项目操作日志-批量删除")
@RequiresPermissions("projectLog:project_log:deleteBatch")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
this.projectLogService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "项目操作日志-通过id查询")
@ApiOperation(value = "项目操作日志-通过id查询", notes = "项目操作日志-通过id查询")
@GetMapping(value = "/queryById")
public Result<ProjectLog> queryById(@RequestParam(name = "id", required = true) String id) {
ProjectLog projectLog = projectLogService.getById(id);
if (projectLog == null) {
return Result.error("未找到对应数据");
}
return Result.OK(projectLog);
}
/**
* 导出excel
*
* @param request
* @param projectLog
*/
@RequiresPermissions("projectLog:project_log:exportXls")
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, ProjectLog projectLog) {
return super.exportXls(request, projectLog, ProjectLog.class, "项目操作日志");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequiresPermissions("projectLog:project_log:importExcel")
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, ProjectLog.class);
}
}

@ -0,0 +1,120 @@
package org.jeecg.modules.demo.projectLog.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* @Description: 项目操作日志
* @Author: jeecg-boot
* @Date: 2024-11-04
* @Version: V1.0
*/
@Data
@TableName("project_log")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "project_log对象", description = "项目操作日志")
public class ProjectLog implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private String id;
/**
* 创建人
*/
@ApiModelProperty(value = "创建人")
private String createBy;
/**
* 创建日期
*/
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private Date createTime;
/**
* 更新人
*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**
* 更新日期
*/
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期")
private Date updateTime;
/**
* 所属部门
*/
@ApiModelProperty(value = "所属部门")
private String sysOrgCode;
/**
* 项目id
*/
@Excel(name = "项目id", width = 15)
@ApiModelProperty(value = "项目id")
private String projectId;
/**
* 项目名称
*/
@Excel(name = "项目名称", width = 15)
@ApiModelProperty(value = "项目名称")
private String projectName;
/**
* 操作说明
*/
@Excel(name = "操作说明", width = 15)
@ApiModelProperty(value = "操作说明")
private String operationMark;
/**
* 操作时间
*/
@Excel(name = "操作时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "操作时间")
private Date operationTime;
/**
* 操作员id
*/
@Excel(name = "操作员id", width = 15)
@ApiModelProperty(value = "操作员id")
private String operatorId;
/**
* 操作人名称
*/
@Excel(name = "操作人名称", width = 15)
@ApiModelProperty(value = "操作人名称")
private String operatorName;
/**
* 项目书状态
*/
@Excel(name = "项目书状态", width = 15, dicCode = "project_status")
@Dict(dicCode = "project_status")
@ApiModelProperty(value = "项目书状态")
private String projectStatus;
/**
* 预算书状态
*/
@Excel(name = "预算书状态", width = 15, dicCode = "budget_status")
@Dict(dicCode = "budget_status")
@ApiModelProperty(value = "预算书状态")
private String budgetStatus;
}

@ -0,0 +1,17 @@
package org.jeecg.modules.demo.projectLog.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.demo.projectLog.entity.ProjectLog;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 项目操作日志
* @Author: jeecg-boot
* @Date: 2024-11-04
* @Version: V1.0
*/
public interface ProjectLogMapper extends BaseMapper<ProjectLog> {
}

@ -0,0 +1,5 @@
<?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="org.jeecg.modules.demo.projectLog.mapper.ProjectLogMapper">
</mapper>

@ -0,0 +1,14 @@
package org.jeecg.modules.demo.projectLog.service;
import org.jeecg.modules.demo.projectLog.entity.ProjectLog;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: 项目操作日志
* @Author: jeecg-boot
* @Date: 2024-11-04
* @Version: V1.0
*/
public interface IProjectLogService extends IService<ProjectLog> {
}

@ -0,0 +1,19 @@
package org.jeecg.modules.demo.projectLog.service.impl;
import org.jeecg.modules.demo.projectLog.entity.ProjectLog;
import org.jeecg.modules.demo.projectLog.mapper.ProjectLogMapper;
import org.jeecg.modules.demo.projectLog.service.IProjectLogService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 项目操作日志
* @Author: jeecg-boot
* @Date: 2024-11-04
* @Version: V1.0
*/
@Service
public class ProjectLogServiceImpl extends ServiceImpl<ProjectLogMapper, ProjectLog> implements IProjectLogService {
}

@ -163,6 +163,26 @@ public class SysUserController {
return sysUserService.queryPageList(req, queryWrapper, pageSize, pageNo);
}
/**
* @description: 根据用户角色查询下属用户
* @param: [user, pageNo, pageSize, req]
* @return: org.jeecg.common.api.vo.Result<com.baomidou.mybatisplus.core.metadata.IPage<org.jeecg.modules.system.entity.SysUser>>
* @author: z.h.c
* @date: 24/11/8 15:19
*/
// @RequiresPermissions("system:user:listAll")
@RequestMapping(value = "/listByRollCode", method = RequestMethod.GET)
public Result<IPage<SysUser>> listByRollCode(SysUser user, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) {
QueryWrapper<SysUser> queryWrapper = QueryGenerator.initQueryWrapper(user, req.getParameterMap());
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
// SysDepart sysDepart = sysDepartService.getById(loginUser.getOrgId());
queryWrapper.likeRight("org_code", loginUser.getOrgCode());
return sysUserService.queryPageList(req, queryWrapper, pageSize, pageNo);
}
/**
* @description: 根据用户权限查询申报人列表
* @param: [user, pageNo, pageSize, req]
@ -1759,7 +1779,7 @@ public class SysUserController {
* @return
*/
@PostMapping("/login/setting/userEdit")
@RequiresPermissions("system:user:setting:edit")
// @RequiresPermissions("system:user:setting:edit")
public Result<String> userEdit(@RequestBody SysUser sysUser, HttpServletRequest request) {
String username = JwtUtil.getUserNameByToken(request);
SysUser user = sysUserService.getById(sysUser.getId());

@ -161,9 +161,9 @@ spring:
slow-sql-millis: 5000
datasource:
master:
url: jdbc:mysql://10.100.200.177:3306/zmd_kejiju?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
url: jdbc:mysql://182.92.169.222:3306/zmd_kejiju?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
username: root
password: root
password: ycwl2022.
driver-class-name: com.mysql.cj.jdbc.Driver
# 多数据源配置
#multi-datasource1:

@ -161,9 +161,9 @@ spring:
slow-sql-millis: 5000
datasource:
master:
url: jdbc:mysql://127.0.0.1:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
url: jdbc:mysql://182.92.169.222:3306/zmd_kejiju?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
username: root
password: root
password: ycwl2022.
driver-class-name: com.mysql.cj.jdbc.Driver
# 多数据源配置
#multi-datasource1:
@ -174,9 +174,9 @@ spring:
#redis 配置
redis:
database: 0
host: 127.0.0.1
host: 182.92.169.222
port: 6379
password: ''
password: 'redis@ycwl2022.'
#mybatis plus 设置
mybatis-plus:
mapper-locations: classpath*:org/jeecg/**/xml/*Mapper.xml

@ -161,7 +161,7 @@ spring:
slow-sql-millis: 5000
datasource:
master:
url: jdbc:mysql://182.92.169.222:3306/zmd_kejiju?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
url: jdbc:mysql://182.92.169.222:3306/zmd_kejiju1104?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
username: root
password: ycwl2022.
driver-class-name: com.mysql.cj.jdbc.Driver
@ -173,7 +173,7 @@ spring:
#driver-class-name: com.mysql.cj.jdbc.Driver
#redis 配置
redis:
database: 7
database: 8
host: 182.92.169.222
port: 6379
password: 'redis@ycwl2022.'

@ -8,9 +8,9 @@
<developers>
<developer>
<name>北京国炬信息技术有限公司</name>
<email>jeecgos@163.com</email>
<url>http://www.guojusoft.com</url>
<name>驻马店源码自然科技有限公司</name>
<email>ytd@163.com</email>
<url>http://www.hhytd.com</url>
</developer>
</developers>

@ -2,10 +2,10 @@
VITE_PORT = 3500
# 网站标题
VITE_GLOB_APP_TITLE = JeecgBoot 企业级低代码平台
VITE_GLOB_APP_TITLE = 驻马店市科技大市场管理平台
# 简称,此变量只能是字符/下划线
VITE_GLOB_APP_SHORT_NAME = JeecgBoot_Pro
VITE_GLOB_APP_SHORT_NAME = 驻马市科技大市场管理平台
# 单点登录服务端地址
VITE_GLOB_APP_CAS_BASE_URL=http://cas.test.com:8443/cas

@ -13,7 +13,8 @@ VITE_GLOB_DOMAIN_URL=http://localhost:18086/jeecg-boot
#后台接口父地址(必填)
VITE_GLOB_API_URL=/jeecgboot
# 创新券地址
VITE_GLOB_API_URL_CXQ=http://localhost:18088/jeecg-boot
# 接口前缀
VITE_GLOB_API_URL_PREFIX=

@ -2,7 +2,7 @@
VITE_USE_MOCK = false
# 发布路径
VITE_PUBLIC_PATH = /
VITE_PUBLIC_PATH = '/kjj'
# 是否启用gzip或brotli压缩
# 选项值: gzip | brotli | none
@ -13,10 +13,10 @@ VITE_BUILD_COMPRESS = 'gzip'
VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE = false
#后台接口父地址(必填)
VITE_GLOB_API_URL=/jeecgboot
VITE_GLOB_API_URL=/kjj
#后台接口全路径地址(必填)
VITE_GLOB_DOMAIN_URL=http://jeecg-boot-system:8080/jeecg-boot
VITE_GLOB_DOMAIN_URL=http://182.92.169.222:8080/jeecg-boot
# 接口父路径前缀
VITE_GLOB_API_URL_PREFIX=

@ -157,7 +157,7 @@
</style>
<div class="app-loading">
<div class="app-loading-wrap">
<img src="/resource/img/logo.png" class="app-loading-logo" alt="Logo" />
<!-- <img src="/resource/img/logo.png" class="app-loading-logo" alt="Logo" />-->
<div class="app-loading-dots">
<span class="dot dot-spin"><i></i><i></i><i></i><i></i></span>
</div>

@ -2,9 +2,9 @@
"name": "jeecgboot-vue3",
"version": "3.7.1",
"author": {
"name": "北京国炬信息技术有限公司",
"email": "jeecgos@163.com",
"url": "https://www.jeecg.com"
"name": "驻马店源码自然科技有限公司",
"email": "yichuangwangluo@163.com",
"url": "https://www.hhytd.com"
},
"scripts": {
"pinstall": "pnpm install",
@ -21,18 +21,19 @@
"husky:install": "husky install"
},
"dependencies": {
"@jeecg/online": "3.7.1-RC",
"@iconify/iconify": "^3.1.1",
"@ant-design/colors": "^7.0.2",
"@ant-design/icons-vue": "^7.0.1",
"@iconify/iconify": "^3.1.1",
"@jeecg/online": "3.7.1-RC",
"@tinymce/tinymce-vue": "4.0.7",
"@traptitech/markdown-it-katex": "^3.6.0",
"@vant/area-data": "^1.5.1",
"@vue/shared": "^3.4.19",
"@vueuse/core": "^10.8.0",
"@tinymce/tinymce-vue": "4.0.7",
"@zxcvbn-ts/core": "^3.0.4",
"ant-design-vue": "^4.1.2",
"axios": "^1.6.7",
"china-area-data": "^5.0.1",
"@vant/area-data": "^1.5.1",
"clipboard": "^2.0.11",
"codemirror": "^5.65.3",
"cron-parser": "^4.9.0",
@ -43,22 +44,21 @@
"echarts": "^5.4.3",
"emoji-mart-vue-fast": "^15.0.1",
"enquire.js": "^2.1.6",
"event-source-polyfill": "^1.0.31",
"highlight.js": "^11.9.0",
"intro.js": "^7.2.0",
"lodash-es": "^4.17.21",
"lodash.get": "^4.4.2",
"markdown-it": "^14.0.0",
"markdown-it-link-attributes": "^4.0.1",
"event-source-polyfill": "^1.0.31",
"highlight.js": "^11.9.0",
"@traptitech/markdown-it-katex": "^3.6.0",
"md5": "^2.3.0",
"mockjs": "^1.1.0",
"nprogress": "^0.2.0",
"path-to-regexp": "^6.2.1",
"pinia": "2.1.7",
"print-js": "^1.6.0",
"qs": "^6.11.2",
"qrcode": "^1.5.3",
"qs": "^6.11.2",
"resize-observer-polyfill": "^1.5.1",
"showdown": "^2.1.0",
"sortablejs": "^1.15.2",
@ -72,6 +72,7 @@
"vue-print-nb-jeecg": "^1.0.12",
"vue-router": "^4.3.0",
"vue-types": "^5.1.1",
"vue3-scroll-seamless": "^1.0.6",
"vuedraggable": "^4.1.0",
"vxe-table": "4.6.17",
"vxe-table-plugin-antd": "4.0.7",
@ -83,6 +84,7 @@
"@commitlint/config-conventional": "^18.6.2",
"@iconify/json": "^2.2.185",
"@purge-icons/generated": "^0.10.0",
"@rys-fe/vite-plugin-theme": "^0.8.6",
"@types/codemirror": "^5.60.15",
"@types/crypto-js": "^4.2.2",
"@types/fs-extra": "^11.0.4",
@ -144,6 +146,7 @@
"ts-jest": "^29.1.2",
"ts-node": "^10.9.2",
"typescript": "^4.9.5",
"unocss": "^0.58.5",
"vite": "^5.2.11",
"vite-plugin-compression": "^0.5.1",
"vite-plugin-html": "^3.2.2",
@ -153,9 +156,7 @@
"vite-plugin-package-config": "^0.1.1",
"vite-plugin-purge-icons": "^0.10.0",
"vite-plugin-svg-icons": "^2.0.1",
"@rys-fe/vite-plugin-theme": "^0.8.6",
"vite-plugin-vue-setup-extend-plus": "^0.1.0",
"unocss": "^0.58.5",
"vue-eslint-parser": "^9.4.2",
"vue-tsc": "^1.8.27"
},

@ -0,0 +1,102 @@
import { defHttp } from '/@/utils/http/axios';
//
export function getindexcomp(params) {
return defHttp.request({
url: '/instrument/instrument/listcms',
method: 'GET',
params,
});
}
//
export function getindexnew(params) {
return defHttp.request({
url: '/instrument/instrument/queryByIdCms',
method: 'GET',
params,
});
}
//
export function getindexsubject() {
return defHttp.request({
url: '/disciplinefieid/disciplineFieid/listcms',
method: 'GET',
});
}
//
export function getindexclass() {
return defHttp.request({
url: '/instrumenttype/instrumentType/listcms',
method: 'GET',
});
}
//
export function getindexaward(params) {
return defHttp.request({
url: '/innovationvoucher/innovationVoucher/listcms',
method: 'GET',
params,
});
}
//
export function getindexcolumn() {
return defHttp.request({
url: '/cms/front/getColumnList',
method: 'GET',
});
}
//
export function getindexarticle(params) {
return defHttp.request({
url: '/cms/front/getArticleListByColumn',
method: 'GET',
params,
});
}
//
export function getindexallarticle() {
return defHttp.request({
url: '/cms/front/cmsfindallnews',
method: 'GET',
});
}
//
export function getindexarticleitem(params) {
return defHttp.request({
url: '/cms/front/getByArticleTitle',
method: 'GET',
params,
});
}
//
export function getindexnews() {
return defHttp.request({
url: '/cms/front/getindexnew',
method: 'GET',
});
}
//
export function getindexexpert(params) {
return defHttp.request({
url: '/expert/expert/listadminCMS',
method: 'GET',
params
});
}
//
export function getindexexpertdetail(params) {
return defHttp.request({
url: '/expert/expert/CMSexpinfo',
method: 'GET',
params,
});
}
//
export function getindexexperttype() {
return defHttp.request({
url: '/expert/expert/directioncalListCMS',
method: 'GET',
});
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 743 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 709 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 895 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 576 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 811 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 808 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 529 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 393 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 371 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save