basic-server/src/main/java/com/ruoyi/basic/dto/IfsInventoryQuantitySupplierDto.java
@@ -121,4 +121,7 @@ @ApiModelProperty("免检") private Integer isExemption; @ApiModelProperty("原材料id(导出用)") private String ids; } basic-server/src/main/java/com/ruoyi/basic/mapper/StandardTreeMapper.java
@@ -94,6 +94,14 @@ * @return */ List<SampleDto> getStandardTree3(@Param("sampleType") String sampleType); /** * 根据原材料id列表查询原材料信息 * @param ifsIds * @return */ List<IfsInventoryQuantitySupplierDto> getIfsByIds(@Param("ifsIds") List<String> ifsIds); } basic-server/src/main/resources/mapper/StandardTreeMapper.xml
@@ -389,4 +389,13 @@ where sample_type = #{sampleType} and sample is null </select> <!-- 根据原材料id列表查询原材料信息 --> <select id="getIfsByIds" resultType="com.ruoyi.basic.dto.IfsInventoryQuantitySupplierDto"> <include refid="getIfsOrder"/> where id in <foreach item="id" collection="ifsIds" open="(" separator="," close=")"> #{id} </foreach> </select> </mapper> cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceImpl.java
@@ -128,7 +128,7 @@ try { response.setContentType("application/msword"); String fileName = URLEncoder.encode( "设备使用授权", "UTF-8"); "设备保养维护", "UTF-8"); response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".docx"); OutputStream os = response.getOutputStream(); cnas-device/src/main/resources/static/word/device-maintenance.docxBinary files differ
inspect-server/src/main/java/com/ruoyi/inspect/dto/SampleOrderDto.java
@@ -92,7 +92,8 @@ @ApiModelProperty("总价") private String totalPrice; @ApiModelProperty("订单id(导出用)") private String ids; } inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java
@@ -110,6 +110,10 @@ */ List<InsOrderPrintingVo> labelOrderPrinting(@Param("ids") List<Integer> ids); /** * 查询导出信息 * @return */ List<SampleOrderDto> rawAllInsOrderExport(@Param("ew") QueryWrapper<SampleOrderDto> ew, @Param("laboratory") String laboratory, @Param("isOrderAll") String isOrderAll); /** @@ -119,5 +123,17 @@ */ String selectLaboratoryByOrderId(@Param("insOrderId") Integer insOrderId); /** * 查询订单信息 * @param insSampleId * @return */ InsOrder selectFirstSubmit(@Param("insSampleId") Integer insSampleId); /** * 根据订单id查询订单导出信息 * @param orderIds * @return */ List<SampleOrderDto> getInsOrderExportByIds(@Param("orderIds") List<String> orderIds); } inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
@@ -992,16 +992,21 @@ */ @Override public void rawAllInsOrderExport(SampleOrderDto sampleOrderDto, HttpServletResponse response) { //判断全部,个人,组织的权限 //todo:仅看我获取当前人所属实验室id String laboratory = null; // 判断是否是全部 String isOrderAll = null; if (sampleOrderDto.getState() != null && sampleOrderDto.getState() == -2) { isOrderAll = "1"; sampleOrderDto.setState(null); List<SampleOrderDto> sampleOrderDtoList = new ArrayList<>(); if (StringUtils.isNotBlank(sampleOrderDto.getIds())) { List<String> orderIds = StrUtil.split(sampleOrderDto.getIds(), ","); sampleOrderDtoList = insOrderMapper.getInsOrderExportByIds(orderIds); } else { String laboratory = null; // 判断是否是全部 String isOrderAll = null; if (sampleOrderDto.getState() != null && sampleOrderDto.getState() == -2) { isOrderAll = "1"; sampleOrderDto.setState(null); } sampleOrderDto.setIds(null); sampleOrderDtoList = insOrderMapper.rawAllInsOrderExport(QueryWrappers.queryWrappers(sampleOrderDto), laboratory, isOrderAll); } List<SampleOrderDto> sampleOrderDtoList = insOrderMapper.rawAllInsOrderExport(QueryWrappers.queryWrappers(sampleOrderDto), laboratory, isOrderAll); // 判断是否是不合格, 不合格查询不合格项 for (SampleOrderDto orderDto : sampleOrderDtoList) { inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java
@@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.basic.dto.*; @@ -672,12 +673,19 @@ */ @Override public void rawAllExport(IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto, HttpServletResponse response) throws UnsupportedEncodingException { //查询导出的费用统计数据 String beginDeclareDate = ifsInventoryQuantityDto.getBeginDeclareDate(); String endDeclareDate = ifsInventoryQuantityDto.getEndDeclareDate(); ifsInventoryQuantityDto.setBeginDeclareDate(null); ifsInventoryQuantityDto.setEndDeclareDate(null); List<IfsInventoryQuantitySupplierDto> ifsByOverList = standardTreeMapper.getIfsByOverList(QueryWrappers.queryWrappers(ifsInventoryQuantityDto), beginDeclareDate, endDeclareDate); // 判断是否是根据选择的导出 List<IfsInventoryQuantitySupplierDto> ifsByOverList = new ArrayList<>(); if (StringUtils.isNotBlank(ifsInventoryQuantityDto.getIds())) { List<String> ifsIds = StrUtil.split(ifsInventoryQuantityDto.getIds(), ","); ifsByOverList = standardTreeMapper.getIfsByIds(ifsIds); } else { String beginDeclareDate = ifsInventoryQuantityDto.getBeginDeclareDate(); String endDeclareDate = ifsInventoryQuantityDto.getEndDeclareDate(); ifsInventoryQuantityDto.setBeginDeclareDate(null); ifsInventoryQuantityDto.setEndDeclareDate(null); ifsInventoryQuantityDto.setIds(null); ifsByOverList = standardTreeMapper.getIfsByOverList(QueryWrappers.queryWrappers(ifsInventoryQuantityDto), beginDeclareDate, endDeclareDate); } for (IfsInventoryQuantitySupplierDto dto : ifsByOverList) { dto.setSendTimeString(dto.getSendTime() == null ? "" : dto.getSendTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -45,6 +45,61 @@ ip.cable_tag </sql> <sql id="selectInsOrderExport"> SELECT io.*, isau.user_id assign, ir.id report_id, ir.url, ir.url_s, sample_counts.sample_num, CONCAT(ROUND(approved_product_counts.approved_count / total_product_counts.total_count * 100, 2), '%') AS insProgress, io.sample_view AS sample_name, GROUP_CONCAT(DISTINCT isa.model SEPARATOR ' ') AS sample_model, u.name, testing_name, case when io.type = 0 then '普通' when io.type = 1 then '优先' when io.type = 2 then '紧急' end typeString, case when io.ins_result = 1 then '合格' when io.ins_result = 0 then '不合格' else '待检验' end insResultString FROM ins_order io LEFT JOIN ins_sample isa ON io.id = isa.ins_order_id LEFT JOIN ins_sample_user isau ON isau.ins_sample_id = io.id LEFT JOIN (SELECT id, ins_order_id, is_ratify, url, url_s FROM ins_report WHERE is_ratify = 1) ir ON io.id = ir.ins_order_id LEFT JOIN user u ON io.create_user = u.id LEFT JOIN (SELECT ins_order_id, COUNT(*) AS sample_num FROM ins_sample WHERE id in(select id1 from (select is2.id id1 ,ip.id from ins_sample is2 left join ins_product ip on is2.id = ip.ins_sample_id where ip.id is not null)s ) GROUP BY ins_order_id) sample_counts ON io.id = sample_counts.ins_order_id LEFT JOIN (SELECT ins_sample.ins_order_id, COUNT(*) AS total_count FROM ins_product JOIN ins_sample ON ins_product.ins_sample_id = ins_sample.id WHERE ins_product.state = 1 GROUP BY ins_sample.ins_order_id) total_product_counts ON io.id = total_product_counts.ins_order_id LEFT JOIN (SELECT ins_sample.ins_order_id, COUNT(*) AS approved_count FROM ins_product JOIN ins_sample ON ins_product.ins_sample_id = ins_sample.id WHERE ins_product.state = 1 AND ins_product.ins_result IS NOT NULL GROUP BY ins_sample.ins_order_id) approved_product_counts ON io.id = approved_product_counts.ins_order_id LEFT JOIN (SELECT ins_sample_id, GROUP_CONCAT(DISTINCT uu.name SEPARATOR ',') AS testing_name FROM ins_sample_user u LEFT JOIN user uu ON u.user_id = uu.id WHERE u.state = 0 GROUP BY ins_sample_id ORDER BY ins_sample_id) isu ON isu.ins_sample_id = io.id </sql> <select id="selectInsOrderPage" resultType="com.ruoyi.inspect.dto.SampleOrderDto"> select * from ( @@ -356,59 +411,7 @@ <!-- 查询检验单数据 --> <select id="rawAllInsOrderExport" resultType="com.ruoyi.inspect.dto.SampleOrderDto"> select * from ( SELECT io.*, isau.user_id assign, ir.id report_id, ir.url, ir.url_s, sample_counts.sample_num, CONCAT(ROUND(approved_product_counts.approved_count / total_product_counts.total_count * 100, 2), '%') AS insProgress, io.sample_view AS sample_name, GROUP_CONCAT(DISTINCT isa.model SEPARATOR ' ') AS sample_model, u.name, testing_name, case when io.type = 0 then '普通' when io.type = 1 then '优先' when io.type = 2 then '紧急' end typeString, case when io.ins_result = 1 then '合格' when io.ins_result = 0 then '不合格' else '待检验' end insResultString FROM ins_order io LEFT JOIN ins_sample isa ON io.id = isa.ins_order_id LEFT JOIN ins_sample_user isau ON isau.ins_sample_id = io.id LEFT JOIN (SELECT id, ins_order_id, is_ratify, url, url_s FROM ins_report WHERE is_ratify = 1) ir ON io.id = ir.ins_order_id LEFT JOIN user u ON io.create_user = u.id LEFT JOIN (SELECT ins_order_id, COUNT(*) AS sample_num FROM ins_sample WHERE id in(select id1 from (select is2.id id1 ,ip.id from ins_sample is2 left join ins_product ip on is2.id = ip.ins_sample_id where ip.id is not null)s ) GROUP BY ins_order_id) sample_counts ON io.id = sample_counts.ins_order_id LEFT JOIN (SELECT ins_sample.ins_order_id, COUNT(*) AS total_count FROM ins_product JOIN ins_sample ON ins_product.ins_sample_id = ins_sample.id WHERE ins_product.state = 1 GROUP BY ins_sample.ins_order_id) total_product_counts ON io.id = total_product_counts.ins_order_id LEFT JOIN (SELECT ins_sample.ins_order_id, COUNT(*) AS approved_count FROM ins_product JOIN ins_sample ON ins_product.ins_sample_id = ins_sample.id WHERE ins_product.state = 1 AND ins_product.ins_result IS NOT NULL GROUP BY ins_sample.ins_order_id) approved_product_counts ON io.id = approved_product_counts.ins_order_id LEFT JOIN (SELECT ins_sample_id, GROUP_CONCAT(DISTINCT uu.name SEPARATOR ',') AS testing_name FROM ins_sample_user u LEFT JOIN user uu ON u.user_id = uu.id WHERE u.state = 0 GROUP BY ins_sample_id ORDER BY ins_sample_id) isu ON isu.ins_sample_id = io.id from ( <include refid="selectInsOrderExport"/> where (io.ifs_inventory_id IS NULL OR TRIM(io.ifs_inventory_id) = '') <if test="isOrderAll != null and isOrderAll != ''"> AND io.state in (1, 4) @@ -440,4 +443,16 @@ left join ins_sample is2 on is2.ins_order_id = io.id where is2.id = #{insSampleId} </select> <!-- 根据订单id查询订单导出信息 --> <select id="getInsOrderExportByIds" resultType="com.ruoyi.inspect.dto.SampleOrderDto"> <include refid="selectInsOrderExport"/> where (io.ifs_inventory_id IS NULL OR TRIM(io.ifs_inventory_id) = '') and io.id in <foreach item="id" collection="orderIds" open="(" separator="," close=")"> #{id} </foreach> GROUP BY io.id,type order by type desc,io.id desc </select> </mapper>