Commit be3fcb83 by wutong

新增同步调拨计划流水, 用于计算采购调拨单在途

parent d594a1ff
......@@ -30,6 +30,7 @@ public class Application {
new JobScheduler(createRegistryCenter(), createJobConfiguration4()).init();
new JobScheduler(createRegistryCenter(), createJobConfiguration5()).init();
new JobScheduler(createRegistryCenter(), createJobConfiguration6()).init();
new JobScheduler(createRegistryCenter(), createJobConfiguration7()).init();
}
private static CoordinatorRegistryCenter createRegistryCenter() {
......@@ -74,6 +75,12 @@ public class Application {
LiteJobConfiguration simpleJobRootConfig = LiteJobConfiguration.newBuilder(simpleJobConfig).build();
return simpleJobRootConfig;
}
private static LiteJobConfiguration createJobConfiguration7() {
JobCoreConfiguration simpleCoreConfig = JobCoreConfiguration.newBuilder(propertiesUtil.getPropertyAsString("JOB_NAME_PLAN"), propertiesUtil.getPropertyAsString("JOB_CRON_PLAN"), propertiesUtil.getPropertyAsInt("SHARDING_TOTAL_COUNT")).build();
SimpleJobConfiguration simpleJobConfig = new SimpleJobConfiguration(simpleCoreConfig, SyncTransferInboundJob.class.getCanonicalName());
LiteJobConfiguration simpleJobRootConfig = LiteJobConfiguration.newBuilder(simpleJobConfig).build();
return simpleJobRootConfig;
}
private static JobEventConfiguration createJobEventConfiguration() {
JobEventConfiguration jobEventRdbConfig = new JobEventRdbConfiguration(setUpEventTraceDataSource());
......
......@@ -32,6 +32,16 @@ public class TransferStreamPOJO {
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_transfer_bale.transfer_order_id
*
* @mbg.generated
*/
@JSONField(name = "scheduleCode")
private String transferPlanOrderId;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_transfer_bale.warehouse_code
*
* @mbg.generated
......@@ -67,6 +77,16 @@ public class TransferStreamPOJO {
*/
@JSONField(name = "creationTime")
private LocalDateTime createTime;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_transfer_bale.create_time
*
* @mbg.generated
*/
@JSONField(name = "updateTime")
private LocalDateTime updateTime;
/**
*
* This field was generated by MyBatis Generator.
......
package com.bailuntec.job;
import com.bailuntec.domain.entity.JobPointLog;
import com.bailuntec.support.PointJob;
import com.dangdang.ddframe.job.api.ShardingContext;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class SyncTransferPlanJob extends PointJob {
@Override
public void executeJob(ShardingContext shardingContext, JobPointLog jobPointLog) {
jobPointLog.setType(0);
TransferDetailsServiceImpl.syncTransferDetails(jobPointLog);
}
}
......@@ -27,10 +27,14 @@ public class TransferDetailsServiceImpl {
public static void syncTransferDetails(JobPointLog jobPointLog) {
OkHttpClient client = OkHttpUtil.getInstance();
MediaType mediaType = MediaType.parse("application/json");
LinkedHashMap<String, Object> map = new LinkedHashMap<>(3);
LinkedHashMap<String, Object> map = new LinkedHashMap<>(5);
map.put("StartDate", DateTimeFormatter.ofPattern(CommonConstant.TIME_FORMAT).format(jobPointLog.getStartTime().minusHours(1)));
map.put("EndDate", DateTimeFormatter.ofPattern(CommonConstant.TIME_FORMAT).format(jobPointLog.getEndTime()));
map.put("State", jobPointLog.getType());
String url = propertiesUtil.getPropertyAsString("TRANSFER_PLAN_URL");
if (jobPointLog.getType() != 0) {
map.put("State", jobPointLog.getType());
url = propertiesUtil.getPropertyAsString("TRANSFER_DETAILS_URL");
}
map.put("PageRow", jobPointLog.getPageSize());
do {
map.put("CurrentPage", jobPointLog.getPageIndex() > 0?jobPointLog.getPageIndex() : 1);
......@@ -39,7 +43,7 @@ public class TransferDetailsServiceImpl {
try {
RequestBody body = RequestBody.create(mediaType, JSON.toJSONString(map));
Request request = new Request.Builder()
.url(propertiesUtil.getPropertyAsString("TRANSFER_DETAILS_URL"))
.url(url)
.post(body)
.addHeader("Content-Type", "application/json")
.build();
......@@ -61,6 +65,29 @@ public class TransferDetailsServiceImpl {
}
if (transferDetailsPOJO != null && transferDetailsPOJO.getData() != null && transferDetailsPOJO.getData().size() > 0) {
switch (jobPointLog.getType()) {
case 0:
for (TransferStreamPOJO transferStreamPOJO : transferDetailsPOJO.getData()) {
DcBaseTransferPlan dcBaseTransferPlan = new DcBaseTransferPlan();
try {
BeanUtils.copyProperties(dcBaseTransferPlan, transferStreamPOJO);
} catch (Exception e) {
throw new RuntimeException("解析调拨单sku流水BeanUtils.copyProperties失败", e);
}
try {
DcBaseTransferPlanMapper mapper0 = SessionUtil.getSession().getMapper(DcBaseTransferPlanMapper.class);
int i = mapper0.updateByExampleSelective(dcBaseTransferPlan, DcBaseTransferPlanExample.newAndCreateCriteria().andBailunSkuEqualTo(dcBaseTransferPlan.getBailunSku())
.andTransferPlanOrderIdEqualTo(dcBaseTransferPlan.getTransferPlanOrderId()).example());
if (i == 0) {
mapper0.insertSelective(dcBaseTransferPlan);
}
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("MYbatis操作DB失败", e);
} finally {
SessionUtil.closeSession();
}
}
break;
case 1:
for (TransferStreamPOJO transferStreamPOJO : transferDetailsPOJO.getData()) {
DcBaseTransferBale dcBaseTransferBale = new DcBaseTransferBale();
......
package com.bailuntec.mapper;
import com.bailuntec.domain.entity.DcBaseTransferPlan;
import com.bailuntec.domain.example.DcBaseTransferPlanExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface DcBaseTransferPlanMapper {
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_transfer_plan
*
* @mbg.generated
*/
long countByExample(DcBaseTransferPlanExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_transfer_plan
*
* @mbg.generated
*/
int deleteByExample(DcBaseTransferPlanExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_transfer_plan
*
* @mbg.generated
*/
int deleteByPrimaryKey(Integer id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_transfer_plan
*
* @mbg.generated
*/
int insert(DcBaseTransferPlan record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_transfer_plan
*
* @mbg.generated
*/
int insertSelective(DcBaseTransferPlan record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_transfer_plan
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
DcBaseTransferPlan selectOneByExample(DcBaseTransferPlanExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_transfer_plan
*
* @mbg.generated
*/
List<DcBaseTransferPlan> selectByExample(DcBaseTransferPlanExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_transfer_plan
*
* @mbg.generated
*/
DcBaseTransferPlan selectByPrimaryKey(Integer id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_transfer_plan
*
* @mbg.generated
*/
int updateByExampleSelective(@Param("record") DcBaseTransferPlan record, @Param("example") DcBaseTransferPlanExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_transfer_plan
*
* @mbg.generated
*/
int updateByExample(@Param("record") DcBaseTransferPlan record, @Param("example") DcBaseTransferPlanExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_transfer_plan
*
* @mbg.generated
*/
int updateByPrimaryKeySelective(DcBaseTransferPlan record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_transfer_plan
*
* @mbg.generated
*/
int updateByPrimaryKey(DcBaseTransferPlan record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_transfer_plan
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
int upsert(DcBaseTransferPlan record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_transfer_plan
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
int upsertSelective(DcBaseTransferPlan record);
}
\ No newline at end of file
TRANSFER_DETAILS_URL=http://api.wms.bailuntec.com/api/services/app/AllotOrderService/SearchAllotOrderSkuRecord
TRANSFER_PLAN_URL=http://api.wms.bailuntec.com/api/services/app/AllotScheduleService/SearchAllotScheduleSkuRecords
......@@ -15,10 +15,12 @@ JOB_NAME_VERIFY=base-transfer-details-verify
JOB_NAME_TRANSIT=base-transfer-details-transit
JOB_NAME_COMPLETE=base-transfer-details-complete
JOB_NAME_INBOUND=base-transfer-details-inbound
JOB_NAME_PLAN=base-transfer-details-plan
JOB_CRON_BALE=0 0/1 * * * ? *
JOB_CRON_DELIVERY=10 0/1 * * * ? *
JOB_CRON_VERIFY=20 0/1 * * * ? *
JOB_CRON_TRANSIT=30 0/1 * * * ? *
JOB_CRON_COMPLETE=40 0/1 * * * ? *
JOB_CRON_INBOUND=50 0/1 * * * ? *
JOB_CRON_PLAN=05 0/1 * * * ? *
SHARDING_TOTAL_COUNT=1
\ No newline at end of file
package com.bailuntec.domain.entity;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class DcBaseTransferPlan {
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_transfer_plan.id
*
* @mbg.generated
*/
private Integer id;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_transfer_plan.gmt_create
*
* @mbg.generated
*/
private LocalDateTime gmtCreate;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_transfer_plan.gmt_modified
*
* @mbg.generated
*/
private LocalDateTime gmtModified;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_transfer_plan.bailun_sku
*
* @mbg.generated
*/
private String bailunSku;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_transfer_plan.transfer_plan_order_id
*
* @mbg.generated
*/
private String transferPlanOrderId;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_transfer_plan.warehouse_code
*
* @mbg.generated
*/
private String warehouseCode;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_transfer_plan.warehouse_name
*
* @mbg.generated
*/
private String warehouseName;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_transfer_plan.status
*
* @mbg.generated
*/
private String status;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_transfer_plan.update_time
*
* @mbg.generated
*/
private LocalDateTime updateTime;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_transfer_plan.count
*
* @mbg.generated
*/
private Integer count;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_transfer_plan.sku_title
*
* @mbg.generated
*/
private String skuTitle;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_transfer_plan.transfer_key
*
* @mbg.generated
*/
private Integer transferKey;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_transfer_plan.deleted
*
* @mbg.generated
*/
private Boolean deleted;
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_transfer_plan
*
* @mbg.generated
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", gmtCreate=").append(gmtCreate);
sb.append(", gmtModified=").append(gmtModified);
sb.append(", bailunSku=").append(bailunSku);
sb.append(", transferPlanOrderId=").append(transferPlanOrderId);
sb.append(", warehouseCode=").append(warehouseCode);
sb.append(", warehouseName=").append(warehouseName);
sb.append(", status=").append(status);
sb.append(", updateTime=").append(updateTime);
sb.append(", count=").append(count);
sb.append(", skuTitle=").append(skuTitle);
sb.append(", transferKey=").append(transferKey);
sb.append(", deleted=").append(deleted);
sb.append("]");
return sb.toString();
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_transfer_plan
*
* @mbg.generated
*/
@Override
public boolean equals(Object that) {
if (this == that) {
return true;
}
if (that == null) {
return false;
}
if (getClass() != that.getClass()) {
return false;
}
DcBaseTransferPlan other = (DcBaseTransferPlan) that;
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
&& (this.getGmtCreate() == null ? other.getGmtCreate() == null : this.getGmtCreate().equals(other.getGmtCreate()))
&& (this.getGmtModified() == null ? other.getGmtModified() == null : this.getGmtModified().equals(other.getGmtModified()))
&& (this.getBailunSku() == null ? other.getBailunSku() == null : this.getBailunSku().equals(other.getBailunSku()))
&& (this.getTransferPlanOrderId() == null ? other.getTransferPlanOrderId() == null : this.getTransferPlanOrderId().equals(other.getTransferPlanOrderId()))
&& (this.getWarehouseCode() == null ? other.getWarehouseCode() == null : this.getWarehouseCode().equals(other.getWarehouseCode()))
&& (this.getWarehouseName() == null ? other.getWarehouseName() == null : this.getWarehouseName().equals(other.getWarehouseName()))
&& (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
&& (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
&& (this.getCount() == null ? other.getCount() == null : this.getCount().equals(other.getCount()))
&& (this.getSkuTitle() == null ? other.getSkuTitle() == null : this.getSkuTitle().equals(other.getSkuTitle()))
&& (this.getTransferKey() == null ? other.getTransferKey() == null : this.getTransferKey().equals(other.getTransferKey()))
&& (this.getDeleted() == null ? other.getDeleted() == null : this.getDeleted().equals(other.getDeleted()));
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_transfer_plan
*
* @mbg.generated
*/
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
result = prime * result + ((getGmtCreate() == null) ? 0 : getGmtCreate().hashCode());
result = prime * result + ((getGmtModified() == null) ? 0 : getGmtModified().hashCode());
result = prime * result + ((getBailunSku() == null) ? 0 : getBailunSku().hashCode());
result = prime * result + ((getTransferPlanOrderId() == null) ? 0 : getTransferPlanOrderId().hashCode());
result = prime * result + ((getWarehouseCode() == null) ? 0 : getWarehouseCode().hashCode());
result = prime * result + ((getWarehouseName() == null) ? 0 : getWarehouseName().hashCode());
result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
result = prime * result + ((getCount() == null) ? 0 : getCount().hashCode());
result = prime * result + ((getSkuTitle() == null) ? 0 : getSkuTitle().hashCode());
result = prime * result + ((getTransferKey() == null) ? 0 : getTransferKey().hashCode());
result = prime * result + ((getDeleted() == null) ? 0 : getDeleted().hashCode());
return result;
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment