个人周报填报增加父亲id、周数字段,修改add方法判断父亲是否存在并创建
This commit is contained in:
parent
a0e27bb63a
commit
f5f551a7d8
@ -38,6 +38,7 @@ public class ProjectInitListener implements ExecutionListener {
|
||||
ISystemUserLoginService systemUserLoginService;
|
||||
@Autowired
|
||||
ProjectQuarterlyEvaluationService projectQuarterlyEvaluationService;
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void notify(DelegateExecution execution) throws Exception {
|
||||
@ -54,52 +55,52 @@ public class ProjectInitListener implements ExecutionListener {
|
||||
|
||||
//研究开发类/自主研发类没有填报直接结项
|
||||
String openRange = String.valueOf(ext.get("openRange"));
|
||||
if("3".equals(openRange) || "7".equals(openRange)){
|
||||
if ("3".equals(openRange) || "7".equals(openRange)) {
|
||||
return;
|
||||
}
|
||||
|
||||
//根据部门批量添加部门周报填报
|
||||
JSONArray depts = (JSONArray) ext.get("executeDepts");
|
||||
// JSONArray depts = (JSONArray) ext.get("executeDepts");
|
||||
ArrayList<ProjectWeekly> weeklyArrayList = new ArrayList<>();
|
||||
if (!ObjectUtils.isEmpty(depts)) {
|
||||
depts.forEach(a -> {
|
||||
ProjectWeekly projectWeekly = new ProjectWeekly();
|
||||
projectWeekly.setProjectId(String.valueOf(projectInfo.getId()));
|
||||
projectWeekly.setWeeklyType("1");
|
||||
projectWeekly.setCreatedAt(new Timestamp(System.currentTimeMillis()));
|
||||
projectWeekly.setDeptId(a.toString());
|
||||
weeklyArrayList.add(projectWeekly);
|
||||
});
|
||||
// if (!ObjectUtils.isEmpty(depts)) {
|
||||
// depts.forEach(a -> {
|
||||
// ProjectWeekly projectWeekly = new ProjectWeekly();
|
||||
// projectWeekly.setProjectId(String.valueOf(projectInfo.getId()));
|
||||
// projectWeekly.setWeeklyType("1");
|
||||
// projectWeekly.setCreatedAt(new Timestamp(System.currentTimeMillis()));
|
||||
// projectWeekly.setDeptId(a.toString());
|
||||
// weeklyArrayList.add(projectWeekly);
|
||||
// });
|
||||
|
||||
//添加项目专员/负责人假数据,方便周报填报页面查看所有(暂时)
|
||||
String draftManId = String.valueOf(ext.get("draftManId"));
|
||||
JSONArray projectManagerData = (JSONArray) ext.get("projectManagerData");
|
||||
String projectManager = String.valueOf(projectManagerData.get(1));
|
||||
ArrayList<String> list = new ArrayList<>();
|
||||
list.add(draftManId);
|
||||
if(!draftManId.equals(projectManager))list.add(projectManager);//避免角色是同一个人重复
|
||||
list.forEach(a -> {
|
||||
ProjectWeekly projectWeekly = new ProjectWeekly();
|
||||
projectWeekly.setProjectId(String.valueOf(projectInfo.getId()));
|
||||
projectWeekly.setWeeklyType("1");
|
||||
projectWeekly.setDeptId("");
|
||||
projectWeekly.setCreatedAt(new Timestamp(System.currentTimeMillis()));
|
||||
projectWeekly.setIsDeleted("1");
|
||||
projectWeekly.setUserId(a);
|
||||
projectWeekly.setCreatedBy(a);
|
||||
weeklyArrayList.add(projectWeekly);
|
||||
});
|
||||
projectWeeklyService.insertBatch(weeklyArrayList);
|
||||
//添加项目专员/负责人假数据,方便周报填报页面查看所有(暂时)
|
||||
String draftManId = String.valueOf(ext.get("draftManId"));
|
||||
JSONArray projectManagerData = (JSONArray) ext.get("projectManagerData");
|
||||
String projectManager = String.valueOf(projectManagerData.get(1));
|
||||
ArrayList<String> list = new ArrayList<>();
|
||||
list.add(draftManId);
|
||||
if (!draftManId.equals(projectManager)) list.add(projectManager);//避免角色是同一个人重复
|
||||
list.forEach(a -> {
|
||||
ProjectWeekly projectWeekly = new ProjectWeekly();
|
||||
projectWeekly.setProjectId(String.valueOf(projectInfo.getId()));
|
||||
projectWeekly.setWeeklyType("1");
|
||||
projectWeekly.setDeptId("");
|
||||
projectWeekly.setCreatedAt(new Timestamp(System.currentTimeMillis()));
|
||||
projectWeekly.setIsDeleted("1");
|
||||
projectWeekly.setUserId(a);
|
||||
projectWeekly.setCreatedBy(a);
|
||||
weeklyArrayList.add(projectWeekly);
|
||||
});
|
||||
projectWeeklyService.insertBatch(weeklyArrayList);
|
||||
|
||||
//添加季度审核数据
|
||||
ProjectQuarterlyEvaluation quarterlyEvaluation = new ProjectQuarterlyEvaluation();
|
||||
quarterlyEvaluation.setCreatedBy(projectManager);
|
||||
quarterlyEvaluation.setCreatedAt(new Timestamp(System.currentTimeMillis()));
|
||||
quarterlyEvaluation.setProjectId(String.valueOf(projectInfo.getId()));
|
||||
projectQuarterlyEvaluationService.insert(quarterlyEvaluation);
|
||||
}
|
||||
//添加季度审核数据
|
||||
ProjectQuarterlyEvaluation quarterlyEvaluation = new ProjectQuarterlyEvaluation();
|
||||
quarterlyEvaluation.setCreatedBy(projectManager);
|
||||
quarterlyEvaluation.setCreatedAt(new Timestamp(System.currentTimeMillis()));
|
||||
quarterlyEvaluation.setProjectId(String.valueOf(projectInfo.getId()));
|
||||
projectQuarterlyEvaluationService.insert(quarterlyEvaluation);
|
||||
}
|
||||
}
|
||||
// }
|
||||
} catch (Exception e) {
|
||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||
log.error("ProjectInitListener.notify", e);
|
||||
|
@ -21,6 +21,8 @@ import com.xqopen.kehui.project.service.IProjectWeeklyService;
|
||||
import com.xqopen.kehui.util.ApiResponse;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
||||
import org.springframework.util.ObjectUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
@ -48,6 +50,7 @@ public class ProjectWeeklyController implements ProjectWeeklyApi {
|
||||
*/
|
||||
@Override
|
||||
@PostMapping(Api.PROJECT_WEEKLY_ADD)
|
||||
@Transactional
|
||||
public String add(@RequestHeader("userId") Long userId, @RequestBody ProjectWeeklyAddReq projectWeeklyAddReq) throws XQException {
|
||||
try {
|
||||
if (!ObjectUtils.isEmpty(projectWeeklyAddReq)) {
|
||||
@ -59,14 +62,32 @@ public class ProjectWeeklyController implements ProjectWeeklyApi {
|
||||
if (ObjectUtils.isEmpty(project)) return ApiResponse.fillFail("你输入的项目编号/名称不存在!");
|
||||
projectWeekly.setProjectId(String.valueOf(project.getId()));
|
||||
|
||||
// 用是否带id过来判断是编辑还是新增
|
||||
//用是否带id过来判断是编辑还是新增
|
||||
if (!StringUtils.isEmpty(projectWeekly.getId())) {
|
||||
projectWeekly.setUpdatedBy(String.valueOf(userId));
|
||||
projectWeekly.setUpdatedAt(new Timestamp(System.currentTimeMillis()));
|
||||
projectWeekly.setProjectId(String.valueOf(project.getId()));
|
||||
if (projectWeeklyService.updateById(projectWeekly)) return ApiResponse.fillSuccess("保存成功!");
|
||||
}
|
||||
|
||||
//新增个人周报填报时,判断相应的部门周报是否存在,否则添加
|
||||
EntityWrapper<ProjectWeekly> weeklyEntityWrapper = new EntityWrapper<>();
|
||||
weeklyEntityWrapper.eq("is_deleted", "0");
|
||||
weeklyEntityWrapper.eq("week", projectWeekly.getWeek());
|
||||
weeklyEntityWrapper.eq("weekly_type", "1");
|
||||
weeklyEntityWrapper.eq("dept_id", projectWeekly.getDeptId());
|
||||
weeklyEntityWrapper.eq("project_id", projectWeekly.getProjectId());
|
||||
ProjectWeekly weekly = projectWeeklyService.selectOne(weeklyEntityWrapper);
|
||||
if (ObjectUtils.isEmpty(weekly)) {
|
||||
weekly = new ProjectWeekly();
|
||||
weekly.setWeeklyType("1");
|
||||
weekly.setWeek(projectWeekly.getWeek());
|
||||
weekly.setProjectId(projectWeekly.getProjectId());
|
||||
weekly.setDeptId(projectWeekly.getDeptId());
|
||||
weekly.setCreatedAt(new Timestamp(System.currentTimeMillis()));
|
||||
projectWeeklyService.insert(weekly);
|
||||
|
||||
projectWeekly.setParentId(weekly.getId());
|
||||
}
|
||||
//将人事id转为账号id
|
||||
EntityWrapper<SystemUserLogin> userLoginEntityWrapper = new EntityWrapper<>();
|
||||
userLoginEntityWrapper.eq("userinfo_id", Long.parseLong(projectWeekly.getUserId()));
|
||||
@ -79,6 +100,8 @@ public class ProjectWeeklyController implements ProjectWeeklyApi {
|
||||
return ApiResponse.fillFail("操作失败");
|
||||
} catch (Exception e) {
|
||||
log.error("ProjectWeeklyController.add", e);
|
||||
//批量新增出现异常被捕获时,手动回滚事务,保证数据库一致
|
||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||
throw new XQException(ErrorCode.PROJECTINFO_EXCEPTION_ERROR, null);
|
||||
}
|
||||
}
|
||||
@ -99,7 +122,7 @@ public class ProjectWeeklyController implements ProjectWeeklyApi {
|
||||
String projectName = ext.get("projectName").toString();
|
||||
if (!StringUtils.isEmpty(projectNo)) wrapper.eq("project_no", projectNo);
|
||||
if (!StringUtils.isEmpty(projectName)) wrapper.eq("project_name", projectName);
|
||||
wrapper.eq("is_deleted",false);
|
||||
wrapper.eq("is_deleted", false);
|
||||
wrapper.eq("project_category", "init");
|
||||
return projectInfoService.selectOne(wrapper);
|
||||
}
|
||||
@ -123,28 +146,32 @@ public class ProjectWeeklyController implements ProjectWeeklyApi {
|
||||
projectWeekly.setIsDeleted("0");
|
||||
projectWeekly.setUserId(String.valueOf(userId));
|
||||
projectWeekly.setWeeklyType("0");
|
||||
if(!StringUtils.isEmpty(projectWeeklyFindReq.getId()!=null))projectWeekly.setId(projectWeeklyFindReq.getId());
|
||||
if(!StringUtils.isEmpty(projectWeeklyFindReq.getDeptId()!=null))projectWeekly.setDeptId(projectWeeklyFindReq.getDeptId());
|
||||
if (!StringUtils.isEmpty(projectWeeklyFindReq.getId() != null))
|
||||
projectWeekly.setId(projectWeeklyFindReq.getId());
|
||||
if (!StringUtils.isEmpty(projectWeeklyFindReq.getDeptId() != null))
|
||||
projectWeekly.setDeptId(projectWeeklyFindReq.getDeptId());
|
||||
List<ProjectWeeklyDto> list = projectWeeklyService.getList(page, projectWeekly);
|
||||
|
||||
//判断当前账号是否是项目专员/负责人
|
||||
//因为json里面存的是人事id,通过账号找不到,先把账号id转为人事id
|
||||
EntityWrapper<SystemUserLogin> userLoginEntityWrapper = new EntityWrapper<>();
|
||||
userLoginEntityWrapper.eq("id_",userId);
|
||||
userLoginEntityWrapper.eq("id_", userId);
|
||||
SystemUserLogin systemUserLogin = systemUserLoginService.selectOne(userLoginEntityWrapper);
|
||||
EntityWrapper<ProjectWeekly> weeklyEntityWrapper = new EntityWrapper<>();
|
||||
weeklyEntityWrapper.eq("user_id",String.valueOf(systemUserLogin.getUserinfoId()));
|
||||
weeklyEntityWrapper.eq("weekly_type","1");
|
||||
weeklyEntityWrapper.eq("dept_id","");
|
||||
weeklyEntityWrapper.eq("is_deleted","1");
|
||||
weeklyEntityWrapper.eq("user_id", String.valueOf(systemUserLogin.getUserinfoId()));
|
||||
weeklyEntityWrapper.eq("weekly_type", "1");
|
||||
weeklyEntityWrapper.eq("dept_id", "");
|
||||
weeklyEntityWrapper.eq("is_deleted", "1");
|
||||
ProjectWeekly weekly = projectWeeklyService.selectOne(weeklyEntityWrapper);
|
||||
if (!ObjectUtils.isEmpty(weekly)) {//如果查到确实是项目专员/负责人,通过项目ID拿到所有人的专项填报
|
||||
ProjectWeekly projectWeekly1 = new ProjectWeekly();
|
||||
projectWeekly1.setIsDeleted("0");
|
||||
projectWeekly1.setWeeklyType("0");
|
||||
projectWeekly1.setProjectId(weekly.getProjectId());
|
||||
if(!StringUtils.isEmpty(projectWeeklyFindReq.getId()!=null))projectWeekly1.setId(projectWeeklyFindReq.getId());
|
||||
if(!StringUtils.isEmpty(projectWeeklyFindReq.getDeptId()!=null))projectWeekly.setDeptId(projectWeeklyFindReq.getDeptId());
|
||||
if (!StringUtils.isEmpty(projectWeeklyFindReq.getId() != null))
|
||||
projectWeekly1.setId(projectWeeklyFindReq.getId());
|
||||
if (!StringUtils.isEmpty(projectWeeklyFindReq.getDeptId() != null))
|
||||
projectWeekly.setDeptId(projectWeeklyFindReq.getDeptId());
|
||||
list.addAll(projectWeeklyService.getList(page, projectWeekly1));
|
||||
}
|
||||
|
||||
|
@ -41,7 +41,8 @@ public class ProjectWeekly extends Model<ProjectWeekly> {
|
||||
private java.sql.Timestamp updatedAt ;
|
||||
@TableField("ext_")
|
||||
private JSONObject ext;
|
||||
|
||||
private String parentId;
|
||||
private String week;
|
||||
@Override
|
||||
protected Serializable pkVal() {
|
||||
return null;
|
||||
|
Loading…
x
Reference in New Issue
Block a user