Commit 8dc99145 authored by suhuiguang's avatar suhuiguang

1,bug

parent efdfcc32
......@@ -17,7 +17,7 @@ import java.util.Date;
@Data
public class BaseEntity implements Serializable{
/**
/**
*
*/
private static final long serialVersionUID = 1L;
......
......@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.common.biz.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
......@@ -25,9 +26,7 @@ import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
......@@ -198,12 +197,13 @@ public class DutyCommonServiceImpl implements IDutyCommonService {
@Override
public void saveImportData(List<Map<String, Object>> dataList) {
List<DynamicFormInstance> formInstanceList = new ArrayList<>();
List<DutyPersonShift> dutyPersonShifts = new ArrayList<>();
Set<DutyPersonShift> dutyPersonShifts = new HashSet<>();
dataList.forEach(d -> {
//TODO: 业务唯一索引,用户id
String userId = d.get("userId").toString();
List<DynamicFormInstance> instances = dynamicFormInstanceService.list(new LambdaQueryWrapper<DynamicFormInstance>()
.eq(DynamicFormInstance::getFieldCode, userId)
.eq(DynamicFormInstance::getFieldCode, "userId")
.eq(DynamicFormInstance::getFieldValue, userId)
.eq(DynamicFormInstance::getGroupCode, this.getGroupCode()));
Long instanceId = null;
List<DynamicFormColumn> columns = dynamicFormColumnService.list(new LambdaQueryWrapper<DynamicFormColumn>().eq(DynamicFormColumn::getGroupCode, this.getGroupCode()));
......@@ -233,12 +233,16 @@ public class DutyCommonServiceImpl implements IDutyCommonService {
//2.组装值班数据
List<DutyPersonShiftDto> shiftDtos = (List<DutyPersonShiftDto>) d.get("dutyShift");
Long finalInstanceId = instanceId;
//按照业务唯一索引查询主键
List<DutyPersonShift> dutyPersonShiftsDb = dutyPersonShiftService.list(new LambdaQueryWrapper<DutyPersonShift>().eq(DutyPersonShift::getInstanceId,instanceId));
Map<Date,Long> dutyPersonShiftMap = dutyPersonShiftsDb.stream().collect(Collectors.toMap(DutyPersonShift::getDutyDate,DutyPersonShift::getSequenceNbr));
//todo: 只更新当天及值班之后数据
Set<DutyPersonShift> needToDb = shiftDtos.stream().filter(s -> DateUtils.dateCompare(s.getDutyDate(), new Date()) >= 0).map(shiftDto -> {
DutyPersonShift dutyPersonShift = new DutyPersonShift();
Bean.copyExistPropertis(shiftDto, dutyPersonShift);
dutyPersonShift.setInstanceId(finalInstanceId);
dutyPersonShift.setAppKey(RequestContext.getAppKey());
dutyPersonShift.setSequenceNbr(dutyPersonShiftMap.get(dutyPersonShift.getDutyDate()));
return dutyPersonShift;
}).collect(Collectors.toSet());
dutyPersonShifts.addAll(needToDb);
......@@ -267,7 +271,7 @@ public class DutyCommonServiceImpl implements IDutyCommonService {
}
private void buildFormInstanceData(Long instanceId, Map<String, Object> map, DynamicFormColumn column, DynamicFormInstance formInstance) {
DutyCarServiceImpl.fillFormInstanceData(instanceId, map, column, formInstance, sequence.nextId());
fillFormInstanceData(instanceId, map, column, formInstance, sequence.nextId());
}
static void fillFormInstanceData(Long instanceId, Map<String, Object> map, DynamicFormColumn column, DynamicFormInstance formInstance, long l) {
......
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