Commit 62616331 authored by neo.wang's avatar neo.wang

Merge branch 'dev_oracle_neo' into 'dev_oracle'

[dev] approval with db logic impl

See merge request root/atms!147
parents d07c0dbc 1465c69e
......@@ -26,6 +26,10 @@ public class MyAsserts {
if (obj == null || obj.isEmpty()) throw exception;
}
public static void assertEmpty(String obj, ApiException exception) {
if (obj != null && !obj.isEmpty()) throw exception;
}
public static void assertNotEmpty(String obj, FormulaException exception) {
if (obj == null || obj.isEmpty()) throw exception;
}
......@@ -33,4 +37,8 @@ public class MyAsserts {
public static void assertNotEmpty(Collection obj, ApiException exception) {
if (obj == null || obj.isEmpty()) throw exception;
}
public static void assertEmpty(Collection obj, ApiException exception) {
if (obj != null && !obj.isEmpty()) throw exception;
}
}
......@@ -58,6 +58,13 @@ public final class Constant {
public static final String OUTPUT_KPZT_NO="0";
public static final String OUTPUT_KPZT_YES="2";
public static final String APPROVAL_COMMITTED="committed";
public static final String APPROVAL_AGREED="agreed";
public static final String APPROVAL_DISAGREED="disagreed";
public static final String ASSIGNEE_MANAGER="manager";
public static final String ASSIGNEE_ACCOUNTANT="accountant";
public static class DataSourceName {
public static final String KeyValueDataSource = "KeyValueDataSource";
public static final String InputInvoiceDataSource = "IncomeDataSource";
......
......@@ -11,8 +11,11 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import pwc.taxtech.atms.common.util.MyAsserts;
import pwc.taxtech.atms.dto.approval.ApprovalDto;
import pwc.taxtech.atms.dto.approval.ApprovalTask;
import pwc.taxtech.atms.exception.Exceptions;
import pwc.taxtech.atms.vat.service.impl.ApprovalService;
import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
......@@ -30,8 +33,11 @@ public class ApprovalController {
@Autowired
TaskService taskService;
@Autowired
ApprovalService approvalService;
@Autowired
RepositoryService repositoryService;
@ResponseBody
@RequestMapping(value = "/deploy", method = RequestMethod.POST)
public ResponseEntity deploy() {
......@@ -42,47 +48,24 @@ public class ApprovalController {
@ResponseBody
@RequestMapping(value = "/commit", method = RequestMethod.POST)
public ApprovalDto approval(@RequestBody ApprovalDto dto) {
ProcessInstance pi = runtimeService.startProcessInstanceByKey("approvalProcess");
dto.setInstaceId(pi.getId());
mocoInsert(dto);
MyAsserts.assertNotEmpty(dto.getProjectId(), Exceptions.EMPTY_PROJECT_PARAM);
MyAsserts.assertNotEmpty(dto.getPeriodDate(), Exceptions.EMPTY_PRIODDATE_PARAM);
approvalService.startInstanceAndAssignee(dto);
return dto;
}
@ResponseBody
@RequestMapping(value = "/tasks/{assignee}")
public List<ApprovalTask> data(@PathVariable String assignee) {
List<Task> tasks = taskService.createTaskQuery().taskAssignee(assignee).list();
List<ApprovalTask> list = new ArrayList<>();
for (Task task : tasks) {
ApprovalTask t = new ApprovalTask();
list.add(t.copyfrom(task));
}
return list;
public List<ApprovalTask> data(@PathVariable String assignee) {//accountant manager
return approvalService.getTask(assignee);
}
@ResponseBody
@RequestMapping(value = "/check/{taskId}")
public String check(@PathVariable String taskId, @RequestParam(required = false) Integer committed,
@RequestParam(required = false) Integer decide) {
Map<String, Object> map = new HashMap<>();
if (committed != null && (committed == 0 || committed == 1)) {
map.put("committed", committed);
taskService.complete(taskId, map);
if (committed == 1) mocoHasCommittedAndOver();
} else if (decide != null && (decide == 0 || decide == 1)) {
map.put("decide", decide);
taskService.complete(taskId, map);
if (decide == 1) mocoAggreAndOver();
else mocoDisAggreAndOver();
}
return taskId;
public void check(@PathVariable String taskId, @RequestParam String decide) {//only for manager role
approvalService.checkTask(taskId, decide);
}
private void mocoHasCommitted() {
}
@RequestMapping(value = "/show/{procDefId}")//获取流程图
public void showImg(@PathVariable String procDefId, HttpServletResponse response) {
try {
......
......@@ -9,7 +9,7 @@ public class ApprovalDto {
private String projectId;
private Long reportId;
private String periodDate;
private String instaceId;
private String instanceId;
private String status;//committed,agreed,disagreed
@Override
......@@ -18,8 +18,16 @@ public class ApprovalDto {
"projectId='" + projectId + '\'' +
", reportId=" + reportId +
", period=" + periodDate +
", instaceId='" + instaceId + '\'' +
", instaceId='" + instanceId + '\'' +
", status='" + status + '\'' +
'}';
}
public Integer getPeriod() {
return Integer.parseInt(periodDate.split(".")[1]);
}
public Integer getYear(){
return Integer.parseInt(periodDate.split(".")[0]);
}
}
package pwc.taxtech.atms.exception;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
public class AlreadyExistsException extends ApiException {
public AlreadyExistsException() {
super();
}
public AlreadyExistsException(String message) {
super(message);
}
public AlreadyExistsException(String message, Throwable cause) {
super(message, cause);
}
public AlreadyExistsException(Throwable cause) {
super(cause);
}
@Override
public <Object> ResponseEntity handle() {
return ResponseEntity.status(HttpStatus.CONFLICT).build();
}
}
......@@ -3,6 +3,18 @@ package pwc.taxtech.atms.exception;
import org.springframework.http.ResponseEntity;
public class BadParameterException extends ApiException {
public BadParameterException(String message) {
super(message);
}
public BadParameterException(String message, Throwable cause) {
super(message, cause);
}
public BadParameterException(Throwable cause) {
super(cause);
}
@Override
public <Object> ResponseEntity handle() {
return ResponseEntity.badRequest().build();
......
......@@ -7,4 +7,8 @@ public class Exceptions {
public static final FormulaException BB_CELL_DATA_EMPTY = new FormulaException("cell data is empty");
public static final FormulaException PROJECT_EMPTY = new FormulaException("project is empty");
public static final FormulaException BAD_BBVO_PARAMS = new FormulaException("bad params for bb fromular express data");
}
public static final ApiException EMPTY_PROJECT_PARAM = new BadParameterException("project is empty");
public static final ApiException EMPTY_PRIODDATE_PARAM = new BadParameterException("period data is empty");
public static final ApiException NOT_FOUND_REPORT_EXCEPTION = new NotFoundException("not found report");
public static final ApiException REPORT_HAS_COMMIT_EXCEPTION = new AlreadyExistsException("report approval has commit");
}
......@@ -3,6 +3,22 @@ package pwc.taxtech.atms.exception;
import org.springframework.http.ResponseEntity;
public class NotFoundException extends ApiException {
public NotFoundException() {
super();
}
public NotFoundException(String message) {
super(message);
}
public NotFoundException(String message, Throwable cause) {
super(message, cause);
}
public NotFoundException(Throwable cause) {
super(cause);
}
@Override
public <Object> ResponseEntity handle() {
return ResponseEntity.notFound().build();
......
package pwc.taxtech.atms.vat.service.impl;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Attachment;
import org.activiti.engine.task.Task;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import pwc.taxtech.atms.common.util.MyAsserts;
import pwc.taxtech.atms.constant.Constant;
import pwc.taxtech.atms.dto.approval.ApprovalDto;
import pwc.taxtech.atms.dto.approval.ApprovalTask;
import pwc.taxtech.atms.exception.BadParameterException;
import pwc.taxtech.atms.exception.Exceptions;
import pwc.taxtech.atms.vat.dao.PeriodApproveMapper;
import pwc.taxtech.atms.vat.dao.PeriodReportMapper;
import pwc.taxtech.atms.vat.entity.PeriodApprove;
import pwc.taxtech.atms.vat.entity.PeriodApproveExample;
import pwc.taxtech.atms.vat.entity.PeriodReport;
import pwc.taxtech.atms.vat.entity.PeriodReportExample;
import java.util.*;
public class ApprovalService {
private static Logger logger = LoggerFactory.getLogger(ApprovalService.class);
@Autowired
RuntimeService runtimeService;
@Autowired
TaskService taskService;
@Autowired
PeriodApproveMapper periodApproveMapper;
@Autowired
PeriodReportMapper reportMapper;
public void startInstanceAndAssignee(ApprovalDto dto) {
PeriodReportExample pre = new PeriodReportExample();
pre.createCriteria().andProjectIdEqualTo(dto.getProjectId()).andPeriodEqualTo(dto.getPeriod());
List<PeriodReport> currentReports = reportMapper.selectByExample(pre);
MyAsserts.assertNotEmpty(currentReports, Exceptions.NOT_FOUND_REPORT_EXCEPTION);
PeriodApprove pa = new PeriodApprove();
pa.setId(UUID.randomUUID().toString());
pa.setPeriod(dto.getPeriod());
pa.setYear(dto.getYear());
StringBuilder reportIds = new StringBuilder("");
StringBuilder reportTemplateIds = new StringBuilder("");
currentReports.forEach(m -> {
reportIds.append(m.getId()).append(",");
reportTemplateIds.append(m.getTemplateId()).append(",");
});
PeriodApproveExample pae = new PeriodApproveExample();
pae.createCriteria().andProjectIdEqualTo(dto.getProjectId()).andPeriodEqualTo(dto.getPeriod())
.andYearEqualTo(dto.getYear()).andReportIdsEqualTo(reportIds.toString())
.andTemplateIdsEqualTo(reportTemplateIds.toString()).andStatusEqualTo(Constant.APPROVAL_COMMITTED);
List<PeriodApprove> pas = periodApproveMapper.selectByExample(pae);
MyAsserts.assertEmpty(pas, Exceptions.REPORT_HAS_COMMIT_EXCEPTION);
ProcessInstance pi = runtimeService.startProcessInstanceByKey("approvalProcess");
dto.setInstanceId(pi.getId());
pa.setInstanceId(pi.getId());
pa.setReportIds(reportIds.toString());
pa.setTemplateIds(reportTemplateIds.toString());
pa.setStatus(Constant.APPROVAL_COMMITTED);
List<Task> tasks = taskService.createTaskQuery().taskAssignee(Constant.ASSIGNEE_ACCOUNTANT).processInstanceId(
pi.getId()).list();
if (tasks != null && tasks.size() == 1) {
Task task = tasks.get(0);
Map<String, Object> map = new HashMap<>();
map.put("committed", 0);
taskService.complete(task.getId(), map);
taskService.createAttachment("java.lang.String", task.getId(), task.getProcessInstanceId(),
"period_approval_uuid", pa.getId(), "");
periodApproveMapper.insert(pa);
} else {
logger.warn("task must not null or size gt 1");
}
}
public List<ApprovalTask> getTask(String assignee) {
List<Task> tasks = taskService.createTaskQuery().taskAssignee(assignee).list();
List<ApprovalTask> list = new ArrayList<>();
for (Task task : tasks) {
ApprovalTask t = new ApprovalTask();
list.add(t.copyfrom(task));
}
return list;
}
public void checkTask(String taskId, String decide) {
Map<String, Object> map = new HashMap<>();
PeriodApprove pa = new PeriodApprove();
switch (decide) {
case Constant.APPROVAL_AGREED:
pa.setStatus(Constant.APPROVAL_AGREED);
map.put("decide", 1);
break;
case Constant.APPROVAL_DISAGREED:
pa.setStatus(Constant.APPROVAL_DISAGREED);
map.put("decide", 0);
break;
default:
throw new BadParameterException("not support decide param type");
}
List<Attachment> attachments = taskService.getTaskAttachments(taskId);
if (attachments != null && attachments.size() == 1) {
String uuid = attachments.get(0).getDescription();
taskService.complete(taskId, map);
pa.setId(uuid);
periodApproveMapper.updateByPrimaryKeySelective(pa);
PeriodApprove result=periodApproveMapper.selectByPrimaryKey(uuid);
//save report on service
} else {
logger.warn("task must not null or size gt 1");
}
}
}
rem see http://www.mybatis.org/generator/running/runningFromCmdLine.html
cd /d %~dp0
call java -classpath .;./* org.mybatis.generator.api.ShellRunner -configfile vatGeneratorConfig.xml -overwrite -verbose -tables PERIOD_APPROVE
call java -classpath .;./* org.mybatis.generator.api.ShellRunner -configfile vatGeneratorConfig.xml -overwrite -verbose
echo @@@@@@@@@@@ DONE @@@@@@@@@@@
pause
\ No newline at end of file
package pwc.taxtech.atms.vat.dao;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;
import pwc.taxtech.atms.MyVatMapper;
import pwc.taxtech.atms.vat.entity.PeriodApprove;
import pwc.taxtech.atms.vat.entity.PeriodApproveExample;
@Mapper
public interface PeriodApproveMapper extends MyVatMapper {
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_ADMIN.PERIOD_APPROVE
*
* @mbg.generated
*/
long countByExample(PeriodApproveExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_ADMIN.PERIOD_APPROVE
*
* @mbg.generated
*/
int deleteByExample(PeriodApproveExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_ADMIN.PERIOD_APPROVE
*
* @mbg.generated
*/
int deleteByPrimaryKey(String id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_ADMIN.PERIOD_APPROVE
*
* @mbg.generated
*/
int insert(PeriodApprove record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_ADMIN.PERIOD_APPROVE
*
* @mbg.generated
*/
int insertSelective(PeriodApprove record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_ADMIN.PERIOD_APPROVE
*
* @mbg.generated
*/
List<PeriodApprove> selectByExampleWithRowbounds(PeriodApproveExample example, RowBounds rowBounds);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_ADMIN.PERIOD_APPROVE
*
* @mbg.generated
*/
List<PeriodApprove> selectByExample(PeriodApproveExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_ADMIN.PERIOD_APPROVE
*
* @mbg.generated
*/
PeriodApprove selectByPrimaryKey(String id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_ADMIN.PERIOD_APPROVE
*
* @mbg.generated
*/
int updateByExampleSelective(@Param("record") PeriodApprove record, @Param("example") PeriodApproveExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_ADMIN.PERIOD_APPROVE
*
* @mbg.generated
*/
int updateByExample(@Param("record") PeriodApprove record, @Param("example") PeriodApproveExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_ADMIN.PERIOD_APPROVE
*
* @mbg.generated
*/
int updateByPrimaryKeySelective(PeriodApprove record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_ADMIN.PERIOD_APPROVE
*
* @mbg.generated
*/
int updateByPrimaryKey(PeriodApprove record);
}
\ No newline at end of file
package pwc.taxtech.atms.vat.entity;
import java.io.Serializable;
/**
*
* This class was generated by MyBatis Generator.
* This class corresponds to the database table TAX_ADMIN.PERIOD_APPROVE
*
* @mbg.generated do_not_delete_during_merge
*/
public class PeriodApprove implements Serializable {
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column TAX_ADMIN.PERIOD_APPROVE.ID
*
* @mbg.generated
*/
private String id;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column TAX_ADMIN.PERIOD_APPROVE.PROJECT_ID
*
* @mbg.generated
*/
private String projectId;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column TAX_ADMIN.PERIOD_APPROVE.PERIOD
*
* @mbg.generated
*/
private Integer period;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column TAX_ADMIN.PERIOD_APPROVE.REPORT_IDS
*
* @mbg.generated
*/
private String reportIds;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column TAX_ADMIN.PERIOD_APPROVE.REPORT_PATHS
*
* @mbg.generated
*/
private String reportPaths;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column TAX_ADMIN.PERIOD_APPROVE.STATUS
*
* @mbg.generated
*/
private String status;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column TAX_ADMIN.PERIOD_APPROVE.INSTANCE_ID
*
* @mbg.generated
*/
private String instanceId;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column TAX_ADMIN.PERIOD_APPROVE.YEAR
*
* @mbg.generated
*/
private Integer year;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column TAX_ADMIN.PERIOD_APPROVE.TEMPLATE_IDS
*
* @mbg.generated
*/
private String templateIds;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table TAX_ADMIN.PERIOD_APPROVE
*
* @mbg.generated
*/
private static final long serialVersionUID = 1L;
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column TAX_ADMIN.PERIOD_APPROVE.ID
*
* @return the value of TAX_ADMIN.PERIOD_APPROVE.ID
*
* @mbg.generated
*/
public String getId() {
return id;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column TAX_ADMIN.PERIOD_APPROVE.ID
*
* @param id the value for TAX_ADMIN.PERIOD_APPROVE.ID
*
* @mbg.generated
*/
public void setId(String id) {
this.id = id == null ? null : id.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column TAX_ADMIN.PERIOD_APPROVE.PROJECT_ID
*
* @return the value of TAX_ADMIN.PERIOD_APPROVE.PROJECT_ID
*
* @mbg.generated
*/
public String getProjectId() {
return projectId;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column TAX_ADMIN.PERIOD_APPROVE.PROJECT_ID
*
* @param projectId the value for TAX_ADMIN.PERIOD_APPROVE.PROJECT_ID
*
* @mbg.generated
*/
public void setProjectId(String projectId) {
this.projectId = projectId == null ? null : projectId.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column TAX_ADMIN.PERIOD_APPROVE.PERIOD
*
* @return the value of TAX_ADMIN.PERIOD_APPROVE.PERIOD
*
* @mbg.generated
*/
public Integer getPeriod() {
return period;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column TAX_ADMIN.PERIOD_APPROVE.PERIOD
*
* @param period the value for TAX_ADMIN.PERIOD_APPROVE.PERIOD
*
* @mbg.generated
*/
public void setPeriod(Integer period) {
this.period = period;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column TAX_ADMIN.PERIOD_APPROVE.REPORT_IDS
*
* @return the value of TAX_ADMIN.PERIOD_APPROVE.REPORT_IDS
*
* @mbg.generated
*/
public String getReportIds() {
return reportIds;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column TAX_ADMIN.PERIOD_APPROVE.REPORT_IDS
*
* @param reportIds the value for TAX_ADMIN.PERIOD_APPROVE.REPORT_IDS
*
* @mbg.generated
*/
public void setReportIds(String reportIds) {
this.reportIds = reportIds == null ? null : reportIds.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column TAX_ADMIN.PERIOD_APPROVE.REPORT_PATHS
*
* @return the value of TAX_ADMIN.PERIOD_APPROVE.REPORT_PATHS
*
* @mbg.generated
*/
public String getReportPaths() {
return reportPaths;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column TAX_ADMIN.PERIOD_APPROVE.REPORT_PATHS
*
* @param reportPaths the value for TAX_ADMIN.PERIOD_APPROVE.REPORT_PATHS
*
* @mbg.generated
*/
public void setReportPaths(String reportPaths) {
this.reportPaths = reportPaths == null ? null : reportPaths.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column TAX_ADMIN.PERIOD_APPROVE.STATUS
*
* @return the value of TAX_ADMIN.PERIOD_APPROVE.STATUS
*
* @mbg.generated
*/
public String getStatus() {
return status;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column TAX_ADMIN.PERIOD_APPROVE.STATUS
*
* @param status the value for TAX_ADMIN.PERIOD_APPROVE.STATUS
*
* @mbg.generated
*/
public void setStatus(String status) {
this.status = status == null ? null : status.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column TAX_ADMIN.PERIOD_APPROVE.INSTANCE_ID
*
* @return the value of TAX_ADMIN.PERIOD_APPROVE.INSTANCE_ID
*
* @mbg.generated
*/
public String getInstanceId() {
return instanceId;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column TAX_ADMIN.PERIOD_APPROVE.INSTANCE_ID
*
* @param instanceId the value for TAX_ADMIN.PERIOD_APPROVE.INSTANCE_ID
*
* @mbg.generated
*/
public void setInstanceId(String instanceId) {
this.instanceId = instanceId == null ? null : instanceId.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column TAX_ADMIN.PERIOD_APPROVE.YEAR
*
* @return the value of TAX_ADMIN.PERIOD_APPROVE.YEAR
*
* @mbg.generated
*/
public Integer getYear() {
return year;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column TAX_ADMIN.PERIOD_APPROVE.YEAR
*
* @param year the value for TAX_ADMIN.PERIOD_APPROVE.YEAR
*
* @mbg.generated
*/
public void setYear(Integer year) {
this.year = year;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column TAX_ADMIN.PERIOD_APPROVE.TEMPLATE_IDS
*
* @return the value of TAX_ADMIN.PERIOD_APPROVE.TEMPLATE_IDS
*
* @mbg.generated
*/
public String getTemplateIds() {
return templateIds;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column TAX_ADMIN.PERIOD_APPROVE.TEMPLATE_IDS
*
* @param templateIds the value for TAX_ADMIN.PERIOD_APPROVE.TEMPLATE_IDS
*
* @mbg.generated
*/
public void setTemplateIds(String templateIds) {
this.templateIds = templateIds == null ? null : templateIds.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_ADMIN.PERIOD_APPROVE
*
* @mbg.generated
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", projectId=").append(projectId);
sb.append(", period=").append(period);
sb.append(", reportIds=").append(reportIds);
sb.append(", reportPaths=").append(reportPaths);
sb.append(", status=").append(status);
sb.append(", instanceId=").append(instanceId);
sb.append(", year=").append(year);
sb.append(", templateIds=").append(templateIds);
sb.append("]");
return sb.toString();
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment