czt
2025-09-16 db74943b46ffb5245477894f394c368cc04f93e7
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1109.java
@@ -17,9 +17,12 @@
import com.fzzy.async.fzzy40.repository.Fzzy40Sync1202Rep;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.time.DateFormatUtils;
import org.apache.commons.lang.time.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.text.ParseException;
import java.util.*;
import java.util.stream.Collectors;
@@ -48,7 +51,7 @@
    private final static String BIZ_TAG_WEIGHT_FULL = "WEIGHT_FULL";
    private final static String BIZ_TAG_WEIGHT_EMPTY = "WEIGHT_EMPTY";
    private final static String BIZ_TAG_REGISTER = "REGISTER";
    private final static String BIZ_TAG_HANDLE = "HANDLE";
    private final static String BIZ_TAG_CARD_BACK = "CARD_BACK";
    /**
     * 出入库类型
     */
@@ -112,6 +115,9 @@
                if (inoutData.getRecordStatus().equals("DEL") || inoutData.getRecordStatus().equals("ERROR")) {
                    continue;
                }
                if (!inoutData.getProgress().equals("RECORD")){
                    continue;
                }
                ids = new ArrayList<>();
                wjlx = "";
                //获取出入库业务单号信息
@@ -145,12 +151,45 @@
                }
                int num = 1;
                int idsNum = 0;
                String bizTag = null;
                for (Fz40FileInfo sysData : fileList) {
                    //只同步称重
                    apiData = new Api1109();
                    //主键id
                    apiData.setId(sysData.getFileId());
                    //文件路径
                    apiData.setWjdz(fileUtil.getInoutFilePath(sysData.getCreateTime()) + sysData.getFileName());
                    //登记
                    if (BIZ_TAG_REGISTER.equals(sysData.getBizTag()) || BIZ_TAG_CARD_BACK.equals(sysData.getBizTag())) {
                        str = ids.get(0);
                        wjmc = kqdm + "_" + str;
                        //文件名称
                        wjmc = getImgNameType(wjmc, sysData.getBizTag(), str, sysData.getFileName(), map);
                        apiData.setWjmc(wjmc);
                        //文件类型
                        apiData.setWjlx(wjlx);
                    }
                    //称重
                    if (BIZ_TAG_WEIGHT_FULL.equals(sysData.getBizTag()) || BIZ_TAG_WEIGHT_EMPTY.equals(sysData.getBizTag())) {
                        if(num > 6){
                            num = 1;
                            idsNum ++;
                        bizTag = sysData.getBizTag();
                        if(StringUtils.isNotEmpty(inoutData.getTransType()) && inoutData.getTransType().equals("3")){
                            if(num > 6){
                                num = 1;
                                idsNum ++;
                            }
                        }else {
                            if(num > 8){
                                num = 1;
                                idsNum ++;
                            }
                        }
                        //2024-05-23 此处暂时设置名称长度限制,后期调整后可删除
                        if(sysData.getCreateTime().after(DateUtils.parseDate("2024-04-18",new String[]{"yyyy-MM-dd"}))){
                            if(StringUtils.isNotEmpty(inoutData.getTransType()) && inoutData.getTransType().equals("3")){
                                bizTag = sysData.getBizTag();
                            }else {
                                bizTag = null;
                            }
                        }
                        if(idsNum == ids.size()){
                            break;
@@ -159,39 +198,37 @@
                        wjmc = kqdm + "_" + str;
                        apiData = new Api1109();
                        //主键id
                        apiData.setId(UUID.randomUUID().toString());
                        //文件路径
                        apiData.setWjdz(fileUtil.getInoutFilePath(sysData.getCreateTime()) + sysData.getFileName());
                        //文件名称
                        wjmc = getImgNameType(wjmc, sysData.getBizTag(), str, sysData.getFileName(), map);
                        wjmc = getImgNameType(wjmc, bizTag, str, sysData.getFileName(), map);
                        apiData.setWjmc(wjmc);
                        //文件类型
                        apiData.setWjlx(wjlx);
                        //操作标志及最后更新时间
                        apiData.setZhgxsj(sysData.getCreateTime());
                        //业务id、库区编码、同步时间
                        apiData.setBizId(sysData.getFileId());
                        apiData.setKqdm(kqdm);
                        apiData.setSyncTime(new Date());
                        api1109List = api1109Rep.getDataByBizId(apiData.getBizId());
                        if (null == api1109List || api1109List.isEmpty()) {
                            apiData.setCzbz(Constant.CZBZ_I);
                        } else {
                            apiData.setCzbz(api1109List.get(0).getCzbz());
                        if (wjmc.indexOf(Constant.IMG_NAME_TYPE_IVG) >= 0 || wjmc.indexOf(Constant.IMG_NAME_TYPE_IVT) >= 0) {
                            apiData.setWjlx(IMG_TYPE_4);
                        }
                        //保存数据
                        api1109Rep.save(apiData);
                        if (wjmc.indexOf(Constant.IMG_NAME_TYPE_OVG) >= 0 || wjmc.indexOf(Constant.IMG_NAME_TYPE_OVT) >= 0) {
                            apiData.setWjlx(IMG_TYPE_5);
                        }
                        num ++;
                        log.info("1109---同步数据:{}", apiData.toString());
                    }
                    //操作标志及最后更新时间
                    apiData.setZhgxsj(new Date());
                    //业务id、库区编码、同步时间
                    apiData.setBizId(sysData.getFileId());
                    apiData.setKqdm(kqdm);
                    apiData.setSyncTime(new Date());
                    api1109List = api1109Rep.getDataByBizId(apiData.getBizId());
                    if (null == api1109List || api1109List.isEmpty()) {
                        apiData.setCzbz(Constant.CZBZ_I);
                    } else {
                        apiData.setCzbz(api1109List.get(0).getCzbz());
                    }
                    //保存数据
                    api1109Rep.save(apiData);
                    log.info("1109---同步数据:{}", apiData.toString());
                }
            }
        } catch (Exception e) {
@@ -200,121 +237,6 @@
            apiLogRep.save(apiLog);
        }
    }
