insert into team_lease_info (agreement_id,type_id,team_name,lease_man,phone,num,create_by,create_time,type)
values (#{agreementId},#{typeId},#{teamName},#{leaseMan},#{phone},#{num},#{createBy},now(),#{type});
UPDATE second_lot_config
SET name = #{name},
unit_id = #{unitId},
updater = #{updater},
update_time = now()
WHERE
id = #{id}
UPDATE ma_machine
SET
ma_status = #{maStatus}
WHERE
ma_id = #{maId}
UPDATE lease_out_details
SET
out_num = out_num - #{outNum}
WHERE
id = #{id}
DELETE FROM second_lot_config
WHERE
id = #{id}
DELETE FROM lease_out_details
WHERE parent_id = #{parentId}
AND ma_id = #{maId}
SELECT
bui.unit_id AS unitId,
lod.id as id,
tta.agreement_id AS agreementId,
bui.unit_name AS unitName,
mt1.type_name AS typeName,
mt.type_name AS modelName,
mt.manage_type as manageType,
mt.unit_name AS nuitName,
lod.type_id AS typeId,
group_concat(lod.ma_id) AS maIds,
IFNULL(SUM( lod.out_num ),0) AS Num
from lease_out_details lod
left join lease_apply_info lai on lod.parent_id=lai.id
left join tm_task_agreement tta on lai.task_id=tta.task_id
LEFT JOIN bm_agreement_info bai ON tta.agreement_id = bai.agreement_id
LEFT JOIN bm_unit_info bui ON bui.unit_id = bai.unit_id
LEFT JOIN ma_type mt ON lod.type_id = mt.type_id
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id
WHERE 1=1
and bui.unit_id = #{unitId}
and mt1.type_id = #{typeId}
and mt.type_id = #{modelId}
and lai.lease_type = #{leaseType}
and (bui.unit_name like concat('%', #{keyword}, '%') or
mt1.type_name like concat('%', #{keyword}, '%') or
mt.type_name like concat('%', #{keyword}, '%')
)
GROUP BY
tta.agreement_id,
lod.type_id
SELECT
bui.unit_id AS unitId,
lod.id as id,
tta.agreement_id AS agreementId,
bui.unit_name AS unitName,
bp.lot_name AS proName,
mt1.type_name AS typeName,
mt.type_name AS modelName,
mt.unit_name AS nuitName,
lod.type_id AS typeId,
IFNULL(SUM( lod.out_num ),0) AS receiveNum
from lease_out_details lod
left join lease_apply_info lai on lod.parent_id=lai.id
left join tm_task_agreement tta on lai.task_id=tta.task_id
LEFT JOIN bm_agreement_info bai ON tta.agreement_id = bai.agreement_id
LEFT JOIN bm_project_lot bp ON bp.lot_id = bai.project_id
LEFT JOIN bm_unit_info bui ON bui.unit_id = bai.unit_id
LEFT JOIN ma_type mt ON lod.type_id = mt.type_id
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id
WHERE 1=1
and bui.unit_id = #{unitId}
and bp.lot_id = #{proId}
and mt1.type_id = #{typeId}
and mt.type_id = #{modelId}
and lai.lease_type = #{leaseType}
and (bui.unit_name like concat('%', #{keyword}, '%') or
bp.lot_name like concat('%', #{keyword}, '%') or
mt1.type_name like concat('%', #{keyword}, '%') or
mt.type_name like concat('%', #{keyword}, '%')
)
GROUP BY
tta.agreement_id,
lod.type_id
SELECT
bui.unit_name AS unitName,
bp.lot_name AS proName,
mt1.type_name AS typeName,
mt.type_name AS modelName,
tli.num,
tli.lease_man AS leaseMan,
su.nick_name AS createBy,
tli.create_time AS createTime
FROM
team_lease_info tli
LEFT JOIN bm_agreement_info bai ON tli.agreement_id = bai.agreement_id
LEFT JOIN bm_project_lot bp ON bp.lot_id = bai.project_id
LEFT JOIN bm_unit_info bui ON bui.unit_id = bai.unit_id
LEFT JOIN ma_type mt ON tli.type_id = mt.type_id
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id
LEFT JOIN sys_user su ON su.user_id = tli.create_by
where tli.type = #{type}
and bui.unit_id = #{unitId}
and bp.lot_id = #{proId}
and mt1.type_id = #{typeId}
and mt.type_id = #{modelId}
and (bui.unit_name like concat('%', #{keyword}, '%') or
bp.lot_name like concat('%', #{keyword}, '%') or
mt1.type_name like concat('%', #{keyword}, '%') or
mt.type_name like concat('%', #{keyword}, '%') or
tli.lease_man like concat('%', #{keyword}, '%') or
su.nick_name like concat('%', #{keyword}, '%')
)
SELECT
bui.unit_id AS unitId,
lod.id as id,
tta.agreement_id AS agreementId,
bui.unit_name AS unitName,
bp.lot_name AS proName,
mt1.type_name AS typeName,
mt.type_name AS modelName,
mt.unit_name AS nuitName,
lod.type_id AS typeId,
IFNULL(SUM( lod.out_num ),0) AS Num
from lease_out_details lod
left join lease_apply_info lai on lod.parent_id=lai.id
left join tm_task_agreement tta on lai.task_id=tta.task_id
LEFT JOIN bm_agreement_info bai ON tta.agreement_id = bai.agreement_id
LEFT JOIN bm_project_lot bp ON bp.lot_id = bai.project_id
LEFT JOIN bm_unit_info bui ON bui.unit_id = bai.unit_id
LEFT JOIN ma_type mt ON lod.type_id = mt.type_id
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id
WHERE 1=1
and bui.unit_id = #{unitId}
and bp.lot_id = #{proId}
and mt1.type_id = #{typeId}
and mt.type_id = #{modelId}
and (bui.unit_name like concat('%', #{keyword}, '%') or
bp.lot_name like concat('%', #{keyword}, '%') or
mt1.type_name like concat('%', #{keyword}, '%') or
mt.type_name like concat('%', #{keyword}, '%')
)
GROUP BY
tta.agreement_id,
lod.type_id
SELECT
mt1.type_name AS typeName,
mt.type_name AS modelName,
mt.unit_name as nuitName,
sai.num AS num,
sai.start_time as startTime
FROM
slt_agreement_info sai
LEFT JOIN ma_type mt ON sai.type_id = mt.type_id
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id
where mt.type_id = #{typeId} and sai.agreement_id=#{agreementId}
and DATE(sai.start_time) = #{startTime}
order by sai.start_time desc
SELECT
mt1.type_name AS typeName,
mt.type_name AS modelName,
mt.unit_name as nuitName,
sai.num AS num,
sai.end_time as startTime
FROM
slt_agreement_info sai
LEFT JOIN ma_type mt ON sai.type_id = mt.type_id
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id
where sai.agreement_id=#{agreementId} and mt.type_id = #{typeId} and sai.status = '1'
and DATE(sai.end_time) = #{startTime}
order by sai.end_time desc
SELECT
mt1.type_name AS typeName,
mt.type_name AS modelName,
mt.unit_name as nuitName,
sai.num AS num,
sai.start_time as startTime
FROM
slt_agreement_info sai
LEFT JOIN ma_type mt ON sai.type_id = mt.type_id
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id
where sai.agreement_id=#{agreementId} and mt.type_id = #{typeId} and sai.status = '0'
and DATE(sai.start_time) = #{startTime}
order by sai.start_time desc
select tli.team_name as teamName,
mt1.type_name AS typeName,
mt.type_name AS modelName,
tli.num,
su.nick_name as createBy,
tli.create_time as startTime
from team_lease_info tli
LEFT JOIN ma_type mt ON tli.type_id = mt.type_id
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id
left join sys_user su on su.user_id = tli.create_by
where tli.agreement_id=#{agreementId} and mt.type_id = #{typeId} and tli.type = '1'
and DATE(tli.create_time) = #{startTime}
select tli.team_name as teamName,
mt1.type_name AS typeName,
mt.type_name AS modelName,
tli.num,
su.nick_name as createBy,
tli.create_time as startTime
from team_lease_info tli
LEFT JOIN ma_type mt ON tli.type_id = mt.type_id
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id
left join sys_user su on su.user_id = tli.create_by
where tli.agreement_id=#{agreementId} and mt.type_id = #{typeId} and tli.type = '2'
and DATE(tli.create_time) = #{startTime}
SELECT(
SUM(IF( rd.type = 1, rd.out_num, 0 )) -
SUM(IF( rd.type = 2, rd.out_num, 0 ))) AS receiveNum
FROM
receive_detail rd
WHERE
parent_id = #{id}
select mt.type_name modelName,
mt2.type_name typeName,
mt.unit_name unitName,
rd.out_num outNum,
rd.pick_name pickName,
rd.out_time outTime,
slc.name secondName,
tg.name groupName
from receive_detail rd
left join second_lot_config slc on rd.unit_id = slc.unit_id
LEFT JOIN team_group tg on tg.id = rd.team_group_id
left join ma_type mt on rd.type_id = mt.type_id
left join ma_type mt2 on mt.parent_id = mt2.type_id
where rd.type = #{type}
and rd.team_group_id = #{teamGroupId}
and rd.pick_name = #{pickName}
AND rd.out_time BETWEEN CONCAT(#{startTime}, ' 00:00:00') AND CONCAT(#{endTime}, ' 23:59:59')
and rd.unit_id = #{unitId}
SELECT
(
SUM(
IF
( rd.type = 1, rd.out_num, 0 )) - SUM(
IF
( rd.type = 2, rd.out_num, 0 ))) AS receiveNum
FROM
receive_detail rd
WHERE
parent_id = #{id}
select * from second_lot_config where unit_id = #{unitId} limit 1
select slc.*, bui.unit_name from second_lot_config slc
left join bm_unit_info bui on slc.unit_id = bui.unit_id
and slc.name like concat('%',#{name},'%')
and slc.unit_id = #{unitId}
select tg.*, bui.unit_name from team_group tg
left join bm_unit_info bui on tg.unit_id = bui.unit_id
and tg.name like concat('%',#{name},'%')
and tg.unit_id = #{unitId}
select mm.*,
mt.type_name modelName,
mt2.type_name typeName
from ma_machine mm
left join ma_type mt on mm.type_id = mt.type_id
left join ma_type mt2 on mt2.type_id = mt.parent_id
where ma_id = #{maId}
WITH type_counts AS (
SELECT
rd.ma_id,
SUM(CASE WHEN rd.type = '1' THEN 1 ELSE 0 END) as type1_count,
SUM(CASE WHEN rd.type = '2' THEN 1 ELSE 0 END) as type2_count
FROM
receive_detail rd
WHERE
rd.type IN ('1', '2')
AND rd.team_group_id = #{teamGroupId}
AND rd.unit_id = #{unitId}
GROUP BY
rd.ma_id
),
ranked_details AS (
SELECT
rd.*,
tc.type1_count,
tc.type2_count,
ROW_NUMBER() OVER (PARTITION BY rd.ma_id, rd.type ORDER BY rd.out_num DESC) as rn
FROM
receive_detail rd
JOIN
type_counts tc ON rd.ma_id = tc.ma_id
WHERE
rd.type IN ('1', '2')
AND rd.team_group_id = #{teamGroupId}
AND rd.unit_id = #{unitId}
)
SELECT DISTINCT
mt.type_name modelName,
mt.manage_type manageType,
mt2.type_name typeName,
rd.type_id typeId,
rd.parent_id as id,
mt.unit_name AS nuitName,
SUM(rd.out_num) receiveNum,
GROUP_CONCAT(rd.ma_id) maIds
FROM
ranked_details rd
LEFT JOIN
ma_machine mm ON rd.ma_id = mm.ma_id
LEFT JOIN
ma_type mt ON mt.type_id = mm.type_id
LEFT JOIN
ma_type mt2 ON mt2.type_id = mt.parent_id
WHERE
mm.ma_status = 132
AND ((rd.type = '1' AND rd.rn <= GREATEST(0, rd.type1_count - rd.type2_count))
OR (rd.type = '2' AND rd.rn <= GREATEST(0, rd.type2_count - rd.type1_count)))
GROUP BY
rd.type_id, rd.parent_id UNION
SELECT DISTINCT
mt.type_name modelName,
mt.manage_type manageType,
mt2.type_name typeName,
rd.type_id typeId,
rd.parent_id as id,
mt.unit_name AS nuitName,
(SUM(CASE WHEN rd.type = '1' THEN rd.out_num ELSE 0 END)
- SUM(CASE WHEN rd.type = '2' THEN rd.out_num ELSE 0 END)) AS receiveNum,
GROUP_CONCAT( rd.ma_id ) maIds
FROM
receive_detail rd
LEFT JOIN ma_type mt ON mt.type_id = rd.type_id
LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id
WHERE
rd.type IN ( '1', '2' )
AND rd.team_group_id = #{teamGroupId}
AND rd.ma_id IS NULL
AND rd.unit_id = #{unitId}
AND NOT EXISTS (
SELECT
1
FROM
receive_detail rd2
WHERE
rd2.ma_id = rd.ma_id
AND ((
rd2.type = '1'
AND EXISTS (
SELECT
1
FROM
receive_detail rd3
WHERE
rd3.ma_id = rd.ma_id
AND rd3.type = '2'
AND rd3.type_id = rd2.type_id
AND rd3.team_group_id = rd2.team_group_id
AND rd3.unit_id = rd2.unit_id
))
OR (
rd2.type = '2'
AND EXISTS (
SELECT
1
FROM
receive_detail rd4
WHERE
rd4.ma_id = rd.ma_id
AND rd4.type = '1'
AND rd4.type_id = rd2.type_id
AND rd4.team_group_id = rd2.team_group_id
AND rd4.unit_id = rd2.unit_id
)))
)
GROUP BY
rd.type_id, rd.parent_id
SELECT
(SUM(CASE WHEN type = 1 THEN rd.out_num ELSE 0 END) -
SUM(CASE WHEN type = 2 THEN rd.out_num ELSE 0 END)) AS count
FROM receive_detail rd
WHERE type_id = #{typeId}
GROUP BY unit_id, team_group_id
SELECT parent_id
FROM lease_out_details
WHERE id = #{id}
WITH type_counts AS (
SELECT
rd.ma_id,
SUM( CASE WHEN rd.type = '1' THEN 1 ELSE 0 END ) AS type1_count,
SUM( CASE WHEN rd.type = '2' THEN 1 ELSE 0 END ) AS type2_count
FROM
receive_detail rd
WHERE
rd.type IN ( '1', '2' )
AND rd.unit_id = #{unitId}
GROUP BY
rd.ma_id
),
ranked_details AS (
SELECT
rd.*,
tc.type1_count,
tc.type2_count,
ROW_NUMBER() OVER ( PARTITION BY rd.ma_id, rd.type ORDER BY rd.out_num DESC ) AS rn
FROM
receive_detail rd
JOIN type_counts tc ON rd.ma_id = tc.ma_id
WHERE
rd.type IN ( '1', '2' )
AND rd.unit_id = #{unitId}
) SELECT DISTINCT
mt.type_name modelName,
mt.manage_type manageType,
mt2.type_name typeName,
rd.type_id typeId,
tg.NAME groupName,
rd.parent_id AS id,
slc.name as name,
mt.unit_name AS unitName,
SUM( rd.out_num ) receiveNum,
GROUP_CONCAT( rd.ma_id ) maIds
FROM
ranked_details rd
LEFT JOIN team_group tg ON rd.team_group_id = tg.id
left join second_lot_config slc on rd.unit_id = slc.unit_id
LEFT JOIN ma_machine mm ON rd.ma_id = mm.ma_id
LEFT JOIN ma_type mt ON mt.type_id = mm.type_id
LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id
WHERE
mm.ma_status = 132
AND tg.NAME like concat('%', #{keyword}, '%')
AND ((
rd.type = '1'
AND rd.rn <= GREATEST( 0, rd.type1_count - rd.type2_count ))
OR (
rd.type = '2'
AND rd.rn <= GREATEST( 0, rd.type2_count - rd.type1_count )))
GROUP BY
rd.type_id,
rd.parent_id
union
SELECT DISTINCT
mt.type_name modelName,
mt.manage_type manageType,
mt2.type_name typeName,
rd.type_id typeId,
tg.NAME groupName,
rd.parent_id as id,
slc.name as name,
mt.unit_name AS nuitName,
(SUM(CASE WHEN rd.type = '1' THEN rd.out_num ELSE 0 END)
- SUM(CASE WHEN rd.type = '2' THEN rd.out_num ELSE 0 END)) AS receiveNum,
GROUP_CONCAT( rd.ma_id ) maIds
FROM
receive_detail rd
LEFT JOIN team_group tg ON rd.team_group_id = tg.id
left join second_lot_config slc on rd.unit_id = slc.unit_id
LEFT JOIN ma_type mt ON mt.type_id = rd.type_id
LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id
WHERE
rd.type IN ( '1', '2' )
AND rd.ma_id IS NULL
AND tg.NAME like concat('%', #{keyword}, '%')
AND rd.unit_id = #{unitId}
AND NOT EXISTS (
SELECT
1
FROM
receive_detail rd2
WHERE
rd2.ma_id = rd.ma_id
AND ((
rd2.type = '1'
AND EXISTS (
SELECT
1
FROM
receive_detail rd3
WHERE
rd3.ma_id = rd.ma_id
AND rd3.type = '2'
AND rd3.type_id = rd2.type_id
AND rd3.team_group_id = rd2.team_group_id
AND rd3.unit_id = rd2.unit_id
))
OR (
rd2.type = '2'
AND EXISTS (
SELECT
1
FROM
receive_detail rd4
WHERE
rd4.ma_id = rd.ma_id
AND rd4.type = '1'
AND rd4.type_id = rd2.type_id
AND rd4.team_group_id = rd2.team_group_id
AND rd4.unit_id = rd2.unit_id
)))
)
GROUP BY
rd.type_id, rd.parent_id
insert into second_lot_config (name,unit_id,creater,create_time)
values (#{name},#{unitId},#{creater},now());
insert into team_group (name, unit_id, creater, create_time)
values (#{name}, #{unitId}, #{creater}, now());
insert into receive_detail (parent_id,type_id,ma_id,out_num,out_time,type,cteater,pick_name,unit_id,team_group_id,phone)
values (#{id},#{typeId},#{maId},#{outNum},now(),#{type},#{createBy},#{leaseMan},#{unitId},#{teamGroupId},#{phone});
update ma_type set num = num + #{outNum} where type_id = #{typeId}