立案申请功能

This commit is contained in:
qitz
2023-09-11 14:29:15 +08:00
parent fe4c2e3f20
commit 5662d2f2f5
10 changed files with 904 additions and 0 deletions
@@ -0,0 +1,108 @@
package com.ruoyi.web.controller.wisdomarbitrate;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
import com.ruoyi.wisdomarbitrate.service.ICaseApplicationService;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import static com.ruoyi.common.core.domain.AjaxResult.error;
@RestController
@RequestMapping("/caseApplication")
public class CaseApplicationController extends BaseController {
@Autowired
private ICaseApplicationService caseApplicationService;
/**
* 查询立案数据
*/
@PreAuthorize("@ss.hasPermi('caseApplication:list')")
@PostMapping("/list")
public TableDataInfo list(@Validated @RequestBody CaseApplication caseApplication)
{
startPage();
List<CaseApplication> list = caseApplicationService.selectCaseApplicationList(caseApplication);
return getDataTable(list);
}
/**
* 新增立案数据
*/
@PreAuthorize("@ss.hasPermi('caseApplication:add')")
@Log(title = "新增立案数据", businessType = BusinessType.INSERT)
@PostMapping("/addCaseApplication")
public AjaxResult addCaseApplication(@Validated @RequestBody CaseApplication caseApplication)
{
int caseApplicationCount = caseApplicationService.selectCaseApplicationCount(caseApplication);
if(caseApplicationCount>0){
return error("新增立案申请'" + caseApplication.getCaseNum() + "'案件编号已存在");
}
caseApplication.setCreateBy(getUsername());
return toAjax(caseApplicationService.insertcaseApplication(caseApplication));
}
/**
* 修改立案数据
*/
@PreAuthorize("@ss.hasPermi('caseApplication:edit')")
@Log(title = "修改立案数据", businessType = BusinessType.UPDATE)
@PostMapping("/editCaseApplication")
public AjaxResult editCaseApplication(@Validated @RequestBody CaseApplication caseApplication)
{
caseApplication.setUpdateBy(getUsername());
return toAjax(caseApplicationService.editCaseApplication(caseApplication));
}
/**
* 提交立案数据
*/
@PreAuthorize("@ss.hasPermi('caseApplication:submit')")
@Log(title = "提交立案数据", businessType = BusinessType.UPDATE)
@PostMapping("/submitCaseApplication")
public AjaxResult submitCaseApplication(@Validated @RequestBody CaseApplication caseApplication)
{
return toAjax(caseApplicationService.submitCaseApplication(caseApplication));
}
/**
* 删除立案数据
*/
@PreAuthorize("@ss.hasPermi('caseApplication:remove')")
@Log(title = "删除立案数据", businessType = BusinessType.DELETE)
@PostMapping("/removeCaseApplication")
public AjaxResult removeCaseApplication(@Validated @RequestBody CaseApplication caseApplication)
{
return toAjax(caseApplicationService.deletecaseApplicationByIds(caseApplication));
}
/**
* 查询立案信息
*/
@PostMapping("/selectCaseApplication")
public AjaxResult selectCaseApplication(@Validated @RequestBody CaseApplication caseApplication)
{
CaseApplication caseApplicationselect = caseApplicationService.selectCaseApplication(caseApplication);
return success(caseApplicationselect);
}
}
@@ -0,0 +1,23 @@
package com.ruoyi.common.constant;
/**
* 立案申请案件状态
*
*/
public class CaseApplicationConstants {
/** 立案申请 */
public static final int CASE_APPLICATION = 0;
/** 待缴费 */
public static final int PENDING_PAYMENT = 1;
/** 待缴费确认 */
public static final int PENDING_PAYMENT_CONFIRM = 2;
/** 待确认证据 */
public static final int EVIDENCE_CONFREMED = 3;
/** 待组庭 */
public static final int PENDING_TRIAL = 4;
}
@@ -0,0 +1,150 @@
package com.ruoyi.wisdomarbitrate.domain;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
public class CaseAffiliate extends BaseEntity {
private static final long serialVersionUID = 1L;
/** ID */
@Excel(name = "ID", cellType = Excel.ColumnType.NUMERIC, prompt = "ID")
private Long id;
/** 案件申请id */
private Long caseAppliId;
/** 身份类型 */
private int identityType;
/** 姓名 */
@Excel(name = "姓名")
private String name;
/** 身份证号 */
@Excel(name = "身份证号")
private String identityNum;
/** 单位电话 */
@Excel(name = "单位电话")
private String workTelphone;
/** 联系电话 */
@Excel(name = "联系电话")
private String contactTelphone;
/** 联系地址 */
@Excel(name = "联系地址")
private String contactAddress;
/** 单位地址 */
@Excel(name = "单位地址")
private String workAddress;
/** 代理人姓名 */
@Excel(name = "代理人姓名")
private String nameAgent;
/** 身份证号 */
@Excel(name = "代理人身份证号")
private String identityNumAgent;
/** 联系电话 */
@Excel(name = "代理人联系电话")
private String contactTelphoneAgent;
/** 联系地址 */
@Excel(name = "代理人联系地址")
private String contactAddressAgent;
public String getNameAgent() {
return nameAgent;
}
public void setNameAgent(String nameAgent) {
this.nameAgent = nameAgent;
}
public String getIdentityNumAgent() {
return identityNumAgent;
}
public void setIdentityNumAgent(String identityNumAgent) {
this.identityNumAgent = identityNumAgent;
}
public String getContactTelphoneAgent() {
return contactTelphoneAgent;
}
public void setContactTelphoneAgent(String contactTelphoneAgent) {
this.contactTelphoneAgent = contactTelphoneAgent;
}
public String getContactAddressAgent() {
return contactAddressAgent;
}
public void setContactAddressAgent(String contactAddressAgent) {
this.contactAddressAgent = contactAddressAgent;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getCaseAppliId() {
return caseAppliId;
}
public void setCaseAppliId(Long caseAppliId) {
this.caseAppliId = caseAppliId;
}
public int getIdentityType() {
return identityType;
}
public void setIdentityType(int identityType) {
this.identityType = identityType;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getIdentityNum() {
return identityNum;
}
public void setIdentityNum(String identityNum) {
this.identityNum = identityNum;
}
public String getWorkTelphone() {
return workTelphone;
}
public void setWorkTelphone(String workTelphone) {
this.workTelphone = workTelphone;
}
public String getContactTelphone() {
return contactTelphone;
}
public void setContactTelphone(String contactTelphone) {
this.contactTelphone = contactTelphone;
}
public String getContactAddress() {
return contactAddress;
}
public void setContactAddress(String contactAddress) {
this.contactAddress = contactAddress;
}
public String getWorkAddress() {
return workAddress;
}
public void setWorkAddress(String workAddress) {
this.workAddress = workAddress;
}
}
@@ -0,0 +1,218 @@
package com.ruoyi.wisdomarbitrate.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
public class CaseApplication extends BaseEntity {
private static final long serialVersionUID = 1L;
/** ID */
@Excel(name = "ID", cellType = Excel.ColumnType.NUMERIC, prompt = "ID")
private Long id;
/** 案件编号 */
@Excel(name = "案件编号")
private String caseNum;
/** 合同编号 */
@Excel(name = "合同编号")
private String contractNumber;
/** 案件标的 */
@Excel(name = "案件标的")
private BigDecimal caseSubjectAmount;
/** 立案日期 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date registerDate;
/** 仲裁方式 */
private String arbitratMethod;
/** 案件状态 */
private int caseStatus;
/** 开庭日期 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date hearDate;
/** 申请人仲裁诉求 */
private String arbitratClaims;
/** 借款开始日期 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date loanStartDate;
/** 借款结束日期 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date loanEndDate;
/** 申请人主张欠本金 */
@Excel(name = "申请人主张欠本金")
private BigDecimal claimPrinciOwed;
/** 申请人主张欠利息 */
@Excel(name = "申请人主张欠利息")
private BigDecimal claimInterestOwed;
/** 申请人主张违约金 */
@Excel(name = "申请人主张违约金")
private BigDecimal claimLiquidDamag;
/** 仲裁应缴费用 */
private BigDecimal feePayable;
/** 仲裁实缴费用 */
private BigDecimal paidExpenses;
/** 开始在线视频时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date beginVideoDate;
/** 在线视频人员 */
private String onlineVideoPerson;
/** 案件关联人信息 */
private List<CaseAffiliate> caseAffiliates;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getCaseNum() {
return caseNum;
}
public void setCaseNum(String caseNum) {
this.caseNum = caseNum;
}
public String getContractNumber() {
return contractNumber;
}
public void setContractNumber(String contractNumber) {
this.contractNumber = contractNumber;
}
public BigDecimal getCaseSubjectAmount() {
return caseSubjectAmount;
}
public void setCaseSubjectAmount(BigDecimal caseSubjectAmount) {
this.caseSubjectAmount = caseSubjectAmount;
}
public Date getRegisterDate() {
return registerDate;
}
public void setRegisterDate(Date registerDate) {
this.registerDate = registerDate;
}
public String getArbitratMethod() {
return arbitratMethod;
}
public void setArbitratMethod(String arbitratMethod) {
this.arbitratMethod = arbitratMethod;
}
public int getCaseStatus() {
return caseStatus;
}
public void setCaseStatus(int caseStatus) {
this.caseStatus = caseStatus;
}
public Date getHearDate() {
return hearDate;
}
public void setHearDate(Date hearDate) {
this.hearDate = hearDate;
}
public String getArbitratClaims() {
return arbitratClaims;
}
public void setArbitratClaims(String arbitratClaims) {
this.arbitratClaims = arbitratClaims;
}
public Date getLoanStartDate() {
return loanStartDate;
}
public void setLoanStartDate(Date loanStartDate) {
this.loanStartDate = loanStartDate;
}
public Date getLoanEndDate() {
return loanEndDate;
}
public void setLoanEndDate(Date loanEndDate) {
this.loanEndDate = loanEndDate;
}
public BigDecimal getClaimPrinciOwed() {
return claimPrinciOwed;
}
public void setClaimPrinciOwed(BigDecimal claimPrinciOwed) {
this.claimPrinciOwed = claimPrinciOwed;
}
public BigDecimal getClaimInterestOwed() {
return claimInterestOwed;
}
public void setClaimInterestOwed(BigDecimal claimInterestOwed) {
this.claimInterestOwed = claimInterestOwed;
}
public BigDecimal getClaimLiquidDamag() {
return claimLiquidDamag;
}
public void setClaimLiquidDamag(BigDecimal claimLiquidDamag) {
this.claimLiquidDamag = claimLiquidDamag;
}
public BigDecimal getFeePayable() {
return feePayable;
}
public void setFeePayable(BigDecimal feePayable) {
this.feePayable = feePayable;
}
public BigDecimal getPaidExpenses() {
return paidExpenses;
}
public void setPaidExpenses(BigDecimal paidExpenses) {
this.paidExpenses = paidExpenses;
}
public Date getBeginVideoDate() {
return beginVideoDate;
}
public void setBeginVideoDate(Date beginVideoDate) {
this.beginVideoDate = beginVideoDate;
}
public String getOnlineVideoPerson() {
return onlineVideoPerson;
}
public void setOnlineVideoPerson(String onlineVideoPerson) {
this.onlineVideoPerson = onlineVideoPerson;
}
public List<CaseAffiliate> getCaseAffiliates() {
return caseAffiliates;
}
public void setCaseAffiliates(List<CaseAffiliate> caseAffiliates) {
this.caseAffiliates = caseAffiliates;
}
}
@@ -0,0 +1,20 @@
package com.ruoyi.wisdomarbitrate.mapper;
import com.ruoyi.wisdomarbitrate.domain.CaseAffiliate;
import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
import java.util.List;
public interface CaseAffiliateMapper {
int batchCaseAffiliate(List<CaseAffiliate> caseAffiliates);
void deletecaseAffiliate(CaseApplication caseApplication);
List<CaseAffiliate> selectCaseAffiliate(CaseAffiliate caseAffiliate);
int updataCaseAffiliate(CaseAffiliate caseAffiliate);
}
@@ -0,0 +1,23 @@
package com.ruoyi.wisdomarbitrate.mapper;
import com.ruoyi.wisdomarbitrate.domain.CaseAffiliate;
import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
import java.util.List;
public interface CaseApplicationMapper {
List<CaseApplication> selectCaseApplicationList(CaseApplication caseApplication);
int selectCaseApplicationCount(CaseApplication caseApplication);
int insertCaseApplication(CaseApplication caseApplication);
int updataCaseApplication(CaseApplication caseApplication);
int submitCaseApplication(CaseApplication caseApplication);
int deletecaseApplication(CaseApplication caseApplication);
CaseApplication selectCaseApplication(CaseApplication caseApplication);
}
@@ -0,0 +1,22 @@
package com.ruoyi.wisdomarbitrate.service;
import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
import java.util.List;
public interface ICaseApplicationService {
List<CaseApplication> selectCaseApplicationList(CaseApplication caseApplication);
int insertcaseApplication(CaseApplication caseApplication);
int selectCaseApplicationCount(CaseApplication caseApplication);
int editCaseApplication(CaseApplication caseApplication);
int submitCaseApplication(CaseApplication caseApplication);
int deletecaseApplicationByIds(CaseApplication caseApplication);
CaseApplication selectCaseApplication(CaseApplication caseApplication);
}
@@ -0,0 +1,98 @@
package com.ruoyi.wisdomarbitrate.service.impl;
import com.ruoyi.common.constant.CaseApplicationConstants;
import com.ruoyi.wisdomarbitrate.domain.CaseAffiliate;
import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
import com.ruoyi.wisdomarbitrate.mapper.CaseAffiliateMapper;
import com.ruoyi.wisdomarbitrate.mapper.CaseApplicationMapper;
import com.ruoyi.wisdomarbitrate.service.ICaseApplicationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.lang.reflect.Field;
import java.util.List;
import static com.ruoyi.common.core.domain.AjaxResult.error;
@Service
public class CaseApplicationServiceImpl implements ICaseApplicationService {
@Autowired
private CaseApplicationMapper caseApplicationMapper;
@Autowired
private CaseAffiliateMapper caseAffiliateMapper;
@Override
public List<CaseApplication> selectCaseApplicationList(CaseApplication caseApplication) {
return caseApplicationMapper.selectCaseApplicationList(caseApplication);
}
@Override
@Transactional
public int insertcaseApplication(CaseApplication caseApplication) {
// 新增立案信息
caseApplication.setCaseStatus(CaseApplicationConstants.CASE_APPLICATION);
int rows = caseApplicationMapper.insertCaseApplication(caseApplication);
List<CaseAffiliate> caseAffiliates = caseApplication.getCaseAffiliates();
if(caseAffiliates!=null&&caseAffiliates.size()>0){
for (CaseAffiliate caseAffiliate : caseAffiliates){
caseAffiliate.setCaseAppliId(caseApplication.getId());
}
caseAffiliateMapper.batchCaseAffiliate(caseAffiliates);
}
return rows;
}
@Override
public int selectCaseApplicationCount(CaseApplication caseApplication) {
return caseApplicationMapper.selectCaseApplicationCount(caseApplication);
}
@Override
@Transactional
public int editCaseApplication(CaseApplication caseApplication) {
int rows = caseApplicationMapper.updataCaseApplication(caseApplication);
List<CaseAffiliate> caseAffiliates = caseApplication.getCaseAffiliates();
if(caseAffiliates!=null&&caseAffiliates.size()>0){
for (CaseAffiliate caseAffiliate : caseAffiliates){
caseAffiliateMapper.updataCaseAffiliate(caseAffiliate);
}
}
return rows;
}
@Override
@Transactional
public int submitCaseApplication(CaseApplication caseApplication) {
//提交立案申请
caseApplication.setCaseStatus(CaseApplicationConstants.PENDING_PAYMENT);
int rows = caseApplicationMapper.submitCaseApplication(caseApplication);
return rows;
}
@Override
@Transactional
public int deletecaseApplicationByIds(CaseApplication caseApplication) {
caseAffiliateMapper.deletecaseAffiliate(caseApplication);
return caseApplicationMapper.deletecaseApplication(caseApplication);
}
@Override
public CaseApplication selectCaseApplication(CaseApplication caseApplication) {
CaseApplication caseApplicationselect = caseApplicationMapper.selectCaseApplication(caseApplication);
CaseAffiliate caseAffiliate = new CaseAffiliate();
caseAffiliate.setCaseAppliId(caseApplication.getId());
List<CaseAffiliate> caseAffiliatListeselect = caseAffiliateMapper.selectCaseAffiliate(caseAffiliate);
caseApplicationselect.setCaseAffiliates(caseAffiliatListeselect);
return caseApplicationselect;
}
}
@@ -0,0 +1,78 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.wisdomarbitrate.mapper.CaseAffiliateMapper">
<resultMap type="CaseAffiliate" id="CaseAffiliateResult">
<id property="id" column="id" />
<result property="caseAppliId" column="case_appli_id" />
<result property="identityType" column="identity_type" />
<result property="name" column="name" />
<result property="identityNum" column="identity_num" />
<result property="workTelphone" column="work_telphone" />
<result property="contactTelphone" column="contact_telphone" />
<result property="contactAddress" column="contact_address" />
<result property="workAddress" column="work_address" />
<result property="nameAgent" column="name_agent" />
<result property="identityNumAgent" column="identity_num_agent" />
<result property="contactTelphoneAgent" column="contact_telphone_agent" />
<result property="contactAddressAgent" column="contact_address_agent" />
</resultMap>
<select id="selectCaseAffiliate" parameterType="CaseAffiliate" resultMap="CaseAffiliateResult">
select c.id ,c.case_appli_id ,c.identity_type ,c.name ,c.identity_num ,c.contact_telphone ,c.contact_address ,
c.work_address ,c.work_telphone ,c.name_agent, c.identity_num_agent ,c.contact_telphone_agent ,c.contact_address_agent
from case_affiliate c
<where>
<if test="caseAppliId != null ">
AND c.case_appli_id = #{caseAppliId}
</if>
</where>
</select>
<insert id="batchCaseAffiliate">
insert into case_affiliate(case_appli_id, identity_type,name,identity_num,contact_telphone,
contact_address,work_address,work_telphone ,name_agent,identity_num_agent,contact_telphone_agent,
contact_address_agent ) values
<foreach item="item" index="index" collection="list" separator=",">
(#{item.caseAppliId},#{item.identityType},#{item.name},#{item.identityNum},#{item.contactTelphone},
#{item.contactAddress},#{item.workAddress},#{item.workTelphone}, #{item.nameAgent},#{item.identityNumAgent},
#{item.contactTelphoneAgent},#{item.contactAddressAgent})
</foreach>
</insert>
<update id="updataCaseAffiliate" parameterType="CaseAffiliate">
update case_affiliate
set
identity_type= #{identityType},
name = #{name},
identity_num = #{identityNum},
contact_telphone = #{contactTelphone},
contact_address = #{contactAddress},
work_address = #{workAddress},
work_telphone = #{workTelphone},
name_agent = #{nameAgent},
identity_num_agent = #{identityNumAgent},
contact_telphone_agent = #{contactTelphoneAgent},
contact_address_agent = #{contactAddressAgent}
where id = #{id}
</update>
<delete id="deletecaseAffiliate" parameterType="CaseApplication">
delete from case_affiliate where case_appli_id = #{id}
</delete>
</mapper>
@@ -0,0 +1,164 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.wisdomarbitrate.mapper.CaseApplicationMapper">
<resultMap type="CaseApplication" id="CaseApplicationResult">
<id property="id" column="id" />
<result property="caseNum" column="case_num" />
<result property="caseSubjectAmount" column="case_subject_amount" />
<result property="registerDate" column="register_date" />
<result property="arbitratMethod" column="arbitrat_method" />
<result property="caseStatus" column="case_status" />
<result property="hearDate" column="hear_date" />
<result property="arbitratClaims" column="arbitrat_claims" />
<result property="loanStartDate" column="loan_start_date" />
<result property="loanEndDate" column="loan_end_date" />
<result property="claimPrinciOwed" column="claim_princi_owed" />
<result property="claimInterestOwed" column="claim_interest_owed" />
<result property="claimLiquidDamag" column="claim_liquid_damag" />
<result property="feePayable" column="fee_payable" />
<result property="paidExpenses" column="paid_expenses" />
<result property="beginVideoDate" column="begin_video_date" />
<result property="onlineVideoPerson" column="online_video_person" />
<result property="contractNumber" column="contract_number" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
<select id="selectCaseApplicationList" parameterType="CaseApplication" resultMap="CaseApplicationResult">
select c.id ,c.case_num ,c.case_subject_amount ,c.register_date ,c.arbitrat_method ,c.case_status ,c.hear_date ,c.arbitrat_claims ,
c.loan_start_date ,c.loan_end_date ,c.claim_princi_owed ,c.claim_interest_owed ,c.claim_liquid_damag ,c.fee_payable ,
c.paid_expenses ,c.begin_video_date ,c.online_video_person ,c.contract_number ,c.create_by ,c.create_time ,
c.update_by ,c.update_time
from case_application c
<where>
<if test="caseStatus != null and caseStatus != ''">
AND c.case_status = #{caseStatus}
</if>
<if test="caseNum != null and caseNum != ''">
AND c.case_num = #{caseNum}
</if>
</where>
</select>
<select id="selectCaseApplicationCount" parameterType="CaseApplication" resultType="int">
select count(1) from case_application c
<where>
<if test="caseNum != null and caseNum != ''">
AND c.case_num = #{caseNum}
</if>
</where>
</select>
<insert id="insertCaseApplication" parameterType="CaseApplication" useGeneratedKeys="true" keyProperty="id">
insert into case_application(
<if test="caseNum != null and caseNum != ''">case_num,</if>
<if test="caseSubjectAmount != null">case_subject_amount,</if>
<if test="registerDate != null">register_date,</if>
<if test="arbitratMethod != null and arbitratMethod != ''">arbitrat_method,</if>
<if test="caseStatus != null ">case_status,</if>
<if test="hearDate != null ">hear_date,</if>
<if test="arbitratClaims != null and arbitratClaims != ''">arbitrat_claims,</if>
<if test="loanStartDate != null ">loan_start_date,</if>
<if test="loanEndDate != null ">loan_end_date,</if>
<if test="claimPrinciOwed != null ">claim_princi_owed,</if>
<if test="claimInterestOwed != null ">claim_interest_owed,</if>
<if test="claimLiquidDamag != null ">claim_liquid_damag,</if>
<if test="feePayable != null ">fee_payable,</if>
<if test="paidExpenses != null ">paid_expenses,</if>
<if test="beginVideoDate != null ">begin_video_date,</if>
<if test="onlineVideoPerson != null and onlineVideoPerson != ''">online_video_person,</if>
<if test="contractNumber != null and contractNumber != ''">contract_number,</if>
<if test="createBy != null and createBy != ''">create_by,</if>
create_time
)values(
<if test="caseNum != null and caseNum != ''">#{caseNum},</if>
<if test="caseSubjectAmount != null">#{caseSubjectAmount},</if>
<if test="registerDate != null">#{registerDate},</if>
<if test="arbitratMethod != null and arbitratMethod != ''">#{arbitratMethod},</if>
<if test="caseStatus != null ">#{caseStatus},</if>
<if test="hearDate != null ">#{hearDate},</if>
<if test="arbitratClaims != null and arbitratClaims != ''">#{arbitratClaims},</if>
<if test="loanStartDate != null ">#{loanStartDate},</if>
<if test="loanEndDate != null ">#{loanEndDate},</if>
<if test="claimPrinciOwed != null ">#{claimPrinciOwed},</if>
<if test="claimInterestOwed != null ">#{claimInterestOwed},</if>
<if test="claimLiquidDamag != null ">#{claimLiquidDamag},</if>
<if test="feePayable != null ">#{feePayable},</if>
<if test="paidExpenses != null ">#{paidExpenses},</if>
<if test="beginVideoDate != null ">#{beginVideoDate},</if>
<if test="onlineVideoPerson != null and onlineVideoPerson != ''">#{onlineVideoPerson},</if>
<if test="contractNumber != null and contractNumber != ''">#{contractNumber},</if>
<if test="createBy != null and createBy != ''">#{createBy},</if>
sysdate()
)
</insert>
<update id="updataCaseApplication" parameterType="CaseApplication">
update case_application
<set>
<if test="caseSubjectAmount != null">case_subject_amount = #{caseSubjectAmount},</if>
<if test="registerDate != null">register_date = #{registerDate},</if>
<if test="arbitratMethod != null and arbitratMethod != ''">arbitrat_method = #{arbitratMethod},</if>
<if test="hearDate != null ">hear_date = #{hearDate},</if>
<if test="arbitratClaims != null and arbitratClaims != ''">arbitrat_claims = #{arbitratClaims},</if>
<if test="loanStartDate != null ">loan_start_date = #{loanStartDate},</if>
<if test="loanEndDate != null ">loan_end_date = #{loanEndDate},</if>
<if test="loanEndDate != null ">claim_princi_owed = #{claimPrinciOwed},</if>
<if test="claimInterestOwed != null ">claim_interest_owed = #{claimInterestOwed},</if>
<if test="claimLiquidDamag != null ">claim_liquid_damag = #{claimLiquidDamag},</if>
<if test="feePayable != null ">fee_payable = #{feePayable},</if>
<if test="paidExpenses != null ">paid_expenses = #{paidExpenses},</if>
<if test="beginVideoDate != null ">begin_video_date = #{beginVideoDate},</if>
<if test="onlineVideoPerson != null and onlineVideoPerson != ''">online_video_person = #{onlineVideoPerson},</if>
<if test="contractNumber != null and contractNumber != ''">contract_number = #{contractNumber},</if>
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
update_time = sysdate()
</set>
where id = #{id}
</update>
<update id="submitCaseApplication" parameterType="CaseApplication">
update case_application
<set>
<if test="caseStatus != null">case_status = #{caseStatus}</if>
</set>
where id = #{id}
</update>
<delete id="deletecaseApplication" parameterType="CaseApplication">
delete from case_application where id = #{id}
</delete>
<select id="selectCaseApplication" parameterType="CaseApplication" resultMap="CaseApplicationResult">
select c.id ,c.case_num ,c.case_subject_amount ,c.register_date ,c.arbitrat_method ,c.case_status ,c.hear_date ,c.arbitrat_claims ,
c.loan_start_date ,c.loan_end_date ,c.claim_princi_owed ,c.claim_interest_owed ,c.claim_liquid_damag ,c.fee_payable ,
c.paid_expenses ,c.begin_video_date ,c.online_video_person ,c.contract_number ,c.create_by ,c.create_time ,
c.update_by ,c.update_time
from case_application c
<where>
<if test="id != null ">
AND c.id = #{id}
</if>
</where>
</select>
</mapper>