فهرست منبع

DeBugDeBugDeBug

buzhanyi 2 سال پیش
والد
کامیت
2264bb321d

+ 19 - 8
purchase-admin/src/main/java/com/ozs/web/controller/plan/PlanYearsController.java

@@ -180,8 +180,6 @@ public class PlanYearsController extends BaseController {
             ExcelWriter excelWriter = EasyExcel.write(outputStream)
                     .withTemplate(resourceAsStream).autoCloseStream(true).build();
             WriteSheet writeSheet = EasyExcel.writerSheet().build();
-//            FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
-//            excelWriter.fill(list, fillConfig, writeSheet);
             excelWriter.fill(list, writeSheet);
             excelWriter.finish();
             outputStream.flush();
@@ -312,7 +310,7 @@ public class PlanYearsController extends BaseController {
     @Log(title = ModularConstans.planYear, businessType = BusinessType.INSERT)
     public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception {
         ExcelUtil<PlanYearsStandardVo> util = new ExcelUtil<>(PlanYearsStandardVo.class);
-        List<PlanYearsStandardVo> planYears = util.importExcel(file.getInputStream());
+        List<PlanYearsStandardVo> planYears = util.importExcel(file.getInputStream(), 3);
         //获取采购单位-
         LoginUser loginUser = getLoginUser();
         String message = planYearsService.importPlanYears(planYears, updateSupport, loginUser);
@@ -330,13 +328,26 @@ public class PlanYearsController extends BaseController {
     @ApiOperation("模板下载")
     @GetMapping("/downloaExcel")
     public void downloadZip(HttpServletResponse response) {
+        List<PlanYearsResponseVo> list = new ArrayList<PlanYearsResponseVo>();
+        InputStream resourceAsStream = this.getClass().getResourceAsStream("/template/plan_year.xlsx");
+        OutputStream outputStream = null;
         try {
-            InputStream resourceAsStream = this.getClass().getResourceAsStream("/template/planYears.xlsx");
-            response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
-            FileUtils.setAttachmentResponseHeader(response, "年度计划导入模板.xlsx");
-            FileUtils.writeBytesByInput(resourceAsStream, response.getOutputStream());
+            response.setContentType("application/vnd.ms-excel");
+            response.setCharacterEncoding("utf-8");
+            // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
+            String fileName = URLEncoder.encode("年度计划(审核)", "UTF-8").replaceAll("\\+", "%20");
+            response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
+            outputStream = response.getOutputStream();
+            ExcelWriter excelWriter = EasyExcel.write(outputStream)
+                    .withTemplate(resourceAsStream).autoCloseStream(true).build();
+            WriteSheet writeSheet = EasyExcel.writerSheet().build();
+            excelWriter.fill(list, writeSheet);
+            excelWriter.finish();
+            outputStream.flush();
+            outputStream.close();
         } catch (Exception e) {
-            log.error("下载文件失败", e);
+            log.error(e.getMessage());
+            throw new BaseException("下载异常");
         }
     }
 

+ 41 - 43
purchase-admin/src/main/java/com/ozs/web/controller/system/SysUserController.java

@@ -1,5 +1,6 @@
 package com.ozs.web.controller.system;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -10,7 +11,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ozs.common.constant.Constants;
 import com.ozs.common.core.domain.entity.SysDictData;
+import com.ozs.common.core.domain.model.LoginUser;
 import com.ozs.home.domain.HomeNotice;
+import com.ozs.pm.service.IPmDemandService;
 import com.ozs.system.domain.vo.requestVo.SysUserPageRequestVo;
 import com.ozs.system.domain.vo.requestVo.SysUserRequestVo;
 import com.ozs.system.domain.vo.responseVo.SysDeptResponseVo;
@@ -56,8 +59,7 @@ import com.ozs.system.service.ISysUserService;
 @RestController
 @RequestMapping("/system/user")
 @Api(tags = "用户信息")
-public class SysUserController extends BaseController
-{
+public class SysUserController extends BaseController {
     @Autowired
     private ISysUserService userService;
 
@@ -71,6 +73,8 @@ public class SysUserController extends BaseController
     private ISysPostService postService;
     @Autowired
     private ISysDeptService iSysDeptService;
+    @Autowired
+    private IPmDemandService demandService;
 
 //    /**
 //     * 获取用户列表
@@ -91,14 +95,25 @@ public class SysUserController extends BaseController
     @PreAuthorize("@ss.hasPermi('system:user:list')")
     @PostMapping("/list")
     @ApiOperation("获取用户列表")
-    public AjaxResult list(@RequestBody SysUserPageRequestVo sysUserPageRequestVo)
-    {
+    public AjaxResult list(@RequestBody SysUserPageRequestVo sysUserPageRequestVo) {
         LambdaQueryWrapper<SysUser> lw = new LambdaQueryWrapper<SysUser>();
-        lw.eq(SysUser::getDelFlag,0);
+        lw.eq(SysUser::getDelFlag, 0);
         if (!StringUtils.isBlank(sysUserPageRequestVo.getNickName())) {
             lw.like(SysUser::getNickName, "%" + sysUserPageRequestVo.getNickName() + "%");
         }
-        if (!StringUtils.isBlank(sysUserPageRequestVo.getDeptId())) {
+        LoginUser loginUser = SecurityUtils.getLoginUser();
+        if (!String.valueOf(loginUser.getUserId()).equals("1")) {
+            List<Long> deptList = new ArrayList<>();
+            //获取到子孙级部门id
+            Long deptId = loginUser.getDeptId();
+            if (deptService.hasChildByDeptId(loginUser.getDeptId())) {
+                List<Long> children = deptService.getDeptChildren(deptId);
+                System.err.println(children.size());
+                deptList.addAll(children);
+                deptList.add(deptId);
+            }
+            lw.in(SysUser::getDeptId, deptList);
+        } else if (!StringUtils.isBlank(sysUserPageRequestVo.getDeptId())) {
             lw.eq(SysUser::getDeptId, sysUserPageRequestVo.getDeptId());
         }
         IPage<SysUser> page = userService.page(new Page<>(sysUserPageRequestVo.getPageNum(), sysUserPageRequestVo.getPageSize()), lw);
@@ -115,7 +130,7 @@ public class SysUserController extends BaseController
                 return dto;
             }).collect(Collectors.toList()));
         }
-        if(!ObjectUtils.isEmpty(page) && !ObjectUtils.isEmpty(page.getRecords())){
+        if (!ObjectUtils.isEmpty(page) && !ObjectUtils.isEmpty(page.getRecords())) {
             List<SysUser> dto1 = page.getRecords().stream().map(o -> {
                 Map<String, Object> stringObjectMap = deptService.selectDeptById(o.getDeptId());
                 Object sysDept = stringObjectMap.get("dto");
@@ -135,8 +150,7 @@ public class SysUserController extends BaseController
     @PreAuthorize("@ss.hasPermi('system:user:export')")
     @PostMapping("/export")
     @ApiOperation("用户管理")
-    public void export(HttpServletResponse response, SysUser user)
-    {
+    public void export(HttpServletResponse response, SysUser user) {
         List<SysUser> list = userService.selectUserList(user);
         ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
         util.exportExcel(response, list, "用户数据");
@@ -146,8 +160,7 @@ public class SysUserController extends BaseController
     @PreAuthorize("@ss.hasPermi('system:user:import')")
     @PostMapping("/importData")
     @ApiOperation("用户管理")
-    public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception
-    {
+    public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception {
         ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
         List<SysUser> userList = util.importExcel(file.getInputStream());
         String operName = getUsername();
@@ -157,8 +170,7 @@ public class SysUserController extends BaseController
 
     @PostMapping("/importTemplate")
     @ApiOperation("用户数据")
-    public void importTemplate(HttpServletResponse response)
-    {
+    public void importTemplate(HttpServletResponse response) {
         ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
         util.importTemplateExcel(response, "用户数据");
     }
@@ -166,17 +178,15 @@ public class SysUserController extends BaseController
     /**
      * 根据用户编号获取详细信息
      */
-    @GetMapping(value = { "/", "/{userId}" })
+    @GetMapping(value = {"/", "/{userId}"})
     @ApiOperation("根据用户编号获取详细信息")
-    public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId)
-    {
+    public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId) {
         userService.checkUserDataScope(userId);
         AjaxResult ajax = AjaxResult.success();
         List<SysRole> roles = roleService.selectRoleAll();
         ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));
         ajax.put("posts", postService.selectPostAll());
-        if (StringUtils.isNotNull(userId))
-        {
+        if (StringUtils.isNotNull(userId)) {
             SysUser sysUser = userService.selectUserById(userId);
             ajax.put(AjaxResult.DATA_TAG, sysUser);
             ajax.put("postIds", postService.selectPostListByUserId(userId));
@@ -214,7 +224,6 @@ public class SysUserController extends BaseController
 //    }
 
 
-
     /**
      * 新增用户
      */
@@ -222,17 +231,13 @@ public class SysUserController extends BaseController
     @Log(title = "用户管理", businessType = BusinessType.INSERT)
     @PostMapping
     @ApiOperation("新增用户")
-    public AjaxResult add(@Validated @RequestBody SysUserRequestVo sysUserRequestVo)
-    {
+    public AjaxResult add(@Validated @RequestBody SysUserRequestVo sysUserRequestVo) {
         SysUser user = new SysUser();
-        BeanUtils.copyProperties(sysUserRequestVo,user);
-        if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user)))
-        {
+        BeanUtils.copyProperties(sysUserRequestVo, user);
+        if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user))) {
             return error("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
-        }
-        else if (StringUtils.isNotEmpty(user.getPhonenumber())
-                && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user)))
-        {
+        } else if (StringUtils.isNotEmpty(user.getPhonenumber())
+                && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) {
             return error("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
         }
         user.setCreateBy(getUsername());
@@ -278,7 +283,7 @@ public class SysUserController extends BaseController
     @ApiOperation("修改用户")
     public AjaxResult edit(@Validated @RequestBody SysUserRequestVo sysUserRequestVo) {
         SysUser user = new SysUser();
-        BeanUtils.copyProperties(sysUserRequestVo,user);
+        BeanUtils.copyProperties(sysUserRequestVo, user);
         userService.checkUserAllowed(user);
         userService.checkUserDataScope(user.getUserId());
         if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user))) {
@@ -298,10 +303,8 @@ public class SysUserController extends BaseController
     @Log(title = "用户管理", businessType = BusinessType.DELETE)
     @DeleteMapping("/{userIds}")
     @ApiOperation("删除用户")
-    public AjaxResult remove(@PathVariable Long[] userIds)
-    {
-        if (ArrayUtils.contains(userIds, getUserId()))
-        {
+    public AjaxResult remove(@PathVariable Long[] userIds) {
+        if (ArrayUtils.contains(userIds, getUserId())) {
             return error("当前用户不能删除");
         }
         return toAjax(userService.deleteUserByIds(userIds));
@@ -314,8 +317,7 @@ public class SysUserController extends BaseController
     @Log(title = "用户管理", businessType = BusinessType.UPDATE)
     @PutMapping("/resetPwd")
     @ApiOperation("重置密码")
-    public AjaxResult resetPwd(@RequestBody SysUser user)
-    {
+    public AjaxResult resetPwd(@RequestBody SysUser user) {
         userService.checkUserAllowed(user);
         userService.checkUserDataScope(user.getUserId());
         user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
@@ -330,8 +332,7 @@ public class SysUserController extends BaseController
     @Log(title = "用户管理", businessType = BusinessType.UPDATE)
     @PutMapping("/changeStatus")
     @ApiOperation("状态修改")
-    public AjaxResult changeStatus(@RequestBody SysUser user)
-    {
+    public AjaxResult changeStatus(@RequestBody SysUser user) {
         userService.checkUserAllowed(user);
         userService.checkUserDataScope(user.getUserId());
         user.setUpdateBy(getUsername());
@@ -343,8 +344,7 @@ public class SysUserController extends BaseController
      */
     @GetMapping("/authRole/{userId}")
     @ApiOperation("根据用户编号获取授权角色")
-    public AjaxResult authRole(@PathVariable("userId") Long userId)
-    {
+    public AjaxResult authRole(@PathVariable("userId") Long userId) {
         AjaxResult ajax = AjaxResult.success();
         SysUser user = userService.selectUserById(userId);
         List<SysRole> roles = roleService.selectRolesByUserId(userId);
@@ -360,8 +360,7 @@ public class SysUserController extends BaseController
     @Log(title = "用户管理", businessType = BusinessType.GRANT)
     @PutMapping("/authRole")
     @ApiOperation("用户授权角色")
-    public AjaxResult insertAuthRole(Long userId, Long[] roleIds)
-    {
+    public AjaxResult insertAuthRole(Long userId, Long[] roleIds) {
         userService.checkUserDataScope(userId);
         userService.insertUserAuth(userId, roleIds);
         return success();
@@ -372,8 +371,7 @@ public class SysUserController extends BaseController
      */
     @GetMapping("/deptTree")
     @ApiOperation("获取部门树列表")
-    public AjaxResult deptTree(SysDept dept)
-    {
+    public AjaxResult deptTree(SysDept dept) {
         return success(deptService.selectDeptTreeList(dept));
     }
 }

+ 26 - 12
purchase-common/src/main/java/com/ozs/common/core/domain/entity/SysDept.java

@@ -84,7 +84,21 @@ public class SysDept extends BaseEntity
     /**
      * 采购服务站名称
      */
-    private String  purchaseServices;
+    private String purchaseServices;
+
+    public List<Long> getDeptList() {
+        return deptList;
+    }
+
+    public void setDeptList(List<Long> deptList) {
+        this.deptList = deptList;
+    }
+
+    /**
+     * 查询全部or指定部门
+     */
+    @TableField(exist = false)
+    private List<Long> deptList;
 
     public String getProjectContact() {
         return projectContact;
@@ -281,17 +295,17 @@ public class SysDept extends BaseEntity
             .append("email", getEmail())
             .append("status", getStatus())
             .append("delFlag", getDelFlag())
-            .append("createBy", getCreateBy())
-            .append("createTime", getCreateTime())
-            .append("updateBy", getUpdateBy())
-            .append("updateTime", getUpdateTime())
-            .append("remarks",getRemarks())
-            .append("address",getAddress())
-            .append("projectContact", getProjectContact())
-            .append("bankAccountName", getBankAccountName())
-            .append("bankOfDeposit", getBankOfDeposit())
-            .append("accountNumber", getAccountNumber())
-            .append("purchaseServices",getPurchaseServices())    
+                .append("createBy", getCreateBy())
+                .append("createTime", getCreateTime())
+                .append("updateBy", getUpdateBy())
+                .append("updateTime", getUpdateTime())
+                .append("remarks", getRemarks())
+                .append("address", getAddress())
+                .append("projectContact", getProjectContact())
+                .append("bankAccountName", getBankAccountName())
+                .append("bankOfDeposit", getBankOfDeposit())
+                .append("accountNumber", getAccountNumber())
+                .append("purchaseServices", getPurchaseServices())
             .toString();
     }
 }

+ 8 - 0
purchase-system/src/main/java/com/ozs/plan/service/impl/PlanYearsServiceImpl.java

@@ -372,6 +372,14 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
                         ++failureNum;
                         failureMsg.append("*" + failureNum + "*采购单位“" + ofYear.getPurchaseDeptName() + "”不存在");
                     }
+                    //采购单位
+                    SysDept infoTow = deptMapper.checkDeptNameOnlyOne(ofYear.getOrganDivision());
+                    if (!ObjectUtils.isEmpty(infoTow)) {
+                        ofYear.setOrganDivision(String.valueOf(info.getDeptId()));
+                    } else {
+                        ++failureNum;
+                        failureMsg.append("*" + failureNum + "*机关业务指导处(科)“" + ofYear.getOrganDivision() + "”不存在");
+                    }
                     ofYear.setProjectType(projectTypesMap.get(ofYear.getProjectType()));
                     ofYear.setPurchaseServices(purchaseServicesMap.get(ofYear.getPurchaseServices()));
                     ofYear.setBudgetAccount(budgetAccountMap.get(ofYear.getBudgetAccount()));

+ 1 - 1
purchase-system/src/main/java/com/ozs/pm/doman/vo/requestVo/PmDemandReqVo.java

@@ -135,7 +135,7 @@ public class PmDemandReqVo extends PageVo {
     /**
      * 查询全部or指定部门
      */
-    private List<Integer> deptList;
+    private List<Long> deptList;
 
     @ApiModelProperty("回退序号")
     private Integer returnOrderNumber;

+ 1 - 0
purchase-system/src/main/java/com/ozs/pm/service/IPmDemandService.java

@@ -379,4 +379,5 @@ public interface IPmDemandService extends IService<PmDemand> {
      * @return
      */
     AjaxResult exceedLink(PmDemandReqVo pmDemandReqVo);
+
 }

+ 4 - 17
purchase-system/src/main/java/com/ozs/pm/service/impl/PmDemandServiceImpl.java

@@ -3924,18 +3924,18 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
     }
 
     //查询本单位还是本单位及子孙级----要查询子单位的超额数据
-    public List<Integer> isQueryAll(Integer queryAll) {
-        List<Integer> deptList = new ArrayList<>();
+    public List<Long> isQueryAll(Integer queryAll) {
+        List<Long> deptList = new ArrayList<>();
         Long deptId = SecurityUtils.getDeptId();
         //查询全部
         if (queryAll.equals(-1)) {
             //获取到子孙级部门id
             if (deptService.hasChildByDeptId(deptId)) {
-                List<Integer> children = getDeptChildren(deptId);
+                List<Long> children = deptService.getDeptChildren(deptId);
                 System.err.println(children.size());
                 deptList.addAll(children);
             }
-            deptList.add(Math.toIntExact(deptId));
+            deptList.add(deptId);
         }
         return deptList;
     }
@@ -3981,18 +3981,5 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
         return demandId;
     }
 
-    //获取到子孙级部门id
-    public List<Integer> getDeptChildren(Long deptId) {
-        List<Integer> deptList = new ArrayList<>();
-        Long did = Long.valueOf(deptId);
-        List<Long> childByDeptId = deptService.getChildIdByDeptId(did);
-        for (Long cid : childByDeptId) {
-            deptList.add(Math.toIntExact(cid));
-            if (deptService.hasChildByDeptId(cid)) {
-                deptList.addAll(getDeptChildren(cid));
-            }
-        }
-        return deptList;
-    }
 
 }

+ 8 - 0
purchase-system/src/main/java/com/ozs/system/service/ISysDeptService.java

@@ -134,6 +134,14 @@ public interface ISysDeptService {
 
     public String isExcessOrNo(String projectType, BigDecimal evaluation, Long deptId);
 
+    /**
+     * 获取到子孙级部门id
+     *
+     * @param deptId
+     * @return
+     */
+    public List<Long> getDeptChildren(Long deptId);
+
     public SysDept selectById(Long deptId);
 
     public List<SysDept> selectChildrenDeptById(Long deptId);

+ 33 - 1
purchase-system/src/main/java/com/ozs/system/service/impl/SysDeptServiceImpl.java

@@ -10,7 +10,9 @@ import java.util.stream.Collectors;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.ozs.common.core.domain.entity.SysProcurementStandard;
+import com.ozs.common.core.domain.model.LoginUser;
 import com.ozs.common.exception.base.BaseException;
+import com.ozs.pm.service.IPmDemandService;
 import com.ozs.system.domain.vo.responseVo.SysDeptResponseVo;
 import com.ozs.system.mapper.SysDeptMapper;
 import com.ozs.system.mapper.SysProcurementStandardMapper;
@@ -43,7 +45,10 @@ import javax.annotation.Resource;
 public class SysDeptServiceImpl implements ISysDeptService {
     @Autowired
     private SysDeptMapper deptMapper;
-
+    @Autowired
+    private ISysDeptService deptService;
+    @Autowired
+    private IPmDemandService demandService;
     @Autowired
     private SysRoleMapper roleMapper;
     @Resource
@@ -58,6 +63,19 @@ public class SysDeptServiceImpl implements ISysDeptService {
     @Override
     @DataScope(deptAlias = "d")
     public List<SysDept> selectDeptList(SysDept dept) {
+        LoginUser loginUser = SecurityUtils.getLoginUser();
+        if (!String.valueOf(loginUser.getUserId()).equals("1")) {
+            List<Long> deptList = new ArrayList<>();
+            //获取到子孙级部门id
+            Long deptId = loginUser.getDeptId();
+            if (deptService.hasChildByDeptId(loginUser.getDeptId())) {
+                List<Long> children = deptService.getDeptChildren(deptId);
+                System.err.println(children.size());
+                deptList.addAll(children);
+                deptList.add(deptId);
+            }
+            dept.setDeptList(deptList);
+        }
         return deptMapper.selectDeptList(dept);
     }
 
@@ -367,6 +385,20 @@ public class SysDeptServiceImpl implements ISysDeptService {
 
     }
 
+    //获取到子孙级部门id
+    public List<Long> getDeptChildren(Long deptId) {
+        List<Long> deptList = new ArrayList<>();
+        Long did = deptId;
+        List<Long> childByDeptId = getChildIdByDeptId(did);
+        for (Long cid : childByDeptId) {
+            deptList.add(cid);
+            if (hasChildByDeptId(cid)) {
+                deptList.addAll(getDeptChildren(cid));
+            }
+        }
+        return deptList;
+    }
+
     @Override
     public SysDept selectById(Long deptId) {
         return deptMapper.selectDeptById(deptId);

+ 6 - 0
purchase-system/src/main/resources/mapper/system/SysDeptMapper.xml

@@ -34,6 +34,12 @@
         <if test="deptId != null and deptId != 0">
             AND dept_id = #{deptId}
         </if>
+        <if test="deptList != null and deptList.size != 0">
+            AND dept_id in
+            <foreach collection="deptList" item="tableId" open="(" separator="," close=")">
+                #{tableId}
+            </foreach>
+        </if>
         <if test="parentId != null and parentId != 0">
             AND parent_id = #{parentId}
         </if>