CZT
2023-08-10 a5ea6c16ddee126361a325ebd25d9136c0cc5b75
优化3.5版本库存更新
已添加1个文件
已修改2个文件
171 ■■■■ 文件已修改
src/main/java/com/fzzy/async/fzzy35/entity/Fz35DepotStore.java 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy35/impl/Fzzy35Sync1208.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy35/repository/Fzzy35Sync1208Rep.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy35/entity/Fz35DepotStore.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,110 @@
package com.fzzy.async.fzzy35.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;
/**
 * @Desc: ç²®é£Ÿåº“存管理,根据国标标结果要求创建
 * @author: Andy
 * @update-time: 2022/11/17
 */
@Data
@Entity
@Table(name = "D_DEPOT_STORE")
public class Fz35DepotStore implements Serializable {
    /**
     *
     */
    private static final long serialVersionUID = -5548540780391804729L;
    @Id
    @Column(name = "ID_", length = 40)
    private String id;
    @Column(name = "COMPANY_ID_", length = 10)
    @PropertyDef(label = "组织编码")
    private String companyId;
    @Column(name = "DEPT_ID_", length = 20)
    @PropertyDef(label = "所属库区")
    private String deptId;
    @Column(name = "DEPOT_ID_", length = 50)
    @PropertyDef(label = "所属仓库")
    private String depotId;
    @Column(name = "STORE_TYPE_", length = 6)
    @PropertyDef(label = "储粮方式", description = "1:散装储粮 2:包装储粮 3:围包散存 9:其他")
    private String storeType;
    @Column(name = "FOOD_TYPE_", length = 10)
    @PropertyDef(label = "粮食性质")
    private String foodType;
    @Column(name = "FOOD_VARIETY_", length = 10)
    @PropertyDef(label = "粮食品种")
    private String foodVariety;
    @Column(name = "FOOD_LEVEL_", length = 10)
    @PropertyDef(label = "粮食等级")
    private String foodLevel;
    @Column(name = "FOOD_LOCATION_", length = 50)
    @PropertyDef(label = "粮食产地")
    private String foodLocation;
    @Column(name = "DEPOT_STATUS_", length = 10)
    @PropertyDef(label = "仓库状态")
    private String depotStatus;
    @Column(name = "FOOD_YEAR_", length = 10)
    @PropertyDef(label = "收货年度")
    private String foodYear;
    @Column(name = "STORE_DATE_")
    @PropertyDef(label = "入库时间", description = "入库时间,第一车粮食入仓时间,格式:yyyy-MM-dd HH:mm:ss")
    private Date storeDate;
    @Column(name = "STORAGE_REAL_")
    @PropertyDef(label = "实际储量", description = "单位:KG")
    private Double storageReal;
    @Column(name = "FULL_DATE_")
    @PropertyDef(label = "封仓日期", description = "当货位(油罐)状态为封仓时,此项为必填项")
    private Date fullDate;
    @Column(name = "OUT_DATE_")
    @PropertyDef(label = "出仓时间", description = "入库时间,第一车粮食出仓时间,格式:yyyy-MM-dd HH:mm:ss")
    private Date outDate;
    @Column(name = "GRAIN_HEIGHT_")
    @PropertyDef(label = "装粮线高", description = "单位:米")
    private Double grainHeight;
    @Column(name = "GRAIN_VOLUME_")
    @PropertyDef(label = "装粮体积", description = "单位:立方米")
    private Double grainVolume;
    @Column(name = "REMARK_", length = 250)
    @PropertyDef(label = "备注", description = "备注信息")
    private String remark;
    @Column(name = "UPDATE_USER_", length = 50)
    @PropertyDef(label = "修改人")
    private String updateUser;
    @Column(name = "UPDATE_DATE_")
    @PropertyDef(label = "修改时间")
    private Date updateDate;
    @Column(name = "CREATE_DATE_")
    @PropertyDef(label = "创建时间")
    private Date createDate;
}
src/main/java/com/fzzy/async/fzzy35/impl/Fzzy35Sync1208.java
@@ -8,7 +8,7 @@
import com.fzzy.api.view.repository.Api1102Rep;
import com.fzzy.api.view.repository.Api1208Rep;
import com.fzzy.api.view.repository.ApiLogRep;
import com.fzzy.async.fzzy35.entity.Fz35Depot;
import com.fzzy.async.fzzy35.entity.Fz35DepotStore;
import com.fzzy.async.fzzy35.repository.Fzzy35Sync1208Rep;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.time.DateUtils;
@@ -46,18 +46,6 @@
     */
    public void syncData(String kqdm, String deptId, Date start, Date end) {
//        //修改库存数据为每天2点同步,每天只同步一条
//        Date nowTime = new Date();
//        int hour = ContextUtil.getHourOfDay(nowTime);
//        if (!String.valueOf(hour).equals("2")) {
//            log.info("-------------当前时间不在2点钟,1208库存接口数据接口不同步------------------");
//            return;
//        }
//        int minute = ContextUtil.getMinuteOfHour(nowTime);
//        if (!String.valueOf(minute).equals("00")) {
//            log.info("-------------当前时间不在2点钟0分,1208库存接口数据接口不同步------------------");
//            return;
//        }
        log.info("-------------1208接口数据开始同步------------------");
        //同步数据,只记录失败的信息
@@ -69,7 +57,7 @@
        apiLog.setStatus(99);
        apiLog.setId(ContextUtil.getUUID());
        try {
            List<Fz35Depot> list = fzzySync1208Rep.listDepot(deptId);
            List<Fz35DepotStore> list = fzzySync1208Rep.listDepot(deptId, start, end);
            if (null == list || list.isEmpty()) {
@@ -83,10 +71,10 @@
            Api1208 apiData;
            Api1105 api1105;
            for (Fz35Depot fz35Depot : list) {
            for (Fz35DepotStore fz35DepotStore : list) {
                //获取货位信息
                api1105 = commonService.getApi1105Cache(fz35Depot.getId());
                api1105 = commonService.getApi1105Cache(fz35DepotStore.getDepotId());
                if (null == api1105) {
                    continue;
                }
@@ -95,24 +83,24 @@
                apiData.setHwdm(api1105.getHwdm());
                //粮食品种
                String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, fz35Depot.getFoodVariety());
                String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, fz35DepotStore.getFoodVariety());
                apiData.setLspzdm(mappingCode);
                //粮食性质
                mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSXZ, fz35Depot.getFoodType());
                mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSXZ, fz35DepotStore.getFoodType());
                apiData.setLsxzdm(mappingCode);
                //粮食等级
                mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSDJ, fz35Depot.getFoodLevel());
                mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSDJ, fz35DepotStore.getFoodLevel());
                apiData.setLsdjdm(mappingCode);
                apiData.setShnd(fz35Depot.getFoodYear());
                apiData.setShnd(fz35DepotStore.getFoodYear());
                //产地代码
                String cd = commonService.getFoodLocationIdFromCache(fz35Depot.getFoodLocation());
                String cd = commonService.getFoodLocationIdFromCache(fz35DepotStore.getFoodLocation());
                apiData.setCd(cd);
                apiData.setBgy(fz35Depot.getStoreKeeperName());
                apiData.setBgy(api1105.getBgy());
                //粮权归属单位
                apiData.setLqgsdwdm(api1102.getDwdm());
                //粮权行政区划代码
