Browse Source

项目负责人字段修改v2

ai_dev
gjh 4 weeks ago
parent
commit
8469776009
  1. 77
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouFieldchangehistoryServiceImpl.java

77
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouFieldchangehistoryServiceImpl.java

@ -86,7 +86,7 @@ public class HuzhouFieldchangehistoryServiceImpl extends ServiceImpl<HuzhouField
uploadfileinfoService.saveFileAndFileInfo(multipartFiles, groupid, "3"); uploadfileinfoService.saveFileAndFileInfo(multipartFiles, groupid, "3");
} }
//获取旧值 //获取旧值
String oldvalue =""; String oldValue ="";
HuzhouProjectinfo huzhouProjectinfo = new HuzhouProjectinfo(); HuzhouProjectinfo huzhouProjectinfo = new HuzhouProjectinfo();
HuzhouProjectinfo projectinfo = projectinfoMapper.selectById(projectid); HuzhouProjectinfo projectinfo = projectinfoMapper.selectById(projectid);
@ -109,14 +109,14 @@ public class HuzhouFieldchangehistoryServiceImpl extends ServiceImpl<HuzhouField
for (String s:oldstrings) { for (String s:oldstrings) {
if(s.contains(fieldValue)){ if(s.contains(fieldValue)){
//获取旧值 //获取旧值
oldvalue = s.split("=")[1]; oldValue = s.split("=")[1];
String valueName = s.split("=")[0]; String valueName = s.split("=")[0];
List<String> newstrings = HuzhouCommonUtils.extractObjectAttributes(newProjectinfo); List<String> newstrings = HuzhouCommonUtils.extractObjectAttributes(newProjectinfo);
for (String s1:newstrings) { for (String s1:newstrings) {
if(s1.contains(valueName)){ if(s1.contains(valueName)){
//在获取新值 //在获取新值
newValue = s1.split("=")[1]; newValue = s1.split("=")[1];
Double aDouble = Double.valueOf(oldvalue); Double aDouble = Double.valueOf(oldValue);
Double aDouble1 = Double.valueOf(newValue); Double aDouble1 = Double.valueOf(newValue);
// //如果两个金额一样不做记录 // //如果两个金额一样不做记录
// if(aDouble1.compareTo(aDouble)==0){ // if(aDouble1.compareTo(aDouble)==0){
@ -126,7 +126,7 @@ public class HuzhouFieldchangehistoryServiceImpl extends ServiceImpl<HuzhouField
HuzhouFieldchangehistory huzhouFieldchangehistory = new HuzhouFieldchangehistory(); HuzhouFieldchangehistory huzhouFieldchangehistory = new HuzhouFieldchangehistory();
huzhouFieldchangehistory.setId(null);//系统自动生成 huzhouFieldchangehistory.setId(null);//系统自动生成
huzhouFieldchangehistory.setNewvalue(newValue); huzhouFieldchangehistory.setNewvalue(newValue);
huzhouFieldchangehistory.setOldvalue(oldvalue); huzhouFieldchangehistory.setOldvalue(oldValue);
valueName=valueName.substring(0,1).toLowerCase()+valueName.substring(1); valueName=valueName.substring(0,1).toLowerCase()+valueName.substring(1);
huzhouFieldchangehistory.setFieldValue(valueName); huzhouFieldchangehistory.setFieldValue(valueName);
huzhouFieldchangehistory.setProjectid(projectid); huzhouFieldchangehistory.setProjectid(projectid);
@ -198,7 +198,7 @@ public class HuzhouFieldchangehistoryServiceImpl extends ServiceImpl<HuzhouField
List<String> oldstrings = HuzhouCommonUtils.extractObjectAttributes(projectinfo); List<String> oldstrings = HuzhouCommonUtils.extractObjectAttributes(projectinfo);
for (String s:oldstrings) { for (String s:oldstrings) {
if(s.contains(fieldValue.substring(0,1).toUpperCase()+fieldValue.substring(1))){ if(s.contains(fieldValue.substring(0,1).toUpperCase()+fieldValue.substring(1))){
oldvalue = s.split("=")[1]; oldValue = s.split("=")[1];
} }
} }
List<String> newstrings = HuzhouCommonUtils.extractObjectAttributes(newProjectinfo); List<String> newstrings = HuzhouCommonUtils.extractObjectAttributes(newProjectinfo);
@ -208,14 +208,27 @@ public class HuzhouFieldchangehistoryServiceImpl extends ServiceImpl<HuzhouField
} }
} }
//保存项目负责人修改记录 //保存项目负责人修改记录
HuzhouFieldchangehistory managerPhoneHistory = new HuzhouFieldchangehistory();
if("manager".equals(fieldValue)){ if("manager".equals(fieldValue)){
oldvalue=projectinfo.getManager()+"("+projectinfo.getManagerPhone()+")"; //oldvalue=projectinfo.getManager()+"("+projectinfo.getManagerPhone()+")";
newValue=newProjectinfo.getManager()+"("+newProjectinfo.getManagerPhone()+")"; //newValue=newProjectinfo.getManager()+"("+newProjectinfo.getManagerPhone()+")";
oldValue = projectinfo.getManager();
newValue = newProjectinfo.getManager();
String extraOldValue = projectinfo.getManagerPhone();
String extraNewValue = newProjectinfo.getManagerPhone();
// 多存储一个项目负责人联系方式
String extraId = UUID.randomUUID().toString().replace("-", "");
managerPhoneHistory.setId(extraId);
managerPhoneHistory.setNewvalue(extraNewValue);
managerPhoneHistory.setOldvalue(extraOldValue);
managerPhoneHistory.setFieldValue("managerPhone");
managerPhoneHistory.setProjectid(projectid);
managerPhoneHistory.setGroupId(groupid);
} }
HuzhouFieldchangehistory huzhouFieldchangehistory = new HuzhouFieldchangehistory(); HuzhouFieldchangehistory huzhouFieldchangehistory = new HuzhouFieldchangehistory();
huzhouFieldchangehistory.setId(id); huzhouFieldchangehistory.setId(id);
huzhouFieldchangehistory.setNewvalue(newValue); huzhouFieldchangehistory.setNewvalue(newValue);
huzhouFieldchangehistory.setOldvalue(oldvalue); huzhouFieldchangehistory.setOldvalue(oldValue);
huzhouFieldchangehistory.setFieldValue(fieldValue); huzhouFieldchangehistory.setFieldValue(fieldValue);
huzhouFieldchangehistory.setProjectid(projectid); huzhouFieldchangehistory.setProjectid(projectid);
huzhouFieldchangehistory.setGroupId(groupid); huzhouFieldchangehistory.setGroupId(groupid);
@ -229,6 +242,11 @@ public class HuzhouFieldchangehistoryServiceImpl extends ServiceImpl<HuzhouField
if("1".equals(isapproval)){ if("1".equals(isapproval)){
huzhouFieldchangehistory.setStatus("1"); huzhouFieldchangehistory.setStatus("1");
save(huzhouFieldchangehistory); save(huzhouFieldchangehistory);
if ("manager".equals(fieldValue)){
// 项目负责人联系方式修改属于一个流程,但是分开存储
managerPhoneHistory.setStatus("1");
save(managerPhoneHistory);
}
String superLeader = projectinfo.getSuperLeader(); String superLeader = projectinfo.getSuperLeader();
WorkFlow workFlow =new WorkFlow(); WorkFlow workFlow =new WorkFlow();
if("manager".equals(fieldValue)){ if("manager".equals(fieldValue)){
@ -264,13 +282,17 @@ public class HuzhouFieldchangehistoryServiceImpl extends ServiceImpl<HuzhouField
}else { }else {
huzhouFieldchangehistory.setStatus("2"); huzhouFieldchangehistory.setStatus("2");
save(huzhouFieldchangehistory); save(huzhouFieldchangehistory);
if ("manager".equals(fieldValue)){
managerPhoneHistory.setStatus("2");
save(managerPhoneHistory);
}
//修改项目信息变成新值 //修改项目信息变成新值
if("projectContacts".equals(fieldValue)){ if("projectContacts".equals(fieldValue)){
//newValue 是sysUser的id //newValue 是sysUser的id
SysUser sysUserByUserName = userService.getById(newValue); SysUser sysUserByUserName = userService.getById(newValue);
newProjectinfo.setPhone(sysUserByUserName.getPhoneNumber()); newProjectinfo.setPhone(sysUserByUserName.getPhoneNumber());
LambdaUpdateWrapper<HuzhouUserproject> queryWrapper2 = new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<HuzhouUserproject> queryWrapper2 = new LambdaUpdateWrapper<>();
queryWrapper2.eq(HuzhouUserproject::getProjectId,projectid).eq(HuzhouUserproject::getUserId,oldvalue); queryWrapper2.eq(HuzhouUserproject::getProjectId,projectid).eq(HuzhouUserproject::getUserId,oldValue);
queryWrapper2.set(HuzhouUserproject::getUserId,newValue); queryWrapper2.set(HuzhouUserproject::getUserId,newValue);
userprojectMapper.update(null,queryWrapper2); userprojectMapper.update(null,queryWrapper2);
} }
@ -294,20 +316,21 @@ public class HuzhouFieldchangehistoryServiceImpl extends ServiceImpl<HuzhouField
public void approvalFieldchange(MultipartFile[] file, String taskId, String flag, String fieldChangeGroupid, String comment, String isEdit, HuzhouProjectinfo newProjectinfo) throws Exception { public void approvalFieldchange(MultipartFile[] file, String taskId, String flag, String fieldChangeGroupid, String comment, String isEdit, HuzhouProjectinfo newProjectinfo) throws Exception {
WorkFlow workFlow = workflowService.approveProjectInfo(taskId, flag, comment); WorkFlow workFlow = workflowService.approveProjectInfo(taskId, flag, comment);
List<HuzhouFieldchangehistory> list = getFieldchangeByGroupid(fieldChangeGroupid); List<HuzhouFieldchangehistory> list = getFieldchangeByGroupid(fieldChangeGroupid);
if("1".equals(isEdit)&&"1".equals(flag)){ if ("1".equals(isEdit) && "1".equals(flag)) {
if(file!=null&&"1".equals(flag)){ if (file != null && "1".equals(flag)) {
uploadfileinfoService.modifyUploadFile(file,fieldChangeGroupid,"3"); uploadfileinfoService.modifyUploadFile(file, fieldChangeGroupid, "3");
} }
for (HuzhouFieldchangehistory oldchange:list for (HuzhouFieldchangehistory oldchange : list
) { ) {
String fieldValue = oldchange.getFieldValue(); String fieldValue = oldchange.getFieldValue();
List<String> strings = HuzhouCommonUtils.extractObjectAttributes(newProjectinfo); List<String> strings = HuzhouCommonUtils.extractObjectAttributes(newProjectinfo);
for (String s:strings) { for (String s : strings) {
if(s.contains(fieldValue.substring(0,1).toUpperCase()+fieldValue.substring(1))){ if (s.split("=")[0].equals(fieldValue.substring(0, 1).toUpperCase() + fieldValue.substring(1))) {
String newValue = s.split("=")[1]; String newValue = s.split("=")[1];
oldchange.setNewvalue(newValue); oldchange.setNewvalue(newValue);
updateById(oldchange); updateById(oldchange);
} }
} }
} }
} }
@ -327,19 +350,13 @@ public class HuzhouFieldchangehistoryServiceImpl extends ServiceImpl<HuzhouField
newProjectinfo.setPhone(sysUserByUserName.getPhoneNumber()); newProjectinfo.setPhone(sysUserByUserName.getPhoneNumber());
} }
if ("manager".equals(fieldValue)) { if ("manager".equals(fieldValue)) {
String managerInfo = newProjectinfo.getManager(); String newManager = newProjectinfo.getManager();
int start = managerInfo.indexOf('('); String newManagerPhone = newProjectinfo.getManagerPhone();
int end = managerInfo.lastIndexOf(')'); LambdaUpdateWrapper<ProjectManager> updateWrapper = new LambdaUpdateWrapper<>();
if (start != -1 && end != -1) { updateWrapper.eq(ProjectManager::getProjectName, projectManagerService.getProjectManagerInfo(projectid).getProjectName());
// 提取联系人和联系方式 updateWrapper.set(ProjectManager::getManager, newManager);
String newManager = managerInfo.substring(0, start).trim(); updateWrapper.set(ProjectManager::getPhone, newManagerPhone);
String newManagerPhone = managerInfo.substring(start + 1, end).trim(); projectManagerService.update(updateWrapper);
LambdaUpdateWrapper<ProjectManager> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(ProjectManager::getProjectName, projectManagerService.getProjectManagerInfo(projectid).getProjectName());
updateWrapper.set(ProjectManager::getManager, newManager);
updateWrapper.set(ProjectManager::getPhone, newManagerPhone);
projectManagerService.update(updateWrapper);
}
} }
newProjectinfo.setId(projectid); newProjectinfo.setId(projectid);
projectinfoMapper.updateById(newProjectinfo); projectinfoMapper.updateById(newProjectinfo);

Loading…
Cancel
Save