Commit 16f2da67 authored by ZWT's avatar ZWT

得到的

parent 4696b821
......@@ -120,6 +120,7 @@ public class BaseUtils {
public static void setBaseModelDefaultForJob(BaseModel model) {
DateTime beginOfDay = DateUtil.beginOfDay(DateTime.now());
model.setId(BaseUtils.randomUUIDString());
model.setIsDeleted(1);
model.setCreateById("Task");
model.setCreateByName("Task");
model.setCreateTime(beginOfDay);
......
......@@ -9,12 +9,10 @@ import pps.cloud.space.service.ISpaceCalibrationCloudService;
import pps.core.common.constant.BusinessConstant;
import pps.core.common.entity.BaseModel;
import pps.core.common.utils.BaseUtils;
import pps.core.space.entity.SpaceCalibrationHistoryEnt;
import pps.core.space.entity.SpaceCalibrationHistoryView;
import pps.core.space.entity.SpaceCalibrationPeriodEnt;
import pps.core.space.entity.SpaceInstitutionDetailEnt;
import pps.core.space.enums.BusinessError;
import pps.core.space.mapper.SpaceCalibrationHistoryMapper;
import pps.core.space.mapper.SpaceCalibrationHistoryViewMapper;
import pps.core.space.mapper.SpaceCalibrationPeriodMapper;
import pps.core.space.mapper.SpaceInstitutionDetailMapper;
......@@ -56,7 +54,7 @@ public class SpaceCalibrationCloudServiceImpl implements ISpaceCalibrationCloudS
}
//取当前时间
DateTime date = DateUtil.date();
String sameDay = date.toString(BusinessConstant.DATE_FORMAT_DAY);
DateTime beginOfDay = DateUtil.beginOfDay(date);
//查生效中的基础间开
SpaceInstitutionDetailMapper detailMapper = context.getBean(SpaceInstitutionDetailMapper.class);
List<SpaceInstitutionDetailEnt> detailEntList = detailMapper.selectList(new LambdaQueryWrapper<SpaceInstitutionDetailEnt>()
......@@ -66,8 +64,8 @@ public class SpaceCalibrationCloudServiceImpl implements ISpaceCalibrationCloudS
calibrationList.stream()
.map(SpaceCalibrationPeriodEnt::getLineId)
.collect(Collectors.toList()))
.le(SpaceInstitutionDetailEnt::getInstitutionStartDate, sameDay)
.ge(SpaceInstitutionDetailEnt::getInstitutionEndDate, sameDay)
.le(SpaceInstitutionDetailEnt::getInstitutionStartDate, beginOfDay)
.ge(SpaceInstitutionDetailEnt::getInstitutionEndDate, beginOfDay)
);
if (CollUtil.isEmpty(detailEntList)) {
return XServiceResult.error(context, BusinessError.DidNotFindSpace);
......@@ -75,12 +73,16 @@ public class SpaceCalibrationCloudServiceImpl implements ISpaceCalibrationCloudS
//生效中的间开按照线路ID分组
Map<String, List<SpaceInstitutionDetailEnt>> institutionDetailMap = detailEntList.stream()
.collect(Collectors.groupingBy(SpaceInstitutionDetailEnt::getLineId));
//开启事务
return XTransactionHelper.begin(context, () -> {
//周期数据处理
List<SpaceCalibrationHistoryView> historyViewList = new ArrayList<>(128);
String lineId;
Integer dayNumber;
List<SpaceInstitutionDetailEnt> institutionDetailList;
SpaceCalibrationHistoryMapper historyMapper = context.getBean(SpaceCalibrationHistoryMapper.class);
SpaceCalibrationHistoryViewMapper historyMapper = context.getBean(SpaceCalibrationHistoryViewMapper.class);
SpaceCalibrationHistoryView view = new SpaceCalibrationHistoryView();
view.setIsDeleted(BusinessConstant.ONE);
for (SpaceCalibrationPeriodEnt calibration : calibrationList) {
lineId = calibration.getLineId();
if (!institutionDetailMap.containsKey(lineId)) {
......@@ -94,12 +96,8 @@ public class SpaceCalibrationCloudServiceImpl implements ISpaceCalibrationCloudS
for (SpaceInstitutionDetailEnt detailEnt : institutionDetailList) {
String institutionId = detailEnt.getId();
//查当前制度最新的的历史周期
SpaceCalibrationHistoryEnt lastHistory = historyMapper.selectOne(new LambdaQueryWrapper<SpaceCalibrationHistoryEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(SpaceCalibrationHistoryEnt::getInstitutionId, institutionId)
.orderByDesc(SpaceCalibrationHistoryEnt::getCalibrationDate)
.last(BaseUtils.getLastLimit())
);
view.setInstitutionId(institutionId);
SpaceCalibrationHistoryView lastHistory = historyMapper.selectOne(view);
if (ObjectUtil.isNull(lastHistory)) {
//创建周期
this.createCalibrationHistory(historyViewList, lineId, institutionId, date, dayNumber);
......@@ -112,16 +110,13 @@ public class SpaceCalibrationCloudServiceImpl implements ISpaceCalibrationCloudS
}
}
}
//开启事务
return XTransactionHelper.begin(context, () -> {
SpaceCalibrationHistoryViewMapper historyViewMapper = context.getBean(SpaceCalibrationHistoryViewMapper.class);
if (CollUtil.isNotEmpty(historyViewList)) {
int size = historyViewList.size();
if (size > BaseUtils.BATCH_SIZE) {
List<List<SpaceCalibrationHistoryView>> subList = BaseUtils.getSubList(historyViewList);
subList.forEach(historyViewMapper::batchInsertList);
subList.forEach(historyMapper::batchInsertList);
} else {
historyViewMapper.batchInsertList(historyViewList);
historyMapper.batchInsertList(historyViewList);
}
}
return XServiceResult.OK;
......
......@@ -32,12 +32,47 @@
CALIBRATION_DATE
</sql>
<select id="selectOne" parameterType="pps.core.space.entity.SpaceCalibrationHistoryView" resultMap="BaseResultMap">
<select id="selectOne" parameterType="pps.core.space.entity.SpaceCalibrationHistoryView" resultMap="BaseResultMap"
databaseId="MySQL">
SELECT
<include refid="Base_Column_List"/>
FROM SPACE_CALIBRATION_HISTORY
WHERE
ID=#{id}
<where>
<if test="isDeleted != null">
AND IS_DELETED = #{isDeleted}
</if>
<if test="institutionId != null and institutionId != ''">
AND INSTITUTION_ID = #{institutionId}
</if>
<if test="id != null and id != ''">
AND ID = #{id}
</if>
</where>
ORDER BY
CALIBRATION_DATE DESC
LIMIT 1
</select>
<select id="selectOne" parameterType="pps.core.space.entity.SpaceCalibrationHistoryView" resultMap="BaseResultMap"
databaseId="Oracle">
SELECT * FROM (
SELECT
<include refid="Base_Column_List"/>
FROM SPACE_CALIBRATION_HISTORY
<where>
<if test="isDeleted != null">
AND IS_DELETED = #{isDeleted}
</if>
<if test="institutionId != null and institutionId != ''">
AND INSTITUTION_ID = #{institutionId}
</if>
<if test="id != null and id != ''">
AND ID = #{id}
</if>
</where>
ORDER BY
CALIBRATION_DATE DESC
) WHERE ROWNUM = 1
</select>
<resultMap id="ExtendResultMap" type="pps.core.space.entity.SpaceCalibrationHistoryView" extends="BaseResultMap">
......@@ -65,12 +100,13 @@
</select>
<insert id="batchInsertList" parameterType="list">
INSERT INTO SPACE_CALIBRATION_HISTORY ( ID, CREATE_BY_ID, CREATE_BY_NAME, CREATE_TIME, MODIFY_BY_ID,
INSERT INTO SPACE_CALIBRATION_HISTORY ( ID, IS_DELETED, CREATE_BY_ID, CREATE_BY_NAME, CREATE_TIME, MODIFY_BY_ID,
MODIFY_BY_NAME, MODIFY_TIME, LINE_ID, INSTITUTION_ID, EXECUTION_CYCLE, CALIBRATION_DATE )
VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.id},
#{item.isDeleted},
#{item.createById},
#{item.createByName},
#{item.createTime},
......
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