Browse Source

Merge remote-tracking branch 'origin/develop' into develop

lijie 3 years ago
parent
commit
d0288506ef

+ 26 - 4
dmp-business/dmp-rwd-version/src/main/java/com/persagy/dmp/rwd/demand/controller/DictionaryDemandController.java

@@ -45,6 +45,8 @@ public class DictionaryDemandController {
     private static final Set<Integer> STATE_SET = CollUtil.newHashSet(
             DemandBillState.APPROVED_ACCEPT.getIndex(), DemandBillState.APPROVED_REJECT.getIndex(),
             DemandBillState.PROOFING.getIndex(), DemandBillState.SEND_BACK.getIndex());
+    /** 排序 */
+    private static final String ORDER_COLUMN = "orders";
 
     @Autowired
     private IDictionaryDemandService service;
@@ -58,8 +60,8 @@ public class DictionaryDemandController {
     public CommonResult<DictionaryDemand> save(@Valid @RequestBody DictionaryDemand vo) {
         ParamCheckUtil.checkParam(CommonConstant.QUERY_USERID);
         // 校验
-        boolean canEdit = vo.getBillState() != null && (DemandBillState.SAVING.getIndex().equals(vo.getBillState())
-                || DemandBillState.SEND_BACK.getIndex().equals(vo.getBillState()));
+        boolean canEdit = vo.getBillState() == null || DemandBillState.SAVING.getIndex().equals(vo.getBillState())
+                || DemandBillState.SEND_BACK.getIndex().equals(vo.getBillState());
         if(!canEdit) {
             throw new BusinessException("只有待提交和待完善的需求可以修改");
         }
@@ -76,8 +78,8 @@ public class DictionaryDemandController {
     public CommonResult<DictionaryDemand> submit(@Valid @RequestBody DictionaryDemand vo) {
         ParamCheckUtil.checkParam(CommonConstant.QUERY_USERID);
         // 校验
-        boolean canEdit = vo.getBillState() != null && (DemandBillState.SAVING.getIndex().equals(vo.getBillState())
-                || DemandBillState.SEND_BACK.getIndex().equals(vo.getBillState()));
+        boolean canEdit = vo.getBillState() == null || DemandBillState.SAVING.getIndex().equals(vo.getBillState())
+                || DemandBillState.SEND_BACK.getIndex().equals(vo.getBillState());
         if(!canEdit) {
             throw new BusinessException("只有待提交和待完善的需求可以修改");
         }
@@ -123,6 +125,11 @@ public class DictionaryDemandController {
      */
     @PostMapping("/queryDraft")
     public CommonResult<List<DictionaryDemand>> queryDraft(@RequestBody Map<String, Object> map) {
+        List orderList = (List) map.get(ORDER_COLUMN);
+        if(CollUtil.isEmpty(orderList)) {
+            OrderItem order = OrderItem.desc(AuditableEntity.DO_PROP_CREATIONTIME);
+            map.put(ORDER_COLUMN, CollUtil.newArrayList(order));
+        }
         return queryDemandByState(map, DemandBillState.SAVING.getIndex());
     }
 
@@ -133,6 +140,11 @@ public class DictionaryDemandController {
      */
     @PostMapping("/querySubmitted")
     public CommonResult<List<DictionaryDemand>> querySubmitted(@RequestBody Map<String, Object> map) {
+        List orderList = (List) map.get(ORDER_COLUMN);
+        if(CollUtil.isEmpty(orderList)) {
+            OrderItem order = OrderItem.desc(AuditableEntity.DO_PROP_MODIFIEDTIME);
+            map.put(ORDER_COLUMN, CollUtil.newArrayList(order));
+        }
         return queryDemandByState(map, DemandBillState.SUBMITTED.getIndex(),
                 DemandBillState.APPROVED_ACCEPT.getIndex(), DemandBillState.APPROVED_REJECT.getIndex(),
                 DemandBillState.SEND_BACK.getIndex(), DemandBillState.PROOFING.getIndex());
@@ -145,6 +157,11 @@ public class DictionaryDemandController {
      */
     @PostMapping("/queryTodo")
     public CommonResult<List<DictionaryDemand>> queryTodo(@RequestBody Map<String, Object> map) {
+        List orderList = (List) map.get(ORDER_COLUMN);
+        if(CollUtil.isEmpty(orderList)) {
+            OrderItem order = OrderItem.desc(AuditableEntity.DO_PROP_MODIFIEDTIME);
+            map.put(ORDER_COLUMN, CollUtil.newArrayList(order));
+        }
         return queryDemandByState(map, DemandBillState.SUBMITTED.getIndex(), DemandBillState.PROOFING.getIndex());
     }
 
@@ -155,6 +172,11 @@ public class DictionaryDemandController {
      */
     @PostMapping("/queryDone")
     public CommonResult<List<DictionaryDemand>> queryDone(@RequestBody Map<String, Object> map) {
+        List orderList = (List) map.get(ORDER_COLUMN);
+        if(CollUtil.isEmpty(orderList)) {
+            OrderItem order = OrderItem.desc(AuditableEntity.DO_PROP_MODIFIEDTIME);
+            map.put(ORDER_COLUMN, CollUtil.newArrayList(order));
+        }
         return queryDemandByState(map, DemandBillState.APPROVED_ACCEPT.getIndex(), DemandBillState.APPROVED_REJECT.getIndex(), DemandBillState.SEND_BACK.getIndex());
     }
 

+ 173 - 0
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/define/controller/ObjectInfoCollectController.java

@@ -0,0 +1,173 @@
+package com.persagy.dmp.rwd.define.controller;
+
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.persagy.dmp.basic.model.QueryCriteria;
+import com.persagy.dmp.basic.utils.QueryCriteriaHelper;
+import com.persagy.dmp.common.constant.CommonConstant;
+import com.persagy.dmp.common.constant.ResponseCode;
+import com.persagy.dmp.common.context.AppContext;
+import com.persagy.dmp.common.exception.BusinessException;
+import com.persagy.dmp.common.model.response.CommonResult;
+import com.persagy.dmp.common.utils.ResultHelper;
+import com.persagy.dmp.define.entity.ObjectInfoCollect;
+import com.persagy.dmp.rwd.define.service.IObjectInfoCollectService;
+import org.apache.commons.lang.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * 平台、项目级信息点采集
+ * @author:linhuili
+ * @date:2021/10/13
+ */
+@RestController
+@RequestMapping("/rwd/def/funcid/collect")
+public class ObjectInfoCollectController {
+
+    @Autowired
+    private IObjectInfoCollectService service;
+
+    /**
+     * 查询采集的信息点
+     * @param criteria
+     * @return
+     */
+    @PostMapping("/query")
+    public CommonResult<List<ObjectInfoCollect>> query(@RequestBody QueryCriteria criteria) {
+        if(criteria == null) {
+            throw new BusinessException(ResponseCode.A0400.getCode(), ResponseCode.A0400.getDesc());
+        }
+        QueryWrapper<ObjectInfoCollect> wrapper = new QueryWrapper<>();
+        // 转换查询条件
+        QueryCriteriaHelper.toWrapper(wrapper, criteria, ObjectInfoCollect.class);
+        Page page = QueryCriteriaHelper.toPage(criteria);
+        if(criteria.isOnlyCount()) {
+            Integer total = service.queryCount(wrapper);
+            page.setTotal(total);
+        } else {
+            page = service.queryByCondition(QueryCriteriaHelper.toPage(criteria), wrapper);
+        }
+        return ResultHelper.multi(page.getRecords(), page.getTotal());
+    }
+
+
+    /**
+     * 添加采集的信息点
+     * @param vo
+     * @return
+     */
+    @PostMapping("/create")
+    public CommonResult<ObjectInfoCollect> create(@Valid @RequestBody ObjectInfoCollect vo) throws Exception{
+        List<ObjectInfoCollect> voList = CollUtil.newArrayList(vo);
+        //创建默认条件
+        createDefaultValue(voList);
+        //新增信息点
+        service.insert(voList);
+        return ResultHelper.single(vo);
+    }
+
+    /**
+     * 批量添加采集的信息点
+     * @param voList
+     * @return
+     */
+    @PostMapping("/createBatch")
+    public CommonResult<List<ObjectInfoCollect>> createBatch(@Valid @RequestBody List<ObjectInfoCollect> voList) throws Exception{
+        //创建默认条件
+        createDefaultValue(voList);
+        //批量新增信息点
+        voList = service.insert(voList);
+        return ResultHelper.multi(voList);
+    }
+
+    /**
+     * 修改采集的信息点
+     * @param vo
+     * @return
+     */
+    @PostMapping("/update")
+    public CommonResult<ObjectInfoCollect> update(@Valid @RequestBody ObjectInfoCollect vo) throws Exception{
+        List<ObjectInfoCollect> voList = CollUtil.newArrayList(vo);
+        //创建默认条件
+        createDefaultValue(voList);
+        //修改信息点
+        service.update(voList);
+        return ResultHelper.single(vo);
+    }
+
+    /**
+     * 批量修改采集的信息点
+     * @param voList
+     * @return
+     */
+    @PostMapping("/updateBatch")
+    public CommonResult<List<ObjectInfoCollect>> updateBatch(@Valid @RequestBody List<ObjectInfoCollect> voList) throws Exception{
+        //创建默认条件
+        createDefaultValue(voList);
+        //修改信息点
+        voList = service.update(voList);
+        return ResultHelper.multi(voList);
+    }
+
+    /**
+     * 删除采集的信息点
+     * @param id
+     * @return
+     */
+    @PostMapping("/delete")
+    public CommonResult delete(@RequestBody String id){
+        if(StringUtils.isEmpty(id)){
+            throw new BusinessException(ResponseCode.A0400.getCode(), "id不能为空");
+        }
+        service.delete(CollUtil.newArrayList(id));
+        return ResultHelper.success();
+    }
+
+    /**
+     * 批量删除采集的信息点
+     * @param ids
+     * @return
+     */
+    @PostMapping("/deleteBatch")
+    public CommonResult deleteBatch(@RequestBody List<String> ids){
+        if(ids == null || ids.size()<=0){
+            throw new BusinessException(ResponseCode.A0400.getCode(), "id不能为空");
+        }
+        service.delete(ids);
+        return ResultHelper.success();
+    }
+
+    /**
+     * 创建默认条件
+     * @param voList
+     */
+    private void createDefaultValue(List<ObjectInfoCollect> voList){
+        String groupCode = AppContext.getContext().getGroupCode();
+        if(StringUtils.isEmpty(groupCode)){
+            //默认集团
+            groupCode = CommonConstant.DEFAULT_ID;
+        }
+        String projectId = AppContext.getContext().getProjectId();
+        if(StringUtils.isEmpty(projectId)){
+            //默认项目
+            projectId = CommonConstant.DEFAULT_ID;
+        }
+        for (ObjectInfoCollect vo : voList) {
+            vo.setGroupCode(groupCode);
+            vo.setProjectId(projectId);
+            //默认有效标识
+            if(vo.getValid() == null){
+                vo.setValid(1);
+            }
+        }
+    }
+
+}

+ 13 - 0
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/define/dao/ObjectInfoCollectMapper.java

@@ -0,0 +1,13 @@
+package com.persagy.dmp.rwd.define.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.persagy.dmp.define.entity.ObjectInfoCollect;
+
+/**
+ * 平台/项目级信息点采集 DAO
+ * @author:linhuili
+ * @date:2021/10/13
+ */
+public interface ObjectInfoCollectMapper extends BaseMapper<ObjectInfoCollect> {
+
+}

+ 52 - 0
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/define/service/IObjectInfoCollectService.java

@@ -0,0 +1,52 @@
+package com.persagy.dmp.rwd.define.service;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.persagy.dmp.define.entity.GraphDefine;
+import com.persagy.dmp.define.entity.ObjectInfoCollect;
+
+import java.util.List;
+
+/**
+ * 平台、项目级信息点采集
+ * @author:linhuili
+ * @date:2021/10/13
+ */
+public interface IObjectInfoCollectService extends IService<ObjectInfoCollect> {
+
+    /**
+     * 按条件计数
+     * @param queryWrapper 查询条件
+     * @return 结果数量
+     */
+    Integer queryCount(Wrapper<ObjectInfoCollect> queryWrapper);
+
+    /**
+     * 按条件查询
+     * @param page 分页条件
+     * @param queryWrapper 查询条件
+     * @return 分页结果
+     */
+    Page queryByCondition(Page page, Wrapper<ObjectInfoCollect> queryWrapper);
+
+    /**
+     * 新增
+     * @param voList 待新增数据
+     * @return 新增后数据
+     */
+    List<ObjectInfoCollect> insert(List<ObjectInfoCollect> voList) throws Exception ;
+
+    /**
+     * 修改
+     * @param voList 待修改数据
+     * @return 修改后数据
+     */
+    List<ObjectInfoCollect> update(List<ObjectInfoCollect> voList) throws Exception;
+
+    /**
+     * 删除
+     * @param idList 主键
+     */
+    void delete(List<String> idList);
+}

+ 99 - 0
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/define/service/impl/ObjectInfoCollectServiceImpl.java

@@ -0,0 +1,99 @@
+package com.persagy.dmp.rwd.define.service.impl;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.map.MapUtil;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.persagy.dmp.common.constant.ValidEnum;
+import com.persagy.dmp.common.model.entity.BaseEntity;
+import com.persagy.dmp.define.entity.ObjectInfoCollect;
+import com.persagy.dmp.rwd.define.dao.ObjectInfoCollectMapper;
+import com.persagy.dmp.rwd.define.service.IObjectInfoCollectService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 平台、项目级信息点采集
+ * @author:linhuili
+ * @date:2021/10/13
+ */
+@Service
+public class ObjectInfoCollectServiceImpl extends ServiceImpl<ObjectInfoCollectMapper,ObjectInfoCollect> implements IObjectInfoCollectService {
+
+    @Autowired
+    private ObjectInfoCollectMapper objectInfoCollectMapper;
+
+    /**
+     * 数量统计
+     * @param queryWrapper 查询条件
+     * @return
+     */
+    @Override
+    public Integer queryCount(Wrapper<ObjectInfoCollect> queryWrapper) {
+        return objectInfoCollectMapper.selectCount(queryWrapper);
+    }
+
+    /**
+     * 查询采集的信息点
+     * @param page 分页条件
+     * @param queryWrapper 查询条件
+     * @return
+     */
+    @Override
+    public Page queryByCondition(Page page, Wrapper<ObjectInfoCollect> queryWrapper) {
+        return objectInfoCollectMapper.selectPage(page, queryWrapper);
+    }
+
+    /**
+     * 新增采集的信息点
+     * @param voList 待新增数据
+     * @return
+     */
+    @Override
+    public List<ObjectInfoCollect> insert(List<ObjectInfoCollect> voList) throws Exception{
+        saveOrUpdateBatch(voList);
+        return voList;
+    }
+
+    /**
+     * 修改采集的信息点
+     * @param voList 待修改数据
+     * @return
+     */
+    @Override
+    public List<ObjectInfoCollect> update(List<ObjectInfoCollect> voList) throws Exception {
+        saveOrUpdateBatch(voList);
+        return voList;
+    }
+
+    /**
+     * 删除采集的信息点
+     * @param idList 主键
+     */
+    @Override
+    public void delete(List<String> idList) {
+        if(CollUtil.isEmpty(idList)) {
+            return;
+        }
+        List<ObjectInfoCollect> dbList = objectInfoCollectMapper.selectBatchIds(idList);
+        Map<String, ObjectInfoCollect> dbMap = CollectionUtil.fieldValueMap(dbList, BaseEntity.PROP_ID);
+        idList.forEach(id -> {
+            ObjectInfoCollect dbVO = MapUtil.get(dbMap, id, ObjectInfoCollect.class);
+            // 容错处理
+            if(dbVO == null) {
+                return;
+            }
+            // 删除
+            ObjectInfoCollect vo = new ObjectInfoCollect();
+            vo.setId(id);
+            vo.setValid(ValidEnum.FALSE.getType());
+            objectInfoCollectMapper.updateById(vo);
+        });
+    }
+
+}

+ 33 - 0
dmp-comp/dmp-digital-starter/src/main/java/com/persagy/dmp/define/entity/ObjectInfoCollect.java

@@ -0,0 +1,33 @@
+package com.persagy.dmp.define.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.persagy.dmp.common.model.entity.AuditableEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * 平台/项目级采集的信息点定义
+ * @author linhuili
+ * @date 2021-10-13
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName(value = "dt_define_info_collect", autoResultMap = true)
+public class ObjectInfoCollect extends AuditableEntity {
+    /** 集团编码 */
+    private String groupCode;
+    /** 项目ID 0-平台级 1-项目级 */
+    private String projectId;
+    /** 关联信息点id */
+    @NotNull(message = "信息点id不能为空")
+    private String defineInfoId;
+    /** 信息点编码 */
+    private String code;
+    /** 信息点类型 */
+    private String classCode;
+    /** 是否可见 true -可见 false-不可见 */
+    private Boolean visiable;
+
+}

+ 3 - 4
dmp-comp/dmp-mybatis/src/main/java/com/persagy/dmp/mybatis/handler/AuditInfoHandler.java

@@ -74,10 +74,9 @@ public class AuditInfoHandler implements Interceptor {
         if (isInsert) {
             entity.setCreator(AppContext.getContext().getAccountId());
             entity.setCreationTime(new PsDateTime());
-        } else {
-            // 修改 - 修改人、修改时间更新
-            entity.setModifier(AppContext.getContext().getAccountId());
-            entity.setModifiedTime(new PsDateTime());
         }
+        // 修改 - 修改人、修改时间更新 20211013 新增时也给修改时间赋值,解决按最后更新时间排序为空的问题
+        entity.setModifier(AppContext.getContext().getAccountId());
+        entity.setModifiedTime(new PsDateTime());
     }
 }