<!-- 新增渠道维护记录 -->
<insert id="addChannelMaintainRecord" parameterClass="ChannelMaintainRecord">
insert into T_QD_ACTIVITY_LOG(CREATOR,CREATE_DATE,MAINTAIN_TYPE,EXPENSE,COMMUNICATE_PURPOSE,
PROJECT_ID,VISIT_PURPOSE,COMMUNICATE_RESULT,GAINS,CHANNEL_CODE,EMPLOYEE_LIST,TASK_ID)
values (#creator#,getdate(),#maintainType.dictionaryCode#,#expense#,#communicatePurpose.dictionaryCode#,#project.projectId#,#visitPurpose#,
#communicateResult#,#gain#,#channel.channelCode#,#employeeNameList#,#channelTask.taskId#)
<selectKey resultClass="Integer" keyProperty="recordId" type="post">
select @@IDENTITY as value
</selectKey>
</insert>
<insert id="insertOrUpdateShengHang" parameterClass="distinctShengHang">
update T_QD_CHANNEL_TT
set PARENT_CODE = #parentChannelId#,
PARENT_ORG_CODE = #parentOrgId#,
CHANNEL_NAME = #channelName#,
CHANNEL_ADDRESS = #channelAddress#,
CHANNEL_TYPE = #channelType#
where CHANNEL_CODE = (select b.CHANNEL_CODE from T_QD_CHANNEL_ORGCODE_TT a, T_QD_CHANNEL_TT b where b.PARENT_ORG_CODE = #parentOrgId# and a.ORGANIZE_CODE = #orgId# and a.CHANNEL_CODE = b.CHANNEL_CODE)
if @@ROWCOUNT = 0
insert into T_QD_CHANNEL_TT (
CHANNEL_CODE,
CHANNEL_NAME,
CHANNEL_ADDRESS,
CHANNEL_TYPE,
PARENT_CODE,
CHANNEL_LEVEL,
PARENT_ORG_CODE)
values (
(select stuff((select CHANNEL_CODE from T_QD_CHANNEL_TT WHERE CHANNEL_CODE = #parentChannelId#), 4,3,
(SELECT right('000' + (cast(isnull(max(SUBSTRING(CHANNEL_CODE,4,3) + 1), '001') as varchar)),3) from T_QD_CHANNEL_TT))),
#channelName#,
#channelAddress#,
#channelType#,
#parentChannelId#,
1,
#parentOrgId#);
<selectKey resultClass="String" keyProperty="channelId" type="post">
select CHANNEL_CODE from T_QD_CHANNEL_TT where SERIAL_NO = (select @@IDENTITY as value)
</selectKey>
</insert>
------
批处理
/*
* 保存网点维护人
*/
@Override
public void addEmployeeChannel(final List<EmployeeChannelDto> employeeChannelList) {
this.getSqlMapClientTemplate().execute(new SqlMapClientCallback() {
public Object doInSqlMapClient(SqlMapExecutor executor) throws SQLException {
executor.startBatch();
for (int i = 0; i < employeeChannelList.size(); i++) {
executor.insert("addEmployeeChannel", employeeChannelList.get(i));
}
executor.executeBatch();
return null;
}
});
}