CZT
2023-08-04 36d6dcc3229fb8487df706f4dad3cb2a6d451ca5
武汉军粮省平台-军粮企业信息同步
已修改2个文件
已添加4个文件
325 ■■■■■ 文件已修改
src/main/java/com/fzzy/api/data/SyncProtocol.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/whhpjl/Fzzy40ToWhSyncService11.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/whhpjl/entity/Fz40WhjlDefaultDept.java 154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/whhpjl/impl/Fz40ToWhjlSync1101.java 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/whhpjl/repository/Fz40ToWhjlSync1101Rep.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/whjl/dto/WhjlApi1101.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/api/data/SyncProtocol.java
@@ -12,6 +12,7 @@
    FZZY_V30_GB("FZZY_V30_GB", "风正致远V3.0"),
    FZZY_V35_GB("FZZY_V35_GB", "风正致远V3.5"),
    FZZY_V40_GB("FZZY_V40_GB", "风正致远V4.0"),
    FZZY_V40_WHJL("FZZY_V40_WHJL", "风正致远V4.0-武汉军粮"),
    FZZY_V35_SHYZ("FZZY_V35_SHYZ", "风正致远2上海佑卓规范");
src/main/java/com/fzzy/async/whhpjl/Fzzy40ToWhSyncService11.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,44 @@
package com.fzzy.async.whhpjl;
import com.fzzy.api.data.ApiParam;
import com.fzzy.api.data.SyncProtocol;
import com.fzzy.api.service.SyncService11;
import com.fzzy.async.whhpjl.impl.Fz40ToWhjlSync1101;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
 * @Desc: åŸºç¡€ä¿¡æ¯åŒæ­¥
 *
 * @author: czt
 * @update-time: 2023/08/04
 *
 */
@Slf4j
@Component
public class Fzzy40ToWhSyncService11 implements SyncService11 {
    @Autowired
    private Fz40ToWhjlSync1101 fz40ToWhjlSync1101;
    @Override
    public String getProtocol() {
        return SyncProtocol.FZZY_V40_WHJL.getCode();
    }
    @Override
    public void syncData(ApiParam param) {
        log.info("--------------基础数据手动配置推送--------");
        String kqdm = param.getKqdm();
        String deptId = param.getDeptId();
        Date start = param.getStart();
        Date end = param.getEnd();
        //同步军工单位信息
        fz40ToWhjlSync1101.syncData(kqdm, deptId, start, end);
    }
}
src/main/java/com/fzzy/async/whhpjl/entity/Fz40WhjlDefaultDept.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,154 @@
package com.fzzy.async.whhpjl.entity;
import com.bstek.dorado.annotation.PropertyDef;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
/**
 * @Desc: åº“区组织架构
 *
 * @author: czt
 * @update-time: 2023/08/04
 *
 */
