YYC
2023-08-17 0e61ae8dcd73c9c3805902e6c482d122b4363dad
粮食购销同步2
已修改3个文件
已添加3个文件
376 ■■■■■ 文件已修改
src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/entity/Fz40InoutVarietyChange.java 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1207.java 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1209.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1210.java 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1210Rep.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java
@@ -36,7 +36,11 @@
    @Autowired
    private Fzzy40Sync1206 fzzySync1206;
    @Autowired
    private Fzzy40Sync1207 fzzySync1207;
    @Autowired
    private Fzzy40Sync1209 fzzySync1209;
    @Autowired
    private Fzzy40Sync1210 fzzySync1210;
    @Override
    public String getProtocol() {
@@ -72,8 +76,8 @@
        fzzySync1206.syncData(kqdm, deptId, start, end);
        //粮食损益
        fzzySync1209.syncData(kqdm, deptId, start, end);
        //倒仓信息同步  TODO
        //倒仓信息同步
        fzzySync1207.syncData(kqdm, deptId, start, end);
        //出入库文件信息同步  TODO
@@ -82,6 +86,7 @@
        fzzySync1208.syncData(kqdm, deptId, start, end);
        //粮食性质转变信息同步  TODO
        fzzySync1210.syncData(kqdm, deptId, start, end);
        //账面库存信息同步  TODO
src/main/java/com/fzzy/async/fzzy40/entity/Fz40InoutVarietyChange.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,148 @@
package com.fzzy.async.fzzy40.entity;
import com.bstek.dorado.annotation.PropertyDef;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
/**
 * ç»¼åˆç®¡ç†-粮食性质变更,主要是出入库之前做 å‚¨å¤‡è½¬å•†å“ï¼Œå®Œæˆä¹‹åŽ å•†å“è½¬å‚¨å¤‡ã€‚
 * <p>
 * å˜æ›´è®°å½•:表名变更为 D_INOUT_VARIETY_CHANGE
 */
@Data
@Entity
@Table(name = "D_INOUT_VARIETY_CHANGE")
public class Fz40InoutVarietyChange implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Column(name = "ID_", length = 41)
    @PropertyDef(label = "粮食性质转变单号", description = "由货位代码+划转日期(yyyyMMdd)+3位顺序号组成")
    private String id;
    @Column(name = "COMPANY_ID_", length = 10)
    @PropertyDef(label = "组织编码")
    private String companyId;
    @Column(name = "DEPT_ID_", length = 40)
    @PropertyDef(label = "分库编码")
    private String deptId;
    @Column(name = "DEPOT_ID_", length = 50)
    @PropertyDef(label = "所属仓库")
    private String depotId;
    @Column(name = "NUMBER_")
    @PropertyDef(label = "粮食数量", description = "单位:公斤")
    private Double number = 0.0;
    @Column(name = "CHANGE_NUMBER_")
    @PropertyDef(label = "划转数量", description = "单位:公斤")
    private Double changeNumber = 0.0;
    @Column(name = "APPROVAL_ID_", length = 40)
    @PropertyDef(label = "批准文号")
    private String approvalId;
    @Column(name = "FOOD_VARIETY_", length = 10)
    @PropertyDef(label = "粮食品种", description = "代码不足7位需在末位补0")
    private String foodVariety;
    /**
     * 100、储备粮 110、中央储备粮 120、地方储备粮
     * 121、省(自治区、直辖市)级地方储备粮
     * 122、市(地区、自治州、盟)级地方储备粮
     * 123、县(自治县、县级市、旗、自治旗、市辖区、林区、特区)级地方储备粮
     * 129、其他储备粮 200、商品粮 270、中储粮系统商品粮
     * 280、进口商品粮 290、其他商品粮 300、政策性粮食
     * 310、最低收购价粮 320、国家临时存储粮 330、国家临储进口粮
     * 340、地方临时存储粮
     */
    @Column(name = "FOOD_TYPE_", length = 10)
    @PropertyDef(label = "划转前粮食性质代码")
    private String foodType;
    @Column(name = "NEW_FOOD_TYPE_", length = 10)
    @PropertyDef(label = "划转后粮食性质代码")
    private String newFoodType;
    @Column(name = "CHANGE_TIME_")
    @PropertyDef(label = "划转日期")
    private Date changeTime;
    @PropertyDef(label = "仓储审核人")
    @Column(name = "ccshr", length = 64)
    private String ccshr;
    @Column(name = "AUDIT_CCSH_", length = 10)
    @PropertyDef(label = "审批状态")
    private String auditCcsh;
    @Column(name = "INFO_CCSH_", length = 200)
    @PropertyDef(label = "审核说明")
    private String InfoCcsh;
    @PropertyDef(label = "质检审核人")
    @Column(name = "zjshr", length = 64)
    private String zjshr;
    @Column(name = "AUDIT_ZJSH_", length = 10)
    @PropertyDef(label = "审批状态")
    private String auditZjsh;
    @Column(name = "INFO_ZJSH_", length = 200)
    @PropertyDef(label = "审核说明")
    private String infoZjsh;
    @PropertyDef(label = "统计审核人")
    @Column(name = "tjshr", length = 64)
    private String tjshr;
    @Column(name = "AUDIT_TJSH_", length = 10)
    @PropertyDef(label = "审批状态")
    private String auditTjsh;
    @Column(name = "INFO_TJSH_", length = 200)
    @PropertyDef(label = "审核说明")
    private String infoTjsh;
    @PropertyDef(label = "会计审核人")
    @Column(name = "kjshr", length = 64)
    private String kjshr;
    @Column(name = "AUDIT_KJSH_", length = 10)
    @PropertyDef(label = "审批状态")
    private String auditKjsh;
    @Column(name = "INFO_KJSH_", length = 200)
    @PropertyDef(label = "审核说明")
    private String infoKjsh;
    @PropertyDef(label = "领导审核人")
    @Column(name = "ldshr", length = 64)
    private String ldshr;
    @Column(name = "AUDIT_LDSH_", length = 10)
    @PropertyDef(label = "审批状态", description = "最终审核状态以领导审核为准")
    private String auditLdsh;
    @Column(name = "INFO_LDSH_", length = 200)
    @PropertyDef(label = "审核说明")
    private String infoLdsh;
    @Column(name = "UPDATE_TIME_")
    @PropertyDef(label = "最后更新时间")
    private Date updateTime;
    @Column(name = "REMARK_", length = 200)
    @PropertyDef(label = "备注")
    private String remark;
}
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1207.java
@@ -1,17 +1,29 @@
package com.fzzy.async.fzzy40.impl;
import com.fzzy.api.Constant;
import com.fzzy.api.entity.Api1102;
import com.fzzy.api.entity.Api1105;
import com.fzzy.api.entity.Api1207;
import com.fzzy.api.entity.ApiLog;
import com.fzzy.api.service.ApiCommonService;
import com.fzzy.api.service.ApiTriggerService;
import com.fzzy.api.utils.ContextUtil;
import com.fzzy.api.view.repository.Api1102Rep;
import com.fzzy.api.view.repository.Api1207Rep;
import com.fzzy.api.view.repository.ApiLogRep;
import com.fzzy.async.fzzy40.entity.Fz40InoutStockChange;
import com.fzzy.async.fzzy40.repository.Fzzy40Sync1202Rep;
import com.fzzy.async.fzzy40.repository.Fzzy40Sync1207Rep;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
/**
 * å€’仓信息
 *
 * @Author:YAN
 */
