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,
status,
create_time
) values (
#{code},
#{taskId},
#{backPerson},
#{backTime},
#{phone},
#{directAuditBy},
#{directAuditTime},
#{directAuditRemark},
#{createBy},
#{updateBy},
#{updateTime},
#{remark},
#{companyId},
#{status},
NOW()
)
insert into back_apply_details
(
parent_id,
type_id,
pre_num,
status,
create_by,
update_time,
remark,
company_id,
audit_num,
create_time
)
values (
#{id},
#{typeId},
#{num},
'0',
#{createBy},
NOW(),
#{remark},
#{companyId},
#{auditNum},
NOW()
)
insert into back_apply_details
(
parent_id,
type_id,
pre_num,audit_num,
status,
create_by,
update_time,
remark,
company_id,
create_time
)
values (
#{id},
#{typeId},
#{num},#{num},
'0',
#{createBy},
NOW(),
#{remark},
#{companyId},
NOW()
)
update back_apply_details
set pre_num =#{num}
where id = #{detailsId}
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 bad.audit_num=bad.pre_num,bai.direct_audit_by=#{createBy},bai.status=#{status},bai.direct_audit_time=NOW()
WHERE
bai.id = #{id}
and bai.company_id = #{companyId}
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 bad.audit_num=bad.pre_num,bai.direct_audit_by=#{createBy},bai.status=#{status},bai.direct_audit_time=NOW()
WHERE
bai.id = #{id}
and bai.company_id = #{companyId}
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}
UPDATE tm_task tt
SET tt.task_status = #{taskStatus}
WHERE
tt.task_id = #{taskId}
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};
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 task_id in (SELECT task_id FROM back_apply_info WHERE id = #{id}));
DELETE bai1
FROM back_apply_info bai1
JOIN (
SELECT task_id
FROM back_apply_info
WHERE id = #{id}) bai2 ON bai1.task_id = bai2.task_id;
SELECT
bai.id,
bai.`code`,
bai.back_person as backPerson,
bai.`status` as applyStatus,
bai.phone,
bpl.lot_id as lotId,
bpl.lot_name as lotName,
bui.unit_id as unitId,
bui.unit_name as unitName,
bai.back_time as backTime,
bagi.agreement_code as agreementCode,
tt.task_status as taskStatus,
tta.agreement_id as agreementId,
GROUP_CONCAT(DISTINCT bad.type_id) as typeId,
GROUP_CONCAT(mt2.type_name) AS typeName,
GROUP_CONCAT(bad.status) AS status
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
tt.create_by = #{createBy}
and (bai.`code` like concat('%', #{keyWord}, '%') or
bai.back_person like concat('%', #{keyWord}, '%') or
bai.phone like concat('%', #{keyWord}, '%'))
and bui.unit_id = #{unitId}
and bpl.lot_id = #{lotId}
and bpl.lot_id = #{proId}
and tt.task_status = #{taskStatus}
and bagi.agreement_code like concat('%', #{agreementCode}, '%')
and bai.back_time =#{time}
GROUP BY bai.task_id, us.user_name, bai.phone, bpl.lot_name, bui.unit_name, bagi.plan_start_time
ORDER BY bai.create_time desc
SELECT subquery1.type_id as typeId,
subquery1.typeName typeCode,
subquery1.typeNames as typeName,
subquery1.out_num - COALESCE(subquery2.audit_num, 0) AS num
FROM (
-- 第一个查询作为子查询
SELECT mt.type_id,
mt.type_name as typeName,
mt2.type_name AS typeNames,
SUM(lod.out_num) as out_num
FROM lease_apply_info lai
LEFT JOIN tm_task_agreement tta on lai.task_id = tta.task_id
LEFT JOIN lease_out_details lod on lod.parent_id = lai.id
LEFT JOIN tm_task tt on tt.task_id = tta.task_id
LEFT JOIN ma_type mt on lod.type_id=mt.type_id
LEFT JOIN ma_type mt1 ON mt1.type_id = lod.type_id
LEFT JOIN ma_type mt2 ON mt2.type_id = mt1.parent_id
LEFT JOIN ma_type mt3 ON mt3.type_id = mt2.parent_id
LEFT JOIN ma_type mt4 ON mt4.type_id = mt3.parent_id
WHERE tta.agreement_id = #{agreementId}
and tt.task_type = '29'
and mt.`level`='4'
and (mt.type_name like concat('%', #{keyWord}, '%') or
mt2.type_name like concat('%', #{keyWord}, '%'))
GROUP BY mt.type_id
) AS subquery1
LEFT JOIN
(
-- 第二个查询作为子查询
SELECT mt.type_id,
mt.type_name,
mt2.type_name AS typeNames,
SUM(bad.audit_num) as audit_num
FROM back_apply_info bai
LEFT JOIN tm_task tt on tt.task_id=bai.task_id
LEFT JOIN back_apply_details bad on bad.parent_id = bai.id
LEFT JOIN tm_task_agreement tta on tta.task_id = tt.task_id
LEFT JOIN ma_type mt on mt.type_id = bad.type_id
LEFT JOIN ma_type mt1 ON mt1.type_id = bad.type_id
LEFT JOIN ma_type mt2 ON mt2.type_id = mt1.parent_id
LEFT JOIN ma_type mt3 ON mt3.type_id = mt2.parent_id
LEFT JOIN ma_type mt4 ON mt4.type_id = mt3.parent_id
WHERE tta.agreement_id = #{agreementId}
and tt.task_type = '36'
and mt.`level`='4'
and (mt.type_name like concat('%', #{keyWord}, '%') or
mt2.type_name like concat('%', #{keyWord}, '%'))
GROUP BY mt.type_id
) AS subquery2
ON subquery1.type_id = subquery2.type_id
WHERE
subquery1.out_num - COALESCE(subquery2.audit_num, 0)>0
select count(*) from tm_task where DATE_FORMAT(create_time,'%y%m') = DATE_FORMAT(#{date},'%y%m') and task_type = #{taskType}
SELECT
bai.back_person AS backPerson,
bai.phone AS phone,
bai.back_time as backTime,
lot.lot_name AS lotName,
unit.unit_name AS unitName,
mt.type_name typeCode,
mt2.type_name AS typeName,
bagi.agreement_code as agreementCode,
bad.pre_num AS num
FROM
back_apply_details bad
LEFT JOIN back_apply_info bai ON bai.id = bad.parent_id
LEFT JOIN tm_task tt on bai.task_id = tt.task_id
LEFT JOIN tm_task_agreement tta ON tta.task_id = bai.task_id
LEFT JOIN bm_agreement_info bagi ON bagi.agreement_id = tta.agreement_id
LEFT JOIN bm_project_lot lot ON lot.lot_id = bagi.project_id
LEFT JOIN bm_unit_info unit ON unit.unit_id = bagi.unit_id
LEFT JOIN ma_type mt ON mt.type_id = bad.type_id
LEFT JOIN ma_type mt1 ON mt1.type_id = bad.type_id
LEFT JOIN ma_type mt2 ON mt2.type_id = mt1.parent_id
LEFT JOIN ma_type mt3 ON mt3.type_id = mt2.parent_id
LEFT JOIN ma_type mt4 ON mt4.type_id = mt3.parent_id
WHERE
bai.task_id = #{taskId}
and bai.company_id = #{companyId}
and (mt2.type_name like concat('%', #{keyWord}, '%') or
mt.type_name like concat('%', #{keyWord}, '%'))
SELECT
mt.type_id AS typeId,
mt.type_name AS typeName,
mt.parent_id AS parentId,
mt.unit_name AS unitNames,
mt.company_id AS companyId,
IFNULL(aa.num,0) as num,
mt.`level`
FROM
ma_type mt
LEFT JOIN ( SELECT SUM(sai.num)as num,sai.type_id FROM slt_agreement_info sai WHERE sai.`status`='0'
and sai.agreement_id =#{agreementId}
GROUP BY sai.type_id) aa on aa.type_id=mt.type_id
WHERE
mt.del_flag = '0'
AND level IN ('1','2')
AND level IN ('1','2','3')
AND level IN ('1','2','3','4')
SELECT
bai.`code`,
bai.back_person as backPerson,
bai.phone,
bpl.lot_name as lotName,
bui.unit_name as unitName,
bai.back_time as backTime,
bagi.agreement_code as agreementCode,
tt.task_status as taskStatus,
mt2.type_name AS typeName,
mt1.type_name as typeCode
FROM
back_apply_details bad
LEFT JOIN back_apply_info bai 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
1=1
and (bai.`code` like concat('%', #{keyWord}, '%') or
bai.back_person like concat('%', #{keyWord}, '%') or
bai.phone like concat('%', #{keyWord}, '%'))
and bui.unit_id = #{unitId}
and bpl.lot_id = #{lotId}
and tt.task_status = #{taskStatus}
and bagi.agreement_code like concat('%', #{agreementCode}, '%')
and bai.back_time >=#{startTime}
and #{endTime} >=bai.back_time
ORDER BY bai.task_id desc
SELECT
bai.id,
bai.`code`,
bai.`status` as applyStatus,
bai.back_person as backPerson,
bai.phone,
bai.task_id as taskId,
bpl.lot_id as lotId,
bpl.lot_name as lotName,
bui.unit_id as unitId,
bui.unit_name as unitName,
bai.back_time as backTime,
bagi.agreement_code as agreementCode,
tt.task_status as taskStatus,
tta.agreement_id as agreementId,
GROUP_CONCAT(bai.company_id) as companyId,
GROUP_CONCAT(DISTINCT bad.type_id) as typeId,
GROUP_CONCAT(mt2.type_name) AS typeName,
GROUP_CONCAT(bad.status) AS status
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
1=1
and (bai.`code` like concat('%', #{keyWord}, '%') or
bai.back_person like concat('%', #{keyWord}, '%') or
bai.phone like concat('%', #{keyWord}, '%'))
and bui.unit_id = #{unitId}
and bpl.lot_id = #{lotId}
and bpl.lot_id = #{proId}
and tt.task_status = #{taskStatus}
and bagi.agreement_code like concat('%', #{agreementCode}, '%')
and bai.back_time =#{time}
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
SELECT bai1.status FROM back_apply_info bai1
INNER JOIN
(SELECT * FROM back_apply_info bai2 WHERE bai2.id = #{id}) dd
on bai1.task_id = dd.task_id
SELECT
bai.back_person AS backPerson,
bai.phone AS phone,
bai.back_time as backTime,
lot.lot_name AS lotName,
lot.lot_id as proId,
bad.company_id as companyId,
bad.create_by as createBy,
lot.pro_id as projectId,
lot.lot_name as proName,
unit.unit_name AS unitName,
unit.unit_id AS unitId,
mt.type_name typeCode,
mt.type_id as typeId,
mt.unit_name as unitNames,
tt.task_id as taskId,
case WHEN mt.manage_type = '0' then '编号' else '计数' end manageTypeName,
mt2.type_name AS typeName,
bagi.agreement_code as agreementCode,
bagi.agreement_id as agreementId,
bai.`status` as `status`,
bad.id as detailsId,
bad.pre_num AS num,
IFNULL( aa.num, 0 ) AS useNum
FROM
back_apply_details bad
LEFT JOIN back_apply_info bai ON bai.id = bad.parent_id
LEFT JOIN tm_task tt on bai.task_id = tt.task_id
LEFT JOIN tm_task_agreement tta ON tta.task_id = bai.task_id
LEFT JOIN bm_agreement_info bagi ON bagi.agreement_id = tta.agreement_id
LEFT JOIN bm_project_lot lot ON lot.lot_id = bagi.project_id
LEFT JOIN bm_unit_info unit ON unit.unit_id = bagi.unit_id
LEFT JOIN ma_type mt ON mt.type_id = bad.type_id
LEFT JOIN (
SELECT
SUM( sai.num ) AS num, sai.type_id FROM slt_agreement_info sai
WHERE
sai.`status` = '0'
AND sai.agreement_id = #{agreementId}
GROUP BY sai.type_id
) aa ON aa.type_id = mt.type_id
LEFT JOIN ma_type mt1 ON mt1.type_id = bad.type_id
LEFT JOIN ma_type mt2 ON mt2.type_id = mt1.parent_id
LEFT JOIN ma_type mt3 ON mt3.type_id = mt2.parent_id
LEFT JOIN ma_type mt4 ON mt4.type_id = mt3.parent_id
WHERE
bai.task_id in (SELECT task_id from back_apply_info WHERE id = #{id})
and (mt2.type_name like concat('%', #{keyWord}, '%') or
mt.type_name like concat('%', #{keyWord}, '%'))
SELECT
bai.id,
bai.`code`,
bai.`status` as applyStatus,
bai.back_person as backPerson,
bai.phone,
bai.task_id as taskId,
bpl.lot_id as lotId,
bpl.lot_name as lotName,
bui.unit_id as unitId,
bui.unit_name as unitName,
bai.back_time as backTime,
bagi.agreement_code as agreementCode,
tt.task_status as taskStatus,
tta.agreement_id as agreementId,
GROUP_CONCAT(bai.company_id) as companyId,
GROUP_CONCAT(DISTINCT bad.type_id) as typeId,
GROUP_CONCAT(mt2.type_name) AS typeName,
GROUP_CONCAT(bad.status) AS status
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
1=1
and (bai.`code` like concat('%', #{keyWord}, '%') or
bai.back_person like concat('%', #{keyWord}, '%') or
bai.phone like concat('%', #{keyWord}, '%'))
and bui.unit_id = #{unitId}
and bpl.lot_id = #{lotId}
and bpl.lot_id = #{proId}
and tt.task_status = #{taskStatus}
and bagi.agreement_code like concat('%', #{agreementCode}, '%')
and bai.back_time =#{time}
GROUP BY bai.task_id, us.user_name, bai.phone, bpl.lot_name, bui.unit_name, bagi.plan_start_time
ORDER BY bai.create_time desc
select * from back_apply_info where task_id = #{taskId}