@Data
@Entity
@Table(name = "BDF2_DEPT")
public class Fz40WhjlDefaultDept implements Serializable {
    private static final long serialVersionUID = -7669420244144806105L;
    // ----------业务公共字段-------//
    @Id
    @Column(name = "ID_", length = 60)
    private String id;
    @Column(name = "COMPANY_ID_", length = 60)
    private String companyId;
    @Column(name = "PARENT_ID_", length = 60)
    private String parentId;
    @Column(name = "CREATE_DATE_")
    @PropertyDef(label = "建成时间")
    private Date createDate;
    @Column(name = "NAME_", length = 60)
    private String name;
    @Column(name = "DESC_", length = 1000)
    private String desc;
    @Column(name = "TYPE_", length = 10)
    @PropertyDef(label = "类型", description = "组织,库点")
    private String type;
    @Column(name = "CODE_", length = 60)
    @PropertyDef(label = "编码", description = "用于上报的组织编码")
    private String code;
    @PropertyDef(label = "所在省")
    @Column(name = "PROVINCE_", length = 30)
    private String province;
    @PropertyDef(label = "所在城市")
    @Column(name = "CITY_", length = 30)
    private String city;
    @PropertyDef(label = "所在区县")
    @Column(name = "COUNTRY_", length = 30)
    private String country;
    @Column(name = "LON_")
    @PropertyDef(label = "经度")
    private Double lon;
    @Column(name = "LAT_")
    @PropertyDef(label = "纬度")
    private Double lat;
    @Column(name = "POST_CODE_", length = 10)
    @PropertyDef(label = "邮编")
    private String postCode;
    @Column(name = "BUILDING_NUM_")
    @PropertyDef(label = "仓房数")
    private Integer buildingNum;
    @Column(name = "OIL_NUM_")
    @PropertyDef(label = "油罐数")
    private Integer oilNum;
    @PropertyDef(label = "地址")
    @Column(name = "ADDRESS_", length = 200)
    private String address;
    @PropertyDef(label = "联系人")
    @Column(name = "CONTACT_", length = 50)
    private String contact;
    @PropertyDef(label = "联系电话")
    @Column(name = "PHONE_", length = 20)
    private String phone;
    @Column(name = "FAX_", length = 20)
    @PropertyDef(label = "传真")
    private String fax;
    // ----------单位字段-------//
    @Column(name = "COMPANY_TYPE_", length = 10)
    @PropertyDef(label = "单位类型", description = "1-粮食仓储企业;2-粮食购销企业;3-粮食加工企业;4-粮食设备制造企业;9-其他粮食企业")
    private String companyType;
    @Column(name = "NATURE_", length = 10)
    @PropertyDef(label = "企业性质", description = "1-固有企业;2-民营企业;3-事业单位;9-其他内资企业;10-港澳台商投资企业;11-外商投资企业;")
    private String nature;
    @Column(name = "LEGAL_PERSON_", length = 30)
    @PropertyDef(label = "法人")
    private String legalPerson;
    @Column(name = "DEPT_NUM_")
    @PropertyDef(label = "库区数")
    private Integer deptNum;
    @Column(name = "REGISTER_CODE_", length = 30)
    @PropertyDef(label = "工商登记注册号")
    private String registerCode;
    @Column(name = "CREDIT_CODE_", length = 20)
    @PropertyDef(label = "信用编码")
    private String creditCode;
    // ----------库区字段-------//
    @Column(name = "DEPOT_NUM_")
    @PropertyDef(label = "廒间数")
    private Integer depotNum;
    @Column(name = "STORAGE_")
    @PropertyDef(label = "库点设计储量", description = "单位:吨")
    private Double storage;
    @Column(name = "OIL_STORAGE_")
    @PropertyDef(label = "库点设计罐容", description = "单位:吨")
    private Double oilStorage;
    @Column(name = "AREA_")
    @PropertyDef(label = "库点设计面积", description = "单位:㎡")
    private Double area;
    @Column(name = "ACTING_RESERVE_", length = 1)
    @PropertyDef(label = "是否代储", description = "1-是; 0-否")
    private String actingReserve = "0";
    @Column(name = "PROPERTY_RIGHT_", length = 2)
    @PropertyDef(label = "库区产权", description = "1-自有; 2-租赁;9-其他")
    private String propertyRight = "1";
    @Column(name = "VAL_", length = 1)
    @PropertyDef(label = "是否启用")
    private String val;
}
src/main/java/com/fzzy/async/whhpjl/impl/Fz40ToWhjlSync1101.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,102 @@
package com.fzzy.async.whhpjl.impl;
import com.fzzy.api.Constant;
import com.fzzy.api.entity.ApiLog;
import com.fzzy.api.utils.ContextUtil;
import com.fzzy.api.view.repository.ApiLogRep;
import com.fzzy.async.whhpjl.entity.Fz40WhjlDefaultDept;
import com.fzzy.async.whhpjl.repository.Fz40ToWhjlSync1101Rep;
import com.fzzy.whjl.dto.WhjlApi1101;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
/**
 * å†›å·¥å•位信息
 *
 * @author: czt
 * @update-time: 2023/08/04
 *
 */
