Просмотр исходного кода

事务管理流程功能代码修改

1021934019@qq.com 4 лет назад
Родитель
Сommit
56dd4a4db9

+ 2 - 0
blade-service-api/blade-project-api/src/main/java/org/springblade/project/entity/ServiceProject.java

@@ -99,5 +99,7 @@ public class ServiceProject extends TenantEntity implements Serializable {
 	@TableField(exist = false)
 	private List<ServiceProjectItem> itemList;
 
+	@TableField(exist = false)
+	private List<ServiceProjectFiles> filesList;
 
 }

+ 68 - 0
blade-service-api/blade-project-api/src/main/java/org/springblade/project/entity/ServiceProjectFiles.java

@@ -0,0 +1,68 @@
+package org.springblade.project.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springblade.core.tenant.mp.TenantEntity;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+
+/**
+ * 服务明细
+ *
+ * @author castiel
+ * @email sunlightcs@gmail.com
+ * @date 2021-10-26 13:50:49
+ */
+@Data
+@TableName("service_project_files")
+public class ServiceProjectFiles extends TenantEntity implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	//
+	@TableId
+	private Long id;
+	//主表主键
+	private Long pId;
+	//排序
+	private Integer sort;
+
+	private String fileName;
+
+	private String url;
+
+	private String remarks;
+
+	private String version;
+
+	private String tenantId;
+    @TableLogic
+	private Integer isDeleted;
+
+	//创建人
+	private Long createUser;
+	//创建时间
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date createTime;
+	//修改人
+	private Long updateUser;
+	//修改时间
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date updateTime;
+
+	private String createUserName;
+	private String updateUserName;
+
+
+
+
+
+}

+ 7 - 0
blade-service-api/blade-project-api/src/main/java/org/springblade/project/entity/ServiceProjectItem.java

@@ -102,4 +102,11 @@ public class ServiceProjectItem extends TenantEntity implements Serializable {
 	private Integer isDeleted;
 
 
+
+	private String createUserName;
+	private String updateUserName;
+	private String pName;
+
+
+
 }

+ 58 - 6
blade-service/blade-project/src/main/java/org/springblade/project/controller/ProjectController.java

@@ -10,7 +10,9 @@ import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.project.entity.ServiceProject;
 
+import org.springblade.project.entity.ServiceProjectFiles;
 import org.springblade.project.entity.ServiceProjectItem;
+import org.springblade.project.service.ServiceProjectFilesService;
 import org.springblade.project.service.ServiceProjectItemService;
 import org.springblade.project.service.ServiceProjectService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -24,6 +26,7 @@ import javax.servlet.ServletException;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 @NonDS
 @ApiIgnore
