已修改4个文件
66 ■■■■■ 文件已修改
product-server-data-center/src/main/java/com/product/data/center/entity/ProductDetailEntity.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
product-server-data-center/src/main/java/com/product/data/center/service/DataExtractService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
product-server-data-center/src/main/java/com/product/data/center/service/ProductionRealTimeInfoService.java 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
product-server-datasource/src/main/java/com/product/datasource/dao/impl/OracleDaoImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
product-server-data-center/src/main/java/com/product/data/center/entity/ProductDetailEntity.java
@@ -4,6 +4,7 @@
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
//过站信息
@Getter
@Setter
@ToString
@@ -17,10 +18,10 @@
    private String serialNumber;
    @ExcelProperty("过站时间")
    private Integer inStationTime;
    private String inStationTime;
    @ExcelProperty("状态")
    private Integer errorFlagText;
    private String errorFlagText;
    @ExcelProperty("数量")
    private Integer itemCount;
product-server-data-center/src/main/java/com/product/data/center/service/DataExtractService.java
@@ -599,6 +599,8 @@
        if (DataTableEntity.isEmpty(dt) || !"T_PM_MO_BASE".equalsIgnoreCase(targetTable)) {
            return;
        }
        StringBuilder b=new StringBuilder();
        b.append("select * from T_PM_PROJECT_BASE where project_id in( ");
        Map<String, FieldSetEntity> map = new HashMap<>();
        List<Object> moNumberList = new ArrayList<>();
        for (int i = 0; i < dt.getRows(); i++) {
@@ -607,8 +609,13 @@
                continue;
            }
            moNumberList.add(moNumber);
            if(i>0)b.append(",");
            b.append(moNumber);
            map.put(moNumber, dt.getFieldSetEntity(i));
        }
        b.append(" ) ");
        //查询制令单关联的工单数据
        DataTableEntity projectBaseDt = targetDao.getList("T_PM_PROJECT_BASE", new String[]{"PROJECT_ID,PROJECT_BASE_ID"},
                BaseUtil.buildQuestionMarkFilter("project_id", moNumberList.size(), true), moNumberList.toArray(), null, 1, dt.getRows());
@@ -625,6 +632,11 @@
            }
        }
        if (!map.isEmpty()) {
            b.append("\r\n未找到工单:");
            map.forEach((key, value) -> {
                b.append(key).append(",");
            });
            SpringMVCContextHolder.getSystemLogger().error(b.toString());
            throw new BaseException(ErrorCode.MO_NUMBER_MASTER_PROJECT_BASE_EMPTY);
        }
    }