@Slf4j
@@ -19,17 +31,86 @@
public class Fzzy40Sync1207 {
    @Autowired
    private Fzzy40Sync1202Rep fzzySync1202Rep;
    @Autowired
    private Fzzy40Sync1207Rep fzzySync1207Rep;
    @Autowired
    private ApiTriggerService apiTriggerService;
    @Autowired
    private Api1207Rep api1207Rep;
    @Autowired
    private ApiCommonService commonService;
    @Autowired
    private Api1102Rep api1102Rep;
    private Api1207Rep api1207Rep;
    @Autowired
    private ApiLogRep apiLogRep;
    /**
     * å€’仓信息同步
     *
     * @param kqdm
     * @param deptId
     * @param start
     * @param end
     */
    public void syncData(String kqdm, String deptId, Date start, Date end) {
        log.info("-------------1207接口数据开始同步------------------");
        //同步数据,只记录失败的信息
        ApiLog apiLog = new ApiLog();
        apiLog.setType(ApiLog.TYPE_SYNC);
        apiLog.setKqdm(deptId);
        apiLog.setUploadTime(new Date());
        apiLog.setInteId(Constant.API_CODE_1207);
        apiLog.setStatus(99);
        apiLog.setId(ContextUtil.getUUID());
        try {
            List<Fz40InoutStockChange> list = fzzySync1207Rep.listStockChange(deptId, start, end);
            if (null == list || list.isEmpty()) {
                log.info("-------------没有获取到倒仓信息------------------");
                return;
            }
            Api1207 apiData;
            Api1105 api1105In;
            Api1105 api1105Out;
            for (Fz40InoutStockChange sysData : list) {
                //获取货位信息
                api1105Out = commonService.getApi1105Cache(sysData.getDepotIdOut());
                if (null == api1105Out) {
                    continue;
                }
                //获取货位信息
                api1105In = commonService.getApi1105Cache(sysData.getDepotIdIn());
                if (null == api1105In) {
                    continue;
                }
                apiData = new Api1207();
                apiData.setDcdh(kqdm + sysData.getId());
                apiData.setDclx(sysData.getType());
                apiData.setDcjhwjbh(sysData.getPlanCode());
                apiData.setTzdh(sysData.getNoticeId());
                apiData.setDcdw(kqdm);
                apiData.setDrdw(kqdm);
                apiData.setLspzdm(sysData.getFoodVariety());
                apiData.setDchwdm(api1105Out.getHwdm());
                apiData.setDrhwdm(api1105In.getHwdm());
                apiData.setDcrq(sysData.getChangeDate());
                apiData.setDcsl(sysData.getNumber());
                apiData.setBzw(sysData.getBzw());
                apiData.setBzbjs(sysData.getBzbjs());
                apiData.setZxzydw(sysData.getZxzydw());
                apiData.setCzbz(Constant.CZBZ_I);
                apiData.setZhgxsj(sysData.getUpdateTime());
                apiData.setBizId(sysData.getId());
                apiData.setKqdm(kqdm);
                apiData.setSyncTime(new Date());
                //保存数据
                api1207Rep.save(apiData);
                log.info("1207---同步数据:{}", apiData.toString());
            }
        } catch (Exception e) {
            log.error("---倒仓信息同步失败----{}", e);
            apiLog.setResult("倒仓信息同步失败:" + e.getMessage());
            apiLogRep.save(apiLog);
        }
    }
}
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1209.java
@@ -11,7 +11,6 @@
import com.fzzy.async.fzzy40.entity.Fz40InoutLossOver;
import com.fzzy.async.fzzy40.repository.Fzzy40Sync1209Rep;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.time.DateFormatUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1210.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,105 @@
package com.fzzy.async.fzzy40.impl;
import com.fzzy.api.Constant;
import com.fzzy.api.entity.Api1105;
import com.fzzy.api.entity.Api1209;
import com.fzzy.api.entity.Api1210;
import com.fzzy.api.entity.ApiLog;
import com.fzzy.api.service.ApiCommonService;
import com.fzzy.api.utils.ContextUtil;
import com.fzzy.api.view.repository.Api1209Rep;
import com.fzzy.api.view.repository.Api1210Rep;
import com.fzzy.api.view.repository.ApiLogRep;
import com.fzzy.async.fzzy40.entity.Fz40InoutLossOver;
import com.fzzy.async.fzzy40.entity.Fz40InoutVarietyChange;
import com.fzzy.async.fzzy40.repository.Fzzy40Sync1209Rep;
import com.fzzy.async.fzzy40.repository.Fzzy40Sync1210Rep;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
/**
 * æ€§è´¨è½¬å˜
 *
 * @Author:YAN
 */
