Commit e66db467 authored by 李洪明's avatar 李洪明

修改长传数据

parent fcc3f6ed
......@@ -10,4 +10,5 @@ import java.util.List;
public interface InAndOutDateUrlMapper {
List<InAndOutDateUrl> selectInAndOutDateUrl(@Param("startTime")String startTime, @Param("endTime")String endTime);
InAndOutDateUrl getLastInRecord(@Param("numberPlate") String numberPlate, @Param("time") String time);
}
......@@ -10,4 +10,6 @@ import java.util.List;
public interface TransportDateMapper {
List<TransportDate> selectTransportDate(@Param("startTime") String startTime, @Param("endTime") String endTime);
TransportDate getLastOutRecord(@Param("numberPlate") String numberPlate, @Param("startTime") String startTime, @Param("endTime") String endTime);
}
......@@ -5,9 +5,11 @@ import com.bme.access.upload.common.DateUtils;
import com.bme.access.upload.common.HttpUtils;
import com.bme.access.upload.model.InAndOutDate;
import com.bme.access.upload.model.InAndOutDateUrl;
import com.bme.access.upload.model.TransportDate;
import com.bme.access.upload.module.dao.DataUploadTimeMapper;
import com.bme.access.upload.module.dao.InAndOutDateUploadFailMapper;
import com.bme.access.upload.module.dao.InAndOutDateUrlMapper;
import com.bme.access.upload.module.dao.TransportDateMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.apache.http.HttpResponse;
......@@ -32,6 +34,8 @@ public class InAndOutDateService {
@Autowired
private InAndOutDateUploadFailMapper inAndOutDateUploadFailMapper;
@Autowired
private TransportDateMapper transportDateMapper;
@Autowired
private LoginService loginService;
private final static String IN_AND_OUT_DATE_URL = "https://dctapi.soszyzg.com/dct/new/addInAndOut";
......@@ -112,6 +116,26 @@ public class InAndOutDateService {
} else {
inAndOutDate.setBarriernumber("");
}
if (Objects.equals(inAndOutDateUrl.getInOrOut(), 2)) {
// 查询货物信息
InAndOutDateUrl inRecord = inAndOutDateUrlMapper.getLastInRecord(inAndOutDateUrl.getNumberPlate(), inAndOutDateUrl.getInOutTime());
if (Objects.nonNull(inRecord)) {
TransportDate record = transportDateMapper.getLastOutRecord(inAndOutDateUrl.getNumberPlate(), inRecord.getInOutTime(), inAndOutDateUrl.getInOutTime());
if (Objects.nonNull(record)) {
// 货物信息
inAndOutDate.setCargoname(record.getTransportName());
inAndOutDate.setCargoquantity(record.getTransportVolume().toString());
inAndOutDate.setUnit("T");
// 车队信息
inAndOutDate.setFleetname(record.getCompany());
// 进出厂流水号
String timeStr = Objects.requireNonNull(DateUtils.format(DateUtils.toDate(inAndOutDateUrl.getInOutTime()), DateUtils.DATE_FORMAT_MIN)).substring(0, DateUtils.DATE_FORMAT_MIN.length());
String rsn = COMPANY_CODE + timeStr + inAndOutDateUrl.getInOrOut();
inAndOutDate.setEntryexitflownumber(rsn);
return inAndOutDate;
}
}
}
// 货物信息
inAndOutDate.setCargoname("");
inAndOutDate.setCargoquantity("0");
......
......@@ -3,9 +3,11 @@ package com.bme.access.upload.module.service;
import com.alibaba.fastjson.JSONObject;
import com.bme.access.upload.common.DateUtils;
import com.bme.access.upload.common.HttpUtils;
import com.bme.access.upload.model.InAndOutDateUrl;
import com.bme.access.upload.model.MaterialInfo;
import com.bme.access.upload.model.TransportDate;
import com.bme.access.upload.module.dao.DataUploadTimeMapper;
import com.bme.access.upload.module.dao.InAndOutDateUrlMapper;
import com.bme.access.upload.module.dao.TransportDateMapper;
import com.bme.access.upload.module.dao.TransportDateUploadFailMapper;
import lombok.extern.slf4j.Slf4j;
......@@ -29,6 +31,8 @@ public class TransportDateService {
@Autowired
private TransportDateMapper transportDateMapper;
@Autowired
private InAndOutDateUrlMapper inAndOutDateUrlMapper;
@Autowired
private LoginService loginService;
@Autowired
private TransportDateUploadFailMapper transportDateUploadFailMapper;
......@@ -44,7 +48,7 @@ public class TransportDateService {
dataUploadTimeMapper.insertUploadTime(uploadTime, 104);
}
log.info("本次循环上传大于{}的数据", uploadTime);
String endTime = LocalDateTime.now().minusMinutes(2).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
String endTime = LocalDateTime.now().minusMinutes(5).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.getAndUploadTransportDate(uploadTime, endTime);
}
......@@ -62,28 +66,30 @@ public class TransportDateService {
for(int i = 0; i < transportDateList.size(); i++) {
TransportDate transportDate = transportDateList.get(i);
MaterialInfo materialInfo = this.convertMaterialInfo(transportDate);
try {
String bodyJson = JSONObject.toJSONString(materialInfo);
HttpResponse response = HttpUtils.sendPost(CARGO_URL, null, null, bodyJson);
String b = EntityUtils.toString(response.getEntity());
log.info("添加物料信息结果:{}", b);
dataUploadTimeMapper.updateUploadTimeByType(transportDate.getInoutTime(), 104);
} catch (Exception e) {
log.info("货物上传失败,重新上传一次{}", e.getMessage());
if (Objects.nonNull(materialInfo)) {
try {
String bodyJson = JSONObject.toJSONString(materialInfo);
HttpResponse response = HttpUtils.sendPost(CARGO_URL, null, null, bodyJson);
String b = EntityUtils.toString(response.getEntity());
log.info("添加物料信息结果:{}", b);
} catch (Exception ex) {
log.info("再次失败,此条数据存于失败表里{}", ex.getMessage());
transportDate.setMsg(ex.getMessage());
transportDateUploadFailMapper.insertTransportDateFail(transportDate);
dataUploadTimeMapper.updateUploadTimeByType(transportDate.getInoutTime(), 104);
} catch (Exception e) {
log.info("货物上传失败,重新上传一次{}", e.getMessage());
try {
String bodyJson = JSONObject.toJSONString(materialInfo);
HttpResponse response = HttpUtils.sendPost(CARGO_URL, null, null, bodyJson);
String b = EntityUtils.toString(response.getEntity());
log.info("添加物料信息结果:{}", b);
} catch (Exception ex) {
log.info("再次失败,此条数据存于失败表里{}", ex.getMessage());
transportDate.setMsg(ex.getMessage());
transportDateUploadFailMapper.insertTransportDateFail(transportDate);
} finally {
dataUploadTimeMapper.updateUploadTimeByType(transportDate.getInoutTime(), 104);
}
} finally {
dataUploadTimeMapper.updateUploadTimeByType(transportDate.getInoutTime(), 104);
}
} finally {
dataUploadTimeMapper.updateUploadTimeByType(transportDate.getInoutTime(), 104);
}
}
if (!CollectionUtils.isEmpty(transportDateList)){
......@@ -99,10 +105,17 @@ public class TransportDateService {
materialInfo.setCargoname(transportDate.getTransportName());
materialInfo.setUnit("T");
materialInfo.setCargoquantity(transportDate.getTransportVolume().toString());
// 进出厂流水号
String timeStr = Objects.requireNonNull(DateUtils.format(DateUtils.toDate(transportDate.getInoutTime()), DateUtils.DATE_FORMAT_MIN)).substring(0, DateUtils.DATE_FORMAT_MIN.length());
String rsn = COMPANY_CODE + timeStr + transportDate.getInOut();
materialInfo.setEntryexitflownumber(rsn);
if (Objects.equals(transportDate.getInOut(), 1)) {
InAndOutDateUrl record = inAndOutDateUrlMapper.getLastInRecord(transportDate.getNumberPlate(), transportDate.getInoutTime());
if (Objects.nonNull(record)) {
// 进出厂流水号
String timeStr = Objects.requireNonNull(DateUtils.format(DateUtils.toDate(record.getInOutTime()), DateUtils.DATE_FORMAT_MIN)).substring(0, DateUtils.DATE_FORMAT_MIN.length());
String rsn = COMPANY_CODE + timeStr + "1";
materialInfo.setEntryexitflownumber(rsn);
} else {
return null;
}
}
return materialInfo;
}
}
......@@ -18,4 +18,13 @@
order by InOut_Time asc
</select>
<select id="getLastInRecord" resultType="com.bme.access.upload.model.InAndOutDateUrl">
select top 1 Number_plate numberPlate,
InOut_Time inOutTime
from InAndOut_Date_Url where Number_plate = #{numberPlate}
and InorOut = 1
and InOut_Time &lt;= #{time}
order by InOut_Time desc
</select>
</mapper>
\ No newline at end of file
......@@ -26,4 +26,27 @@
order by inout_time asc
</select>
<select id="getLastOutRecord" resultType="com.bme.access.upload.model.TransportDate">
select top 1 number_plate numberPlate,
transport_name transportName,
transport_volume transportVolume,
inout_time inoutTime,
create_time createTime,
in_out inOut,
vehicle_use_type vehicleUseType,
transport_code transportCode,
transport_type transportType,
company,
load_discharge_address loadDischargeAddress,
action,
id,
insert_time insertTime,
sync_state syncState,
remark
from Transport_date where number_plate = #{numberPlate}
and inout_time > #{startTime}
and inout_time &lt;= #{endTime}
and inOut = 2
</select>
</mapper>
\ 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