公司年度目标设置(后端)
思想:先添加年目标,再添加月目标
按主次关系添加,方便按不同的年份展示各月份
检测年目标是否存在, 按级别,目标日期(年,年-月)做唯一检查
检测年度目标与流水目标 需一致
添加
@ResponseBody
@PostMapping("/add")
public AjaxResult add(@Valid TargetMonthForm form, BindingResult bindingResult) {
checkBindParam(bindingResult);
CrmTarget target = new CrmTarget();
BeanUtils.copyProperties(form, target);
target.setType(TargetConstant.TYPE_COMPANY);
String method = module + "-添加 ";
/**
* 检测,添加年目标
* 按级别,目标日期(年,年-月)做唯一检查
*/
if (service.checkTypeAndTargetDateHasExist(target) > BaseConstant.ZERO) {
String msg = "年目标已存在";
log.info(method + msg + ",{}", target);
return error(msg);
}
if (!form.getTargetAmount().equals(form.getMonthTotal())) {
String msg = "年度目标与流水目标 需一致";
log.info(method + msg + ",{}", target);
return error(msg);
}
if (companyService.addTarget(target) == BaseConstant.ZERO) {
String msg = "添加年目标失败";
log.info(method + msg + ",{}", target);
return error(msg);
}
CrmTarget crmTarget = new CrmTarget();
crmTarget.setPid(target.getId());
crmTarget.setType(target.getType());
crmTarget.setCreateBy(target.getCreateBy());
/**
* 添加月目标
* 按级别,目标日期(年,年-月)做唯一检查
*/
int row = companyService.add12MonthByYear(crmTarget, form);
String msg = "成功添加目标个数:" + row;
log.info(method + msg + ",{}", target);
if (row > BaseConstant.ZERO) {
return successLog(module, OperationTypeEnum.INSERT, ResultEnum.INSERT_SUCCESS);
}
return errorLog(module, OperationTypeEnum.INSERT, ResultEnum.SUBMIT_ERROR);
}
更新
按前端数据格式返回数据
@ResponseBody
@PostMapping("/update")
public AjaxResult update(@Valid TargetMonthForm form, BindingResult bindingResult) {
checkBindParam(bindingResult);
CrmTarget target = new CrmTarget();
BeanUtils.copyProperties(form, target);
target.setType(TargetConstant.TYPE_COMPANY);
String method = module + "-更新 ";
/**
* 按类型,年查询目标
* 按前端数据格式返回数据
*/
if (!StringUtils.isEmpty(form.getInit()) && form.getInit() == 1) {
CrmTargetDto targetDto = new CrmTargetDto();
BeanUtils.copyProperties(target, targetDto);
List<CrmTargetVo> crmTargetVoList = companyService.selectListByMainTargetDate(targetDto);
return success(companyService.get12MonthByYear(crmTargetVoList, form.getTargetDate()));
}
/**
* 先将年加入目标
* 按级别,目标日期(年,年-月)做唯一检查
*/
if (service.checkTypeAndTargetDateHasExist(target) == BaseConstant.ZERO) {
String msg = "年目标不存在";
log.info(method + msg + ",{}", target);
return error(msg);
}
if (!form.getTargetAmount().equals(form.getMonthTotal())) {
String msg = "年度目标与流水目标 需一致";
log.info(method + msg + ",{}", target);
return error(msg);
}
if (companyService.updateTarget(target) == BaseConstant.ZERO) {
String msg = "更新年目标失败";
log.info(method + msg + ",{}", target);
return error(msg);
}
/**
* 按级别,目标日期(年,年-月)做唯一检查
*/
int row = companyService.update12MonthByYear(target, form);
String msg = "成功更新月份目标个数:" + row;
log.info(method + msg + ",{}", target);
if (row > BaseConstant.ZERO) {
return successLog(module, OperationTypeEnum.UPDATE, ResultEnum.UPDATE_SUCCESS);
}
return errorLog(module, OperationTypeEnum.UPDATE, ResultEnum.SUBMIT_ERROR);
}