product-server-data-center/src/main/java/com/product/data/center/service/ProductionRealTimeInfoService.java
@@ -54,6 +54,7 @@
        String fileName = URLEncoder.encode("制令单生产信息" + DateUtil.format(new Date(), "yyyyMMddHHmmss") + ".xlsx", "UTF-8");
        response.setHeader("Content-disposition", "attachment;filename=" + fileName);
        List<ManufacturingOrderEntity> manufacturingOrderEntityList = new ArrayList<>();
         int page=1;
        for (int i = 0; i < manufacturingCommandSheet.getRows(); i++) {
            FieldSetEntity fieldSetEntity = manufacturingCommandSheet.getFieldSetEntity(i);
            Map<Object, Object> values = fieldSetEntity.getValues();
@@ -75,7 +76,6 @@
//        writeSheet = EasyExcel.writerSheet(3, "制令单信息").build();
//        excelWriter.write(manufacturingOrderEntityList, writeSheet);
            String process = fse.getString("process");
            int page=0;
            String[] moNumbers = manufacturingCommandSheet.getData().stream().map(item -> item.getString("mo_number")).toArray(String[]::new);
            for (int i = 1; i <= moNumbers.length; i++) {
                String moNumber = moNumbers[i - 1];
@@ -87,8 +87,9 @@
                if (DataTableEntity.isEmpty(processSheet)) {
                    continue;
                }
                fileName = moNumber + "的生产明细";
                writeSheet = EasyExcel.writerSheet(++page, fileName).head(ProductionDetailEntity.class).build();
                page++;
                fileName = moNumber + "生产明细";
                writeSheet = EasyExcel.writerSheet(page, fileName).head(ProductionDetailEntity.class).build();
                List<ProductionDetailEntity> productionDetailEntities = new ArrayList<>();
                for (int k = 0; k < processSheet.getRows(); k++) {
                    JSONObject jsonObject = new JSONObject((Map) processSheet.getFieldSetEntity(k).getValues());
@@ -96,22 +97,24 @@
                    productionDetailEntities.add(productionDetail);
                }
                excelWriter.write(productionDetailEntities, writeSheet);
                //2025-09-03改 增加过滤信息-------------------------------
                //查出订单的所有过站明细
                DataTableEntity detail = getProcessSheet(ff);
                if (DataTableEntity.isEmpty(processSheet)) {
                DataTableEntity detailSheet = getProductDetailSheet(ff);
                if (DataTableEntity.isEmpty(detailSheet)) {
                    continue;
                }
                fileName = moNumber + "的过站明细";
                writeSheet = EasyExcel.writerSheet(++page, fileName).head(ProductDetailEntity.class).build();
                DataTableEntity detailSheet = getProductDetailSheet(ff);
                page++;
                fileName = moNumber + "过站明细";
                writeSheet = EasyExcel.writerSheet(page, fileName).head(ProductDetailEntity.class).build();
                List<ProductDetailEntity> productDetailEntity = new ArrayList<>();
                for (int k = 0; k < processSheet.getRows(); k++) {
                for (int k = 0; k < detailSheet.getRows(); k++) {
                    JSONObject jsonObject = new JSONObject((Map) detailSheet.getFieldSetEntity(k).getValues());
                    ProductDetailEntity productDetail = jsonObject.toJavaObject(ProductDetailEntity.class);
                    productDetailEntity.add(productDetail);
                }
                excelWriter.write(productDetailEntity, writeSheet);
                //2025-09-03改-------------------------------------------
            }
        } catch (Exception e) {
            throw e;
@@ -287,9 +290,8 @@
        return dataTableEntity;
    }
    /**
     * 2025-09-02改
     * 生产实时数据,因da_t_wip_tracking表display_group='N/A',查不出数据
     * 改为查 da_t_wip_detail表 更改了display_group->group_name字段,去掉routeendflage 和routeendflage条件
     * 2025-09-03改
     * 生产实时数据,查询导出增加过站信息
     * @param fse
     * @return
     * @throws BaseException
product-server-datasource/src/main/java/com/product/datasource/dao/impl/OracleDaoImpl.java
@@ -7,7 +7,6 @@
import com.product.core.config.Global;
import com.product.core.entity.DataTableEntity;
import com.product.core.entity.FieldSetEntity;
import com.product.core.exception.BaseException;
import com.product.core.spring.context.SpringMVCContextHolder;
import com.product.datasource.config.DataBaseType;
import com.product.datasource.config.ErrorCode;
@@ -19,8 +18,6 @@
import com.product.datasource.utils.BatchUtil;
import org.apache.commons.lang3.StringUtils;
import java.lang.ref.PhantomReference;
import java.lang.ref.WeakReference;
import java.sql.*;
import java.util.List;
@@ -65,7 +62,7 @@
    }
    private void info(String message) {
        if (this.outLog) {
        if (this.outLog || "true".equals(Global.getSystemConfig("log.sql.print", "false")) ) {
            SpringMVCContextHolder.getSystemLogger().info(message);
        }
    }
@@ -89,7 +86,7 @@
            }
            return this.connection;
        } catch (Exception e) {
            e.printStackTrace();
            SpringMVCContextHolder.getSystemLogger().error(e);
            throw new BaseException(ErrorCode.GET_CONNECTION_FAIL, e);
        }
    }
@@ -138,6 +135,7 @@
            ResultSet resultSet = pst.executeQuery();
            return loaddingDataList(resultSet);
        } catch (Exception e) {
            SpringMVCContextHolder.getSystemLogger().error(e);
            SpringMVCContextHolder.getSystemLogger().error("EXECUTE_ERROR_SQL:\n" + sql);
            throw new BaseException(ErrorCode.GET_LIST_FAIL, e);
        }
@@ -427,6 +425,7 @@
            pst.execute();
        } catch (Exception e) {
            e.printStackTrace();
            SpringMVCContextHolder.getSystemLogger().error(e);
            throw new BaseException(ErrorCode.ADD_RECORD_FAIL, e);
        }
    }
@@ -486,6 +485,7 @@
                info("执行批量提交数据完成,共提交 " + data.getRows() + " 条,耗时:" + timer.intervalSecond() + " 秒 !");
                pst.clearBatch();
            } catch (Exception e) {
                SpringMVCContextHolder.getSystemLogger().error(e);
                throw e;
            } finally {
                connection.setAutoCommit(true);
@@ -532,11 +532,13 @@
                }
                return pst.executeUpdate();
            } catch (Exception e) {
                SpringMVCContextHolder.getSystemLogger().error(e);
                throw e;
            } finally {
//                this.closeConnection();
            }
        } catch (Exception e) {
            SpringMVCContextHolder.getSystemLogger().error(e);
            throw new BaseException(ErrorCode.UPDATE_BATCH_ERROR, e);
        }
    }
@@ -597,7 +599,7 @@
                int[] ints = pst.executeBatch();
                info("执行批量提交数据完成,共提交 " + data.getRows() + " 条,耗时:" + timer.intervalSecond() + " 秒 !");
                pst.clearBatch();
                if (isCommit) {
                if (isCommit && !connection.getAutoCommit()) {
                    connection.commit();
                }
                int successCount = 0;
@@ -610,14 +612,16 @@
                batchResultEntity.setConnection(connection);
                return batchResultEntity;
            } catch (Exception e) {
                SpringMVCContextHolder.getSystemLogger().error(e);
                throw e;
            } finally {
                if (isCommit) {
                if (isCommit && !connection.isClosed() && !connection.getAutoCommit()) {
                    connection.setAutoCommit(true);
                }
//                this.closeConnection();
//              this.closeConnection();
            }
        } catch (Exception e) {
            SpringMVCContextHolder.getSystemLogger().error(e);
            throw new BaseException(ErrorCode.UPDATE_BATCH_ERROR, e);
        }
    }
@@ -688,6 +692,7 @@
            }
            return pst.executeUpdate();
        } catch (Exception e) {
            SpringMVCContextHolder.getSystemLogger().error(e);
            throw new OracleDaoImpl.BaseException(ErrorCode.EXECUTE_SQL_FAIL, e);
        }
    }