@Slf4j
@Component
public class Fz40ToWhjlSync1101 {
    @Autowired
    private Fz40ToWhjlSync1101Rep fz40ToWhjlSync1101Rep;
    @Autowired
    private ApiLogRep apiLogRep;
    /**
     * å†›å·¥å•位信息
     *
     * @param deptId
     * @param start
     * @param end
     */
    public void syncData(String kqdm, String deptId, Date start, Date end) {
        log.info("-------------1101接口数据开始同步------------------");
        //同步数据,只记录失败的信息
        ApiLog apiLog = new ApiLog();
        apiLog.setType(ApiLog.TYPE_SYNC);
        apiLog.setKqdm(deptId);
        apiLog.setUploadTime(new Date());
        apiLog.setInteId(Constant.API_CODE_1111);
        apiLog.setStatus(99);
        apiLog.setId(ContextUtil.getUUID());
        try {
            List<Fz40WhjlDefaultDept> list = fz40ToWhjlSync1101Rep.listApi1101(deptId.substring(0, 4));
            if (null == list || list.isEmpty()) {
                log.info("-------------没有获取到单位信息------------------");
                return;
            }
            WhjlApi1101 apiData;
            //封装军工单位信息
            for (Fz40WhjlDefaultDept sysData : list) {
                apiData = new WhjlApi1101();
                apiData.setJlqybh(sysData.getRegisterCode());
                apiData.setJlqymc(sysData.getName());
                apiData.setJlqyjc(sysData.getName());
                apiData.setJlzzjgdm(""); //军粮组织机构代码,9位
                apiData.setJlqytyshxydm(sysData.getRegisterCode());
                apiData.setJlqylx("1"); //1-保障基地
                apiData.setQyjjlx("");  //企业经济类型
                apiData.setQyxz("");  //企业性质
                apiData.setDjzclx("");  //登记注册类型
                apiData.setGsdjzch(sysData.getRegisterCode());  //工商登记注册号
                apiData.setSfjbjlcbzg("是");  //是否具备军粮储备资格
                apiData.setFddbr(sysData.getLegalPerson());  //法定代表人
                apiData.setQydz(sysData.getAddress());  //企业地址
                apiData.setQydh(sysData.getPhone());  //企业电话
                apiData.setQyjd(sysData.getLon());  //企业经度
                apiData.setQywd(sysData.getLat());  //企业纬度
                apiData.setQyxzqhmc(sysData.getCountry());  //企业行政区划名称
                apiData.setQyxzqhdm(sysData.getCountry());  //企业行政区划代码
                apiData.setSfyx("是");  //企业行政区划代码
                if(StringUtils.isNotEmpty(sysData.getVal()) && "0".equals(sysData.getVal())){
                    apiData.setSfyx("否");
                }
                apiData.setBizId(sysData.getId());
                apiData.setUpdateTime(new Date());
                //TODO æŒä¹…化保存待实现
                log.info("1101---军工单位-同步数据:{}", apiData.toString());
            }
        } catch (Exception e) {
            log.error("---1101军工单位-同步数据执行失败----{}", e.getMessage());
            apiLog.setResult("1101军工单位信息同步失败:" + e.getMessage());
            apiLogRep.save(apiLog);
        }
    }
}
src/main/java/com/fzzy/async/whhpjl/repository/Fz40ToWhjlSync1101Rep.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
package com.fzzy.async.whhpjl.repository;
import com.fzzy.async.whhpjl.entity.Fz40WhjlDefaultDept;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List;
/**
 * åŸºç¡€ä¿¡æ¯-单位及库区信息
 */
public interface Fz40ToWhjlSync1101Rep extends JpaRepository<Fz40WhjlDefaultDept, String> {
    /**
     * èŽ·å–å•ä½æˆ–åº“åŒºä¿¡æ¯
     *
     * @return
     */
    @Query("from Fz40WhjlDefaultDept where id=:id ")
    List<Fz40WhjlDefaultDept> listApi1101(@Param("id") String id);
}
src/main/java/com/fzzy/whjl/dto/WhjlApi1101.java
@@ -3,6 +3,7 @@
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
/**
 * å†›ç²®ä¼ä¸š-军粮企业信息
@@ -50,4 +51,6 @@
    private String sfyx;  //是否启用
    private String bz;  //备注
    private String bizId;  //业务ID
    private Date updateTime;  //最后更新时间
}