//    /**
//     * 同步文件接口
//     *
//     * @param deptId
//     * @param start
//     * @param end
//     */
//    public void syncData(String kqdm, String deptId, Date start, Date end) {
//
//        log.info("-------------1109接口数据开始同步------------------");
//
//        //同步数据,只记录失败的信息
//        ApiLog apiLog = new ApiLog();
//        apiLog.setType(ApiLog.TYPE_SYNC);
//        apiLog.setKqdm(deptId);
//        apiLog.setUploadTime(new Date());
//        apiLog.setInteId(Constant.API_CODE_1109);
//        apiLog.setStatus(99);
//        apiLog.setId(ContextUtil.getUUID());
//        try {
//            List<Fz40FileInfo> list = fzzySync1109Rep.listFileInfo(start, end);
//
//            if (null == list || list.isEmpty()) {
//                log.info("-------------没有获取到文件信息------------------");
//                return;
//            }
//
//            Map<String, Integer> map = new HashMap<>();
//            Api1109 apiData;
//            String wjlx;
//            String wjmc;
//            List<Api1109> api1109List;
//            List<Api1202> api1202List;
//            List<Api1205> api1205List;
//            String str = "";
//            for (Fz40FileInfo sysData : list) {
//                if (StringUtils.isEmpty(sysData.getBizId())) {
//                    continue;
//                }
//                //根据图片id查询对应出入库信息
//                if(sysData.getBizId().startsWith(IMG_START_R)){
//                    api1202List = api1202Rep.getDataByBizId(sysData.getBizId());
//                    if (null == api1202List || api1202List.isEmpty()) {
//                        continue;
//                    }
//                    str = api1202List.get(0).getRkywdh();
//                }
//                if(sysData.getBizId().startsWith(IMG_START_C)){
//                    api1205List = api1205Rep.getDataByBizId(sysData.getBizId());
//                    if (null == api1205List || api1205List.isEmpty()) {
//                        continue;
//                    }
//                    str = api1205List.get(0).getCkywdh();
//                }
//
//                //只同步称重
//                if (BIZ_TAG_WEIGHT_FULL.equals(sysData.getBizTag()) || BIZ_TAG_WEIGHT_EMPTY.equals(sysData.getBizTag())) {
//                    wjlx = "";
//                    wjmc = kqdm;
//                    //入库抓拍图
//                    if (sysData.getBizId().startsWith(IMG_START_R)) {
//                        wjlx = IMG_TYPE_2;
//                        wjmc += "_" + Constant.INOUT_TYPE_14 + sysData.getBizId().substring(4);
//                    }
//                    //出库抓拍图
//                    if (sysData.getBizId().startsWith(IMG_START_C)) {
//                        wjlx = IMG_TYPE_3;
//                        wjmc += "_" + Constant.INOUT_TYPE_15 + sysData.getBizId().substring(4);
//                    }
//                    //若文件类型为空,则跳过
//                    if (StringUtils.isEmpty(wjlx)) {
//                        continue;
//                    }
//
//                    apiData = new Api1109();
//
//                    //主键id
//                    apiData.setId(UUID.randomUUID().toString());
//                    //文件路径
//                    apiData.setWjdz(fileUtil.getInoutFilePath(sysData.getCreateTime()) + sysData.getFileName());
//
//                    //文件名称
//                    wjmc = getImgNameType(wjmc, sysData.getBizTag(), str, sysData.getFileName(), map);
//                    apiData.setWjmc(wjmc);
//                    //文件类型
//                    apiData.setWjlx(wjlx);
//
//                    //操作标志及最后更新时间
//                    apiData.setZhgxsj(sysData.getCreateTime());
//
//                    //业务id、库区编码、同步时间
//                    apiData.setBizId(sysData.getFileId());
//                    apiData.setKqdm(kqdm);
//                    apiData.setSyncTime(new Date());
//
//                    api1109List = api1109Rep.getDataByBizId(apiData.getBizId());
//                    if (null == api1109List || api1109List.isEmpty()) {
//                        apiData.setCzbz(Constant.CZBZ_I);
//                    } else {
//                        apiData.setCzbz(api1109List.get(0).getCzbz());
//                    }
//
//                    //保存数据
//                    api1109Rep.save(apiData);
//                    log.info("1109---同步数据:{}", apiData.toString());
//                }
//            }
//        } catch (Exception e) {
//            log.error("---文件同步执行失败----{}", e);
//            apiLog.setResult("同步文件信息失败:" + e.getMessage());
//            apiLogRep.save(apiLog);
//        }
//    }
    /**
     * 获取图片命名类型
@@ -327,30 +249,54 @@
     * @return
     */
    private String getImgNameType(String wjmc, String bizTag, String bizId, String fileName, Map<String, Integer> map) {
        if (fileName.indexOf(Constant.IMG_NAME_TYPE_GL) >= 0) {
            return wjmc + "_" + Constant.IMG_NAME_TYPE_GL + ".jpg";
        if(null == bizTag){
            if (fileName.indexOf(Constant.IMG_NAME_TYPE_DJ) >= 0) {
                return wjmc + "_" + Constant.IMG_NAME_TYPE_DJ + ".jpg";
            }
            if (fileName.indexOf(Constant.IMG_NAME_TYPE_RK) >= 0) {
                return wjmc + "_" + Constant.IMG_NAME_TYPE_RK + ".jpg";
            }
            if (fileName.indexOf(Constant.IMG_NAME_TYPE_CK) >= 0) {
                return wjmc + "_" + Constant.IMG_NAME_TYPE_CK + ".jpg";
            }
            if (fileName.indexOf(Constant.IMG_NAME_TYPE_GL) >= 0) {
                return wjmc + "_" + Constant.IMG_NAME_TYPE_GL + ".jpg";
            }
            if (fileName.indexOf(Constant.IMG_NAME_TYPE_GR) >= 0) {
                return wjmc + "_" + Constant.IMG_NAME_TYPE_GR + ".jpg";
            }
            if (fileName.indexOf(Constant.IMG_NAME_TYPE_GT) >= 0) {
                return wjmc + "_" + Constant.IMG_NAME_TYPE_GT + ".jpg";
            }
            if (fileName.indexOf(Constant.IMG_NAME_TYPE_TL) >= 0) {
                return wjmc + "_" + Constant.IMG_NAME_TYPE_TL + ".jpg";
            }
            if (fileName.indexOf(Constant.IMG_NAME_TYPE_TR) >= 0) {
                return wjmc + "_" + Constant.IMG_NAME_TYPE_TR + ".jpg";
            }
            if (fileName.indexOf(Constant.IMG_NAME_TYPE_TT) >= 0) {
                return wjmc + "_" + Constant.IMG_NAME_TYPE_TT + ".jpg";
            }
            if (fileName.indexOf(Constant.IMG_NAME_TYPE_SL) >= 0) {
                return wjmc + "_" + Constant.IMG_NAME_TYPE_SL + ".jpg";
            }
            if (fileName.indexOf(Constant.IMG_NAME_TYPE_SF) >= 0) {
                return wjmc + "_" + Constant.IMG_NAME_TYPE_SF + ".jpg";
            }
            if (fileName.indexOf(Constant.IMG_NAME_TYPE_IVG) >= 0) {
                return wjmc + "_" + Constant.IMG_NAME_TYPE_IVG + ".mp4";
            }
            if (fileName.indexOf(Constant.IMG_NAME_TYPE_IVT) >= 0) {
                return wjmc + "_" + Constant.IMG_NAME_TYPE_IVT + ".mp4";
            }
            if (fileName.indexOf(Constant.IMG_NAME_TYPE_OVG) >= 0) {
                return wjmc + "_" + Constant.IMG_NAME_TYPE_OVG + ".mp4";
            }
            if (fileName.indexOf(Constant.IMG_NAME_TYPE_OVT) >= 0) {
                return wjmc + "_" + Constant.IMG_NAME_TYPE_OVT + ".mp4";
            }
        }
        if (fileName.indexOf(Constant.IMG_NAME_TYPE_GR) >= 0) {
            return wjmc + "_" + Constant.IMG_NAME_TYPE_GR + ".jpg";
        }
        if (fileName.indexOf(Constant.IMG_NAME_TYPE_GT) >= 0) {
            return wjmc + "_" + Constant.IMG_NAME_TYPE_GT + ".jpg";
        }
        if (fileName.indexOf(Constant.IMG_NAME_TYPE_TL) >= 0) {
            return wjmc + "_" + Constant.IMG_NAME_TYPE_TL + ".jpg";
        }
        if (fileName.indexOf(Constant.IMG_NAME_TYPE_TR) >= 0) {
            return wjmc + "_" + Constant.IMG_NAME_TYPE_TR + ".jpg";
        }
        if (fileName.indexOf(Constant.IMG_NAME_TYPE_TT) >= 0) {
            return wjmc + "_" + Constant.IMG_NAME_TYPE_TT + ".jpg";
        }
        if (fileName.indexOf(Constant.IMG_NAME_TYPE_SL) >= 0) {
            return wjmc + "_" + Constant.IMG_NAME_TYPE_SL + ".jpg";
        }
        if (fileName.indexOf(Constant.IMG_NAME_TYPE_SF) >= 0) {
            return wjmc + "_" + Constant.IMG_NAME_TYPE_SF + ".jpg";
        }
        Integer num = 0;
        //毛重
        if (BIZ_TAG_WEIGHT_FULL.equals(bizTag)) {
@@ -390,6 +336,25 @@
                map.remove(bizId + "_" + bizTag);
            }
        }
        //入库登记
        if (BIZ_TAG_REGISTER.equals(bizTag)) {
            if (null == map.get(bizId + "_" + bizTag)) {
                map.put(bizId + "_" + bizTag, 1);
            }
            num = map.get(bizId + "_" + bizTag);
            if (num == 1) {
                wjmc += "_" + Constant.IMG_NAME_TYPE_DJ;
                map.put(bizId + "_" + bizTag, 2);
            }
            if (num == 2) {
                wjmc += "_" + Constant.IMG_NAME_TYPE_RK;
                map.remove(bizId + "_" + bizTag);
            }
        }
        //出库照片
        if (BIZ_TAG_CARD_BACK.equals(bizTag)) {
            wjmc += "_" + Constant.IMG_NAME_TYPE_CK;
        }
        return wjmc + ".jpg";
    }
}