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

事务管理--最终修改bug提交-3

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

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

@@ -13,6 +13,7 @@ import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 
 /**
@@ -107,5 +108,7 @@ public class ServiceProject extends TenantEntity implements Serializable {
 	private Boolean allowDelete=true;
     //结算备注
 	private String settlementRemark;
+	@TableField(exist = false)
+	private List<Map<String,Object>> corpName;
 
 }

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

@@ -114,6 +114,10 @@ public class ServiceProjectItem extends TenantEntity implements Serializable {
 	@TableField(exist = false)
 	private String userName;
 
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date payTime;
+
 
 
 }

+ 16 - 4
blade-service/blade-project/src/main/java/org/springblade/project/controller/ProjectController.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import lombok.AllArgsConstructor;
 import org.apache.commons.lang.StringUtils;
+import org.springblade.client.feign.ICorpsDescClient;
 import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tenant.annotation.NonDS;
@@ -23,7 +24,9 @@ import org.springframework.web.bind.annotation.*;
 import springfox.documentation.annotations.ApiIgnore;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import java.util.Arrays;
+import java.util.Date;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 @NonDS
@@ -40,6 +43,9 @@ public class ProjectController {
 	private ServiceProjectFilesService serviceProjectFilesService;
     @Autowired
 	private IUserClient userClient;
+    @Autowired
+	private ICorpsDescClient corpsDescClient;//获取客户信息
+
 	@GetMapping("/list")
 	public R<IPage<?>> list(@RequestParam(name = "current", defaultValue = "1") Integer current,
 							@RequestParam(name = "size", defaultValue = "10") Integer size,
@@ -65,10 +71,10 @@ public class ProjectController {
 		IPage<ServiceProject> iPage = serviceProjectService.page(page, serviceProjectLambdaQueryWrapper);
 		List<ServiceProject> records = iPage.getRecords();
 		//检查是否可以删除主表,没有字表信息 或者 字表status全部为0 就可以删除
-		LambdaQueryWrapper<ServiceProjectItem> lambdaQueryWrapper=new LambdaQueryWrapper<>();
 		if(flag==0)
 		{
 			records.forEach(k->{
+				LambdaQueryWrapper<ServiceProjectItem> lambdaQueryWrapper=new LambdaQueryWrapper<>();
 				lambdaQueryWrapper
 					.eq(ServiceProjectItem::getIsDeleted,0)
 					.eq(ServiceProjectItem::getPId,k.getId())
@@ -85,7 +91,7 @@ public class ProjectController {
 		if(flag==1)
 		{
 			records.forEach(e->{
-
+				LambdaQueryWrapper<ServiceProjectItem> lambdaQueryWrapper=new LambdaQueryWrapper<>();
 				lambdaQueryWrapper
 					.ge(ServiceProjectItem::getStatus,2)
 					.eq(ServiceProjectItem::getIsDeleted,0)
@@ -125,7 +131,12 @@ public class ProjectController {
 		LambdaQueryWrapper<ServiceProjectItem> itemServiceLambdaQueryWrapper=new LambdaQueryWrapper<>();
 		itemServiceLambdaQueryWrapper.in(ServiceProjectItem::getStatus,status).eq(ServiceProjectItem::getPId,id).eq(ServiceProjectItem::getIsDeleted,0);
 		List<ServiceProjectItem> serviceProjectItems = serviceProjectItemService.list(itemServiceLambdaQueryWrapper);
-
+		if (serviceProject.getCorpId() != null){
+			R<List<Map<String,Object>>> corpMessage = corpsDescClient.getCorpsMessage(serviceProject.getCorpId().toString());
+			if (corpMessage.isSuccess() && corpMessage.getData() != null){
+				serviceProject.setCorpName(corpMessage.getData());
+			}
+		}
 		LambdaQueryWrapper<ServiceProjectFiles> filesLambdaQueryWrapper=new LambdaQueryWrapper<>();
 		filesLambdaQueryWrapper.eq(ServiceProjectFiles::getPId,id).eq(ServiceProjectFiles::getIsDeleted,0);
 		List<ServiceProjectFiles> filesList = serviceProjectFilesService.list(filesLambdaQueryWrapper);
@@ -157,10 +168,11 @@ public class ProjectController {
 		          ,@RequestParam(name = "status", required = true) int status
 		          ,@RequestParam(name = "accountName", required = false) String accountName
 		          ,@RequestParam(name = "accountBank", required = false) String accountBank
+		          ,@RequestParam(name = "payTime", required = false) Date payTime
 		          ,@RequestParam(name = "accountNo", required = false) String accountNo
 	               )
 	{
-		    serviceProjectService.updateItemStatus(itemId,status,accountName,accountBank, accountNo);
+		    serviceProjectService.updateItemStatus(itemId,status,accountName,accountBank, accountNo,payTime);
 			return R.success("操作完成");
 	}
 

+ 3 - 1
blade-service/blade-project/src/main/java/org/springblade/project/service/ServiceProjectService.java

@@ -9,6 +9,8 @@ import org.springblade.core.tool.api.R;
 import org.springblade.project.entity.ServiceProject;
 import org.springblade.project.entity.ServiceProjectItem;
 
+import javax.xml.crypto.Data;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -25,6 +27,6 @@ public interface ServiceProjectService extends BaseService<ServiceProject>
 
     R getSysNo();
 
-    void updateItemStatus(Long itemId,int status,String accountName,String accountBank,String accountNo);
+    void updateItemStatus(Long itemId, int status, String accountName, String accountBank, String accountNo, Date payTime);
 
 }

+ 33 - 29
blade-service/blade-project/src/main/java/org/springblade/project/service/impl/ServiceProjectServiceImpl.java

@@ -125,27 +125,31 @@ public class ServiceProjectServiceImpl extends BaseServiceImpl<ServiceProjectMap
 			  });
 
 			  //判断文件列表新增或者修改操作
-			  filesList.forEach(ls->{
-				  //修改
-				  if(null!=ls.getId())
-				  {
-					  ls.setUpdateUser(SecureUtil.getUserId());
-					  ls.setUpdateTime(new Date());
-					  ls.setUpdateUserName(SecureUtil.getUser().getRoleName());
-					  serviceProjectFilesMapper.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());
-					  serviceProjectFilesMapper.insert(ls);
-				  }
-			  });
+			  if(!CollectionUtils.isEmpty(filesList))
+			  {
+				  filesList.forEach(ls->{
+					  //修改
+					  if(null!=ls.getId())
+					  {
+						  ls.setUpdateUser(SecureUtil.getUserId());
+						  ls.setUpdateTime(new Date());
+						  ls.setUpdateUserName(SecureUtil.getUser().getRoleName());
+						  serviceProjectFilesMapper.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());
+						  serviceProjectFilesMapper.insert(ls);
+					  }
+				  });
+			  }
+
 
 
 			  //查询原来的子项集合 与 传入的子项进行比较, 判断是否删除
@@ -213,12 +217,15 @@ public class ServiceProjectServiceImpl extends BaseServiceImpl<ServiceProjectMap
 	}
 
 	@Override
-	public void updateItemStatus(Long itemId, int status,String accountName,String accountBank,String accountNo)
+	@Transactional
+	public void updateItemStatus(Long itemId, int status,String accountName,String accountBank,String accountNo,Date payTime)
 	{
 		ServiceProjectItem serviceProjectItem = serviceProjectItemMapper.selectById(itemId);
 		serviceProjectItem.setAccountBank(accountBank);
 		serviceProjectItem.setAccountName(accountName);
 		serviceProjectItem.setAccountNo(accountNo);
+		serviceProjectItem.setUpdateTime(new Date());
+		serviceProjectItem.setUpdateUser(SecureUtil.getUserId());
 		if(serviceProjectItem==null)
 		{
 			throw new RuntimeException("请确认传入id正确");
@@ -237,6 +244,7 @@ public class ServiceProjectServiceImpl extends BaseServiceImpl<ServiceProjectMap
 		//明细已结算之后, 修改主表的已收款项 和 未收款项
 		else if(status==5)
 		{
+			serviceProjectItem.setPayTime(payTime);
 
 			ServiceProject targetServiceProject = serviceProjectMapper.selectById(serviceProjectItem.getPId());
 			//主表已收款项增加
@@ -263,20 +271,16 @@ public class ServiceProjectServiceImpl extends BaseServiceImpl<ServiceProjectMap
 			targetServiceProject.setUpdateUserName(SecureUtil.getUser().getRoleName());
 			serviceProjectMapper.updateById(targetServiceProject);
 		}
-		ServiceProjectItem updateModel=new ServiceProjectItem();
-		updateModel.setId(itemId);
-		updateModel.setUpdateTime(new Date());
-		updateModel.setUpdateUser(SecureUtil.getUserId());
 		//status=6代表撤回, item状态回到4
 		if(status==6)
 		{
-			updateModel.setStatus(4);
+			serviceProjectItem.setStatus(4);
 		}
 		else
 		{
-			updateModel.setStatus(status);
+			serviceProjectItem.setStatus(status);
 		}
-		serviceProjectItemMapper.updateById(updateModel);
+		serviceProjectItemMapper.updateById(serviceProjectItem);
 
 	}