| | |
| | | // 查询数据库中是否存在相同记录 |
| | | LambdaQueryWrapper<StructureItemParameter> wrapper = Wrappers.lambdaQuery(StructureItemParameter.class) |
| | | .eq(StructureItemParameter::getInspectionItem, data.getInspectionItem()) |
| | | .eq(StructureItemParameter::getSample, data.getSample()) |
| | | .last("limit 1"); |
| | | .eq(StructureItemParameter::getSample, data.getSample()); |
| | | |
| | | // 判断是否有检验项类型 |
| | | if (ObjectUtils.isNotEmpty(data.getInspectionItemClass())) { |
| | |
| | | if (data.getManDay() == null) { |
| | | data.setManDay(null); |
| | | } |
| | | |
| | | // 设置当前Sheet名为分类标识 |
| | | data.setInspectionItemClass(currentSheetName); |
| | | |
| | | // 添加到缓存列表 |
| | | cachedList.add(data); |
| | |
| | | where sample like concat('%', #{sample}, '%') |
| | | </delete> |
| | | <select id="selectItemParameterList" resultType="com.ruoyi.basic.pojo.StructureItemParameter"> |
| | | select * from (select A.id, |
| | | WITH temp_sample AS ( |
| | | SELECT |
| | | *, |
| | | CASE |
| | | WHEN INSTR(sample, ',') > 0 THEN |
| | | SUBSTRING_INDEX(SUBSTRING_INDEX(sample, '","', 1), '"', -1) |
| | | WHEN sample = '[""]' THEN |
| | | NULL |
| | | WHEN sample = '[]' THEN |
| | | NULL |
| | | ELSE |
| | | TRIM(BOTH '["]' FROM SUBSTRING_INDEX(REPLACE(sample, '[["', ''), '"]]', 1)) |
| | | END AS samples |
| | | FROM |
| | | structure_item_parameter |
| | | ), |
| | | temp_join AS ( |
| | | SELECT DISTINCT |
| | | A.id, |
| | | inspection_item, |
| | | inspection_item_en, |
| | | inspection_item_subclass, |
| | |
| | | code, |
| | | radius_list, |
| | | rates |
| | | from (select *, |
| | | CASE |
| | | WHEN INSTR(sample, ',') > 0 THEN |
| | | SUBSTRING_INDEX(SUBSTRING_INDEX(sample, '","', 1), '"', -1) |
| | | when sample = '[""]' then null |
| | | when sample = '[]' then null |
| | | ELSE |
| | | TRIM(BOTH '["]' FROM SUBSTRING_INDEX(REPLACE(sample, '[["', ''), '"]]', 1)) |
| | | END AS samples |
| | | from structure_item_parameter) A |
| | | left join structure_test_object sto on samples = specimen_name |
| | | FROM |
| | | temp_sample A |
| | | LEFT JOIN |
| | | structure_test_object sto ON A.samples = sto.specimen_name |
| | | <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> |
| | | ${ew.customSqlSegment} |
| | | </if>)B |
| | | order by CASE |
| | | </if> |
| | | ) |
| | | SELECT |
| | | * |
| | | FROM |
| | | temp_join |
| | | ORDER BY |
| | | -- 处理 code 字段的排序 |
| | | CASE |
| | | WHEN code IS NULL THEN 1 |
| | | ELSE 0 |
| | | END, |
| | | CAST(code AS UNSIGNED), |
| | | case when man_hour_group is NULL then 1 |
| | | when man_hour_group ='' then 1 else 0 end, |
| | | -- 处理 man_hour_group 字段的排序 |
| | | CASE |
| | | WHEN man_hour_group REGEXP '^[0-9]' THEN CAST(man_hour_group AS UNSIGNED) -- 如果以数字开头,则按照数字大小排序 |
| | | WHEN man_hour_group REGEXP '[0-9]+' THEN CAST(SUBSTRING(man_hour_group, 2)AS UNSIGNED) END -- 提取字母后面的数字部分 |
| | | ,id asc |
| | | WHEN man_hour_group IS NULL OR man_hour_group = '' THEN 1 |
| | | ELSE 0 |
| | | END, |
| | | CASE |
| | | WHEN man_hour_group REGEXP '^[0-9]' THEN |
| | | CAST(man_hour_group AS UNSIGNED) |
| | | WHEN man_hour_group REGEXP '[0-9]+' THEN |
| | | CAST(SUBSTRING(man_hour_group, 2) AS UNSIGNED) |
| | | ELSE |
| | | NULL |
| | | END, |
| | | id ASC |
| | | </select> |
| | | |
| | | <resultMap id="getInsProductions" type="map"> |