Commit 07dc5af1 authored by suhuiguang's avatar suhuiguang

1.交接班

2.动态表单:通用查询、新增
parent 7edb3e90
package com.yeejoin.amos.boot.module.jcs.api.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel("交接班记录详情")
public class ShiftChangeInfoDto extends ShiftChangeDto {
@ApiModelProperty("值班开始时间")
private String beginDate;
@ApiModelProperty("值班开始时间")
private String endDate;
@ApiModelProperty("机场值班领导")
private String jsDutyLeader;
@ApiModelProperty("消救部领导")
private String fireDutyLeader;
@ApiModelProperty("消防支队领导")
private String branchDutyLeader;
@ApiModelProperty("应急指挥科领导")
private String emcDutyLeader;
@ApiModelProperty("值班员正班")
private String dutyPersonOne;
@ApiModelProperty("值班员副班")
private String dutyPersonTwo;
@ApiModelProperty("接班员正班")
private String succeedPersonOne;
@ApiModelProperty("接班员副班")
private String succeedPersonTwo;
@ApiModelProperty("值班员经理")
private String dutyPersonLeader;
@ApiModelProperty("接班员经理")
private String succeedPersonLeader;
}
......@@ -18,7 +18,7 @@ import lombok.experimental.Accessors;
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("jc_shift_change")
@TableName(value = "jc_shift_change", autoResultMap = true)
public class ShiftChange extends BaseEntity {
private static final long serialVersionUID = 1L;
......@@ -38,7 +38,7 @@ public class ShiftChange extends BaseEntity {
* 力量出动情况
*/
@TableField(value = "power_json", typeHandler = JacksonTypeHandler.class)
private String powerJson;
private JSONObject powerJson;
/**
* 交接事宜描述
*/
......
......@@ -7,7 +7,7 @@ import java.util.List;
import java.util.Map;
/**
* 警情表单接口类
* 交接班记录表接口类
*
* @author system_generator
* @date 2021-07-13
......
......@@ -4,7 +4,6 @@ import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.common.api.dto.DutyCarDto;
......@@ -22,7 +21,6 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import javax.servlet.http.HttpServletRequest;
import java.text.ParseException;
......@@ -70,11 +68,7 @@ public class DutyCommonServiceImpl implements IDutyCommonService {
public IPage<Map<String, Object>> pageList(int current, int size, String beginDate, String endDate) throws ParseException {
//1.已column为准 进行返回
String groupCode = this.getGroupCode();
Map<String, String> params = this.getRequestParamMap();
List<DynamicFormColumn> columns = dynamicFormColumnService.list(new LambdaQueryWrapper<DynamicFormColumn>().eq(DynamicFormColumn::getGroupCode, groupCode));
Map<String, Object> fieldCodes = Bean.listToMap(columns, "fieldCode", "queryStrategy", DynamicFormColumn.class);
Page page = new Page(current, size);
IPage<Map<String, Object>> iPage = dynamicFormInstanceService.getBaseMapper().pageList(page, RequestContext.getAppKey(), fieldCodes, groupCode, params);
IPage<Map<String, Object>> iPage = dynamicFormInstanceService.pageList(current,size,groupCode);
for (Map<String, Object> m : iPage.getRecords()) {
this.fillDutyShiftData(beginDate, endDate, m);
}
......@@ -145,10 +139,7 @@ public class DutyCommonServiceImpl implements IDutyCommonService {
public List<Map<String, Object>> list(String beginDate, String endDate) throws ParseException {
//1.已column为准 进行返回
String groupCode = this.getGroupCode();
Map<String, String> params = this.getRequestParamMap();
List<DynamicFormColumn> columns = dynamicFormColumnService.list(new LambdaQueryWrapper<DynamicFormColumn>().eq(DynamicFormColumn::getGroupCode, groupCode));
Map<String, Object> fieldCodes = Bean.listToMap(columns, "fieldCode", "queryStrategy", DynamicFormColumn.class);
List<Map<String, Object>> list = dynamicFormInstanceService.getBaseMapper().listAll(RequestContext.getAppKey(), fieldCodes, groupCode, params);
List<Map<String, Object>> list = dynamicFormInstanceService.listAll(groupCode);
//2.组织值班数据
for (Map<String, Object> map : list) {
this.fillDutyShiftData(beginDate, endDate, map);
......@@ -156,25 +147,6 @@ public class DutyCommonServiceImpl implements IDutyCommonService {
return list;
}
private Map<String, String> getRequestParamMap() {
Map<String, String[]> parameterMap = request.getParameterMap();
Map<String, String[]> localMap = new HashMap<>();
localMap.putAll(parameterMap);
localMap.remove("current");
localMap.remove("size");
localMap.remove("beginDate");
localMap.remove("endDate");
Map<String, String> params = new HashMap<>();
if (!ValidationUtil.isEmpty(localMap)) {
for (String key : localMap.keySet()) {
if (!ValidationUtil.isEmpty(localMap.get(key))) {
params.put(key, localMap.get(key)[0]);
}
}
}
return params;
}
@Override
public String getGroupCode() {
return null;
......
package com.yeejoin.amos.boot.module.common.biz.service.impl;
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;
import com.yeejoin.amos.boot.module.common.api.dto.DynamicFormInstanceDto;
......@@ -10,10 +12,14 @@ 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.springframework.util.CollectionUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
......@@ -33,6 +39,9 @@ public class DynamicFormInstanceServiceImpl extends BaseService<DynamicFormInsta
@Autowired
DynamicFormColumnServiceImpl dynamicFormColumnService;
@Autowired
HttpServletRequest request;
/**
* 分页查询
*/
......@@ -85,6 +94,64 @@ public class DynamicFormInstanceServiceImpl extends BaseService<DynamicFormInsta
formInstance.setFieldValue(map.get(column.getFieldCode()) != null ? map.get(column.getFieldCode()).toString() : "");
}
public Map<String, Object> getOneMap(Long instanceId,String groupCode) {
Map<String, Object> optionListMap = new HashMap<>();
List<DynamicFormInstance> list = this.queryByInstanceId(instanceId);
if (!CollectionUtils.isEmpty(list)) {
List<DynamicFormColumn> columns = dynamicFormColumnService.list(new LambdaQueryWrapper<DynamicFormColumn>().eq(DynamicFormColumn::getGroupCode, groupCode));
Map<String, Object> instanceMap = Bean.listToMap(list, "fieldCode", "fieldValue", DynamicFormInstance.class);
for (DynamicFormColumn optionModel : columns) {
instanceMap.put(optionModel.getFieldCode(), instanceMap.get(optionModel.getFieldCode()));
}
optionListMap.putAll(instanceMap);
optionListMap.put("instanceId", instanceId);
optionListMap.put("createTime", list.iterator().next().getRecDate());
optionListMap.put("groupCode", groupCode);
}
return optionListMap;
}
private List<DynamicFormInstance> queryByInstanceId(Long instanceId) {
LambdaQueryWrapper<DynamicFormInstance> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(DynamicFormInstance::getInstanceId, instanceId);
return this.baseMapper.selectList(wrapper);
}
public IPage<Map<String, Object>> pageList(int current, int size ,String groupCode){
Map<String, String> params = this.getRequestParamMap();
List<DynamicFormColumn> columns = dynamicFormColumnService.list(new LambdaQueryWrapper<DynamicFormColumn>().eq(DynamicFormColumn::getGroupCode, groupCode));
Map<String, Object> fieldCodes = Bean.listToMap(columns, "fieldCode", "queryStrategy", DynamicFormColumn.class);
Page page = new Page(current, size);
return this.getBaseMapper().pageList(page, RequestContext.getAppKey(), fieldCodes, groupCode, params);
}
public List<Map<String, Object>> listAll(String groupCode){
Map<String, String> params = this.getRequestParamMap();
List<DynamicFormColumn> columns = dynamicFormColumnService.list(new LambdaQueryWrapper<DynamicFormColumn>().eq(DynamicFormColumn::getGroupCode, groupCode));
Map<String, Object> fieldCodes = Bean.listToMap(columns, "fieldCode", "queryStrategy", DynamicFormColumn.class);
return this.getBaseMapper().listAll(RequestContext.getAppKey(), fieldCodes, groupCode, params);
}
private Map<String, String> getRequestParamMap() {
Map<String, String[]> parameterMap = request.getParameterMap();
Map<String, String[]> localMap = new HashMap<>();
localMap.putAll(parameterMap);
localMap.remove("current");
localMap.remove("size");
localMap.remove("beginDate");
localMap.remove("endDate");
Map<String, String> params = new HashMap<>();
if (!ValidationUtil.isEmpty(localMap)) {
for (String key : localMap.keySet()) {
if (!ValidationUtil.isEmpty(localMap.get(key))) {
params.put(key, localMap.get(key)[0]);
}
}
}
return params;
}
}
package com.yeejoin.amos.boot.module.jcs.biz.controller;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.jcs.api.dto.ShiftChangeInfoDto;
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;
import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
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;
/**
* 警情表单
* 交接班记录表
*
* @author system_generator
* @date 2021-07-13
*/
@RestController
@Api(tags = "警情表单Api")
@Api(tags = "交接班记录表Api")
@RequestMapping(value = "/jcs/shift-change")
public class ShiftChangeController extends BaseController {
......@@ -32,15 +31,15 @@ public class ShiftChangeController extends BaseController {
IShiftChangeService iShiftChangeService;
/**
* 新增警情表单
* 新增交接班记录表
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增警情表单", notes = "新增警情表单")
public ResponseModel save(@RequestBody Map<String, Object> model) {
return ResponseHelper.buildResponse(iShiftChangeService.createFormAndEntry(model));
@ApiOperation(httpMethod = "POST", value = "新增交接班记录表", notes = "新增交接班记录表")
public ResponseModel save(@RequestBody ShiftChangeInfoDto model) {
return ResponseHelper.buildResponse(iShiftChangeService.createFormAndEntry(Bean.BeantoMap(model)));
}
/**
......@@ -51,7 +50,7 @@ public class ShiftChangeController extends BaseController {
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除警情表单", notes = "根据sequenceNbr删除警情表单")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除交接班记录表", notes = "根据sequenceNbr删除交接班记录表")
public ResponseModel<Boolean> deleteBySequenceNbr(@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
return ResponseHelper.buildResponse(iShiftChangeService.removeOneById(sequenceNbr));
}
......@@ -64,7 +63,7 @@ public class ShiftChangeController extends BaseController {
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个警情表单", notes = "根据sequenceNbr查询单个警情表单")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个交接班记录", notes = "根据sequenceNbr查询单个交接班记录")
public ResponseModel selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(iShiftChangeService.getOneBySeq(sequenceNbr));
}
......@@ -88,10 +87,10 @@ public class ShiftChangeController extends BaseController {
/**
* 列表全部数据查询
*
* @return
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "警情表单列表全部数据查询", notes = "警情表单列表全部数据查询")
@ApiOperation(httpMethod = "GET", value = "交接班记录列表全部数据查询", notes = "交接班记录列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel selectForList() {
return ResponseHelper.buildResponse(iShiftChangeService.queryForShiftChangeList());
......@@ -99,8 +98,8 @@ public class ShiftChangeController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation("pdf下载")
@PostMapping("/pdf/export")
@ApiOperation(httpMethod = "POST", value = "pdf下载", notes = "pdf下载")
@PostMapping("/pdf/export")
public void exportPdf(HttpServletResponse response,Long shiftChangeId){
}
......
......@@ -4,7 +4,6 @@ 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;
......@@ -15,12 +14,15 @@ 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.restful.exception.instance.BadRequest;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* 警情表单服务实现类
* 交接班记录表服务实现类
*
* @author system_generator
* @date 2021-07-13
......@@ -39,17 +41,19 @@ public class ShiftChangeServiceImpl extends BaseService<ShiftChangeDto, ShiftCha
@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);
Long instanceId = dynamicFormInstanceService.commonSave(GROUP_CODE, model);
ShiftChange shiftChange = (ShiftChange) Bean.mapToBean(model, ShiftChange.class);
shiftChange.setInstanceId(instanceId);
this.save(shiftChange);
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()));
if (shiftChange != null) {
dynamicFormInstanceService.remove(new LambdaQueryWrapper<DynamicFormInstance>().eq(DynamicFormInstance::getInstanceId, shiftChange.getInstanceId()));
this.removeById(sequenceNbr);
}
return null;
......@@ -57,16 +61,39 @@ public class ShiftChangeServiceImpl extends BaseService<ShiftChangeDto, ShiftCha
@Override
public Map<String, Object> getOneBySeq(Long sequenceNbr) {
return null;
ShiftChangeDto shiftChange = this.queryBySeq(sequenceNbr);
if (shiftChange == null) {
throw new BadRequest("指定数据不存在");
}
Map<String, Object> baseInfo = dynamicFormInstanceService.getOneMap(shiftChange.getInstanceId(), GROUP_CODE);
Map<String, Object> cxc = Bean.BeantoMap(shiftChange);
baseInfo.putAll(cxc);
return baseInfo;
}
@Override
public IPage<Map<String, Object>> queryForShiftChangePage(int current, int size) {
return null;
IPage<Map<String, Object>> page = dynamicFormInstanceService.pageList(current,size,GROUP_CODE);
List<ShiftChange> shiftChanges = this.list();
Map<Long,ShiftChange> shiftChangeMap = shiftChanges.stream().collect(Collectors.toMap(ShiftChange::getInstanceId, Function.identity()));
page.getRecords().forEach(r->{
//instanceId 必输 所以未进行 null判断
ShiftChange shiftChange = shiftChangeMap.get(Long.parseLong(r.get("instanceId").toString()));
r.putAll(Bean.BeantoMap(shiftChange));
});
return page;
}
@Override
public List<Map<String, Object>> queryForShiftChangeList() {
return null;
List<Map<String, Object>> list = dynamicFormInstanceService.listAll(GROUP_CODE);
List<ShiftChange> shiftChanges = this.list();
Map<Long,ShiftChange> shiftChangeMap = shiftChanges.stream().collect(Collectors.toMap(ShiftChange::getInstanceId, Function.identity()));
list.forEach(r -> {
//instanceId 必输 所以未进行 null判断
ShiftChange shiftChange = shiftChangeMap.get(Long.parseLong(r.get("instanceId").toString()));
r.putAll(Bean.BeantoMap(shiftChange));
});
return list;
}
}
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