insert into tm_task
(
task_type,
task_status,
code,
create_by,
update_by,
update_time,
remark,
company_id,
create_time
) values (
#{taskType},
#{taskStatus},
#{code},
#{createBy},
#{updateBy},
#{updateTime},
#{remark},
#{companyId},
NOW()
)
insert into tm_task_agreement
(
task_id,
agreement_id,
create_by,
update_by,
update_time,
remark,
company_id,
create_time
) values (
#{taskId},
#{agreementId},
#{createBy},
#{updateBy},
#{updateTime},
#{remark},
#{companyId},
NOW()
)
insert into back_apply_info
(
code,
task_id,
back_person,
back_time,
phone,
direct_audit_by,
direct_audit_time,
direct_audit_remark,
create_by,
update_by,
update_time,
remark,
company_id,
create_time
) values (
#{code},
#{taskId},
#{backPerson},
#{backTime},
#{phone},
#{directAuditBy},
#{directAuditTime},
#{directAuditRemark},
#{createBy},
#{updateBy},
#{updateTime},
#{remark},
#{companyId},
NOW()
)
insert into back_apply_details
(
parent_id,
type_id,
pre_num,
status,
create_by,
update_by,
update_time,
remark,
company_id,
create_time
)
values (
#{parentId},
#{typeId},
#{preNum},
'0',
#{createBy},
#{createBy},
NOW(),
#{remark},
#{companyId},
NOW()
)
UPDATE tm_task tt
LEFT JOIN back_apply_info bai ON bai.task_id = tt.task_id
LEFT JOIN back_apply_details bad on bad.parent_id=bai.id
SET bai.status = #{status},bad.audit_num=bad.pre_num,bai.direct_audit_by=#{createBy},bai.direct_audit_time=NOW()
WHERE
bai.id = #{id}
UPDATE tm_task tt
LEFT JOIN back_apply_info bai ON bai.task_id = tt.task_id
LEFT JOIN back_apply_details bad on bad.parent_id=bai.id
SET bai.status = #{status},bai.direct_audit_remark=#{directAuditRemark},bad.audit_num=bad.pre_num,bai.direct_audit_by=#{createBy},bai.direct_audit_time=NOW()
WHERE
bai.id = #{id}
SELECT
bai.id,
bai.status,
bai.back_person as backPerson,
bai.phone,
bpl.lot_name as lotName,
bui.unit_name as unitName,
bai.back_time as backTime,
bagi.plan_start_time as planStartTime,
tt.task_status as taskStatus,
GROUP_CONCAT(DISTINCT bad.type_id) as typeId,
GROUP_CONCAT(CONCAT_WS('/', IFNULL(mt2.type_name, ''))) AS typeName,
SUM(DISTINCT bad.pre_num) AS num,
bai.direct_audit_remark as directAuditRemark
FROM
back_apply_info bai
LEFT JOIN back_apply_details bad on bad.parent_id=bai.id
LEFT JOIN tm_task tt on tt.task_id=bai.task_id
LEFT JOIN tm_task_agreement tta on tta.task_id=tt.task_id
LEFT JOIN bm_agreement_info bagi on bagi.agreement_id=tta.agreement_id
LEFT JOIN bm_project_lot bpl on bpl.lot_id=bagi.project_id
LEFT JOIN bm_unit_info bui on bui.unit_id=bagi.unit_id
LEFT JOIN sys_user us on us.user_id=bai.create_by
LEFT JOIN ma_type mt1 ON mt1.type_id=bad.type_id
LEFT JOIN ma_type mt2 ON mt2.type_id=mt1.parent_id
WHERE
bad.type_id is not null and tt.create_by = #{createBy}
GROUP BY bai.id, us.user_name, bai.phone, bpl.lot_name, bui.unit_name, bagi.plan_start_time
ORDER BY bai.create_time desc
UPDATE tm_task tt
LEFT JOIN back_apply_info bai ON bai.task_id = tt.task_id
LEFT JOIN back_apply_details bad on bad.parent_id=bai.id
SET tt.task_status = 38
WHERE
bai.id = #{id}
UPDATE tm_task tt
INNER JOIN back_apply_info bai ON bai.task_id = tt.task_id
SET tt.task_status = #{taskStatus}
WHERE
bai.id = #{id}
DELETE
FROM tm_task_agreement
WHERE task_id IN (SELECT task_id FROM back_apply_info WHERE id = #{id});
DELETE
FROM tm_task
WHERE task_id IN (SELECT task_id FROM back_apply_info WHERE id = #{id});
DELETE
FROM back_apply_details
WHERE parent_id IN (SELECT id FROM back_apply_info WHERE id = #{id});
DELETE
FROM back_apply_info
WHERE id = #{id};