Commit 4436a648 authored by 付培阳's avatar 付培阳

联动单位基本信息接口

parent e9ace829
...@@ -635,7 +635,7 @@ public class DateUtils { ...@@ -635,7 +635,7 @@ public class DateUtils {
int year = calendar.get(Calendar.YEAR);//年份 int year = calendar.get(Calendar.YEAR);//年份
int day = calendar.getActualMaximum(Calendar.DATE); int day = calendar.getActualMaximum(Calendar.DATE);
for (int i = 1; i <= day; i++) { for (int i = 1; i <= day; i++) {
String source = year+"-"+month+"-"+i; String source = year + "-" + month + "-" + i;
list.add(shortSdf.parse(source)); list.add(shortSdf.parse(source));
} }
} catch (ParseException e) { } catch (ParseException e) {
...@@ -644,4 +644,23 @@ public class DateUtils { ...@@ -644,4 +644,23 @@ public class DateUtils {
return list; return list;
} }
/**
* 判断一个时间是否在一个时间段内
*
* @param nowTime 当前时间
* @param beginTime 开始时间
* @param endTime 结束时间
*/
public static boolean belongCalendar(Date nowTime, Date beginTime, Date endTime) {
Calendar date = Calendar.getInstance();
date.setTime(nowTime);
Calendar begin = Calendar.getInstance();
begin.setTime(beginTime);
Calendar end = Calendar.getInstance();
end.setTime(endTime);
return date.after(begin) && date.before(end);
}
} }
...@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty; ...@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto; import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.util.Date; import java.util.Date;
/** /**
...@@ -15,7 +16,7 @@ import java.util.Date; ...@@ -15,7 +16,7 @@ import java.util.Date;
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ApiModel(value="LinkageUnitDto", description="联动单位") @ApiModel(value = "LinkageUnitDto", description = "联动单位")
public class LinkageUnitDto extends BaseDto { public class LinkageUnitDto extends BaseDto {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -78,4 +79,19 @@ public class LinkageUnitDto extends BaseDto { ...@@ -78,4 +79,19 @@ public class LinkageUnitDto extends BaseDto {
@ApiModelProperty(value = "操作人名称") @ApiModelProperty(value = "操作人名称")
private String recUserName; private String recUserName;
@ApiModelProperty(value = "是否在协议期 ")
private String inAgreement;
@ApiModelProperty(value = "消防救援能力")
private String fireRescueCapability;
@ApiModelProperty(value = "职责_简要情况")
private String responsibilitiesSituation;
@ApiModelProperty(value = "应急服务内容")
private String emergencyServiceContent;
@ApiModelProperty(value = "单位_简要情况")
private String unitSituation;
} }
package com.yeejoin.amos.boot.module.common.api.mapper; package com.yeejoin.amos.boot.module.common.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto;
import com.yeejoin.amos.boot.module.common.api.entity.LinkageUnit; import com.yeejoin.amos.boot.module.common.api.entity.LinkageUnit;
import org.apache.ibatis.annotations.Param;
import java.util.Map;
/** /**
* 联动单位 Mapper 接口 * 联动单位 Mapper 接口
* *
* @author system_generator * @author system_generator
* @date 2021-07-16 * @date 2021-07-16
*/ */
public interface LinkageUnitMapper extends BaseMapper<LinkageUnit> { public interface LinkageUnitMapper extends BaseMapper<LinkageUnit> {
/**
* 列转行查询单个
*
* @param fieldCodes 列
* @param groupCode 分组code
* @param sequenceNbr 主键
* @return List<Map>
*/
LinkageUnitDto selectOne(
@Param("isDelete") Boolean isDelete,
@Param("fieldCodes") Map<String, Object> fieldCodes,
@Param("groupCode") String groupCode,
@Param("sequenceNbr") Long sequenceNbr
);
} }
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.common.api.mapper.LinkageUnitMapper"> <mapper namespace="com.yeejoin.amos.boot.module.common.api.mapper.LinkageUnitMapper">
<select id="selectOne" resultType="com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto">
select
d.*,
lu.*
from
(
select
i.INSTANCE_ID instanceId,
i.GROUP_CODE groupCode,
<foreach collection="fieldCodes" item="value" index="key" separator=",">
MAX(CASE WHEN i.FIELD_CODE = #{key} THEN i.FIELD_VALUE END) as ${key}
</foreach>
from
cb_dynamic_form_instance i
where i.GROUP_CODE = #{groupCode}
and is_delete = #{isDelete}
GROUP by
i.INSTANCE_ID ) d,
cb_linkage_unit lu
where
d.instanceId = lu.instance_id
and lu.sequence_nbr = #{sequenceNbr}
and is_delete = #{isDelete}
</select>
</mapper> </mapper>
package com.yeejoin.amos.boot.module.common.biz.controller; package com.yeejoin.amos.boot.module.common.biz.controller;
import java.util.Arrays; import java.util.*;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
...@@ -40,11 +37,11 @@ import io.swagger.annotations.ApiOperation; ...@@ -40,11 +37,11 @@ import io.swagger.annotations.ApiOperation;
/** /**
* 数据字典 * 数据字典
* *
* @author tb * @author tb
* @date 2021-06-07 * @date 2021-06-07
*/ */
@RestController @RestController
@Api(tags = "数据字典Api") @Api(tags = "数据字典Api")
@RequestMapping(value = "/data-dictionary") @RequestMapping(value = "/data-dictionary")
...@@ -57,67 +54,69 @@ public class DataDictionaryController extends BaseController { ...@@ -57,67 +54,69 @@ public class DataDictionaryController extends BaseController {
@Value("${redis.cache.failure.time}") @Value("${redis.cache.failure.time}")
private long time; private long time;
/** /**
* 新增数据字典 * 新增数据字典
*
* @return * @return
*/ */
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY) @TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/save", method = RequestMethod.POST) @RequestMapping(value = "/save", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "新增数据字典", notes = "新增数据字典") @ApiOperation(httpMethod = "POST", value = "新增数据字典", notes = "新增数据字典")
public boolean saveDataDictionary(HttpServletRequest request, @RequestBody DataDictionary dataDictionary){ public boolean saveDataDictionary(HttpServletRequest request, @RequestBody DataDictionary dataDictionary) {
return iDataDictionaryService.save(dataDictionary); return iDataDictionaryService.save(dataDictionary);
} }
/** /**
* 根据id删除 * 根据id删除
*
* @param id * @param id
* @return * @return
*/ */
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY) @TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE) @RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
@ApiOperation(httpMethod = "DELETE", value = "根据id删除", notes = "根据id删除") @ApiOperation(httpMethod = "DELETE", value = "根据id删除", notes = "根据id删除")
public boolean deleteById(HttpServletRequest request, @PathVariable Long id){ public boolean deleteById(HttpServletRequest request, @PathVariable Long id) {
return iDataDictionaryService.removeById(id); return iDataDictionaryService.removeById(id);
} }
/** /**
* 修改数据字典 * 修改数据字典
*
* @return * @return
*/ */
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY) @TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/updateById", method = RequestMethod.PUT) @RequestMapping(value = "/updateById", method = RequestMethod.PUT)
@ApiOperation(httpMethod = "PUT", value = "修改数据字典", notes = "修改数据字典") @ApiOperation(httpMethod = "PUT", value = "修改数据字典", notes = "修改数据字典")
public boolean updateByIdDataDictionary(HttpServletRequest request, @RequestBody DataDictionary dataDictionary){ public boolean updateByIdDataDictionary(HttpServletRequest request, @RequestBody DataDictionary dataDictionary) {
return iDataDictionaryService.updateById(dataDictionary); return iDataDictionaryService.updateById(dataDictionary);
} }
/** /**
* 根据id查询 * 根据id查询
*
* @param id * @param id
* @return * @return
*/ */
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY) @TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/{id}", method = RequestMethod.GET) @RequestMapping(value = "/{id}", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据id查询", notes = "根据id查询") @ApiOperation(httpMethod = "GET", value = "根据id查询", notes = "根据id查询")
public DataDictionary selectById(HttpServletRequest request, @PathVariable Long id){ public DataDictionary selectById(HttpServletRequest request, @PathVariable Long id) {
return iDataDictionaryService.getById(id); return iDataDictionaryService.getById(id);
} }
/** /**
* 列表分页查询 * 列表分页查询
*
* @return * @return
*/ */
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY) @TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/list", method = RequestMethod.GET) @RequestMapping(value = "/list", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "列表分页查询", notes = "列表分页查询") @ApiOperation(httpMethod = "GET", value = "列表分页查询", notes = "列表分页查询")
public IPage<DataDictionary> listPage(String pageNum,String pageSize, DataDictionary dataDictionary){ public IPage<DataDictionary> listPage(String pageNum, String pageSize, DataDictionary dataDictionary) {
Page<DataDictionary> pageBean; Page<DataDictionary> pageBean;
QueryWrapper<DataDictionary> dataDictionaryQueryWrapper = new QueryWrapper<>(); QueryWrapper<DataDictionary> dataDictionaryQueryWrapper = new QueryWrapper<>();
...@@ -160,19 +159,20 @@ public class DataDictionaryController extends BaseController { ...@@ -160,19 +159,20 @@ public class DataDictionaryController extends BaseController {
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY) @TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/gwmcDataDictionary/{type}", method = RequestMethod.GET) @RequestMapping(value = "/gwmcDataDictionary/{type}", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据字典类型查询字典", notes = "根据字典类型查询字典") @ApiOperation(httpMethod = "GET", value = "根据字典类型查询字典", notes = "根据字典类型查询字典")
public ResponseModel<Object> gwmcDataDictionary( @PathVariable String type) throws Exception{ public ResponseModel<Object> gwmcDataDictionary(@PathVariable String type) throws Exception {
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>(); QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", type); queryWrapper.eq("type", type);
queryWrapper.orderByAsc("sort_num"); queryWrapper.orderByAsc("sort_num");
if(redisUtils.hasKey(RedisKey.DATA_DICTIONARY_CODE+type)){ if (redisUtils.hasKey(RedisKey.DATA_DICTIONARY_CODE + type)) {
Object obj= redisUtils.get(RedisKey.DATA_DICTIONARY_CODE+type); Object obj = redisUtils.get(RedisKey.DATA_DICTIONARY_CODE + type);
return ResponseHelper.buildResponse(obj); return ResponseHelper.buildResponse(obj);
}else{ } else {
Collection<DataDictionary> list=iDataDictionaryService.list(queryWrapper); Collection<DataDictionary> list = iDataDictionaryService.list(queryWrapper);
List<Menu> menus =TreeParser.getTree(null, list, DataDictionary.class.getName(),"getCode",0, "getName", "getParent",null); List<Menu> menus = TreeParser.getTree(null, list, DataDictionary.class.getName(), "getCode", 0, "getName"
redisUtils.set(RedisKey.DATA_DICTIONARY_CODE+type, JSON.toJSON(menus),time); , "getParent", null);
redisUtils.set(RedisKey.DATA_DICTIONARY_CODE + type, JSON.toJSON(menus), time);
return ResponseHelper.buildResponse(menus); return ResponseHelper.buildResponse(menus);
} }
} }
...@@ -191,7 +191,8 @@ public class DataDictionaryController extends BaseController { ...@@ -191,7 +191,8 @@ public class DataDictionaryController extends BaseController {
return ResponseHelper.buildResponse(obj); return ResponseHelper.buildResponse(obj);
} else { } else {
Collection<DataDictionary> list = iDataDictionaryService.list(queryWrapper); Collection<DataDictionary> list = iDataDictionaryService.list(queryWrapper);
List<Menu> menus = TreeParser.getTree(null, list, DataDictionary.class.getName(), "getCode", 0, "getName", "getParent",null); List<Menu> menus = TreeParser.getTree(null, list, DataDictionary.class.getName(), "getCode", 0, "getName"
, "getParent", null);
redisUtils.set(RedisKey.DATA_DICTIONARY_CODE + type, JSON.toJSON(menus), time); redisUtils.set(RedisKey.DATA_DICTIONARY_CODE + type, JSON.toJSON(menus), time);
return ResponseHelper.buildResponse(menus); return ResponseHelper.buildResponse(menus);
} }
...@@ -200,51 +201,49 @@ public class DataDictionaryController extends BaseController { ...@@ -200,51 +201,49 @@ public class DataDictionaryController extends BaseController {
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY) @TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/gwmcDataDictionary/FireChemical/{type}", method = RequestMethod.GET) @RequestMapping(value = "/gwmcDataDictionary/FireChemical/{type}", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据字典类型查询危险品字典", notes = "根据字典类型查询危险品字典") @ApiOperation(httpMethod = "GET", value = "根据字典类型查询危险品字典", notes = "根据字典类型查询危险品字典")
public ResponseModel<Object> gwmcDataDictionaryFireChemical( @PathVariable String type) throws Exception{ public ResponseModel<Object> gwmcDataDictionaryFireChemical(@PathVariable String type) throws Exception {
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>(); QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", type); queryWrapper.eq("type", type);
queryWrapper.orderByAsc("sort_num"); queryWrapper.orderByAsc("sort_num");
if(redisUtils.hasKey(RedisKey.DATA_DICTIONARY_CODE+type)){ if (redisUtils.hasKey(RedisKey.DATA_DICTIONARY_CODE + type)) {
Object obj= redisUtils.get(RedisKey.DATA_DICTIONARY_CODE+type); Object obj = redisUtils.get(RedisKey.DATA_DICTIONARY_CODE + type);
return ResponseHelper.buildResponse(obj); return ResponseHelper.buildResponse(obj);
}else{ } else {
Collection<DataDictionary> list=iDataDictionaryService.list(queryWrapper); Collection<DataDictionary> list = iDataDictionaryService.list(queryWrapper);
List<MenuFrom> menus =TreeParser.getTreexin(null, list, DataDictionary.class.getName(),"getCode",0, List<MenuFrom> menus = TreeParser.getTreexin(null, list, DataDictionary.class.getName(), "getCode", 0,
"getName", "getParent", null); "getName", "getParent", null);
MenuFrom Me= new MenuFrom( "-1", "-1", "-1", "危化品库", "危化品库", "危化品库", "-1", null); MenuFrom Me = new MenuFrom("-1", "-1", "-1", "危化品库", "危化品库", "危化品库", "-1", null);
Me.setIsLeaf(false); Me.setIsLeaf(false);
Me.setChildren(menus); Me.setChildren(menus);
redisUtils.set(RedisKey.DATA_DICTIONARY_CODE+type, JSON.toJSON(Me),time); redisUtils.set(RedisKey.DATA_DICTIONARY_CODE + type, JSON.toJSON(Me), time);
return ResponseHelper.buildResponse(Me); return ResponseHelper.buildResponse(Me);
} }
} }
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY) @TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/form/list", method = RequestMethod.GET) @RequestMapping(value = "/form/list", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据表态类型多个code查询表单数据项", notes = "根据表态类型多个code查询表单数据项") @ApiOperation(httpMethod = "GET", value = "根据表态类型多个code查询表单数据项", notes = "根据表态类型多个code查询表单数据项")
public ResponseModel<Object> selectFormdListItem(HttpServletRequest request, String types){ public ResponseModel<Object> selectFormdListItem(HttpServletRequest request, String types) {
HashMap<Object, Object> objectObjectHashMap = new HashMap<>(); HashMap<Object, Object> objectObjectHashMap = new HashMap<>();
try { try {
String[] typest= types.split(","); String[] typest = types.split(",");
for (String type : typest) { for (String type : typest) {
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>(); QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", type); queryWrapper.eq("type", type);
queryWrapper.orderByAsc("sort_num"); queryWrapper.orderByAsc("sort_num");
if(redisUtils.hasKey(RedisKey.DATA_DICTIONARY_CODE_XIN+type)){ if (redisUtils.hasKey(RedisKey.DATA_DICTIONARY_CODE_XIN + type)) {
Object obj= redisUtils.get(RedisKey.DATA_DICTIONARY_CODE_XIN+type); Object obj = redisUtils.get(RedisKey.DATA_DICTIONARY_CODE_XIN + type);
objectObjectHashMap.put(type,obj); objectObjectHashMap.put(type, obj);
}else{ } else {
Collection<DataDictionary> list=iDataDictionaryService.list(queryWrapper); Collection<DataDictionary> list = iDataDictionaryService.list(queryWrapper);
List<MenuFrom> menus = null; List<MenuFrom> menus = null;
menus = TreeParser.getTreexin(null, list, DataDictionary.class.getName(),"getCode",0, "getName", menus = TreeParser.getTreexin(null, list, DataDictionary.class.getName(), "getCode", 0, "getName",
"getParent", null); "getParent", null);
redisUtils.set(RedisKey.DATA_DICTIONARY_CODE_XIN+type, JSON.toJSON(menus),time); redisUtils.set(RedisKey.DATA_DICTIONARY_CODE_XIN + type, JSON.toJSON(menus), time);
objectObjectHashMap.put(type,menus); objectObjectHashMap.put(type, menus);
} }
} }
} catch (Exception e) { } catch (Exception e) {
...@@ -253,5 +252,27 @@ public class DataDictionaryController extends BaseController { ...@@ -253,5 +252,27 @@ public class DataDictionaryController extends BaseController {
} }
return ResponseHelper.buildResponse(objectObjectHashMap); return ResponseHelper.buildResponse(objectObjectHashMap);
} }
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/dataDictionaryTree", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据字典类型查询字典树", notes = "根据字典类型查询字典树")
public ResponseModel<Object> getDictionaryTree(@RequestParam String type, @RequestParam String rootName) throws Exception {
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", type);
queryWrapper.orderByAsc("sort_num");
Collection<DataDictionary> list = iDataDictionaryService.list(queryWrapper);
List<Menu> menus = TreeParser.getTree(null, list, DataDictionary.class.getName(), "getCode", 0, "getName"
, "getParent", null);
// 创建根节点
Menu menu = new Menu(-1L, rootName, -1L, menus, 0);
List<Menu> menuList = new ArrayList<>();
// 挂在主节点
menuList.add(menu);
return ResponseHelper.buildResponse(menuList);
}
} }
package com.yeejoin.amos.boot.module.common.biz.controller; package com.yeejoin.amos.boot.module.common.biz.controller;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
import com.yeejoin.amos.boot.module.common.biz.service.impl.LinkageUnitServiceImpl; import com.yeejoin.amos.boot.module.common.biz.service.impl.LinkageUnitServiceImpl;
import org.typroject.tyboot.core.restful.utils.ResponseHelper; 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 org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
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.LinkageUnitDto; import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto;
...@@ -40,7 +49,7 @@ public class LinkageUnitController extends BaseController { ...@@ -40,7 +49,7 @@ public class LinkageUnitController extends BaseController {
@PostMapping(value = "/save") @PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增联动单位", notes = "新增联动单位") @ApiOperation(httpMethod = "POST", value = "新增联动单位", notes = "新增联动单位")
public ResponseModel<LinkageUnitDto> save(@RequestBody LinkageUnitDto model) { public ResponseModel<LinkageUnitDto> save(@RequestBody LinkageUnitDto model) {
model = linkageUnitServiceImpl.createWithModel(model); model = linkageUnitServiceImpl.saveModel(model);
return ResponseHelper.buildResponse(model); return ResponseHelper.buildResponse(model);
} }
...@@ -53,9 +62,10 @@ public class LinkageUnitController extends BaseController { ...@@ -53,9 +62,10 @@ public class LinkageUnitController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/{sequenceNbr}") @PutMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新联动单位", notes = "根据sequenceNbr更新联动单位") @ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新联动单位", notes = "根据sequenceNbr更新联动单位")
public ResponseModel<LinkageUnitDto> updateBySequenceNbrLinkageUnit(@RequestBody LinkageUnitDto model,@PathVariable(value = "sequenceNbr") Long sequenceNbr) { public ResponseModel<LinkageUnitDto> updateBySequenceNbrLinkageUnit(@RequestBody LinkageUnitDto model,
@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr); model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(linkageUnitServiceImpl.updateWithModel(model)); return ResponseHelper.buildResponse(linkageUnitServiceImpl.updateById(model));
} }
/** /**
...@@ -67,8 +77,8 @@ public class LinkageUnitController extends BaseController { ...@@ -67,8 +77,8 @@ public class LinkageUnitController 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(linkageUnitServiceImpl.removeById(sequenceNbr)); return ResponseHelper.buildResponse(linkageUnitServiceImpl.deleteById(sequenceNbr));
} }
/** /**
...@@ -79,9 +89,9 @@ public class LinkageUnitController extends BaseController { ...@@ -79,9 +89,9 @@ public class LinkageUnitController 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<LinkageUnitDto> selectOne(@PathVariable Long sequenceNbr) { public ResponseModel<LinkageUnitDto> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(linkageUnitServiceImpl.queryBySeq(sequenceNbr)); return ResponseHelper.buildResponse(linkageUnitServiceImpl.queryOne(sequenceNbr));
} }
/** /**
...@@ -93,13 +103,23 @@ public class LinkageUnitController extends BaseController { ...@@ -93,13 +103,23 @@ public class LinkageUnitController extends BaseController {
*/ */
@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<LinkageUnitDto>> queryForPage(@RequestParam(value = "current") int current,@RequestParam public ResponseModel<Page<LinkageUnitDto>> queryForPage(@RequestParam(value = "current") int current, @RequestParam
(value = "size") int size) { (value = "size") int size, String unitName, String linkageUnitType, String inAgreement) {
Page<LinkageUnitDto> page = new Page<LinkageUnitDto>(); Page<LinkageUnitDto> page = new Page<LinkageUnitDto>();
page.setCurrent(current); page.setCurrent(current);
page.setSize(size); page.setSize(size);
return ResponseHelper.buildResponse(linkageUnitServiceImpl.queryForLinkageUnitPage(page)); Page<LinkageUnitDto> linkageUnitDtoPage = linkageUnitServiceImpl.queryForLinkageUnitPage(page, false,
unitName, linkageUnitType);
Date now = new Date();
List<LinkageUnitDto> linkageUnitDtoList = linkageUnitDtoPage.getRecords().stream().map(item -> {
boolean isInAgreement = DateUtils.belongCalendar(now, item.getAgreementStartDate(),
item.getAgreementEndDate());
item.setInAgreement(isInAgreement ? "是" : "否");
return item;
}).filter(item -> StringUtils.isEmpty(inAgreement) || inAgreement.equals(item.getInAgreement())).collect(Collectors.toList());
linkageUnitDtoPage.setRecords(linkageUnitDtoList);
return ResponseHelper.buildResponse(linkageUnitDtoPage);
} }
/** /**
...@@ -108,9 +128,9 @@ public class LinkageUnitController extends BaseController { ...@@ -108,9 +128,9 @@ public class LinkageUnitController extends BaseController {
* @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<LinkageUnitDto>> selectForList() { public ResponseModel<List<LinkageUnitDto>> selectForList() {
return ResponseHelper.buildResponse(linkageUnitServiceImpl.queryForLinkageUnitList()); return ResponseHelper.buildResponse(linkageUnitServiceImpl.queryForLinkageUnitList(false));
} }
} }
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.conditions.query.QueryWrapper;
import com.yeejoin.amos.boot.module.common.api.dto.DutyCarDto;
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.LinkageUnit; import com.yeejoin.amos.boot.module.common.api.entity.LinkageUnit;
import com.yeejoin.amos.boot.module.common.api.mapper.DynamicFormInstanceMapper;
import com.yeejoin.amos.boot.module.common.api.mapper.LinkageUnitMapper; import com.yeejoin.amos.boot.module.common.api.mapper.LinkageUnitMapper;
import com.yeejoin.amos.boot.module.common.api.service.ILinkageUnitService; import com.yeejoin.amos.boot.module.common.api.service.ILinkageUnitService;
import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto; import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.rdbms.annotation.Condition;
import org.typroject.tyboot.core.rdbms.annotation.Operator;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import javax.annotation.Resource;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 联动单位服务实现类 * 联动单位服务实现类
...@@ -17,17 +30,86 @@ import java.util.List; ...@@ -17,17 +30,86 @@ import java.util.List;
*/ */
@Service @Service
public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageUnit, LinkageUnitMapper> implements ILinkageUnitService { public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageUnit, LinkageUnitMapper> implements ILinkageUnitService {
@Autowired
DynamicFormInstanceServiceImpl dynamicFormInstanceService;
@Resource
LinkageUnitMapper linkageUnitMapper;
@Autowired
DynamicFormColumnServiceImpl dynamicFormColumnService;
public String getGroupCode() {
return "linkageUnit";
}
/** /**
* 分页查询 * 分页查询
*/ */
public Page<LinkageUnitDto> queryForLinkageUnitPage(Page<LinkageUnitDto> page) { public Page<LinkageUnitDto> queryForLinkageUnitPage(Page<LinkageUnitDto> page,
return this.queryForPage(page, null, false); @Condition(Operator.eq) Boolean isDelete,
@Condition(Operator.like) String unitName,
@Condition(Operator.eq) String linkageUnitType) {
return this.queryForPage(page, null, false, isDelete, unitName, linkageUnitType);
} }
/** /**
* 列表查询 示例 * 列表查询 示例
*/ */
public List<LinkageUnitDto> queryForLinkageUnitList() { public List<LinkageUnitDto> queryForLinkageUnitList(@Condition(Operator.eq) Boolean isDelete) {
return this.queryForList("" , false); return this.queryForList("", false, isDelete);
}
/**
* 保存联动单位
*
* @param linkageUnitDto 对象
* @return List<LinkageUnitDto>
*/
public LinkageUnitDto saveModel(LinkageUnitDto linkageUnitDto) {
//1.保存行数据
String groupCode = this.getGroupCode();
Map<String, Object> map = Bean.BeantoMap(linkageUnitDto);
Long instanceId = dynamicFormInstanceService.commonSave(groupCode, map);
linkageUnitDto.setInstanceId(instanceId);
//2.保存值班信息
LinkageUnitDto model = createWithModel(linkageUnitDto);
//3.返回保存后的数据
return model;
}
public LinkageUnitDto queryOne(Long sequenceNbr) {
boolean isDelete = false;
String groupCode = getGroupCode();
List<DynamicFormColumn> columns =
dynamicFormColumnService.list(new LambdaQueryWrapper<DynamicFormColumn>().eq(DynamicFormColumn::getGroupCode, groupCode));
Map<String, Object> fieldCodes = Bean.listToMap(columns, "fieldCode", "queryStrategy", DynamicFormColumn.class);
LinkageUnitDto linkageUnitDto = linkageUnitMapper.selectOne(isDelete, fieldCodes, groupCode, sequenceNbr);
return linkageUnitDto;
}
public Boolean deleteById(Long sequenceNbr) {
LinkageUnit linkageUnit = getById(sequenceNbr);
linkageUnit.setIsDelete(true);
updateById(linkageUnit);
Long instanceId = linkageUnit.getInstanceId();
List<DynamicFormInstance> dynamicFormInstanceList =
dynamicFormInstanceService.list(new LambdaQueryWrapper<DynamicFormInstance>().eq(DynamicFormInstance::getInstanceId, instanceId));
dynamicFormInstanceList.forEach(item -> item.setIsDelete(true));
boolean update = dynamicFormInstanceService.updateBatchById(dynamicFormInstanceList);
return update;
}
public LinkageUnitDto updateById(LinkageUnitDto linkageUnitDto) {
updateWithModel(linkageUnitDto);
Long instanceId = linkageUnitDto.getInstanceId();
List<DynamicFormInstance> dynamicFormInstanceList =
dynamicFormInstanceService.list(new LambdaQueryWrapper<DynamicFormInstance>().eq(DynamicFormInstance::getInstanceId, instanceId));
Map<String, Object> objectMap = Bean.BeantoMap(linkageUnitDto);
dynamicFormInstanceList.forEach(item -> item.setFieldValue(objectMap.get(item.getFieldCode()) != null ?
objectMap.get(item.getFieldCode()).toString() : item.getFieldValue()));
dynamicFormInstanceService.updateBatchById(dynamicFormInstanceList);
return linkageUnitDto;
} }
} }
\ No newline at end of file
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