Browse Source

项目负责人字段修改v2

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

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

Loading…
Cancel
Save