| | |
| | | package com.zy.asrs.wms.asrs.mapper; |
| | | |
| | | import com.zy.asrs.wms.asrs.entity.LocDetlField; |
| | | import com.zy.asrs.wms.asrs.entity.MatField; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | |
| | | @SelectProvider(type = SqlProvider.class, method = "createViewSql") |
| | | void createView(@Param("list") List<MatField> list); |
| | | |
| | | |
| | | @SelectProvider(type = SqlProvider.class, method = "createLocDetlView") |
| | | void createLocDetlView(); |
| | | |
| | | @SelectProvider(type = SqlProvider.class, method = "createTaskDetlFieldSql") |
| | | void createTaskDetlFieldView(@Param("list") List<MatField> list); |
| | | |
| | | @SelectProvider(type = SqlProvider.class, method = "createViewTaskDetlSql") |
| | | void createViewTaskDetlView(); |
| | | |
| | | @SelectProvider(type = SqlProvider.class, method = "createOrderDetlFieldSql") |
| | | void createOrderDetlFieldView(@Param("list") List<MatField> list); |
| | | |
| | | @SelectProvider(type = SqlProvider.class, method = "createViewOrderDetlSql") |
| | | void createViewOrderDetlView(); |
| | | |
| | | class SqlProvider { |
| | | public String createViewSql(Map<String, Object> params) { |
| | |
| | | |
| | | return sql.toString(); |
| | | } |
| | | |
| | | public String createTaskDetlFieldSql(Map<String, Object> params) { |
| | | List<MatField> list = (List<MatField>) params.get("list"); |
| | | StringBuilder sql = new StringBuilder(); |
| | | |
| | | sql.append(" CREATE OR REPLACE VIEW view_man_task_detl_field AS \n"); |
| | | sql.append(" SELECT detl_id as _detl_id "); |
| | | for (MatField matField : list) { |
| | | sql.append(", MAX(CASE WHEN name = '").append(matField.getName()).append("' THEN value END) AS ").append(matField.getName()); |
| | | } |
| | | sql.append(" FROM man_task_detl_field "); |
| | | sql.append(" GROUP BY _detl_id "); |
| | | |
| | | return sql.toString(); |
| | | } |
| | | |
| | | public String createViewTaskDetlSql() { |
| | | StringBuilder sql = new StringBuilder(); |
| | | |
| | | sql.append(" CREATE OR REPLACE VIEW view_man_task_detl AS \n"); |
| | | sql.append(" select * from man_task_detl td "); |
| | | sql.append(" left join view_man_task_detl_field tdf "); |
| | | sql.append(" on td.id = tdf._detl_id "); |
| | | |
| | | return sql.toString(); |
| | | } |
| | | |
| | | public String createOrderDetlFieldSql(Map<String, Object> params) { |
| | | List<MatField> list = (List<MatField>) params.get("list"); |
| | | StringBuilder sql = new StringBuilder(); |
| | | |
| | | sql.append(" CREATE OR REPLACE VIEW view_man_order_detl_field AS \n"); |
| | | sql.append(" SELECT detl_id as _detl_id "); |
| | | for (MatField matField : list) { |
| | | sql.append(", MAX(CASE WHEN name = '").append(matField.getName()).append("' THEN value END) AS ").append(matField.getName()); |
| | | } |
| | | sql.append(" FROM man_order_detl_field "); |
| | | sql.append(" GROUP BY _detl_id "); |
| | | |
| | | return sql.toString(); |
| | | } |
| | | |
| | | public String createViewOrderDetlSql() { |
| | | StringBuilder sql = new StringBuilder(); |
| | | |
| | | sql.append(" CREATE OR REPLACE VIEW view_man_order_detl AS \n"); |
| | | sql.append(" select * from man_order_detl od "); |
| | | sql.append(" left join view_man_order_detl_field odf "); |
| | | sql.append(" on od.id = odf._detl_id "); |
| | | |
| | | return sql.toString(); |
| | | } |
| | | } |
| | | |
| | | } |