select distinct c.contract_id, c.contract_code, c.contract_name, c.contract_number, c.tender_id, t.project_name as t_project_name, p.project_number, p.project_name,
p.project_source, c.party_a_id, pa.party_a_name, t.a_person as a_person, t.a_phone as a_phone, t.agent as agent, t.agent_person as agent_person, sum(cp.paid_amount) as paid_amount,
t.agent_phone as agent_phone, c.amount, c.deposit, c.contract_document, c.drafter, u.nick_name as draft_nick_name, c.draft_time, c.remark, c.sign_date, c.sign_remark, c.sign_scan,
c.comment_type, c.manager_comment, c.manager_user_id, u1.nick_name as manager_nick_name, c.manager_time, c.gm_user_id, u2.nick_name as gm_nick_name, c.gm_time, c.gm_comment from cmc_contract as c
left join sys_user as u on u.user_id = c.drafter
left join sys_user as u1 on u1.user_id = c.manager_user_id
left join sys_user as u2 on u2.user_id = c.gm_user_id
left join cmc_tender as t on t.tender_id = c.tender_id
left join cmc_party_a as pa on pa.party_a_id = c.party_a_id
left join cmc_project_contract as pc on pc.contract_id = c.contract_id
left join cmc_project as p on pc.project_id = p.project_id
left join cmc_contract_paid as cp on cp.contract_id = c.contract_id
and c.contract_id like concat('%', #{contractId}, '%')
and c.contract_name like concat('%', #{contractName}, '%')
and c.contract_code like concat('%', #{contractCode}, '%')
and c.tender_id = #{tenderId}
and c.contract_number = #{contractNumber}
and c.party_a_id = #{partyAId}
and c.amount = #{amount}
and c.deposit = #{deposit}
and c.contract_document = #{contractDocument}
and c.drafter = #{drafter}
and c.draft_time = #{draftTime}
and YEAR(c.sign_date) = YEAR(#{signDate})
and c.sign_remark = #{signRemark}
and c.sign_scan = #{signScan}
and c.comment_type = #{commentType}
and p.project_source = #{projectSource}
and p.project_name like concat('%', #{projectName}, '%')
and pa.party_a_name like concat('%', #{partyAName}, '%')
group by c.contract_id
order by c.draft_time desc
select distinct c.contract_id, c.contract_code, c.contract_name, c.contract_number, c.tender_id, t.project_name as t_project_name, p.project_number, p.project_name,
p.project_source, c.party_a_id, pa.party_a_name, t.a_person as a_person, t.a_phone as a_phone, t.agent as agent, t.agent_person as agent_person, sum(cp.paid_amount) as paid_amount,
t.agent_phone as agent_phone, c.amount, c.deposit, c.contract_document, c.drafter, u.nick_name as draft_nick_name, c.draft_time, c.remark, c.sign_date, c.sign_remark, c.sign_scan,
c.comment_type, c.manager_comment, c.manager_user_id, u1.nick_name as manager_nick_name, c.manager_time, c.gm_user_id, u2.nick_name as gm_nick_name, c.gm_time, c.gm_comment from cmc_contract as c
left join sys_user as u on u.user_id = c.drafter
left join sys_user as u1 on u1.user_id = c.manager_user_id
left join sys_user as u2 on u2.user_id = c.gm_user_id
left join cmc_tender as t on t.tender_id = c.tender_id
left join cmc_party_a as pa on pa.party_a_id = c.party_a_id
left join cmc_project_contract as pc on pc.contract_id = c.contract_id
left join cmc_project as p on pc.project_id = p.project_id
left join cmc_contract_paid as cp on cp.contract_id = c.contract_id
left join cmc_contract_work as cw on cw.contract_id = c.contract_id
cw.content like concat('%', #{queryString}, '%')
and c.contract_id like concat('%', #{contractId}, '%')
and c.contract_name like concat('%', #{contractName}, '%')
and c.contract_code like concat('%', #{contractCode}, '%')
and c.tender_id = #{tenderId}
and c.contract_number = #{contractNumber}
and c.party_a_id = #{partyAId}
and c.amount = #{amount}
and c.deposit = #{deposit}
and c.contract_document = #{contractDocument}
and c.drafter = #{drafter}
and c.draft_time = #{draftTime}
and YEAR(c.sign_date) = YEAR(#{signDate})
and c.sign_remark = #{signRemark}
and c.sign_scan = #{signScan}
and c.comment_type = #{commentType}
and p.project_source = #{projectSource}
and p.project_name like concat('%', #{projectName}, '%')
and pa.party_a_name like concat('%', #{partyAName}, '%')
group by c.contract_id
order by c.draft_time desc
and c.contract_id like concat('%', #{contractId}, '%')
and c.contract_name like concat('%', #{contractName}, '%')
and c.contract_code like concat('%', #{contractCode}, '%')
and c.tender_id = #{tenderId}
and c.contract_number = #{contractNumber}
and c.party_a_id = #{partyAId}
and c.amount = #{amount}
and c.deposit = #{deposit}
and c.contract_document = #{contractDocument}
and c.drafter = #{drafter}
and c.draft_time = #{draftTime}
and YEAR(c.sign_date) = YEAR(#{signDate})
and c.sign_remark = #{signRemark}
and c.sign_scan = #{signScan}
and c.comment_type = #{commentType}
and p.project_source = #{projectSource}
and p.project_name like concat('%', #{projectName}, '%')
and pa.party_a_name like concat('%', #{partyAName}, '%')
and date_format(c.sign_date,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d')
and date_format(c.sign_date,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d')
group by c.contract_id
order by c.draft_time desc
select t1.contract_id, t1.contract_name, t1.project_type, t1.project_number, IFNULL(t1.amount, 0) as amount, IFNULL(t2.sub_amount, 0) as sub_amount, IFNULL(t3.budget_amount, 0) as budget_amount, IFNULL(t4.borrow_amount, 0) as borrow_amount, IFNULL(t5.settle_amount, 0) as settle_amount from
(select distinct c.contract_id, c.contract_name, p.project_type, p.project_number, c.amount from cmc_contract as c
left join cmc_contract_sub_contract as csc on csc.contract_id = c.contract_id
left join cmc_project_contract as pc on pc.contract_id = c.contract_id
left join cmc_project as p on p.project_id = pc.project_id
group by c.contract_id
order by c.draft_time desc) as t1
left join
(select distinct c.contract_id, sum(sc.sub_amount) as sub_amount from cmc_contract as c
left join cmc_contract_sub_contract as csc on csc.contract_id = c.contract_id
left join cmc_sub_contract as sc on sc.sub_contract_id = csc.sub_contract_id
group by c.contract_id) as t2
on t1.contract_id = t2.contract_id
left join
(select distinct c.contract_id, sum(b.total_budget) as budget_amount from cmc_contract as c
left join cmc_project_contract as pc on pc.contract_id = c.contract_id
left join cmc_project as p on p.project_id = pc.project_id
left join cmc_budget as b on b.project_id = p.project_id
group by c.contract_id) as t3
on t1.contract_id = t3.contract_id
left join
(select distinct c.contract_id, sum(b.manager_amount) as borrow_amount from cmc_contract as c
left join cmc_project_contract as pc on pc.contract_id = c.contract_id
left join cmc_project as p on p.project_id = pc.project_id
left join cmc_borrow as b on b.project_id = p.project_id
group by c.contract_id) as t4
on t1.contract_id = t4.contract_id
left join
(select distinct c.contract_id, sum(ss.amount) as settle_amount from cmc_contract as c
left join cmc_project_contract as pc on pc.contract_id = c.contract_id
left join cmc_project as p on p.project_id = pc.project_id
left join cmc_settle as s on s.project_id = p.project_id
left join cmc_settle_summary as ss on ss.settle_id = s.settle_id
where ss.content = '实际结算总金额'
group by c.contract_id) as t5
on t1.contract_id = t5.contract_id
select t1.contract_id, t1.contract_name, t1.project_type, t1.project_number, IFNULL(t1.amount, 0) as amount, IFNULL(t2.sub_amount, 0) as sub_amount, IFNULL(t3.budget_amount, 0) as budget_amount, IFNULL(t4.borrow_amount, 0) as borrow_amount, IFNULL(t5.settle_amount, 0) as settle_amount from
(select distinct c.contract_id, c.contract_name, p.project_type, p.project_number, c.amount from cmc_contract as c
left join cmc_contract_sub_contract as csc on csc.contract_id = c.contract_id
left join cmc_project_contract as pc on pc.contract_id = c.contract_id
left join cmc_project as p on p.project_id = pc.project_id
group by c.contract_id
order by c.draft_time desc) as t1
left join
(select distinct c.contract_id, sum(sc.sub_amount) as sub_amount from cmc_contract as c
left join cmc_contract_sub_contract as csc on csc.contract_id = c.contract_id
left join cmc_sub_contract as sc on sc.sub_contract_id = csc.sub_contract_id
group by c.contract_id) as t2
on t1.contract_id = t2.contract_id
left join
(select distinct c.contract_id, sum(b.total_budget) as budget_amount from cmc_contract as c
left join cmc_project_contract as pc on pc.contract_id = c.contract_id
left join cmc_project as p on p.project_id = pc.project_id
left join cmc_budget as b on b.project_id = p.project_id
group by c.contract_id) as t3
on t1.contract_id = t3.contract_id
left join
(select distinct c.contract_id, sum(b.manager_amount) as borrow_amount from cmc_contract as c
left join cmc_project_contract as pc on pc.contract_id = c.contract_id
left join cmc_project as p on p.project_id = pc.project_id
left join cmc_borrow as b on b.project_id = p.project_id
group by c.contract_id) as t4
on t1.contract_id = t4.contract_id
left join
(select distinct c.contract_id, sum(ss.amount) as settle_amount from cmc_contract as c
left join cmc_project_contract as pc on pc.contract_id = c.contract_id
left join cmc_project as p on p.project_id = pc.project_id
left join cmc_settle as s on s.project_id = p.project_id
left join cmc_settle_summary as ss on ss.settle_id = s.settle_id
where ss.content = '实际结算总金额'
group by c.contract_id) as t5
on t1.contract_id = t5.contract_id
where t1.contract_id = #{param}
where c.contract_id = #{contractId}
group by c.contract_id
insert into cmc_contract
contract_id,
contract_name,
contract_code,
tender_id,
party_a_id,
contract_number,
amount,
deposit,
contract_document,
drafter,
draft_time,
remark,
sign_date,
sign_remark,
sign_scan,
comment_type,
manager_comment,
manager_user_id,
manager_time,
gm_user_id,
gm_time,
gm_comment,
#{contractId},
#{contractName},
#{contractCode},
#{tenderId},
#{partyAId},
#{contractNumber},
#{amount},
#{deposit},
#{contractDocument},
#{drafter},
#{draftTime},
#{remark},
#{signDate},
#{signRemark},
#{signScan},
#{commentType},
#{managerComment},
#{managerUserId},
#{managerTime},
#{gmUserId},
#{gmTime},
#{gmComment},
update cmc_contract
contract_code = #{contractCode},
contract_name = #{contractName},
tender_id = #{tenderId},
party_a_id = #{partyAId},
contract_number = #{contractNumber},
amount = #{amount},
deposit = #{deposit},
contract_document = #{contractDocument},
drafter = #{drafter},
draft_time = #{draftTime},
remark = #{remark},
sign_date = #{signDate},
sign_remark = #{signRemark},
sign_scan = #{signScan},
comment_type = #{commentType},
manager_comment = #{managerComment},
manager_user_id = #{managerUserId},
manager_time = #{managerTime},
gm_user_id = #{gmUserId},
gm_time = #{gmTime},
gm_comment = #{gmComment},
where contract_id = #{contractId}
delete from cmc_contract where contract_id = #{contractId}
delete from cmc_contract where contract_id in
#{contractId}