select * from sys_stock where is_deleted = 0
SELECT st.*,
stf.factory_name AS factoryName,
a.dict_value AS stype,
d.dict_value AS dic1,
c.dict_value AS dic2,
stf.agricultural_name as agrname
FROM sys_stock st
LEFT JOIN sys_stockfactory stf ON stf.id = st.stock_id
LEFT JOIN (SELECT dict_key, dict_value
FROM blade_dict_biz
WHERE CODE = 'stockSpecs1' AND is_deleted = 0
AND blade_dict_biz.tenant_id = #{stock.codes}
) d ON d.dict_key = st.specs_value1
LEFT JOIN (SELECT dict_key, dict_value
FROM blade_dict_biz
WHERE CODE = 'stockSpecs2' AND is_deleted = 0
AND blade_dict_biz.tenant_id = #{stock.codes}
) c ON c.dict_key = st.specs_value2
LEFT JOIN ( SELECT dict_key, dict_value FROM blade_dict_biz WHERE CODE = 'stockType' AND is_deleted = 0
AND blade_dict_biz.tenant_id = #{stock.codes}
) a ON
a.dict_key = stf.type
WHERE st.is_deleted = 0 and state=0 AND st.amount != 0
and st.dept_id = #{stock.deptId}
and stf.type = #{stock.stype}
and st.specs_value1 = #{stock.specsValue1}
and st.create_time like concat('%',#{stock.year},'%')
and st.specs_value2 = #{stock.specsValue2}
and st.state = #{stock.state}
and st.type = #{stock.type}
and stf.agricultural_name like concat('%', #{stock.agrname},'%')
SELECT st.*,
stf.factory_name AS factoryName,
a.dict_value AS stype,
d.dict_value AS dic1,
c.dict_value AS dic2,
stf.agricultural_name as agrname
FROM sys_stock st
LEFT JOIN sys_stockfactory stf ON stf.id = st.stock_id
LEFT JOIN (SELECT dict_key, dict_value
FROM blade_dict_biz
WHERE CODE = 'stockSpecs1' AND is_deleted = 0
AND blade_dict_biz.tenant_id = #{stock.codes}
) d ON d.dict_key = st.specs_value1
LEFT JOIN (SELECT dict_key, dict_value
FROM blade_dict_biz
WHERE CODE = 'stockSpecs2' AND is_deleted = 0
AND blade_dict_biz.tenant_id = #{stock.codes}
) c ON c.dict_key = st.specs_value2
LEFT JOIN ( SELECT dict_key, dict_value FROM blade_dict_biz WHERE CODE = 'stockType' AND is_deleted = 0
AND blade_dict_biz.tenant_id = #{stock.codes}
) a ON
a.dict_key = stf.type
WHERE st.is_deleted = 0 and state=0
and stf.type = #{stock.stype}
and st.specs_value1 = #{stock.specsValue1}
and st.specs_value2 = #{stock.specsValue2}
and st.state = #{stock.state}
and st.type = #{stock.type}
and stf.agricultural_name like concat('%', #{stock.agrname},'%')
update sys_stock
set amount = #{stock.amount},
state=#{stock.state}
where id = #{stock.id}
update sys_stock
set amount = #{stock.amount},state = #{stock.state}
where id = #{stock.id}
SELECT id,
a.agricultural_name as agrname,
a.factory_name as facname,
IFNULL(cg.cgnum, 0) AS cgnum,
IFNULL(dbr.dbrknum, 0) AS dbrknum,
IFNULL(lyc.lycknum, 0) AS lycknum,
IFNULL(dbc.dbcknum, 0) AS dbcknum,
IFNULL(bfc.bfcknum, 0) AS bfcknum
FROM (
SELECT stf.id,
stf.agricultural_name,
stf.factory_name
FROM
sys_stockrecord st
LEFT JOIN (SELECT id, agricultural_name, factory_name,type FROM sys_stockfactory) stf
ON st.stock_id1 = stf.id
WHERE stf.type =#{stock.stockType}
GROUP BY
stf.id,
stf.agricultural_name,
stf.factory_name
) a
LEFT JOIN (SELECT stock_id1, SUM(census) AS cgnum
FROM sys_stockrecord
WHERE stock_type1 = 1
AND type1 = 0
and DATE_FORMAT(sys_stockrecord.time1,'%Y-%m-%d') >= #{stock.startTime}
and DATE_FORMAT(sys_stockrecord.time1,'%Y-%m-%d') <= #{stock.endTime}
and dept_id = #{stock.deptId}
GROUP BY stock_id1) cg ON cg.stock_id1 = a.id
LEFT JOIN (SELECT stock_id1, SUM(census) AS dbrknum
FROM sys_stockrecord
WHERE stock_type1 = 1
AND type1 = 1
and DATE_FORMAT(sys_stockrecord.time1,'%Y-%m-%d') >= #{stock.startTime}
and DATE_FORMAT(sys_stockrecord.time1,'%Y-%m-%d') <= #{stock.endTime}
and dept_id = #{stock.deptId}
GROUP BY stock_id1) dbr ON dbr.stock_id1 = a.id
LEFT JOIN (SELECT stock_id1, SUM(census) AS lycknum
FROM sys_stockrecord
WHERE stock_type1 = 0
AND type1 = 0
and DATE_FORMAT(sys_stockrecord.time1,'%Y-%m-%d') >= #{stock.startTime}
and DATE_FORMAT(sys_stockrecord.time1,'%Y-%m-%d') <= #{stock.endTime}
and dept_id = #{stock.deptId}
GROUP BY stock_id1) lyc ON lyc.stock_id1 = a.id
LEFT JOIN (SELECT stock_id1, SUM(census) AS dbcknum
FROM sys_stockrecord
WHERE stock_type1 = 0
AND type1 = 1
and DATE_FORMAT(sys_stockrecord.time1,'%Y-%m-%d') >= #{stock.startTime}
and DATE_FORMAT(sys_stockrecord.time1,'%Y-%m-%d') <= #{stock.endTime}
and dept_id = #{stock.deptId}
GROUP BY stock_id1) dbc ON dbc.stock_id1 = a.id
LEFT JOIN (SELECT stock_id1, SUM(census) AS bfcknum
FROM sys_stockrecord
WHERE stock_type1 = 0
AND type1 = 2
and DATE_FORMAT(sys_stockrecord.time1,'%Y-%m-%d') >= #{stock.startTime}
and DATE_FORMAT(sys_stockrecord.time1,'%Y-%m-%d') <= #{stock.endTime}
and dept_id = #{stock.deptId}
GROUP BY stock_id1) bfc ON bfc.stock_id1 = a.id
SELECT st.specs,
st.amount,
st.specs_value1 as spe,
sto.type
FROM `sys_stock` st
LEFT JOIN (SELECT id, type FROM sys_stockfactory) sto ON st.stock_id = sto.id
WHERE st.is_deleted = 0
and dept_id = #{deptId}
SELECT id,
a.agricultural_name as agrname,
a.factory_name as facname,
IFNULL(cg.cgnum, 0) AS cgnum,
IFNULL(dbr.dbrknum, 0) AS dbrknum,
IFNULL(lyc.lycknum, 0) AS lycknum,
IFNULL(dbc.dbcknum, 0) AS dbcknum,
IFNULL(bfc.bfcknum, 0) AS bfcknum
FROM (
SELECT stf.id,
stf.agricultural_name,
stf.factory_name
FROM sys_stockrecord st
LEFT JOIN (SELECT id, agricultural_name, factory_name FROM sys_stockfactory) stf
ON st.stock_id1 = stf.id
GROUP BY stf.id,
stf.agricultural_name,
stf.factory_name
) a
LEFT JOIN (SELECT stock_id1, SUM(census) AS cgnum
FROM sys_stockrecord
WHERE stock_type1 = 1
AND type1 = 0
and DATE_FORMAT(time1,'%Y-%m-%d') >= #{startTime}
and DATE_FORMAT(time1,'%Y-%m-%d') <= #{endTime}
and dept_id = #{deptId}
GROUP BY stock_id1) cg ON cg.stock_id1 = a.id
LEFT JOIN (SELECT stock_id1, SUM(census) AS dbrknum
FROM sys_stockrecord
WHERE stock_type1 = 1
AND type1 = 1
and DATE_FORMAT(time1,'%Y-%m-%d') >= #{startTime}
and DATE_FORMAT(time1,'%Y-%m-%d') <= #{endTime}
and dept_id = #{deptId}
GROUP BY stock_id1) dbr ON dbr.stock_id1 = a.id
LEFT JOIN (SELECT stock_id1, SUM(census) AS lycknum
FROM sys_stockrecord
WHERE stock_type1 = 0
AND type1 = 0
and DATE_FORMAT(time1,'%Y-%m-%d') >= #{startTime}
and DATE_FORMAT(time1,'%Y-%m-%d') <= #{endTime}
and dept_id = #{deptId}
GROUP BY stock_id1) lyc ON lyc.stock_id1 = a.id
LEFT JOIN (SELECT stock_id1, SUM(census) AS dbcknum
FROM sys_stockrecord
WHERE stock_type1 = 0
AND type1 = 1
and DATE_FORMAT(time1,'%Y-%m-%d') >= #{startTime}
and DATE_FORMAT(time1,'%Y-%m-%d') <= #{endTime}
and dept_id = #{deptId}
GROUP BY stock_id1) dbc ON dbc.stock_id1 = a.id
LEFT JOIN (SELECT stock_id1, SUM(census) AS bfcknum
FROM sys_stockrecord
WHERE stock_type1 = 0
AND type1 = 2
and DATE_FORMAT(time1,'%Y-%m-%d') >= #{startTime}
and DATE_FORMAT(time1,'%Y-%m-%d') <= #{endTime}
and dept_id = #{deptId}
GROUP BY stock_id1) bfc ON bfc.stock_id1 = a.id