许鹏程
2024-01-10 d2d7c2561ea9f8a7e909588a40920c7dc3064b3f
commit
已修改5个文件
73 ■■■■ 文件已修改
product-server-data-center/src/main/java/com/product/data/center/service/JournalManagerService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
product-server-data-center/src/main/java/com/product/data/center/service/MesExternalService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
product-server-data-center/src/main/java/com/product/data/center/service/SNAssociatedItemService.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
product-server-web/resources/LicenseKey.dat 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
product-server-web/src/main/resources/application-dev.properties 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
product-server-data-center/src/main/java/com/product/data/center/service/JournalManagerService.java
@@ -43,6 +43,17 @@
    @Resource
    MesExternalService mesExternalService;
    public void timingClearDataCenterLog(){
//        select uuid from product_sys_data_center_log a
//        where created_utc_datetime<=date(date_add(now(),interval -7 day)) and (result=1 or (deal_flag=1 and deal_result=1)) and type>1
//        union all
//        select a.uuid from product_sys_data_center_log a
//        join product_sys_data_center_log b on a.uuid=b.pre_step_uuid
//        where a.type=1 and b.type=2 and (b.result=1 or (b.deal_flag=1 and b.deal_result=1))
//        and b.created_utc_datetime<=date(date_add(now(),interval -7 day))
    }
    /**
     * 日志列表
     *
product-server-data-center/src/main/java/com/product/data/center/service/MesExternalService.java
@@ -41,7 +41,6 @@
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.SQLException;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.concurrent.*;
import java.util.stream.Collectors;
@@ -157,7 +156,7 @@
        if (FieldSetEntity.isEmpty(reportDbConfig)) {
            throw new BaseException(ErrorCode.REPORT_DB_CONFIG_FAIL);
        }
        DataTableEntity dt = getBaseDao().listTable(CmnConst.PRODUCT_SYS_DATA_COLLECT, "upper(source_table) in ('T_WIP_TRACKING','T_WIP_PRODUCT_KEYP','T_WIP_DETAIL','T_PM_PRODUCT_SN') and data_source in (select  uuid from product_sys_data_sync_manager)", new Object[]{}, new Object[]{"uuid,id,data_source,source_table"});
        DataTableEntity dt = getBaseDao().listTable(CmnConst.PRODUCT_SYS_DATA_COLLECT, "upper(source_table) in ('T_WIP_TRACKING','T_WIP_PRODUCT_KEYP','T_WIP_DETAIL','T_PM_PRODUCT_SN') and data_source in (select  uuid from product_sys_data_sync_manager) and id not like 'ch-zs%'", new Object[]{}, new Object[]{"uuid,id,data_source,source_table"});
        Map<String, List<FieldSetEntity>> groupByCollectId = dt.getData().stream().collect(Collectors.groupingBy(item -> item.getString("id")));
        Map<String, List<FieldSetEntity>> groupBySourceTable = dt.getData().stream().collect(Collectors.groupingBy(item -> item.getString("source_table")));
product-server-data-center/src/main/java/com/product/data/center/service/SNAssociatedItemService.java
@@ -10,6 +10,7 @@
import javax.servlet.http.HttpServletResponse;
import cn.hutool.core.date.DateTime;
import com.product.core.entity.SQLEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -280,28 +281,43 @@
    public void getReportExcel(HttpServletRequest request, HttpServletResponse response) throws IOException {
        //获取机号查询信息
        FieldSetEntity fse = BaseUtil.getFieldSetEntity(request);
        DataTableEntity workCenterOperationInfomationSheet = this.dtSNItemInfo(fse);
        Boolean isAll = fse.getBoolean("is_all");
        if (isAll) {
            fse.setValue(CmnConst.CPAGE, 1);
            fse.setValue(CmnConst.PAGESIZE, 999);
        }
        //初始EXCEL信息
        response.setContentType("multipart/form-data");
        response.setCharacterEncoding("utf-8");
        //这里URLEncoder.encode可以防止中文乱码
        String fileName = URLEncoder.encode("SN关联物料" + DateUtil.format(new Date(), "yyyyMMddHHmmss") + ".xlsx", "UTF-8");
        response.setHeader("Content-disposition", "attachment;filename=" + fileName);
        List<SNAssociatedItemEntity> traceSNItemEntityList = new ArrayList<>();
        for (int i = 0; i < workCenterOperationInfomationSheet.getRows(); i++) {
            FieldSetEntity fieldSetEntity = workCenterOperationInfomationSheet.getFieldSetEntity(i);
            Map<Object, Object> values = fieldSetEntity.getValues();
            JSONObject jsonObject = new JSONObject((Map) values);
            SNAssociatedItemEntity manufacturingOrderEntity = jsonObject.toBean(SNAssociatedItemEntity.class);
            traceSNItemEntityList.add(manufacturingOrderEntity);
        }
        ServletOutputStream outputStream = response.getOutputStream();
        ExcelWriter excelWriter = EasyExcel.write(outputStream, SNAssociatedItemEntity.class).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
        DataTableEntity workCenterOperationInfomationSheet;
        try {
            WriteSheet writeSheet = EasyExcel.writerSheet(1, "data").build();
            excelWriter.write(traceSNItemEntityList, writeSheet);
            do {
                workCenterOperationInfomationSheet = this.dtSNItemInfo(fse);
                if (DataTableEntity.isEmpty(workCenterOperationInfomationSheet)) {
                    continue;
                }
                List<SNAssociatedItemEntity> traceSNItemEntityList = new ArrayList<>();
                for (int i = 0; i < workCenterOperationInfomationSheet.getRows(); i++) {
                    FieldSetEntity fieldSetEntity = workCenterOperationInfomationSheet.getFieldSetEntity(i);
                    Map<Object, Object> values = fieldSetEntity.getValues();
                    JSONObject jsonObject = new JSONObject((Map) values);
                    SNAssociatedItemEntity manufacturingOrderEntity = jsonObject.toBean(SNAssociatedItemEntity.class);
                    traceSNItemEntityList.add(manufacturingOrderEntity);
                }
                WriteSheet writeSheet = EasyExcel.writerSheet(1, "data").build();
                excelWriter.write(traceSNItemEntityList, writeSheet);
                fse.setValue(CmnConst.CPAGE, fse.getInteger(CmnConst.CPAGE) + 1);
            } while (
                    isAll && workCenterOperationInfomationSheet != null && workCenterOperationInfomationSheet.getSqle().isCountLoad());
        } catch (Exception e) {
            throw e;
        } finally {
@@ -321,12 +337,15 @@
        boolean isRecentData = fse.getBoolean(CmnConst.IS_RECENT_DATA) == true;//是否近期数据
        Integer pageSize = fse.getInteger(CmnConst.PAGESIZE);    //页数大小
        Integer cpage = fse.getInteger(CmnConst.CPAGE);            //目标页
        SQLEntity sqle = new SQLEntity();
        sqle.setCountLoad(false);
        //创建tracking表SQL,并获取过滤的数据
        String parseTrackingSql = createTrackingSql(fse, isBakTable, isRecentData);
        DataTableEntity dtTracking = baseDao.listTable(parseTrackingSql, new Object[]{}, pageSize, cpage);
        if (!BaseUtil.dataTableIsEmpty(dtTracking)) {
            if (dtTracking.getRows() == pageSize) {
                sqle.setCountLoad(true);
            }
            //获取总条数
            String totalTrackingSql = "SELECT COUNT(*)count_total FROM (" + parseTrackingSql + ")t";
//            FieldSetEntity fseTotalTracking = baseDao.getFieldSetBySQL(totalTrackingSql, new Object[]{}, false);
@@ -335,16 +354,18 @@
            //Method1:使用OR查询
            Object[] serialNumbers = dtTracking.getUuids();
            String keypSql = createKeypSql(serialNumbers, isBakTable, isRecentData);
            System.out.println(keypSql);
            DataTableEntity dtKeyp = baseDao.listTable(keypSql, new Object[]{});
            if (!BaseUtil.dataTableIsEmpty(dtKeyp)) {
                //将tracking表的数据转为(key,value)形式存储
                JSONObject json = convertDataTableToJson(dtTracking);
                addKeypInfo(json, dtKeyp);
                dtKeyp.setSqle(sqle);
                return dtKeyp;
            }
        }
        return null;
        DataTableEntity dataTableEntity = new DataTableEntity();
        dataTableEntity.setSqle(sqle);
        return dataTableEntity;
    }
}
product-server-web/resources/LicenseKey.dat
@@ -1 +1 @@
7373F609D2DCF63105362A4556F3DBD03DDE005CE3839FE2A1D4AB8895082B9F7F2B031AEB44487E0CF23020A8DD4ACC7CC7BEBB55AADBB2411DE029662CF6B08EA69D97D0284FC0ABC6C02D9EA17A2EC33300DD5B6135DCE70B7EB3B37B7600C13EEC15A033E5D9437680A4ED29851BA3C7679EF8E3B3C3847F5DB74B653D2B796A087D1FA30D733682F393E31E05E06A241230AE9FCFE6E34219F57C272CA9C9F0E52A66744A2D8117F8718385612183BD0164E2B448069D9814704BA67F8565F27D0CA38A290AD162721E7FAD62DE3210BED393072644FE40B200B69A97D89184CE5F636AA949E7AFF39BAD0FB851E2BFAF32ADEA42CC37FAABAD1D972C6086C7F28F21A916E6F00CA3544C99FAC2B4DECD74B9D8A4E80CF7510C7A46B7CDD078DF9142713F03B30CE81D8861F5CD951E3A2B3A024E08ECE6918910FF2029B96CE9BC55CECD331DBD75EEE04BD985F27AF348FA79FA1EBF33942F29C52B10395E294F65FA2149B10458EE1C246CA6A0359442D610188B98C0E927FD6A6DF7
79BE8AD4DA7D580701BCE59258381B293036C97EEEF79611A2D07C5F993D24A77CE11123E4A560EF07BD52D1ACE713B77268CC395013CDE6486A8C616E89A3BC800E47F9D453A786ADD137A398C0A180CED736CC5EF71381ED4D327CBF699C0EC14DCA6CAD3376254BC333D7E4CFCDE3AFE4DB2DF31CDB278A637A99465EF0837D1DCC7613A3C6CD331901B0E9B49EC665AACC84ACD365E8E33662E677266571C04D84C86060707286097BEC83C5B6BC8F0BA4B8ECDFEDC594ECD09947F980AE6C7B75A8A33ED3C8D56771437ECCA06432DA8A329C222D69FD44A750BEAB11789D8148026CA9EE49E4CD9239A894B561E560CDA0ACBA169C3F7F2AA3171F05158C98CCDD267C7DFCF6878D4C43DAF051BC452C7ABB8AEB930A709CD87C744A4CDB46C763426AC13ABF41BA7F885DE0F69C2F231234D4202DEBB0D2BA1B1D197DB005A00553EEE41C1E481B09EBEE5A44FB8B6FB9FEE04B5EB2619FED2CEC2BFB3013E3F36A0F9D0DB18200851A1C700DAB79A58FD4C468A39D2624ECF69CD414
product-server-web/src/main/resources/application-dev.properties
@@ -85,7 +85,7 @@
# \u6B63\u5F0F\u670D\u52A1\u5668-\u91C7\u96C6
#data.source.url=jdbc:mysql://10.13.1.39:3306/ch_kt_mes_apply?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useNewIO=true&useSSL=false&serverTimezone=Asia/Shanghai
# \u6B63\u5F0F\u670D\u52A1\u5668-\u62A5\u8868
data.source.url=jdbc:mysql://10.13.1.39:3306/ch_kt_mes_apply?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useNewIO=true&useSSL=false&serverTimezone=Asia/Shanghai
data.source.url=jdbc:mysql://10.13.1.39:3307/ch_kt_mes_apply?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useNewIO=true&useSSL=false&serverTimezone=Asia/Shanghai
data.source.user=root
#data.source.password=root123
#data.source.password=a123