Commit 13023bd2 authored by neo.wang's avatar neo.wang

Merge branch 'dev_oracle_neo' into 'dev_oracle'

Dev oracle neo

See merge request root/atms!151
parents 5f275d23 e47b1005
......@@ -19,12 +19,16 @@ public class AtmsExceptionHandler extends ResponseEntityExceptionHandler {
protected ResponseEntity<Object> handleExceptions(Exception ex) throws ServiceException {
logger.error("Rest Exception!", ex);
if (ex instanceof ApplicationException) {
ex.printStackTrace();
return handleApplicationException((ApplicationException) ex);
} else if (ex instanceof ServiceException) {
ex.printStackTrace();
return handleServiceException((ServiceException) ex);
} else if (ex instanceof ApiException) {
ex.printStackTrace();
return ((ApiException) ex).handle();
} else {
ex.printStackTrace();
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();
}
}
......
......@@ -11,4 +11,5 @@ public class Exceptions {
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");
public static final ApiException SERVER_ERROR_EXCEPTION= new ServerErrorException("server error exception");
}
package pwc.taxtech.atms.exception;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
public class ServerErrorException extends ApiException {
public ServerErrorException() {
super();
}
public ServerErrorException(String message) {
super(message);
}
public ServerErrorException(String message, Throwable cause) {
super(message, cause);
}
public ServerErrorException(Throwable cause) {
super(cause);
}
@Override
public <Object> ResponseEntity handle() {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();
}
}
......@@ -10,6 +10,7 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import pwc.taxtech.atms.common.AuthUserHelper;
import pwc.taxtech.atms.common.util.MyAsserts;
import pwc.taxtech.atms.constant.Constant;
import pwc.taxtech.atms.dto.approval.ApprovalDto;
......@@ -25,6 +26,8 @@ import pwc.taxtech.atms.vat.entity.PeriodReportExample;
import java.util.*;
import static pwc.taxtech.atms.exception.Exceptions.SERVER_ERROR_EXCEPTION;
@Service
public class ApprovalService {
private static Logger logger = LoggerFactory.getLogger(ApprovalService.class);
......@@ -36,16 +39,35 @@ public class ApprovalService {
PeriodApproveMapper periodApproveMapper;
@Autowired
PeriodReportMapper reportMapper;
@Autowired
AuthUserHelper authUserHelper;
@Transactional
public void startInstanceAndAssignee(ApprovalDto dto) {
PeriodApprove pa = new PeriodApprove();
startInstance(dto, pa);
startAssignee(pa);
createAttache(pa);
}
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;
}
private void startInstance(ApprovalDto dto, PeriodApprove pa) {
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());
......@@ -72,10 +94,14 @@ public class ApprovalService {
pa.setReportIds(reportIds.toString());
pa.setTemplateIds(reportTemplateIds.toString());
pa.setStatus(Constant.APPROVAL_COMMITTED);
pa.setProjectId(dto.getProjectId());
pa.setCreateBy(authUserHelper.getCurrentUserId()==null?"Admin":authUserHelper.getCurrentUserId());
pa.setCreateTime(new Date());
periodApproveMapper.insert(pa);
}
private void startAssignee(PeriodApprove pa) {
List<Task> tasks = taskService.createTaskQuery().taskAssignee(Constant.ASSIGNEE_ACCOUNTANT).processInstanceId(
pi.getId()).list();
pa.getInstanceId()).list();
if (tasks != null && tasks.size() == 1) {
Task task = tasks.get(0);
......@@ -83,25 +109,24 @@ public class ApprovalService {
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");
logger.warn("task must not null or size eq 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));
private void createAttache(PeriodApprove pa) {
List<Task> tasks = taskService.createTaskQuery().taskAssignee(Constant.ASSIGNEE_MANAGER).processInstanceId(
pa.getInstanceId()).list();
if (tasks != null && tasks.size() == 1) {
Task task = tasks.get(0);
taskService.createAttachment("java.lang.String", task.getId(), task.getProcessInstanceId(),
"period_approval_uuid", pa.getId(), pa.getId());
} else {
logger.warn("task must not null or size eq 1");
}
return list;
}
@Transactional
public void checkTask(String taskId, String decide) {
Map<String, Object> map = new HashMap<>();
......
package pwc.taxtech.atms.vat.entity;
import java.io.Serializable;
import java.util.Date;
/**
*
......@@ -91,6 +92,51 @@ public class PeriodApprove implements Serializable {
*/
private String templateIds;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column TAX_ADMIN.PERIOD_APPROVE.CREATE_BY
*
* @mbg.generated
*/
private String createBy;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column TAX_ADMIN.PERIOD_APPROVE.CREATE_TIME
*
* @mbg.generated
*/
private Date createTime;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column TAX_ADMIN.PERIOD_APPROVE.APPROVAL_BY
*
* @mbg.generated
*/
private String approvalBy;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column TAX_ADMIN.PERIOD_APPROVE.APPROVAL_TIME
*
* @mbg.generated
*/
private Date approvalTime;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column TAX_ADMIN.PERIOD_APPROVE.APPROVAL_RESUALT
*
* @mbg.generated
*/
private String approvalResualt;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table TAX_ADMIN.PERIOD_APPROVE
......@@ -315,6 +361,126 @@ public class PeriodApprove implements Serializable {
this.templateIds = templateIds == null ? null : templateIds.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column TAX_ADMIN.PERIOD_APPROVE.CREATE_BY
*
* @return the value of TAX_ADMIN.PERIOD_APPROVE.CREATE_BY
*
* @mbg.generated
*/
public String getCreateBy() {
return createBy;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column TAX_ADMIN.PERIOD_APPROVE.CREATE_BY
*
* @param createBy the value for TAX_ADMIN.PERIOD_APPROVE.CREATE_BY
*
* @mbg.generated
*/
public void setCreateBy(String createBy) {
this.createBy = createBy == null ? null : createBy.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column TAX_ADMIN.PERIOD_APPROVE.CREATE_TIME
*
* @return the value of TAX_ADMIN.PERIOD_APPROVE.CREATE_TIME
*
* @mbg.generated
*/
public Date getCreateTime() {
return createTime;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column TAX_ADMIN.PERIOD_APPROVE.CREATE_TIME
*
* @param createTime the value for TAX_ADMIN.PERIOD_APPROVE.CREATE_TIME
*
* @mbg.generated
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column TAX_ADMIN.PERIOD_APPROVE.APPROVAL_BY
*
* @return the value of TAX_ADMIN.PERIOD_APPROVE.APPROVAL_BY
*
* @mbg.generated
*/
public String getApprovalBy() {
return approvalBy;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column TAX_ADMIN.PERIOD_APPROVE.APPROVAL_BY
*
* @param approvalBy the value for TAX_ADMIN.PERIOD_APPROVE.APPROVAL_BY
*
* @mbg.generated
*/
public void setApprovalBy(String approvalBy) {
this.approvalBy = approvalBy == null ? null : approvalBy.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column TAX_ADMIN.PERIOD_APPROVE.APPROVAL_TIME
*
* @return the value of TAX_ADMIN.PERIOD_APPROVE.APPROVAL_TIME
*
* @mbg.generated
*/
public Date getApprovalTime() {
return approvalTime;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column TAX_ADMIN.PERIOD_APPROVE.APPROVAL_TIME
*
* @param approvalTime the value for TAX_ADMIN.PERIOD_APPROVE.APPROVAL_TIME
*
* @mbg.generated
*/
public void setApprovalTime(Date approvalTime) {
this.approvalTime = approvalTime;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column TAX_ADMIN.PERIOD_APPROVE.APPROVAL_RESUALT
*
* @return the value of TAX_ADMIN.PERIOD_APPROVE.APPROVAL_RESUALT
*
* @mbg.generated
*/
public String getApprovalResualt() {
return approvalResualt;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column TAX_ADMIN.PERIOD_APPROVE.APPROVAL_RESUALT
*
* @param approvalResualt the value for TAX_ADMIN.PERIOD_APPROVE.APPROVAL_RESUALT
*
* @mbg.generated
*/
public void setApprovalResualt(String approvalResualt) {
this.approvalResualt = approvalResualt == null ? null : approvalResualt.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_ADMIN.PERIOD_APPROVE
......@@ -336,6 +502,11 @@ public class PeriodApprove implements Serializable {
sb.append(", instanceId=").append(instanceId);
sb.append(", year=").append(year);
sb.append(", templateIds=").append(templateIds);
sb.append(", createBy=").append(createBy);
sb.append(", createTime=").append(createTime);
sb.append(", approvalBy=").append(approvalBy);
sb.append(", approvalTime=").append(approvalTime);
sb.append(", approvalResualt=").append(approvalResualt);
sb.append("]");
return sb.toString();
}
......
......@@ -15,6 +15,11 @@
<result column="INSTANCE_ID" jdbcType="VARCHAR" property="instanceId" />
<result column="YEAR" jdbcType="DECIMAL" property="year" />
<result column="TEMPLATE_IDS" jdbcType="VARCHAR" property="templateIds" />
<result column="CREATE_BY" jdbcType="VARCHAR" property="createBy" />
<result column="CREATE_TIME" jdbcType="TIMESTAMP" property="createTime" />
<result column="APPROVAL_BY" jdbcType="VARCHAR" property="approvalBy" />
<result column="APPROVAL_TIME" jdbcType="TIMESTAMP" property="approvalTime" />
<result column="APPROVAL_RESUALT" jdbcType="VARCHAR" property="approvalResualt" />
</resultMap>
<sql id="Example_Where_Clause">
<!--
......@@ -88,7 +93,7 @@
This element is automatically generated by MyBatis Generator, do not modify.
-->
ID, PROJECT_ID, PERIOD, REPORT_IDS, REPORT_PATHS, "STATUS", INSTANCE_ID, "YEAR",
TEMPLATE_IDS
TEMPLATE_IDS, CREATE_BY, CREATE_TIME, APPROVAL_BY, APPROVAL_TIME, APPROVAL_RESUALT
</sql>
<select id="selectByExample" parameterType="pwc.taxtech.atms.vat.entity.PeriodApproveExample" resultMap="BaseResultMap">
<!--
......@@ -143,12 +148,14 @@
-->
insert into PERIOD_APPROVE (ID, PROJECT_ID, PERIOD,
REPORT_IDS, REPORT_PATHS, "STATUS",
INSTANCE_ID, "YEAR", TEMPLATE_IDS
)
INSTANCE_ID, "YEAR", TEMPLATE_IDS,
CREATE_BY, CREATE_TIME, APPROVAL_BY,
APPROVAL_TIME, APPROVAL_RESUALT)
values (#{id,jdbcType=VARCHAR}, #{projectId,jdbcType=VARCHAR}, #{period,jdbcType=DECIMAL},
#{reportIds,jdbcType=VARCHAR}, #{reportPaths,jdbcType=VARCHAR}, #{status,jdbcType=VARCHAR},
#{instanceId,jdbcType=VARCHAR}, #{year,jdbcType=DECIMAL}, #{templateIds,jdbcType=VARCHAR}
)
#{instanceId,jdbcType=VARCHAR}, #{year,jdbcType=DECIMAL}, #{templateIds,jdbcType=VARCHAR},
#{createBy,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{approvalBy,jdbcType=VARCHAR},
#{approvalTime,jdbcType=TIMESTAMP}, #{approvalResualt,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" parameterType="pwc.taxtech.atms.vat.entity.PeriodApprove">
<!--
......@@ -184,6 +191,21 @@
<if test="templateIds != null">
TEMPLATE_IDS,
</if>
<if test="createBy != null">
CREATE_BY,
</if>
<if test="createTime != null">
CREATE_TIME,
</if>
<if test="approvalBy != null">
APPROVAL_BY,
</if>
<if test="approvalTime != null">
APPROVAL_TIME,
</if>
<if test="approvalResualt != null">
APPROVAL_RESUALT,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
......@@ -213,6 +235,21 @@
<if test="templateIds != null">
#{templateIds,jdbcType=VARCHAR},
</if>
<if test="createBy != null">
#{createBy,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="approvalBy != null">
#{approvalBy,jdbcType=VARCHAR},
</if>
<if test="approvalTime != null">
#{approvalTime,jdbcType=TIMESTAMP},
</if>
<if test="approvalResualt != null">
#{approvalResualt,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="pwc.taxtech.atms.vat.entity.PeriodApproveExample" resultType="java.lang.Long">
......@@ -259,6 +296,21 @@
<if test="record.templateIds != null">
TEMPLATE_IDS = #{record.templateIds,jdbcType=VARCHAR},
</if>
<if test="record.createBy != null">
CREATE_BY = #{record.createBy,jdbcType=VARCHAR},
</if>
<if test="record.createTime != null">
CREATE_TIME = #{record.createTime,jdbcType=TIMESTAMP},
</if>
<if test="record.approvalBy != null">
APPROVAL_BY = #{record.approvalBy,jdbcType=VARCHAR},
</if>
<if test="record.approvalTime != null">
APPROVAL_TIME = #{record.approvalTime,jdbcType=TIMESTAMP},
</if>
<if test="record.approvalResualt != null">
APPROVAL_RESUALT = #{record.approvalResualt,jdbcType=VARCHAR},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
......@@ -278,7 +330,12 @@
"STATUS" = #{record.status,jdbcType=VARCHAR},
INSTANCE_ID = #{record.instanceId,jdbcType=VARCHAR},
"YEAR" = #{record.year,jdbcType=DECIMAL},
TEMPLATE_IDS = #{record.templateIds,jdbcType=VARCHAR}
TEMPLATE_IDS = #{record.templateIds,jdbcType=VARCHAR},
CREATE_BY = #{record.createBy,jdbcType=VARCHAR},
CREATE_TIME = #{record.createTime,jdbcType=TIMESTAMP},
APPROVAL_BY = #{record.approvalBy,jdbcType=VARCHAR},
APPROVAL_TIME = #{record.approvalTime,jdbcType=TIMESTAMP},
APPROVAL_RESUALT = #{record.approvalResualt,jdbcType=VARCHAR}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
......@@ -314,6 +371,21 @@
<if test="templateIds != null">
TEMPLATE_IDS = #{templateIds,jdbcType=VARCHAR},
</if>
<if test="createBy != null">
CREATE_BY = #{createBy,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
CREATE_TIME = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="approvalBy != null">
APPROVAL_BY = #{approvalBy,jdbcType=VARCHAR},
</if>
<if test="approvalTime != null">
APPROVAL_TIME = #{approvalTime,jdbcType=TIMESTAMP},
</if>
<if test="approvalResualt != null">
APPROVAL_RESUALT = #{approvalResualt,jdbcType=VARCHAR},
</if>
</set>
where ID = #{id,jdbcType=VARCHAR}
</update>
......@@ -330,7 +402,12 @@
"STATUS" = #{status,jdbcType=VARCHAR},
INSTANCE_ID = #{instanceId,jdbcType=VARCHAR},
"YEAR" = #{year,jdbcType=DECIMAL},
TEMPLATE_IDS = #{templateIds,jdbcType=VARCHAR}
TEMPLATE_IDS = #{templateIds,jdbcType=VARCHAR},
CREATE_BY = #{createBy,jdbcType=VARCHAR},
CREATE_TIME = #{createTime,jdbcType=TIMESTAMP},
APPROVAL_BY = #{approvalBy,jdbcType=VARCHAR},
APPROVAL_TIME = #{approvalTime,jdbcType=TIMESTAMP},
APPROVAL_RESUALT = #{approvalResualt,jdbcType=VARCHAR}
where ID = #{id,jdbcType=VARCHAR}
</update>
<select id="selectByExampleWithRowbounds" parameterType="pwc.taxtech.atms.vat.entity.PeriodApproveExample" resultMap="BaseResultMap">
......
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