@@ -122,35 +110,35 @@
                //收储地点-默认库内
                apiData.setScdd("1");
                //储粮方式
                apiData.setClfs(fz35Depot.getStoreType());
                apiData.setClfs(fz35DepotStore.getStoreType());
                //货位状态
                mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_HWZT, fz35Depot.getDepotStatus());
                mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_HWZT, fz35DepotStore.getDepotStatus());
                apiData.setHwzt(mappingCode);
                if(null == fz35Depot.getStoreDate()){
                    fz35Depot.setStoreDate(new Date());
                if(null == fz35DepotStore.getStoreDate()){
                    fz35DepotStore.setStoreDate(new Date());
                }
                //入仓时间
                apiData.setRcsj(fz35Depot.getStoreDate());
                apiData.setRcsj(fz35DepotStore.getStoreDate());
                //封仓日期
                if("3".equals(apiData.getHwzt())){
                    apiData.setFcrq(DateUtils.addDays(fz35Depot.getStoreDate(), 10));
                    apiData.setFcrq(DateUtils.addDays(fz35DepotStore.getStoreDate(), 10));
                }
                //出仓完成时间
                if("1".equals(apiData.getHwzt())){
                    apiData.setCcwcsj(DateUtils.addDays(fz35Depot.getStoreDate(), 5));
                    apiData.setCcwcsj(DateUtils.addDays(fz35DepotStore.getStoreDate(), 5));
                }
                //国别
                apiData.setGb("156");
                apiData.setSjsl(fz35Depot.getStorageReal());
                apiData.setJjsl(fz35Depot.getStorageReal());
                apiData.setSjsl(fz35DepotStore.getStorageReal());
                apiData.setJjsl(fz35DepotStore.getStorageReal());
                apiData.setSjzlxg(6);
                apiData.setLdtj(10000);
                apiData.setZhgxsj(new Date());
                //业务id、库区编码、同步时间
                apiData.setBizId(fz35Depot.getId());
                apiData.setBizId(fz35DepotStore.getId());
                apiData.setKqdm(kqdm);
                apiData.setSyncTime(new Date());
src/main/java/com/fzzy/async/fzzy35/repository/Fzzy35Sync1208Rep.java
@@ -1,22 +1,23 @@
package com.fzzy.async.fzzy35.repository;
import com.fzzy.async.fzzy35.entity.Fz35Depot;
import com.fzzy.async.fzzy35.entity.Fz35DepotStore;
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;
/**
 * ç²®é£Ÿè´­é”€-粮食库存
 */
public interface Fzzy35Sync1208Rep extends JpaRepository<Fz35Depot, String> {
public interface Fzzy35Sync1208Rep extends JpaRepository<Fz35DepotStore, String> {
    /**
     * æ ¹æ®ä¿¡æ¯èŽ·å–ä»“åº“ä¿¡æ¯
     *
     * @return
     */
    @Query("from Fz35Depot where deptId=:deptId order by id ")
    List<Fz35Depot> listDepot(@Param("deptId") String deptId);
    @Query("from Fz35DepotStore where deptId=:deptId and createDate >=:start and createDate <:end order by createDate ")
    List<Fz35DepotStore> listDepot(@Param("deptId") String deptId, @Param("start") Date start, @Param("end") Date end);
}