diff --git a/renren-admin/src/main/java/io/renren/common/controller/DemandDataController.java b/renren-admin/src/main/java/io/renren/common/controller/DemandDataController.java new file mode 100644 index 00000000..4d6c4697 --- /dev/null +++ b/renren-admin/src/main/java/io/renren/common/controller/DemandDataController.java @@ -0,0 +1,91 @@ +package io.renren.common.controller; + + +import com.alibaba.fastjson.JSONObject; +import io.renren.common.page.PageData; +import io.renren.common.utils.Result; +import io.renren.common.validator.ValidatorUtils; +import io.renren.common.validator.group.AddGroup; +import io.renren.common.validator.group.DefaultGroup; +import io.renren.modules.activiti.dto.ProcessInstanceDTO; +import io.renren.modules.activiti.dto.ProcessStartDTO; +import io.renren.modules.activiti.service.ActProcessService; +import io.renren.modules.activiti.service.ActRunningService; +import io.renren.modules.demanData.dto.TDemandDataDTO; +import io.renren.modules.demanData.service.TDemandDataService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.codehaus.jackson.map.ObjectMapper; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +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 java.util.HashMap; +import java.util.Map; + +@Api(tags = "能力需求") +@RestController +@RequestMapping("/demand/center") +public class DemandDataController { + private static Logger logger = LoggerFactory.getLogger(ResourceMountController.class); + + @Autowired + private ActProcessService actProcessService; + @Autowired + private ActRunningService actRunningService; + @Autowired + private TDemandDataService tDemandDataService; + + private static String key = "abilitydemandapply"; + + private static Map params = new HashMap() { + { + put("isLatestVersion", true); // 取最新版本 + put("key", key); // 限定 能力资源上架 + } + }; + + @PostMapping(value = "/apply") + @ApiOperation("进行能力需求申请") + public Result apply(@RequestBody TDemandDataDTO tDemandDataDTO) { + // 仿照请求接口 /act/process/lastestPage + PageData> page = actProcessService.page(params); + if (page.getTotal() <= 0) { // + return new Result().error("联系管理员添加流程:" + key); + } + + logger.info("---------------------------------------------------"); + logger.info(JSONObject.toJSONString(tDemandDataDTO)); + logger.info("####################################################"); + tDemandDataDTO.setFlag(1); + + ValidatorUtils.validateEntity(tDemandDataDTO, AddGroup.class, DefaultGroup.class); + tDemandDataService.save(tDemandDataDTO); + if (tDemandDataDTO.getId() == null) { + return null; + } + logger.info("-------------------1.保存申请表单成功--------------------------"); + // 仿照请求接口 /act/running/startOfBusinessKey + ProcessStartDTO processStartDTO = new ProcessStartDTO(); + processStartDTO.setBusinessKey(tDemandDataDTO.getId().toString()); + processStartDTO.setProcessDefinitionKey(key); // 限定资源上架 + ObjectMapper oMapper = new ObjectMapper(); + Map variables = oMapper.convertValue(tDemandDataDTO, Map.class); + processStartDTO.setVariables(variables); + ProcessInstanceDTO dto = actRunningService.startOfBusinessKey(processStartDTO); + logger.info("-------------------2.启动流程成功--------------------------"); + logger.info("ProcessInstanceDTO.getBusinessKey:" + dto.getBusinessKey()); + if (Long.valueOf(dto.getBusinessKey()) != null) { + // 仿照请求接口 /processForm/tabilityapplication/updateInstanceId + tDemandDataService.updateInstanceId(dto.getProcessInstanceId(), Long.valueOf(dto.getBusinessKey())); + logger.info("-------------------更新updateInstanceId.成功--------------------------"); + logger.info("ProcessInstanceDTO.getProcessInstanceId:" + dto.getProcessInstanceId()); + } + + return new Result().ok(dto); + } +} diff --git a/renren-admin/src/main/java/io/renren/modules/demanData/controller/TDemandDataController.java b/renren-admin/src/main/java/io/renren/modules/demanData/controller/TDemandDataController.java new file mode 100644 index 00000000..1d58d8a7 --- /dev/null +++ b/renren-admin/src/main/java/io/renren/modules/demanData/controller/TDemandDataController.java @@ -0,0 +1,115 @@ +package io.renren.modules.demanData.controller; + +import io.renren.common.annotation.LogOperation; +import io.renren.common.constant.Constant; +import io.renren.common.page.PageData; +import io.renren.common.utils.ExcelUtils; +import io.renren.common.utils.Result; +import io.renren.common.validator.AssertUtils; +import io.renren.common.validator.ValidatorUtils; +import io.renren.common.validator.group.AddGroup; +import io.renren.common.validator.group.DefaultGroup; +import io.renren.common.validator.group.UpdateGroup; +import io.renren.modules.demanData.dto.TDemandDataDTO; +import io.renren.modules.demanData.excel.TDemandDataExcel; +import io.renren.modules.demanData.service.TDemandDataService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import springfox.documentation.annotations.ApiIgnore; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + + +/** +* 能力需求评审主体 +* +* @author wangliwen wangliwen2@hisense.com +* @since 1.0 2022-04-25 +*/ +@RestController +@RequestMapping("demanData/tdemanddata") +@Api(tags="能力需求评审主体") +public class TDemandDataController { + @Autowired + private TDemandDataService tDemandDataService; + + @GetMapping("page") + @ApiOperation("分页") + @ApiImplicitParams({ + @ApiImplicitParam(name = Constant.PAGE, value = "当前页码,从1开始", paramType = "query", required = true, dataType="int") , + @ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query",required = true, dataType="int") , + @ApiImplicitParam(name = Constant.ORDER_FIELD, value = "排序字段", paramType = "query", dataType="String") , + @ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataType="String") + }) +// @RequiresPermissions("demanData:tdemanddata:page") + public Result> page(@ApiIgnore @RequestParam Map params){ + PageData page = tDemandDataService.page(params); + + return new Result>().ok(page); + } + + @GetMapping("{id}") + @ApiOperation("信息") +// @RequiresPermissions("demanData:tdemanddata:info") + public Result get(@PathVariable("id") Long id){ + TDemandDataDTO data = tDemandDataService.get(id); + + return new Result().ok(data); + } + + @PostMapping + @ApiOperation("保存") + @LogOperation("保存") +// @RequiresPermissions("demanData:tdemanddata:save") + public Result save(@RequestBody TDemandDataDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + + tDemandDataService.save(dto); + + return new Result(); + } + + @PutMapping + @ApiOperation("修改") + @LogOperation("修改") +// @RequiresPermissions("demanData:tdemanddata:update") + public Result update(@RequestBody TDemandDataDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + + tDemandDataService.update(dto); + + return new Result(); + } + + @DeleteMapping + @ApiOperation("删除") + @LogOperation("删除") +// @RequiresPermissions("demanData:tdemanddata:delete") + public Result delete(@RequestBody Long[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + + tDemandDataService.delete(ids); + + return new Result(); + } + + @GetMapping("export") + @ApiOperation("导出") + @LogOperation("导出") +// @RequiresPermissions("demanData:tdemanddata:export") + public void export(@ApiIgnore @RequestParam Map params, HttpServletResponse response) throws Exception { + List list = tDemandDataService.list(params); + + ExcelUtils.exportExcelToTarget(response, null, "能力需求评审主体", list, TDemandDataExcel.class); + } + +} \ No newline at end of file diff --git a/renren-admin/src/main/java/io/renren/modules/demanData/dao/TDemandDataDao.java b/renren-admin/src/main/java/io/renren/modules/demanData/dao/TDemandDataDao.java new file mode 100644 index 00000000..51449071 --- /dev/null +++ b/renren-admin/src/main/java/io/renren/modules/demanData/dao/TDemandDataDao.java @@ -0,0 +1,17 @@ +package io.renren.modules.demanData.dao; + +import io.renren.common.dao.BaseDao; +import io.renren.modules.demanData.entity.TDemandDataEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 能力需求评审主体 + * + * @author wangliwen wangliwen2@hisense.com + * @since 1.0 2022-04-25 + */ +@Mapper +public interface TDemandDataDao extends BaseDao { + void updateInstanceId(String instanceId, Long id); + +} \ No newline at end of file diff --git a/renren-admin/src/main/java/io/renren/modules/demanData/dto/TDemandDataDTO.java b/renren-admin/src/main/java/io/renren/modules/demanData/dto/TDemandDataDTO.java new file mode 100644 index 00000000..b9aaebb5 --- /dev/null +++ b/renren-admin/src/main/java/io/renren/modules/demanData/dto/TDemandDataDTO.java @@ -0,0 +1,63 @@ +package io.renren.modules.demanData.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 能力需求评审主体 + * + * @author wangliwen wangliwen2@hisense.com + * @since 1.0 2022-04-25 + */ +@Data +@ApiModel(value = "能力需求评审主体") +public class TDemandDataDTO implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "id") + private Long id; + @ApiModelProperty(value = "申请人用户id") + private String applyUserId; + @ApiModelProperty(value = "申请人姓名") + private String applyUserName; + @ApiModelProperty(value = "申请人部门id") + private String applyUserDeptId; + @ApiModelProperty(value = "申请人部门名称") + private String applyUserDeptName; + @ApiModelProperty(value = "申请人联系电话") + private String applyUserPhone; + @ApiModelProperty(value = "需求主题") + private String demandSubject; + @ApiModelProperty(value = "需求描述") + private String demandDetails; + @ApiModelProperty(value = "需求类型(基础设施、数据资源、组件服务、应用资源、知识库)") + private String detailsType; + @ApiModelProperty(value = "需求领域") + private String detailsField; + private Long creator; + private Date createDate; + @ApiModelProperty(value = "附件") + private String enclosure; + @ApiModelProperty(value = "业务标志(0:初始化 1:审批中 2:审批拒绝 3:审批通过)") + private Integer flag; + @ApiModelProperty(value = "审批意见") + private String approvalOpinions; + @ApiModelProperty(value = "审批人姓名") + private String approvalUserName; + @ApiModelProperty(value = "审批人部门名称") + private String approvalUserDeptName; + @ApiModelProperty(value = "访问量") + private Long visits; + + @ApiModelProperty(value = "实例ID") + private String instanceId; + + public TDemandDataDTO() { + this.flag = 0; + this.visits = 0l; + } +} \ No newline at end of file diff --git a/renren-admin/src/main/java/io/renren/modules/demanData/entity/TDemandDataEntity.java b/renren-admin/src/main/java/io/renren/modules/demanData/entity/TDemandDataEntity.java new file mode 100644 index 00000000..817b8135 --- /dev/null +++ b/renren-admin/src/main/java/io/renren/modules/demanData/entity/TDemandDataEntity.java @@ -0,0 +1,85 @@ +package io.renren.modules.demanData.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.renren.common.entity.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 能力需求评审主体 + * + * @author wangliwen wangliwen2@hisense.com + * @since 1.0 2022-04-25 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("t_demand_data") +public class TDemandDataEntity extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** + * 申请人用户id + */ + private String applyUserId; + /** + * 申请人姓名 + */ + private String applyUserName; + /** + * 申请人部门id + */ + private String applyUserDeptId; + /** + * 申请人部门名称 + */ + private String applyUserDeptName; + /** + * 申请人联系电话 + */ + private String applyUserPhone; + /** + * 需求主题 + */ + private String demandSubject; + /** + * 需求描述 + */ + private String demandDetails; + /** + * 需求类型(基础设施、数据资源、组件服务、应用资源、知识库) + */ + private String detailsType; + /** + * 需求领域 + */ + private String detailsField; + /** + * 附件 + */ + private String enclosure; + /** + * 业务标志(0:初始化 1:审批中 2:审批拒绝 3:审批通过) + */ + private Integer flag; + /** + * 审批意见 + */ + private String approvalOpinions; + /** + * 审批人姓名 + */ + private String approvalUserName; + /** + * 审批人部门名称 + */ + private String approvalUserDeptName; + /** + * 访问量 + */ + private Long visits; + + /** + * 实例ID + */ + private String instanceId; +} \ No newline at end of file diff --git a/renren-admin/src/main/java/io/renren/modules/demanData/excel/TDemandDataExcel.java b/renren-admin/src/main/java/io/renren/modules/demanData/excel/TDemandDataExcel.java new file mode 100644 index 00000000..d64b9535 --- /dev/null +++ b/renren-admin/src/main/java/io/renren/modules/demanData/excel/TDemandDataExcel.java @@ -0,0 +1,57 @@ +package io.renren.modules.demanData.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import lombok.Data; +import java.util.Date; + +/** + * 能力需求评审主体 + * + * @author wangliwen wangliwen2@hisense.com + * @since 1.0 2022-04-25 + */ +@Data +@ContentRowHeight(20) +@HeadRowHeight(20) +@ColumnWidth(25) +public class TDemandDataExcel { + @ExcelProperty(value = "id", index = 0) + private Long id; + @ExcelProperty(value = "申请人用户id", index = 1) + private String applyUserId; + @ExcelProperty(value = "申请人姓名", index = 2) + private String applyUserName; + @ExcelProperty(value = "申请人部门id", index = 3) + private String applyUserDeptId; + @ExcelProperty(value = "申请人部门名称", index = 4) + private String applyUserDeptName; + @ExcelProperty(value = "申请人联系电话", index = 5) + private String applyUserPhone; + @ExcelProperty(value = "需求主题", index = 6) + private String demandSubject; + @ExcelProperty(value = "需求描述", index = 7) + private String demandDetails; + @ExcelProperty(value = "需求类型(基础设施、数据资源、组件服务、应用资源、知识库)", index = 8) + private String detailsType; + @ExcelProperty(value = "需求领域", index = 9) + private String detailsField; + @ExcelProperty(value = "Long", index = 10) + private Long creator; + @ExcelProperty(value = "Date", index = 11) + private Date createDate; + @ExcelProperty(value = "附件", index = 12) + private String enclosure; + @ExcelProperty(value = "业务标志(0:初始化 1:审批中 2:审批拒绝 3:审批通过)", index = 13) + private Integer flag; + @ExcelProperty(value = "审批意见", index = 14) + private String approvalOpinions; + @ExcelProperty(value = "审批人姓名", index = 15) + private String approvalUserName; + @ExcelProperty(value = "审批人部门名称", index = 16) + private String approvalUserDeptName; + @ExcelProperty(value = "访问量", index = 17) + private Long visits; +} \ No newline at end of file diff --git a/renren-admin/src/main/java/io/renren/modules/demanData/service/TDemandDataService.java b/renren-admin/src/main/java/io/renren/modules/demanData/service/TDemandDataService.java new file mode 100644 index 00000000..ab132089 --- /dev/null +++ b/renren-admin/src/main/java/io/renren/modules/demanData/service/TDemandDataService.java @@ -0,0 +1,15 @@ +package io.renren.modules.demanData.service; + +import io.renren.common.service.CrudService; +import io.renren.modules.demanData.dto.TDemandDataDTO; +import io.renren.modules.demanData.entity.TDemandDataEntity; + +/** + * 能力需求评审主体 + * + * @author wangliwen wangliwen2@hisense.com + * @since 1.0 2022-04-25 + */ +public interface TDemandDataService extends CrudService { + void updateInstanceId(String instanceId, Long id); +} \ No newline at end of file diff --git a/renren-admin/src/main/java/io/renren/modules/demanData/service/impl/TDemandDataServiceImpl.java b/renren-admin/src/main/java/io/renren/modules/demanData/service/impl/TDemandDataServiceImpl.java new file mode 100644 index 00000000..2eb442ad --- /dev/null +++ b/renren-admin/src/main/java/io/renren/modules/demanData/service/impl/TDemandDataServiceImpl.java @@ -0,0 +1,35 @@ +package io.renren.modules.demanData.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.renren.common.service.impl.CrudServiceImpl; +import io.renren.modules.demanData.dao.TDemandDataDao; +import io.renren.modules.demanData.dto.TDemandDataDTO; +import io.renren.modules.demanData.entity.TDemandDataEntity; +import io.renren.modules.demanData.service.TDemandDataService; +import org.springframework.stereotype.Service; + +import java.util.Map; + +/** + * 能力需求评审主体 + * + * @author wangliwen wangliwen2@hisense.com + * @since 1.0 2022-04-25 + */ +@Service +public class TDemandDataServiceImpl extends CrudServiceImpl implements TDemandDataService { + + @Override + public QueryWrapper getWrapper(Map params) { + QueryWrapper wrapper = new QueryWrapper<>(); + + + return wrapper; + } + + + @Override + public void updateInstanceId(String instanceId, Long id) { + baseDao.updateInstanceId(instanceId, id); + } +} \ No newline at end of file diff --git a/renren-admin/src/main/java/io/renren/modules/resource/controller/ResourceController.java b/renren-admin/src/main/java/io/renren/modules/resource/controller/ResourceController.java index b246c08d..794d90e7 100644 --- a/renren-admin/src/main/java/io/renren/modules/resource/controller/ResourceController.java +++ b/renren-admin/src/main/java/io/renren/modules/resource/controller/ResourceController.java @@ -9,7 +9,6 @@ import io.renren.common.validator.ValidatorUtils; import io.renren.common.validator.group.AddGroup; import io.renren.common.validator.group.DefaultGroup; import io.renren.modules.resource.dto.ResourceDTO; -import io.renren.modules.resource.entity.ResourceEntity; import io.renren.modules.resource.service.ResourceService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -19,7 +18,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; -import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import springfox.documentation.annotations.ApiIgnore; diff --git a/renren-admin/src/main/java/io/renren/modules/resource/service/impl/ResourceServiceImpl.java b/renren-admin/src/main/java/io/renren/modules/resource/service/impl/ResourceServiceImpl.java index 48d321d6..183a11c0 100644 --- a/renren-admin/src/main/java/io/renren/modules/resource/service/impl/ResourceServiceImpl.java +++ b/renren-admin/src/main/java/io/renren/modules/resource/service/impl/ResourceServiceImpl.java @@ -42,7 +42,7 @@ import java.util.Map; /** * 资源表 * - * @author dg + * @author dg * @since 1.0 2022-04-13 */ @Service @@ -62,7 +62,7 @@ public class ResourceServiceImpl extends CrudServiceImpl getWrapper(Map params){ + public QueryWrapper getWrapper(Map params) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("type", params.get("type").toString()) .eq("del_flag", 0) @@ -81,7 +81,9 @@ public class ResourceServiceImpl extends CrudServiceImpl attrEntities= dto.getInfoList(); + BeanUtils.copyProperties(resourceEntity, dto); + + List attrEntities = dto.getInfoList(); attrEntities.forEach(item -> { item.setDelFlag(0); item.setDataResourceId(resourceID); @@ -107,7 +109,7 @@ public class ResourceServiceImpl extends CrudServiceImpl list = new ArrayList<>(); list.add(resourceEntity.getId()); attrDao.delete4Resource(list); - List attrEntities= dto.getInfoList(); + List attrEntities = dto.getInfoList(); attrEntities.forEach(item -> { item.setDelFlag(0); attrDao.insert(item); @@ -142,8 +144,8 @@ public class ResourceServiceImpl extends CrudServiceImpl queryWrapper = new QueryWrapper<>(); queryWrapper.eq("del_flag", 0) .like(StringUtils.isNotBlank(resourceDTO.getName()), "name", resourceDTO.getName()) - .eq(ObjectUtil.isNotNull(resourceDTO.getDistrictId()),"district_id", resourceDTO.getDistrictId()) - .eq(ObjectUtil.isNotNull(resourceDTO.getDeptId()),"dept_id", resourceDTO.getDeptId()) + .eq(ObjectUtil.isNotNull(resourceDTO.getDistrictId()), "district_id", resourceDTO.getDistrictId()) + .eq(ObjectUtil.isNotNull(resourceDTO.getDeptId()), "dept_id", resourceDTO.getDeptId()) .eq("type", resourceDTO.getType()); Page entityPage = resourceDao.selectPage(page, queryWrapper); ArrayList list = new ArrayList<>(); @@ -164,7 +166,7 @@ public class ResourceServiceImpl extends CrudServiceImpl recordLists = new ArrayList<>(); - for (int i = (pageNum - 1 ) * pageSize; i < j; i++) { + for (int i = (pageNum - 1) * pageSize; i < j; i++) { recordLists.add(resourceDTOS.get(i)); } resultPage.setRecords(recordLists); @@ -239,7 +241,7 @@ public class ResourceServiceImpl extends CrudServiceImpl page = new Page<>(jsonObject.getIntValue("pageNum"), jsonObject.getIntValue("pageSize")); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.orderByDesc("create_date") - .eq(StringUtils.isNotBlank(jsonObject.getString("type")),"type", jsonObject.getString("type")) + .eq(StringUtils.isNotBlank(jsonObject.getString("type")), "type", jsonObject.getString("type")) .eq("del_flag", 0); IPage entityIPage = resourceDao.selectPage(page, queryWrapper); return entityIPage; diff --git a/renren-admin/src/main/resources/mapper/demanData/TDemandDataDao.xml b/renren-admin/src/main/resources/mapper/demanData/TDemandDataDao.xml new file mode 100644 index 00000000..0c09c07f --- /dev/null +++ b/renren-admin/src/main/resources/mapper/demanData/TDemandDataDao.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + update t_demand_data set instance_id = #{instanceId} where id = #{id}; + + + \ No newline at end of file