@@ -35,6 +38,8 @@ public class ProjectController {
 	private ServiceProjectService serviceProjectService;
 	@Autowired
 	private ServiceProjectItemService serviceProjectItemService;
+	@Autowired
+	private ServiceProjectFilesService serviceProjectFilesService;
 
 	@GetMapping("/list")
 	public R<IPage<?>> list(@RequestParam(name = "current", defaultValue = "1") Integer current,
@@ -43,8 +48,10 @@ public class ProjectController {
 							@RequestParam(name = "cName", required = false) String cName,
 							@RequestParam(name = "corpAttn", required = false) String corpAttn,
 							@RequestParam(name = "dutyName", required = false) String dutyName,
-							@RequestParam(name = "remark", required = false) String remark
-	) {
+							@RequestParam(name = "remark", required = false) String remark,
+							@RequestParam(name = "flag", required = true) int flag
+	)
+	{
 		LambdaQueryWrapper<ServiceProject> serviceProjectLambdaQueryWrapper = new LambdaQueryWrapper<>();
 		serviceProjectLambdaQueryWrapper
 			.like(StringUtils.isNotBlank(dutyName), ServiceProject::getDutyName, dutyName)
@@ -57,6 +64,23 @@ public class ProjectController {
 
 		Page<ServiceProject> page = new Page<>(current, size);
 		IPage<ServiceProject> iPage = serviceProjectService.page(page, serviceProjectLambdaQueryWrapper);
+		List<ServiceProject> records = iPage.getRecords();
+		if(flag==1)
+		{
+			records.forEach(e->{
+				LambdaQueryWrapper<ServiceProjectItem> lambdaQueryWrapper=new LambdaQueryWrapper<>();
+				lambdaQueryWrapper
+					.eq(ServiceProjectItem::getStatus,2)
+					.eq(ServiceProjectItem::getIsDeleted,0)
+					.eq(ServiceProjectItem::getPId,e.getId());
+				List<ServiceProjectItem> itemList = serviceProjectItemService.list(lambdaQueryWrapper);
+				e.setItemList(itemList);
+			});
+			List<ServiceProject> collect = records.stream().filter(e -> !CollectionUtils.isEmpty(e.getItemList())).collect(Collectors.toList());
+			iPage.setRecords(collect);
+		}
+
+
 		return R.data(iPage);
 
 	}
@@ -77,22 +101,32 @@ public class ProjectController {
 	}
 
 	@GetMapping("findById")
-	public R<?> findById(@RequestParam(name = "id", required = true) Long id)
+	public R<?> findById(@RequestParam(name = "id", required = true) Long id,
+						 @RequestParam(name = "itemStatus", required = true) Integer itemStatus)
 	{
 		ServiceProject serviceProject = serviceProjectService.getById(id);
 
 		LambdaQueryWrapper<ServiceProjectItem> itemServiceLambdaQueryWrapper=new LambdaQueryWrapper<>();
-		itemServiceLambdaQueryWrapper.eq(ServiceProjectItem::getPId,id).eq(ServiceProjectItem::getIsDeleted,0);
+		itemServiceLambdaQueryWrapper.eq(ServiceProjectItem::getStatus,itemStatus).eq(ServiceProjectItem::getPId,id).eq(ServiceProjectItem::getIsDeleted,0);
 		List<ServiceProjectItem> serviceProjectItems = serviceProjectItemService.list(itemServiceLambdaQueryWrapper);
+/*
+		LambdaQueryWrapper<ServiceProjectFiles> filesLambdaQueryWrapper=new LambdaQueryWrapper<>();
+		filesLambdaQueryWrapper.eq(ServiceProjectFiles::getPId,id).eq(ServiceProjectFiles::getIsDeleted,0);
+		List<ServiceProjectFiles> filesList = serviceProjectFilesService.list(filesLambdaQueryWrapper);*/
 
 		if(!CollectionUtils.isEmpty(serviceProjectItems))
 		{
 			serviceProject.setItemList(serviceProjectItems);
 		}
+		/*if(!CollectionUtils.isEmpty(filesList))
+		{
+			serviceProject.setFilesList(filesList);
+		}*/
+
 		return R.data(serviceProject);
 	}
 
-	@PutMapping("updateItemStatus")
+	@PostMapping("updateItemStatus")
 	public R check(@RequestParam(name = "id", required = true) Long itemId
 		          ,@RequestParam(name = "status", required = true) int status)
 	{
@@ -108,9 +142,27 @@ public class ProjectController {
 		    serviceProjectItem.setUpdateUser(SecureUtil.getUserId());
 		    serviceProjectItem.setStatus(status);
 			serviceProjectItemService.updateById(serviceProjectItem);
-			return R.success("请核完成");
+			return R.success("操作完成");
 	}
 
+	@GetMapping("item/list")
+    public R<?> itemList( @RequestParam(name = "current", defaultValue = "1") Integer current,
+						  @RequestParam(name = "size", defaultValue = "10") Integer size,
+						  @RequestParam(name = "pName",  required = false) String pName,
+						  @RequestParam(name = "reminderDay",  required = false) String reminderDay,
+						  @RequestParam(name = "status",  required = true) int status
+						 )
+	{
+		  LambdaQueryWrapper<ServiceProjectItem> itemLambdaQueryWrapper=new LambdaQueryWrapper<>();
+		  itemLambdaQueryWrapper
+			  .like(StringUtils.isNotBlank(pName),ServiceProjectItem::getPName,pName)
+			  .like(StringUtils.isNotBlank(reminderDay),ServiceProjectItem::getReminderDay,reminderDay)
+			  .eq(ServiceProjectItem::getUserid,SecureUtil.getUserId())
+			  .eq(ServiceProjectItem::getStatus,status);
+		  Page<ServiceProjectItem> page=new Page<>(current,size);
+		  IPage<ServiceProjectItem> iPage = serviceProjectItemService.page(page, itemLambdaQueryWrapper);
+		  return R.data(iPage);
+	}
 
 
 

+ 55 - 0
blade-service/blade-project/src/main/java/org/springblade/project/controller/ProjectFilesController.java

@@ -0,0 +1,55 @@
+package org.springblade.project.controller;
+
+import lombok.AllArgsConstructor;
+import org.springblade.core.secure.utils.SecureUtil;
+import org.springblade.core.tenant.annotation.NonDS;
+import org.springblade.core.tool.api.R;
+import org.springblade.project.entity.ServiceProjectFiles;
+import org.springblade.project.service.ServiceProjectFilesService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import springfox.documentation.annotations.ApiIgnore;
+
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+
+@NonDS
+@ApiIgnore
+@RestController
+@RequestMapping("/project/files")
+@AllArgsConstructor
+public class ProjectFilesController
+{
+	@Autowired
+	private ServiceProjectFilesService filesService;
+
+	@PostMapping("save")
+    public R save(@RequestBody ServiceProjectFiles serviceProjectFiles)
+	{
+		serviceProjectFiles.setCreateTime(new Date());
+		serviceProjectFiles.setCreateUser(SecureUtil.getUserId());
+		serviceProjectFiles.setCreateUserName(SecureUtil.getUser().getRoleName());
+		filesService.save(serviceProjectFiles);
+		return R.success("保存成功");
+	}
+	@DeleteMapping("delete")
+	public R delete(@RequestParam(name = "id", required = true) Long id)
+	{
+		List<Long> ids= Arrays.asList(id);
+		filesService.deleteLogic(ids);
+		return R.success("删除成功");
+	}
+
+	@PostMapping("edit")
+	public R edit(@RequestBody ServiceProjectFiles serviceProjectFiles)
+	{
+		serviceProjectFiles.setUpdateUser(SecureUtil.getUserId());
+		serviceProjectFiles.setUpdateTime(new Date());
+		serviceProjectFiles.setUpdateUserName(SecureUtil.getUser().getRoleName());
+		filesService.updateById(serviceProjectFiles);
+		return R.success("操作成功");
+	}
+
+
+}

+ 20 - 0
blade-service/blade-project/src/main/java/org/springblade/project/mapper/ServiceProjectFilesMapper.java

@@ -0,0 +1,20 @@
+package org.springblade.project.mapper;
+
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.springblade.project.entity.ServiceProject;
+import org.springblade.project.entity.ServiceProjectFiles;
+
+/**
+ * 服务模块
+ *
+ * @author castiel
+ * @email sunlightcs@gmail.com
+ * @date 2021-10-26 13:50:49
+ */
+@Mapper
+public interface ServiceProjectFilesMapper extends BaseMapper<ServiceProjectFiles> {
+
+}

+ 21 - 0
blade-service/blade-project/src/main/java/org/springblade/project/service/ServiceProjectFilesService.java

@@ -0,0 +1,21 @@
+package org.springblade.project.service;
+
+
+
+
+import org.springblade.core.mp.base.BaseService;
+import org.springblade.project.entity.ServiceProject;
+import org.springblade.project.entity.ServiceProjectFiles;
+
+/**
+ * 服务模块
+ *
+ * @author castiel
+ * @email sunlightcs@gmail.com
+ * @date 2021-10-26 13:50:49
+ */
+public interface ServiceProjectFilesService extends BaseService<ServiceProjectFiles>
+{
+
+
+}

+ 29 - 0
blade-service/blade-project/src/main/java/org/springblade/project/service/impl/ServiceProjectFilesServiceImpl.java

@@ -0,0 +1,29 @@
+package org.springblade.project.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.core.secure.utils.SecureUtil;
+import org.springblade.project.entity.ServiceProject;
+import org.springblade.project.entity.ServiceProjectFiles;
+import org.springblade.project.entity.ServiceProjectItem;
+import org.springblade.project.mapper.ServiceProjectFilesMapper;
+import org.springblade.project.mapper.ServiceProjectItemMapper;
+import org.springblade.project.mapper.ServiceProjectMapper;
+import org.springblade.project.service.ServiceProjectFilesService;
+import org.springblade.project.service.ServiceProjectService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
+
+
+@Service
+public class ServiceProjectFilesServiceImpl extends BaseServiceImpl<ServiceProjectFilesMapper, ServiceProjectFiles> implements ServiceProjectFilesService
+{
+
+}

+ 49 - 34
blade-service/blade-project/src/main/java/org/springblade/project/service/impl/ServiceProjectServiceImpl.java

@@ -1,6 +1,8 @@
 package org.springblade.project.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import jdk.nashorn.internal.ir.CallNode;
+import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils;
 import org.springblade.core.mp.base.BaseService;
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.core.secure.utils.SecureUtil;
@@ -35,16 +37,20 @@ public class ServiceProjectServiceImpl extends BaseServiceImpl<ServiceProjectMap
 	{
 		List<ServiceProjectItem> itemList = serviceProject.getItemList();
       //新增操作,不用考虑子项问题,子项必然是新增
-      if(serviceProject.getId()<1)
+      if(serviceProject.getId()==null)
       {
 
+		  serviceProject.setCreateTime(new Date());
+		  serviceProject.setCreateUser(SecureUtil.getUserId());
+		  serviceProject.setCreateUserName(SecureUtil.getUser().getRoleName());
 		  serviceProjectMapper.insert(serviceProject);
 		  if(!CollectionUtils.isEmpty(itemList))
 		  {
 			  itemList.forEach(e->{
 			  	e.setPId(serviceProject.getId());
                 e.setCreateTime(new Date());
-                e.setUpdateUser(SecureUtil.getUserId());
+                e.setCreateUser(SecureUtil.getUserId());
+				  e.setCreateUserName(SecureUtil.getUser().getRoleName());
                 serviceProjectItemMapper.insert(e);
 			  });
 		  }
@@ -63,6 +69,30 @@ public class ServiceProjectServiceImpl extends BaseServiceImpl<ServiceProjectMap
 
 		  if(!CollectionUtils.isEmpty(itemList))
 		  {
+			  //判断新增或者修改操作
+			  itemList.forEach(ls->{
+				  //修改
+				  if(null!=ls.getId())
+				  {
+					  ls.setUpdateUser(SecureUtil.getUserId());
+					  ls.setUpdateTime(new Date());
+					  ls.setUpdateUserName(SecureUtil.getUser().getRoleName());
+					  serviceProjectItemMapper.updateById(ls);
+				  }
+				  //新增
+				  else
+				  {
+				  	  ls.setPId(serviceProject.getId());
+					  ls.setCreateTime(new Date());
+					  ls.setCreateUser(SecureUtil.getUserId());
+					  String deptId = SecureUtil.getDeptId();
+					  ls.setCreateDept(StringUtils.isNoneBlank(deptId)?Long.valueOf(deptId):-1);
+					  ls.setCreateUserName(SecureUtil.getUser().getRoleName());
+					  serviceProjectItemMapper.insert(ls);
+				  }
+			  });
+
+
 			  //查询原来的子项集合 与 传入的子项进行比较, 判断是否删除
 			  if(!CollectionUtils.isEmpty(originServiceProjectItems))
 			  {
@@ -71,41 +101,25 @@ public class ServiceProjectServiceImpl extends BaseServiceImpl<ServiceProjectMap
 				  List<Long> newIds = itemList.stream().map(ServiceProjectItem::getId).collect(Collectors.toList());
                   //id取交集,交集之外的id可以删除
 				  oringinIds.removeAll(newIds);
-				  //查询删除
-				  LambdaQueryWrapper<ServiceProjectItem> delete=new LambdaQueryWrapper<>();
-				  delete
-					  .eq(ServiceProjectItem::getPId,serviceProject.getId())
-					  .in(!CollectionUtils.isEmpty(oringinIds),ServiceProjectItem::getId,oringinIds);
-				  List<ServiceProjectItem> deleteList = serviceProjectItemMapper.selectList(delete);
-				  if(!CollectionUtils.isEmpty(deleteList))
+				  if(!CollectionUtils.isEmpty(oringinIds))
 				  {
-					  deleteList.forEach(e->{
-					  	  e.setUpdateUser(SecureUtil.getUserId());
-					  	  e.setUpdateTime(new Date());
-						  serviceProjectItemMapper.deleteById(e.getId());
-					  });
+					  //查询删除
+					  LambdaQueryWrapper<ServiceProjectItem> delete=new LambdaQueryWrapper<>();
+					  delete
+						  .eq(ServiceProjectItem::getPId,serviceProject.getId())
+						  .in(!CollectionUtils.isEmpty(oringinIds),ServiceProjectItem::getId,oringinIds);
+					  List<ServiceProjectItem> deleteList = serviceProjectItemMapper.selectList(delete);
+					  if(!CollectionUtils.isEmpty(deleteList))
+					  {
+						  deleteList.forEach(e->{
+							  e.setUpdateUser(SecureUtil.getUserId());
+							  e.setUpdateTime(new Date());
+							  e.setUpdateUserName(SecureUtil.getUser().getRoleName());
+							  serviceProjectItemMapper.deleteById(e.getId());
+						  });
+					  }
 				  }
 
-				  //判断新增或者修改操作
-				  itemList.forEach(ls->{
-				  	//修改
-				  	if(ls.getId()>0)
-				  	{
-						ls.setUpdateUser(SecureUtil.getUserId());
-						ls.setUpdateTime(new Date());
-						serviceProjectItemMapper.updateById(ls);
-					}
-				  	//新增
-				  	else
-					{
-						ls.setCreateTime(new Date());
-						ls.setCreateUser(SecureUtil.getUserId());
-						ls.setCreateDept(Long.valueOf(SecureUtil.getDeptId()));
-						serviceProjectItemMapper.insert(ls);
-					}
-				  });
-
-
 			  }
 		  }
 		  else
@@ -116,6 +130,7 @@ public class ServiceProjectServiceImpl extends BaseServiceImpl<ServiceProjectMap
 				originServiceProjectItems.forEach(it->{
 					it.setUpdateUser(SecureUtil.getUserId());
 					it.setUpdateTime(new Date());
+					it.setUpdateUserName(SecureUtil.getUser().getRoleName());
 					serviceProjectItemMapper.deleteById(it.getId());
 				});
 			}