Commit 7edb3e90 authored by suhuiguang's avatar suhuiguang

1.交接班

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