@Slf4j
@Component
public class Fzzy40Sync1210 {
    @Autowired
    private Fzzy40Sync1210Rep fzzySync1210Rep;
    @Autowired
    private Api1210Rep api1210Rep;
    @Autowired
    private ApiCommonService commonService;
    @Autowired
    private ApiLogRep apiLogRep;
    public void syncData(String kqdm, String deptId, Date start, Date end) {
        log.info("-------------1210接口数据开始同步------------------");
        //同步数据,只记录失败的信息
        ApiLog apiLog = new ApiLog();
        apiLog.setType(ApiLog.TYPE_SYNC);
        apiLog.setKqdm(deptId);
        apiLog.setUploadTime(new Date());
        apiLog.setInteId(Constant.API_CODE_1209);
        apiLog.setStatus(99);
        apiLog.setId(ContextUtil.getUUID());
        try {
            List<Fz40InoutVarietyChange> list = fzzySync1210Rep.listVarietyChange(deptId, start, end);
            if (null == list || list.isEmpty()) {
                log.info("-------------没有获取到性质转变信息------------------");
                return;
            }
            Api1210 apiData;
            Api1105 api1105;
            for (Fz40InoutVarietyChange sysData : list) {
                //获取货位信息
                api1105 = commonService.getApi1105Cache(sysData.getDepotId());
                if (null == api1105) {
                    continue;
                }
                apiData = new Api1210();
                apiData.setLsxzzbdh(api1105.getHwdm() + sysData.getId());
                apiData.setHwdm(api1105.getHwdm());
                apiData.setLssl(sysData.getNumber());
                apiData.setHzsl(sysData.getChangeNumber());
                apiData.setBzwh(sysData.getApprovalId());
                apiData.setLspzdm(sysData.getFoodVariety());
                apiData.setHzqlsxzdm(sysData.getFoodType());
                apiData.setHzhlsxzdm(sysData.getNewFoodType());
                apiData.setHzrq(sysData.getChangeTime());
                apiData.setCcshr(sysData.getCcshr());
                apiData.setZjshr(sysData.getZjshr());
                apiData.setTjshr(sysData.getTjshr());
                apiData.setKjshr(sysData.getKjshr());
                apiData.setLdshr(sysData.getLdshr());
                apiData.setBz(sysData.getRemark());
                apiData.setCzbz(Constant.CZBZ_I);
                apiData.setZhgxsj(sysData.getUpdateTime());
                //业务id、库区编码、同步时间
                apiData.setBizId(sysData.getId());
                apiData.setKqdm(kqdm);
                apiData.setSyncTime(new Date());
                //保存数据
                api1210Rep.save(apiData);
            }
        } catch (Exception e) {
            log.error("---同步失败----{}", e);
            apiLog.setResult("同步失败:" + e.getMessage());
            apiLogRep.save(apiLog);
        }
    }
}
src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1210Rep.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
package com.fzzy.async.fzzy40.repository;
import com.fzzy.async.fzzy40.entity.Fz40InoutLossOver;
import com.fzzy.async.fzzy40.entity.Fz40InoutVarietyChange;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.Date;
import java.util.List;
/**
 * @Author:YAN
 */
public interface Fzzy40Sync1210Rep extends JpaRepository<Fz40InoutVarietyChange, String> {
    @Query("from Fz40InoutVarietyChange where deptId=:deptId and changeTime >=:start and changeTime <:end order by changeTime ")
    List<Fz40InoutVarietyChange> listVarietyChange(@Param("deptId") String deptId, @Param("start") Date start, @Param("end") Date end);
}