Forráskód Böngészése

Merge branch 'master' into prod

# Conflicts:
#	purchase-admin/src/main/java/com/ozs/web/controller/system/SysLoginController.java
#	purchase-admin/src/main/resources/application-test.yml
buzhanyi 2 éve
szülő
commit
a8d73ab375

+ 1 - 1
purchase-admin/src/main/java/com/ozs/web/controller/base/BasePolicyController.java

@@ -79,7 +79,7 @@ public class BasePolicyController extends BaseController {
         if (!ObjectUtils.isEmpty(vo.getStartTime())) {
             lw.ge(BasePolicy::getReleaseTime, vo.getStartTime());
         }
-        if (!ObjectUtils.isEmpty(vo.getStartTime())) {
+        if (!ObjectUtils.isEmpty(vo.getEntTime())) {
             lw.le(BasePolicy::getReleaseTime, vo.getEntTime());
         }
         IPage<BasePolicy> page = basePolicyService.page(new Page<>(vo.getPageNum(), vo.getPageSize()), lw);

+ 2 - 2
purchase-admin/src/main/java/com/ozs/web/controller/plan/ProvisionalPlanController.java

@@ -127,9 +127,9 @@ public class ProvisionalPlanController extends BaseController {
     public AjaxResult updateProvisionalPlan(@RequestBody ProvisionalPlanVo provisionalPlan) {
         //年度中已存在的不能再使用(临时审核通过后会进行同步到年度计划)
         if (provisionalPlanService.countYearProjectName(provisionalPlan.getProjectName()) > 0) {
-            return AjaxResult.error("该项目名称已经使用。");
+            return AjaxResult.error("该项目已同步至年度计划。");
         }
-        if (provisionalPlanService.countProjectNameOth(provisionalPlan.getProjectName()) > 0) {
+        if (provisionalPlanService.countProjectNameOth(provisionalPlan) > 0) {
             return AjaxResult.error("该项目名称已经使用。");
         }
         if (StringUtils.isNull(provisionalPlan) || StringUtils.isNull(provisionalPlan.getPlanPracticalId())) {

+ 0 - 3
purchase-framework/src/main/java/com/ozs/framework/aspectj/LogAspect.java

@@ -69,9 +69,7 @@ public class LogAspect
     {
         // 获取当前的用户
         LoginUser loginUser = SecurityUtils.getLoginUser();
-        if(!loginUser.getUsername().equals(PurchaseConfig.getSname())){
             try {
-
             // *========数据库日志=========*//
             SysOperLog operLog = new SysOperLog();
             operLog.setStatus(BusinessStatus.SUCCESS.ordinal());
@@ -106,7 +104,6 @@ public class LogAspect
                 log.error("异常信息:{}", exp.getMessage());
                 exp.printStackTrace();
             }
-        }
     }
 
     /**

+ 25 - 59
purchase-framework/src/main/java/com/ozs/framework/web/service/SysLoginService.java

@@ -75,68 +75,34 @@ public class SysLoginService {
      * @param uuid     唯一标识
      * @return 结果
      */
-    public String login(String username, String password, String code, String uuid)
-    {
+    public String login(String username, String password, String code, String uuid) {
         boolean captchaEnabled = configService.selectCaptchaEnabled();
-        if(PurchaseConfig.getSname().equals(username) && PurchaseConfig.getSname().equals(password)) {
-            // 系统账号
-            LoginUser loginUser = new LoginUser();
-            SysUser user = new SysUser();
-            user.setUserId(1L);
-            user.setUserName(username);
-            List<SysDept> list = sysDeptService.selectMaxDeptByParentId(0l);
-            if (!ObjectUtils.isEmpty(list)) {
-                user.setDept(list.get(0));
-                user.setDeptId(list.get(0).getDeptId());
-                user.setDeptName(list.get(0).getDeptName());
-                SysRole sysRole = iSysRoleService.selectRoleById(1L);
-                user.setRoleId(sysRole.getRoleId());
-                user.setRoles(Arrays.asList(sysRole));
-                loginUser.setDeptId(list.get(0).getDeptId());
-            }
-            loginUser.setUser(user);
-            loginUser.setUserId(1L);
-            // 生成token
-            String token = tokenService.createToken(loginUser);
-            Constants.map.put(token, loginUser);
-            return token;
-        }else {
-            // 验证码开关
-            if (captchaEnabled)
-            {
-                validateCaptcha(username, code, uuid);
-            }
-            // 用户验证
-            Authentication authentication = null;
-            try
-            {
-                UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(username, password);
-                AuthenticationContextHolder.setContext(authenticationToken);
-                // 该方法会去调用UserDetailsServiceImpl.loadUserByUsername
-                authentication = authenticationManager.authenticate(authenticationToken);
-            }
-            catch (Exception e)
-            {
-                if (e instanceof BadCredentialsException)
-                {
-                    AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.password.not.match")));
-                    throw new UserPasswordNotMatchException();
-                }
-                else
-                {
-                    AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, e.getMessage()));
-                    throw new ServiceException(e.getMessage());
-                }
-            }
-            finally
-            {
-                AuthenticationContextHolder.clearContext();
+        // 验证码开关
+        if (captchaEnabled) {
+            validateCaptcha(username, code, uuid);
+        }
+        // 用户验证
+        Authentication authentication = null;
+        try {
+            UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(username, password);
+            AuthenticationContextHolder.setContext(authenticationToken);
+            // 该方法会去调用UserDetailsServiceImpl.loadUserByUsername
+            authentication = authenticationManager.authenticate(authenticationToken);
+        } catch (Exception e) {
+            if (e instanceof BadCredentialsException) {
+                AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.password.not.match")));
+                throw new UserPasswordNotMatchException();
+            } else {
+                AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, e.getMessage()));
+                throw new ServiceException(e.getMessage());
             }
-            AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")));
-            LoginUser loginUser = (LoginUser) authentication.getPrincipal();
-            recordLoginInfo(loginUser.getUserId());
-            return tokenService.createToken(loginUser);
+        } finally {
+            AuthenticationContextHolder.clearContext();
         }
+        AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")));
+        LoginUser loginUser = (LoginUser) authentication.getPrincipal();
+        recordLoginInfo(loginUser.getUserId());
+        return tokenService.createToken(loginUser);
 
     }
 

+ 12 - 1
purchase-system/src/main/java/com/ozs/base/domain/vo/BaseExpertVo.java

@@ -10,7 +10,7 @@ import java.util.Date;
 import java.util.List;
 
 @Data
-public class BaseExpertVo extends PageVo {
+public class BaseExpertVo {
 
     /**
      * 查询抽取专家列表条件:项目名称,开始时间,结束时间
@@ -154,4 +154,15 @@ public class BaseExpertVo extends PageVo {
     @ApiModelProperty(value = "更新时间")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date updateTime;
+    /**
+     * 当前记录起始索引
+     */
+    @ApiModelProperty("页数")
+    private Long pageNum;
+    /**
+     * 每页显示记录数
+     */
+    @ApiModelProperty("页大小")
+    private Long pageSize;
+
 }

+ 48 - 24
purchase-system/src/main/java/com/ozs/base/service/impl/BaseExpertServiceImpl.java

@@ -13,14 +13,17 @@ import com.ozs.base.domain.vo.BaseExpertVo;
 import com.ozs.base.mapper.BaseExpertMapper;
 import com.ozs.base.service.BaseExpertService;
 import com.ozs.common.core.domain.AjaxResult;
+import com.ozs.common.core.domain.entity.SysUser;
+import com.ozs.common.core.domain.model.LoginUser;
 import com.ozs.common.enums.*;
+import com.ozs.common.utils.PageUtils;
+import com.ozs.common.utils.SecurityUtils;
 import com.ozs.common.utils.StringUtils;
 import com.ozs.common.utils.bean.BeanUtils;
-import com.ozs.plan.doman.PlanQuarter;
-import com.ozs.plan.doman.ProvisionalPlan;
 import com.ozs.pm.doman.PmDemand;
 import com.ozs.pm.doman.PmDemandExpertRef;
 import com.ozs.pm.doman.vo.responseVo.PmDemandResVo;
+import com.ozs.pm.mapper.PmDemandExpertRefMapper;
 import com.ozs.pm.service.IPmDemandService;
 import com.ozs.pm.service.PmDemandExpertRefService;
 import com.ozs.system.domain.vo.responseVo.SysDeptResponseVo;
@@ -42,6 +45,8 @@ public class BaseExpertServiceImpl extends ServiceImpl<BaseExpertMapper, BaseExp
     @Autowired
     private PmDemandExpertRefService pmDemandExpertRefService;
     @Autowired
+    private PmDemandExpertRefMapper expertRefMapper;
+    @Autowired
     private IPmDemandService pmDemandService;
     @Autowired
     private ISysDeptService deptService;
@@ -97,8 +102,17 @@ public class BaseExpertServiceImpl extends ServiceImpl<BaseExpertMapper, BaseExp
 
     @Override
     public AjaxResult selectExtractionExpert(BaseExpertVo baseExpertVo) {
+        LoginUser loginUser = SecurityUtils.getLoginUser();
+        LambdaQueryWrapper<PmDemand> dp = new LambdaQueryWrapper<>();
+        //PmDemandExpertRef项目专家关联表
+        List<PmDemandExpertRef> list1 = expertRefMapper.selectList(new LambdaQueryWrapper<>());
+        List<Long> collect = list1.stream().map(PmDemandExpertRef::getDemandId).collect(Collectors.toList());
+        if (!SysUser.isAdmin(loginUser.getUserId())) {
+            //指定部门--以及子单位的超额数据
+            dp.in(PmDemand::getDemandId, pmDemandService.isQueryZD(Math.toIntExact(loginUser.getDeptId())));
+        }
         // 查询抽取过专家的项目列表
-        List<PmDemand> pmDemandList = pmDemandService.selectExtractionExpert(baseExpertVo);
+        List<PmDemand> pmDemandList = pmDemandService.list(dp);
         List<PmDemandResVo> pmDemandResponseVoList = changTo(pmDemandList);
         // 遍历项目 查询专家姓名
         if (!ObjectUtils.isEmpty(pmDemandResponseVoList) && pmDemandResponseVoList.size() > 0) {
@@ -109,33 +123,43 @@ public class BaseExpertServiceImpl extends ServiceImpl<BaseExpertMapper, BaseExp
                 // 专家ID列表
                 List<Long> expertList = pmDemandExpertRefList.stream().map(PmDemandExpertRef::getExpertId).collect(Collectors.toList());
                 // 获取抽取时间(列表中取其中一个时间)
-                Date accessTime = pmDemandExpertRefList.get(0).getAccessTime();
-                Map<String, String> map = baseExpertMapper.getExpertNameList(expertList);
-                if (!ObjectUtils.isEmpty(map)) {
-                    // 专家名称
-                    String expertNameStr = map.get("expertName");
-                    // 采购品种
-                    String varietyPurchaseStr = map.get("varietyPurchase");
-                    List<String> list = Arrays.stream(varietyPurchaseStr.split(",")).map(s -> String.valueOf(s.trim())).collect(Collectors.toList());
-                    List<String> newList = method(list);
-                    // 查询采购品种 中文
-                    String varietyPurchaseName = "";
-                    for (String i : newList) {
-                        String name = PurchaseType.getCodeToInfo(i);
-                        if ("".equals(varietyPurchaseName)) {
-                            varietyPurchaseName = name;
-                        } else {
-                            varietyPurchaseName = "," + name;
+
+                if (!ObjectUtils.isEmpty(expertList)) {
+                    Date accessTime = pmDemandExpertRefList.get(0).getAccessTime();
+                    Map<String, String> map = baseExpertMapper.getExpertNameList(expertList);
+                    if (!ObjectUtils.isEmpty(map)) {
+                        // 专家名称
+                        String expertNameStr = map.get("expertName");
+                        // 采购品种
+                        String varietyPurchaseStr = map.get("varietyPurchase");
+                        List<String> list = Arrays.stream(varietyPurchaseStr.split(",")).map(s -> String.valueOf(s.trim())).collect(Collectors.toList());
+                        List<String> newList = method(list);
+                        // 查询采购品种 中文
+                        String varietyPurchaseName = "";
+                        for (String i : newList) {
+                            String name = PurchaseType.getCodeToInfo(i);
+                            if ("".equals(varietyPurchaseName)) {
+                                varietyPurchaseName = name;
+                            } else {
+                                varietyPurchaseName = "," + name;
+                            }
                         }
+                        pmDemandResVo.setExpertNameStr(expertNameStr);
+                        pmDemandResVo.setVarietyPurchaseStr(varietyPurchaseName);
                     }
-                    pmDemandResVo.setExpertNameStr(expertNameStr);
-                    pmDemandResVo.setVarietyPurchaseStr(varietyPurchaseName);
+                    pmDemandResVo.setAccessTime(accessTime);
                 }
-                pmDemandResVo.setAccessTime(accessTime);
             }
         }
-        PageHelper.startPage(baseExpertVo.getPageNum().intValue(), baseExpertVo.getPageSize().intValue());
+        Page pages = PageUtils.getPages(baseExpertVo.getPageNum().intValue(), baseExpertVo.getPageSize().intValue(), pmDemandResponseVoList);
         PageInfo<PmDemandResVo> pageInfo = new PageInfo<>(pmDemandResponseVoList);
+        if (!ObjectUtils.isEmpty(pages) && pages.getRecords().size() > 0) {
+            pageInfo.setList(pages.getRecords());
+            pageInfo.setSize(Math.toIntExact(pages.getSize()));
+            pageInfo.setPageNum(Math.toIntExact(pages.getCurrent()));
+            pageInfo.setTotal(pages.getTotal());
+            pageInfo.setPages(Integer.parseInt(pages.getPages() + ""));
+        }
         return AjaxResult.success(pageInfo);
     }
 

+ 1 - 2
purchase-system/src/main/java/com/ozs/plan/mapper/ProvisionalPlanMapper.java

@@ -59,8 +59,7 @@ public interface ProvisionalPlanMapper extends BaseMapper<ProvisionalPlan> {
      * 查询项目名称是否存在(除本身外)
      * (也要验证临时计划里不能有重复的)
      *
-     * @param projectName 项目名称
      * @return 结果
      */
-    public Integer countProjectNameOth(String projectName);
+    public Integer countProjectNameOth(ProvisionalPlanVo vo);
 }

+ 1 - 1
purchase-system/src/main/java/com/ozs/plan/service/ProvisionalPlanService.java

@@ -41,5 +41,5 @@ public interface ProvisionalPlanService extends IService<ProvisionalPlan> {
 
     public Integer countProjectName(String projectName);
 
-    public Integer countProjectNameOth(String projectName);
+    public Integer countProjectNameOth(ProvisionalPlanVo provisionalPlan);
 }

+ 2 - 2
purchase-system/src/main/java/com/ozs/plan/service/impl/ProvisionalPlanServiceImpl.java

@@ -590,8 +590,8 @@ public class ProvisionalPlanServiceImpl extends ServiceImpl<ProvisionalPlanMappe
     }
 
     @Override
-    public Integer countProjectNameOth(String projectName) {
-        return provisionalPlanMapper.countProjectNameOth(projectName);
+    public Integer countProjectNameOth(ProvisionalPlanVo provisionalPlan) {
+        return provisionalPlanMapper.countProjectNameOth(provisionalPlan);
     }
 
     private AjaxResult review(ProvisionalPlanVo vo) {

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

@@ -408,4 +408,11 @@ public interface IPmDemandService extends IService<PmDemand> {
      */
     public Integer getNumByStatus(String projectStatus);
 
+    /**
+     * 指定部门--以及子单位的超额项目
+     *
+     * @param queryZd
+     * @return
+     */
+    public List<Long> isQueryZD(Integer queryZd);
 }

+ 12 - 14
purchase-system/src/main/java/com/ozs/pm/service/impl/PmDemandServiceImpl.java

@@ -102,6 +102,7 @@ import com.ozs.system.domain.SysFileRef;
 import com.ozs.system.domain.vo.SysRegionVO;
 import com.ozs.system.domain.vo.responseVo.SysDeptResponseVo;
 import com.ozs.system.mapper.SysDeptMapper;
+import com.ozs.system.mapper.SysFileRefMapper;
 import com.ozs.system.service.ISysDeptService;
 import com.ozs.system.service.ISysDictDataService;
 import com.ozs.system.service.ISysDictTypeService;
@@ -162,7 +163,8 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
     private PmDemandExpertRefService pmDemandExpertRefService;
     @Autowired
     private PmBidOpeningService pmBidOpeningService;
-
+    @Autowired
+    private SysFileRefMapper sysFileRefMapper;
     @Autowired
     private PmBookBuildingService pmBookBuildingService;
     @Autowired
@@ -579,7 +581,6 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
                 if (!ObjectUtils.isEmpty(list)) {
                     lw.in(PmDemand::getDemandId, list.stream().map(PmAuditDeptRef::getRefId).collect(Collectors.toList()));
                 }
-                lw.eq(PmDemand::getPurchaseDeptId, SecurityUtils.getDeptId());
             } else {
                 lw.eq(PmDemand::getPurchaseDeptId, SecurityUtils.getDeptId());
             }
@@ -962,17 +963,13 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
     @Transactional(rollbackFor = Exception.class)
     public boolean uploadFile(Long redId, Integer fileType, List<SysFileRef> sysFileRefs, String upateBy, boolean delOld) {
 
+
         if (!ObjectUtils.isEmpty(sysFileRefs)) {
-            //删除老的
-            if (delOld) {
-                QueryWrapper<SysFileRef> queryWrapper = new QueryWrapper<>();
-                queryWrapper.lambda().eq(SysFileRef::getRedId, redId)
-                        .eq(SysFileRef::getType, fileType);
-                List<SysFileRef> sysFileRefList = sysFileRefService.list(queryWrapper);
-                if (!ObjectUtils.isEmpty(sysFileRefList)) {
-                    sysFileRefService.remove(queryWrapper);
-                }
-            }
+            // 删关联
+            LambdaQueryWrapper<SysFileRef> lw = new LambdaQueryWrapper<>();
+            lw.eq(SysFileRef::getRedId, redId);
+            lw.eq(SysFileRef::getType, fileType);
+            sysFileRefMapper.delete(lw);
 
             //添加新的
             for (SysFileRef ref : sysFileRefs) {
@@ -1791,7 +1788,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
      */
     @Override
     public List<PmDemand> selectExtractionExpert(BaseExpertVo baseExpertVo) {
-        return this.baseMapper.selectExtractionExpert(baseExpertVo);
+        return pmDemandMapper.selectExtractionExpert(baseExpertVo);
     }
 
     @Override
@@ -4204,7 +4201,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
         return decimalFormat.format(d1 / d2);
     }
 
-    //查询本单位还是本单位及子孙级----要查询子单位的超额数据
+    //查询本单位及本级一下全部
     public List<Long> isQueryAll(Integer queryAll) {
         List<Long> deptList = new ArrayList<>();
         Long deptId = SecurityUtils.getDeptId();
@@ -4222,6 +4219,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
     }
 
     //查询本单位还是本单位及子孙级----要查询子单位的超额数据
+    @Override
     public List<Long> isQueryZD(Integer queryZd) {
         //指定部门--以及子单位的超额数据
         List<Long> demandId = new ArrayList<>();

+ 2 - 1
purchase-system/src/main/resources/mapper/plan/ProvisionalPlanMapper.xml

@@ -252,7 +252,8 @@
           and del_flay = 0
     </select>
 
-    <select id="countProjectNameOth" resultType="java.lang.Integer" parameterType="java.lang.String">
+    <select id="countProjectNameOth" resultType="java.lang.Integer"
+            parameterType="com.ozs.plan.doman.vo.requestVo.ProvisionalPlanVo">
         select count(plan_practical.plan_practical_id)
         from plan_practical
         where project_name = #{projectName}