Commit 7edb3e90 authored by suhuiguang's avatar suhuiguang

1.交接班

parent 8b8c38a4
......@@ -10,7 +10,7 @@ import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* 警情表单
* 交接班记录分页查询
*
* @author system_generator
* @date 2021-07-13
......
package com.yeejoin.amos.boot.module.jcs.api.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.List;
import java.util.Map;
/**
* 警情表单接口类
*
* @author system_generator
* @date 2021-07-13
*/
* 警情表单接口类
*
* @author system_generator
* @date 2021-07-13
*/
public interface IShiftChangeService {
/**
* 模型创建
*
* @param model 信息
* @return Map<String, Object>
*/
Map<String, Object> createFormAndEntry(Map<String, Object> model);
/**
* 删除完整信息
*
* @param sequenceNbr 主键
* @return Boolean
*/
Boolean removeOneById(Long sequenceNbr);
/**
* 交接班详情
*
* @param sequenceNbr 主键
* @return Map<String, Object>
*/
Map<String, Object> getOneBySeq(Long sequenceNbr);
/**
* 分页查询
*
* @param current 当前页
* @param size 页大小
* @return IPage<Map < String, Object>>
*/
IPage<Map<String, Object>> queryForShiftChangePage(int current, int size);
/**
* 查询全部值班记录
*
* @return List<Map < String, Object>>
*/
List<Map<String, Object>> queryForShiftChangeList();
}
......@@ -31,17 +31,8 @@ public class DutyCarServiceImpl extends DutyCommonServiceImpl implements IDutyCa
public DutyCarDto save(DutyCarDto dutyCarDto) {
//1.保存行数据
String groupCode = this.getGroupCode();
List<DynamicFormColumn> columns = dynamicFormColumnService.list(new LambdaQueryWrapper<DynamicFormColumn>().eq(DynamicFormColumn::getGroupCode, groupCode));
Map<String, Object> map = Bean.BeantoMap(dutyCarDto);
Long instanceId = sequence.nextId();
List<DynamicFormInstance> instances = columns.stream().map(column -> {
DynamicFormInstance instance = new DynamicFormInstance();
buildFormInstanceData(instanceId, map, column, instance);
return instance;
}).collect(Collectors.toList());
if (!instances.isEmpty()) {
dynamicFormInstanceService.saveBatch(instances);
}
Long instanceId = dynamicFormInstanceService.commonSave(groupCode,map);
//2.保存值班信息
insertPersonShift(instanceId, dutyCarDto);
//3.返回保存后的数据
......
......@@ -29,24 +29,15 @@ public class DutyPersonServiceImpl extends DutyCommonServiceImpl implements IDut
}
@Override
public DutyPersonDto save(DutyPersonDto dutyCarDto) {
public DutyPersonDto save(DutyPersonDto dutyPersonDto) {
//1.保存行数据
String groupCode = this.getGroupCode();
List<DynamicFormColumn> columns = dynamicFormColumnService.list(new LambdaQueryWrapper<DynamicFormColumn>().eq(DynamicFormColumn::getGroupCode, groupCode));
Map<String, Object> map = Bean.BeantoMap(dutyCarDto);
Long instanceId = sequence.nextId();
List<DynamicFormInstance> instances = columns.stream().map(column -> {
DynamicFormInstance instance = new DynamicFormInstance();
buildFormInstanceData(instanceId, map, column, instance);
return instance;
}).collect(Collectors.toList());
if (!instances.isEmpty()) {
dynamicFormInstanceService.saveBatch(instances);
}
Map<String, Object> map = Bean.BeantoMap(dutyPersonDto);
Long instanceId = dynamicFormInstanceService.commonSave(groupCode,map);
//2.保存值班信息
insertPersonShift(instanceId, dutyCarDto);
insertPersonShift(instanceId, dutyPersonDto);
//3.返回保存后的数据
return dutyCarDto;
return dutyPersonDto;
}
@Override
......
package com.yeejoin.amos.boot.module.common.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.common.api.dto.DynamicFormInstanceDto;
import com.yeejoin.amos.boot.module.common.api.entity.DynamicFormColumn;
import com.yeejoin.amos.boot.module.common.api.entity.DynamicFormInstance;
import com.yeejoin.amos.boot.module.common.api.mapper.DynamicFormInstanceMapper;
import com.yeejoin.amos.boot.module.common.api.service.IDynamicFormInstanceService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 动态表单实例表服务实现类
......@@ -22,7 +28,10 @@ import java.util.Map;
public class DynamicFormInstanceServiceImpl extends BaseService<DynamicFormInstanceDto, DynamicFormInstance, DynamicFormInstanceMapper> implements IDynamicFormInstanceService {
@Autowired
private DynamicFormInstanceMapper dynamicFormInstanceMapper;
Sequence sequence;
@Autowired
DynamicFormColumnServiceImpl dynamicFormColumnService;
/**
* 分页查询
......@@ -44,7 +53,38 @@ public class DynamicFormInstanceServiceImpl extends BaseService<DynamicFormInsta
}
public List<DynamicFormInstanceDto> listByCalledId(Long instanceId) {
return dynamicFormInstanceMapper.selectListByCalledId(instanceId);
return this.baseMapper.selectListByCalledId(instanceId);
}
public Long commonSave(String groupCode, Map<String,Object> model){
Long instanceId = sequence.nextId();
List<DynamicFormColumn> columns = dynamicFormColumnService.list(new LambdaQueryWrapper<DynamicFormColumn>().eq(DynamicFormColumn::getGroupCode, groupCode));
List<DynamicFormInstance> instances = columns.stream().map(column -> {
DynamicFormInstance instance = new DynamicFormInstance();
buildFormInstanceData(instanceId, model, column, instance);
return instance;
}).collect(Collectors.toList());
if (!instances.isEmpty()) {
this.saveBatch(instances);
}
model.put("instanceId",instanceId);
model.put("groupCode",groupCode);
return instanceId;
}
private void buildFormInstanceData(Long instanceId, Map<String, Object> map, DynamicFormColumn column, DynamicFormInstance formInstance) {
fillFormInstanceData(instanceId, map, column, formInstance, sequence.nextId());
}
private void fillFormInstanceData(Long instanceId, Map<String, Object> map, DynamicFormColumn column, DynamicFormInstance formInstance, long l) {
Bean.copyExistPropertis(column, formInstance);
formInstance.setAppKey(RequestContext.getAppKey());
formInstance.setInstanceId(instanceId);
formInstance.setSequenceNbr(l);
formInstance.setFormColumnId(column.getSequenceNbr());
formInstance.setFieldValue(map.get(column.getFieldCode()) != null ? map.get(column.getFieldCode()).toString() : "");
}
}
package com.yeejoin.amos.boot.module.jcs.biz.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.jcs.api.dto.ShiftChangeDto;
import com.yeejoin.amos.boot.module.jcs.biz.service.impl.ShiftChangeServiceImpl;
import com.yeejoin.amos.boot.module.jcs.api.service.IShiftChangeService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -14,7 +12,9 @@ import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
......@@ -29,7 +29,7 @@ import java.util.List;
public class ShiftChangeController extends BaseController {
@Autowired
ShiftChangeServiceImpl shiftChangeServiceImpl;
IShiftChangeService iShiftChangeService;
/**
* 新增警情表单
......@@ -39,23 +39,8 @@ public class ShiftChangeController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增警情表单", notes = "新增警情表单")
public ResponseModel<ShiftChangeDto> save(@RequestBody ShiftChangeDto model) {
model = shiftChangeServiceImpl.createWithModel(model);
return ResponseHelper.buildResponse(model);
}
/**
* 根据sequenceNbr更新
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新警情表单", notes = "根据sequenceNbr更新警情表单")
public ResponseModel<ShiftChangeDto> updateBySequenceNbrShiftChange(@RequestBody ShiftChangeDto model, @PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(shiftChangeServiceImpl.updateWithModel(model));
public ResponseModel save(@RequestBody Map<String, Object> model) {
return ResponseHelper.buildResponse(iShiftChangeService.createFormAndEntry(model));
}
/**
......@@ -67,8 +52,8 @@ public class ShiftChangeController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除警情表单", notes = "根据sequenceNbr删除警情表单")
public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr") Long sequenceNbr) {
return ResponseHelper.buildResponse(shiftChangeServiceImpl.removeById(sequenceNbr));
public ResponseModel<Boolean> deleteBySequenceNbr(@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
return ResponseHelper.buildResponse(iShiftChangeService.removeOneById(sequenceNbr));
}
/**
......@@ -80,8 +65,8 @@ public class ShiftChangeController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个警情表单", notes = "根据sequenceNbr查询单个警情表单")
public ResponseModel<ShiftChangeDto> seleteOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(shiftChangeServiceImpl.queryBySeq(sequenceNbr));
public ResponseModel selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(iShiftChangeService.getOneBySeq(sequenceNbr));
}
/**
......@@ -89,27 +74,34 @@ public class ShiftChangeController extends BaseController {
*
* @param current 当前页
* @param current 每页大小
* @return
* @return ResponseModel
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET", value = "警情表单分页查询", notes = "警情表单分页查询")
public ResponseModel<Page<ShiftChangeDto>> queryForPage(@RequestParam(value = "current") int current, @RequestParam(value = "size") int size) {
Page<ShiftChangeDto> page = new Page<ShiftChangeDto>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(shiftChangeServiceImpl.queryForShiftChangePage(page));
@ApiOperation(httpMethod = "GET", value = "交接班记录分页查询", notes = "交接班记录分页查询")
public ResponseModel queryForPage(
@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size) {
return ResponseHelper.buildResponse(iShiftChangeService.queryForShiftChangePage(current, size));
}
/**
* 列表全部数据查询
*
* @return
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "警情表单列表全部数据查询", notes = "警情表单列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<ShiftChangeDto>> selectForList() {
return ResponseHelper.buildResponse(shiftChangeServiceImpl.queryForShiftChangeList());
public ResponseModel selectForList() {
return ResponseHelper.buildResponse(iShiftChangeService.queryForShiftChangeList());
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation("pdf下载")
@PostMapping("/pdf/export")
public void exportPdf(HttpServletResponse response,Long shiftChangeId){
}
}
package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.module.common.api.entity.DynamicFormInstance;
import com.yeejoin.amos.boot.module.common.biz.service.impl.DynamicFormColumnServiceImpl;
import com.yeejoin.amos.boot.module.common.biz.service.impl.DynamicFormInstanceServiceImpl;
import com.yeejoin.amos.boot.module.jcs.api.dto.ShiftChangeDto;
import com.yeejoin.amos.boot.module.jcs.api.entity.ShiftChange;
import com.yeejoin.amos.boot.module.jcs.api.mapper.ShiftChangeMapper;
import com.yeejoin.amos.boot.module.jcs.api.service.IShiftChangeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import java.util.List;
import java.util.Map;
/**
* 警情表单服务实现类
......@@ -17,18 +26,47 @@ import java.util.List;
* @date 2021-07-13
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class ShiftChangeServiceImpl extends BaseService<ShiftChangeDto, ShiftChange, ShiftChangeMapper> implements IShiftChangeService {
/**
* 分页查询
*/
public Page<ShiftChangeDto> queryForShiftChangePage(Page<ShiftChangeDto> page) {
return this.queryForPage(page, null, false);
@Autowired
DynamicFormInstanceServiceImpl dynamicFormInstanceService;
@Autowired
Sequence sequence;
private final String GROUP_CODE = "shiftChanges";
@Override
public Map<String, Object> createFormAndEntry(Map<String, Object> model) {
Long instanceId = dynamicFormInstanceService.commonSave(GROUP_CODE,model);
ShiftChange shiftChange = (ShiftChange)Bean.mapToBean(model,ShiftChange.class);
shiftChange.setInstanceId(instanceId);
return model;
}
@Override
public Boolean removeOneById(Long sequenceNbr) {
ShiftChangeDto shiftChange = this.queryBySeq(sequenceNbr);
if(shiftChange != null){
dynamicFormInstanceService.remove(new LambdaQueryWrapper<DynamicFormInstance>().eq(DynamicFormInstance::getInstanceId,shiftChange.getInstanceId()));
this.removeById(sequenceNbr);
}
return null;
}
@Override
public Map<String, Object> getOneBySeq(Long sequenceNbr) {
return null;
}
@Override
public IPage<Map<String, Object>> queryForShiftChangePage(int current, int size) {
return null;
}
/**
* 列表查询 示例
*/
public List<ShiftChangeDto> queryForShiftChangeList() {
return this.queryForList("", false);
@Override
public List<Map<String, Object>> queryForShiftChangeList() {
return null;
}
}
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