Commit e2d0faf0 authored by chenhao's avatar chenhao

提交修改BUG代码 by 陈浩

parent 5ff596b7
...@@ -10,6 +10,8 @@ import lombok.EqualsAndHashCode; ...@@ -10,6 +10,8 @@ import lombok.EqualsAndHashCode;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import org.omg.CORBA.PRIVATE_MEMBER;
/** /**
* 联动单位 * 联动单位
* *
...@@ -98,5 +100,10 @@ public class LinkageUnitDto extends BaseDto { ...@@ -98,5 +100,10 @@ public class LinkageUnitDto extends BaseDto {
@ApiModelProperty(value = "联动单位图片") @ApiModelProperty(value = "联动单位图片")
private List<SourceFile> image; private List<SourceFile> image;
@ApiModelProperty(value = "车辆数量")
private String vehicleNumber;
@ApiModelProperty(value = "特岗人数")
private String personNumber;
} }
package com.yeejoin.amos.boot.module.common.api.mapper; package com.yeejoin.amos.boot.module.common.api.mapper;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Param;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.common.api.dto.CompanyDto; import com.baomidou.mybatisplus.core.metadata.IPage;
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;
import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitZhDto; import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitZhDto;
import com.yeejoin.amos.boot.module.common.api.dto.RequestData; import com.yeejoin.amos.boot.module.common.api.dto.RequestData;
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.List;
import java.util.Map;
/** /**
* 联动单位 Mapper 接口 * 联动单位 Mapper 接口
...@@ -43,4 +45,22 @@ public interface LinkageUnitMapper extends BaseMapper<LinkageUnit> { ...@@ -43,4 +45,22 @@ public interface LinkageUnitMapper extends BaseMapper<LinkageUnit> {
List<LinkageUnitZhDto> listLinkageUnitZhDto(@Param("pageNum")int pageNum, @Param("pageSize")int pageSize, @Param("par") RequestData par); List<LinkageUnitZhDto> listLinkageUnitZhDto(@Param("pageNum")int pageNum, @Param("pageSize")int pageSize, @Param("par") RequestData par);
Integer listLinkageUnitZhDtoCount(@Param("par")RequestData par); Integer listLinkageUnitZhDtoCount(@Param("par")RequestData par);
/**
* 查询当前存在的联动单位及统计
* @param isDelete
* @param emergencyLinkageUnitCode
* @return
*/
List<Map<String, Object>> getEmergencyLinkageUnitCodeGroupByAndCount();
/**
* 查询包含特岗人数及的具体信息
* @return
*/
Page<List<LinkageUnitDto>> getEmergencyLinkageUnitList(IPage<LinkageUnitDto> page,String unitName,
String linkageUnitTypeCode, String emergencyLinkageUnitCode);
} }
package com.yeejoin.amos.boot.module.common.api.service; package com.yeejoin.amos.boot.module.common.api.service;
import java.util.List;
import org.typroject.tyboot.core.rdbms.annotation.Condition;
import org.typroject.tyboot.core.rdbms.annotation.Operator;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.utils.Menu;
import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto; import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto;
import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitZhDto; import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitZhDto;
import com.yeejoin.amos.boot.module.common.api.dto.RequestData; import com.yeejoin.amos.boot.module.common.api.dto.RequestData;
import org.typroject.tyboot.core.rdbms.annotation.Condition; import com.yeejoin.amos.boot.module.common.api.entity.LinkageUnit;
import org.typroject.tyboot.core.rdbms.annotation.Operator;
import java.util.List;
/** /**
* 联动单位接口类 * 联动单位接口类
* *
* @author system_generator * @author system_generator
* @date 2021-07-16 * @date 2021-07-16
*/ */
public interface ILinkageUnitService { public interface ILinkageUnitService {
List<LinkageUnitZhDto> listLinkageUnitZhDto(Integer pageNum, Integer pageSize, RequestData par);
List<LinkageUnitZhDto> listLinkageUnitZhDto(Integer pageNum, Integer pageSize, RequestData par);
Integer listLinkageUnitZhDtoCount(RequestData par);
Integer listLinkageUnitZhDtoCount(RequestData par);
LinkageUnitDto queryOne(Long sequenceNbr);
LinkageUnitDto queryOne(Long sequenceNbr);
/**
/** * 联动单位分页查询
* 联动单位分页查询 *
* * @param page
* @param page * @param isDelete
* @param isDelete * @param unitName 单位名称
* @param unitName 单位名称 * @param linkageUnitType 联动单位类型
* @param linkageUnitType 联动单位类型 * @param emergencyLinkageUnitCode 紧急联动单位类型code
* @param emergencyLinkageUnitCode 紧急联动单位类型code * @return
* @return */
*/ Page<LinkageUnitDto> queryForLinkageUnitPage(IPage<LinkageUnitDto> page,
Page<LinkageUnitDto> queryForLinkageUnitPage(Page<LinkageUnitDto> page, @Condition(Operator.eq) Boolean isDelete,
@Condition(Operator.eq) Boolean isDelete, @Condition(Operator.like) String unitName,
@Condition(Operator.like) String unitName, @Condition(Operator.eq) String linkageUnitTypeCode,
@Condition(Operator.eq) String linkageUnitType, @Condition(Operator.eq) String emergencyLinkageUnitCode,
@Condition(Operator.eq) String emergencyLinkageUnitCode); String inAgreement);
/**
* 获取当前存在的联动单位的类型组code
* @return
*/
public List<Menu> getEmergencyLinkageUnitCodeGroupBy(String type, String rootName) ;
} }
<?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
<select id="selectOne" resultType="com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto"> namespace="com.yeejoin.amos.boot.module.common.api.mapper.LinkageUnitMapper">
select <select id="selectOne"
d.*, resultType="com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto">
lu.* select
from d.*,
( lu.*
select from
i.INSTANCE_ID instanceId, (
i.GROUP_CODE groupCode, select
<foreach collection="fieldCodes" item="value" index="key" separator=","> i.INSTANCE_ID instanceId,
MAX(CASE WHEN i.FIELD_CODE = #{key} THEN i.FIELD_VALUE END) as ${key} i.GROUP_CODE
</foreach> groupCode,
from <foreach collection="fieldCodes" item="value" index="key"
cb_dynamic_form_instance i separator=",">
where i.GROUP_CODE = #{groupCode} MAX(CASE WHEN i.FIELD_CODE = #{key} THEN i.FIELD_VALUE END)
and is_delete = #{isDelete} as ${key}
GROUP by </foreach>
i.INSTANCE_ID ) d, from
cb_linkage_unit lu cb_dynamic_form_instance i
where where i.GROUP_CODE = #{groupCode}
d.instanceId = lu.instance_id and
and lu.sequence_nbr = #{sequenceNbr} is_delete = #{isDelete}
and is_delete = #{isDelete} GROUP by
</select> i.INSTANCE_ID ) d,
cb_linkage_unit lu
where
d.instanceId = lu.instance_id
and lu.sequence_nbr = #{sequenceNbr}
<select id="listLinkageUnitZhDto" resultType="com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitZhDto"> and is_delete = #{isDelete}
</select>
select
a.sequence_nbr sequenceNbr,
a.unit_name unitName,
a.address,
a.latitude, <select id="listLinkageUnitZhDto"
a.longitude, resultType="com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitZhDto">
Round(st_distance(point(a.longitude,a.latitude),point(#{par.longitude},#{par.latitude}))*111195,1) AS distance
FROM cb_linkage_unit a select
where a.longitude is not null and a.latitude is not null a.sequence_nbr sequenceNbr,
<if test='par.distance!=null'> a.unit_name unitName,
and Round(st_distance(point(a.longitude,a.latitude),point(#{par.longitude},#{par.latitude}))*111195,1) &lt;= a.address,
#{par.distance} a.latitude,
</if> a.longitude,
ORDER BY distance limit #{pageNum},#{pageSize} Round(st_distance(point(a.longitude,a.latitude),point(#{par.longitude},#{par.latitude}))*111195,1)
</select> AS distance
FROM cb_linkage_unit a
<select id="listLinkageUnitZhDtoCount" resultType="Integer"> where a.longitude is not null and
select a.latitude is not null
COUNT(a.sequence_nbr) num <if test='par.distance!=null'>
FROM cb_linkage_unit a and
where a.longitude is not null and a.latitude is not null Round(st_distance(point(a.longitude,a.latitude),point(#{par.longitude},#{par.latitude}))*111195,1)
<if test='par.distance!=null'> &lt;=
and Round(st_distance(point(a.longitude,a.latitude),point(#{par.longitude},#{par.latitude}))*111195,1) &lt;= #{par.distance}
#{par.distance} </if>
</if> ORDER BY distance limit #{pageNum},#{pageSize}
</select> </select>
<select id="listLinkageUnitZhDtoCount" resultType="Integer">
select
COUNT(a.sequence_nbr) num
FROM cb_linkage_unit a
where a.longitude
is not null and a.latitude is not null
<if test='par.distance!=null'>
and
Round(st_distance(point(a.longitude,a.latitude),point(#{par.longitude},#{par.latitude}))*111195,1)
&lt;=
#{par.distance}
</if>
</select>
<select id="getEmergencyLinkageUnitCodeGroupByAndCount"
resultType="java.util.Map">
SELECT
emergency_linkage_unit_code as
emergencyLinkageUnitCode,
COUNT(unit_code) AS count
FROM
cb_linkage_unit
WHERE
is_delete = 0
GROUP BY
emergency_linkage_unit_code
</select>
<select id="getEmergencyLinkageUnitList"
resultType="java.util.Map">
SELECT
clu.sequence_nbr as sequenceNbr,
clu.unit_name as unitName,
clu.unit_code AS unitCode,
clu.parent_id AS parentId,
clu.linkage_unit_type AS linkageUnitType,
clu.linkage_unit_type_code AS linkageUnitTypeCode,
clu.administrative_divisions AS administrativeDivisions,
clu.administrative_divisions_code AS administrativeDivisionsCode,
clu.address AS address,
clu.longitude AS longitude,
clu.latitude AS latitude,
clu.agreement_start_date AS agreementStartDate,
clu.agreement_end_date AS agreementEndDate,
clu.emergency_linkage_unit AS emergencyLinkageUnit,
clu.emergency_linkage_unit_code AS emergencyLinkageUnitCode,
clu.contact_user AS contactUser,
clu.contact_phone AS contactPhone,
clu.instance_id AS instanceId,
clu.org_code AS orgCode,
clu.rec_user_name AS recUserName,
clu.rec_user_id AS recUserId,
clu.rec_date AS recDate,
clu.is_delete AS isDelete,
cre.vehicle_number AS vehicleNumber,
csps.person_number AS personNumber
FROM
cb_linkage_unit clu
LEFT JOIN cb_rescue_equipment cre ON clu.sequence_nbr = cre.company_id
LEFT JOIN cb_special_position_staff csps ON clu.sequence_nbr =
csps.company_id
WHERE clu.is_delete=0
<if test="unitName != null and unitName != ''">
AND clu.unit_name LIKE concat(#{unitName}, '%')
</if>
<if test="linkageUnitTypeCode != null and linkageUnitTypeCode != ''">
AND clu.linkage_unit_type_code =#{linkageUnitTypeCode}
</if>
<if test="emergencyLinkageUnitCode != null and emergencyLinkageUnitCode != ''">
AND clu.emergency_linkage_unit_code =#{emergencyLinkageUnitCode}
</if>
</select>
</mapper> </mapper>
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 io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController;
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 org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
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.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto; import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto;
import org.typroject.tyboot.core.restful.doc.TycloudOperation; import com.yeejoin.amos.boot.module.common.api.entity.LinkageUnit;
import org.typroject.tyboot.core.foundation.enumeration.UserType; import com.yeejoin.amos.boot.module.common.api.service.ILinkageUnitService;
import com.yeejoin.amos.boot.module.common.biz.service.impl.LinkageUnitServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
/** /**
...@@ -37,6 +41,9 @@ public class LinkageUnitController extends BaseController { ...@@ -37,6 +41,9 @@ public class LinkageUnitController extends BaseController {
@Autowired @Autowired
LinkageUnitServiceImpl linkageUnitServiceImpl; LinkageUnitServiceImpl linkageUnitServiceImpl;
@Autowired
ILinkageUnitService linkageUnitService;
/** /**
* 新增联动单位 * 新增联动单位
...@@ -116,20 +123,12 @@ public class LinkageUnitController extends BaseController { ...@@ -116,20 +123,12 @@ public class LinkageUnitController extends BaseController {
@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, String unitName, String linkageUnitType, String inAgreement, String emergencyLinkageUnitCode) { (value = "size") int size, String unitName, String linkageUnitTypeCode, String inAgreement, String emergencyLinkageUnitCode) {
Page<LinkageUnitDto> page = new Page<LinkageUnitDto>(); Page<LinkageUnitDto> page = new Page<LinkageUnitDto>();
page.setCurrent(current); page.setCurrent(current);
page.setSize(size); page.setSize(size);
Page<LinkageUnitDto> linkageUnitDtoPage = linkageUnitServiceImpl.queryForLinkageUnitPage(page, false, Page<LinkageUnitDto> linkageUnitDtoPage = linkageUnitServiceImpl.queryForLinkageUnitPage(page, false,
unitName, linkageUnitType, emergencyLinkageUnitCode); unitName, linkageUnitTypeCode, emergencyLinkageUnitCode,inAgreement);
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); return ResponseHelper.buildResponse(linkageUnitDtoPage);
} }
...@@ -144,4 +143,15 @@ public class LinkageUnitController extends BaseController { ...@@ -144,4 +143,15 @@ public class LinkageUnitController extends BaseController {
public ResponseModel<List<LinkageUnitDto>> selectForList() { public ResponseModel<List<LinkageUnitDto>> selectForList() {
return ResponseHelper.buildResponse(linkageUnitServiceImpl.queryForLinkageUnitList(false)); return ResponseHelper.buildResponse(linkageUnitServiceImpl.queryForLinkageUnitList(false));
} }
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "联动单位列表树及统计", notes = "联动单位列表树及统计")
@GetMapping(value = "/getLinkageUnitTree")
public ResponseModel<Object> getLinkageUnitTree(@RequestParam String type, @RequestParam String rootName) {
return ResponseHelper.buildResponse(linkageUnitService.getEmergencyLinkageUnitCodeGroupBy(type,rootName));
}
} }
package com.yeejoin.amos.boot.module.common.biz.service.impl; package com.yeejoin.amos.boot.module.common.biz.service.impl;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import org.apache.commons.lang3.StringUtils;
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.annotation.Condition;
import org.typroject.tyboot.core.rdbms.annotation.Operator;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.extension.plugins.pagination.Page;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.biz.common.utils.Menu;
import com.yeejoin.amos.boot.biz.common.utils.TreeParser; import com.yeejoin.amos.boot.biz.common.utils.TreeParser;
import com.yeejoin.amos.boot.module.common.api.dto.DutyCarDto; import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto;
import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitZhDto; import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitZhDto;
import com.yeejoin.amos.boot.module.common.api.dto.RequestData; import com.yeejoin.amos.boot.module.common.api.dto.RequestData;
import com.yeejoin.amos.boot.module.common.api.entity.DynamicFormColumn; 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.entity.LinkageUnit; import com.yeejoin.amos.boot.module.common.api.entity.LinkageUnit;
import com.yeejoin.amos.boot.module.common.api.entity.SourceFile; import com.yeejoin.amos.boot.module.common.api.entity.SourceFile;
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 org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
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.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Random;
/** /**
* 联动单位服务实现类 * 联动单位服务实现类
...@@ -40,183 +46,248 @@ import java.util.Random; ...@@ -40,183 +46,248 @@ import java.util.Random;
* @date 2021-07-16 * @date 2021-07-16
*/ */
@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; @Autowired
DynamicFormInstanceServiceImpl dynamicFormInstanceService;
@Resource
LinkageUnitMapper linkageUnitMapper; @Resource
@Autowired LinkageUnitMapper linkageUnitMapper;
DynamicFormColumnServiceImpl dynamicFormColumnService; @Autowired
@Autowired DynamicFormColumnServiceImpl dynamicFormColumnService;
SourceFileServiceImpl sourceFileServiceImpl; @Autowired
SourceFileServiceImpl sourceFileServiceImpl;
public String getGroupCode() {
return "linkageUnit"; @Autowired
} DataDictionaryServiceImpl iDataDictionaryService;
/** public String getGroupCode() {
* 分页查询 return "linkageUnit";
*/ }
@Override
public Page<LinkageUnitDto> queryForLinkageUnitPage(Page<LinkageUnitDto> page, /**
@Condition(Operator.eq) Boolean isDelete, * 分页查询
@Condition(Operator.like) String unitName, *
@Condition(Operator.eq) String linkageUnitType, * @param inAgreement
@Condition(Operator.eq) String emergencyLinkageUnitCode) { */
return this.queryForPage(page, null, false, isDelete, unitName, linkageUnitType, emergencyLinkageUnitCode); @Override
} public Page<LinkageUnitDto> queryForLinkageUnitPage(IPage<LinkageUnitDto> page,
@Condition(Operator.eq) Boolean isDelete, @Condition(Operator.like) String unitName,
/** @Condition(Operator.eq) String linkageUnitTypeCode, @Condition(Operator.eq) String emergencyLinkageUnitCode,
* 列表查询 示例 String inAgreement) {
*/ Page<List<LinkageUnitDto>> linkageUnitList = linkageUnitMapper.getEmergencyLinkageUnitList(page,unitName, linkageUnitTypeCode, emergencyLinkageUnitCode);
public List<LinkageUnitDto> queryForLinkageUnitList(@Condition(Operator.eq) Boolean isDelete) { List<Map> linkageUnitListMap =JSONArray.parseArray(JSONArray.toJSONString(linkageUnitList.getRecords()), Map.class);
return this.queryForList("", false, isDelete);
} List<Map<String, Object>> pageList = dynamicFormInstanceService.listAll(getGroupCode());
linkageUnitListMap.forEach(i -> {
/** String mainString = i.get("instanceId").toString();
* 保存联动单位 pageList.stream().forEach(detail -> {
* if (detail.get("instanceId").toString().equals(mainString)) {
* @param linkageUnitDto 对象 i.putAll(detail);
* @return List<LinkageUnitDto> }
*/ });
@Transactional });
public LinkageUnitDto saveModel(LinkageUnitDto linkageUnitDto) { List<LinkageUnitDto> resultDtoList = JSONArray.parseArray(JSONArray.toJSONString(linkageUnitList.getRecords()),
LinkageUnitDto.class);
List<LinkageUnitDto> detaiList = resultDtoList.stream().map(item -> {
Date now = new Date();
if(linkageUnitDto.getAddress()!=null){ boolean isInAgreement = DateUtils.belongCalendar(now, item.getAgreementStartDate(),
String[] data= linkageUnitDto.getAddress().split("@address@"); item.getAgreementEndDate());
item.setInAgreement(isInAgreement ? "是" : "否");
List<SourceFile> sourceFiles = sourceFileServiceImpl.findBySourceId(item.getSequenceNbr());
item.setImage(sourceFiles);
return item;
}).filter(item -> StringUtils.isEmpty(inAgreement) || inAgreement.equals(item.getInAgreement()))
.collect(Collectors.toList());
Page<LinkageUnitDto> page1 = new Page<LinkageUnitDto>();
page1.setCurrent(page.getCurrent());
page1.setSize(page.getSize());
page1.setTotal(detaiList.size());
page1.setRecords(detaiList);
return page1;
}
/**
* 列表查询 示例
*/
public List<LinkageUnitDto> queryForLinkageUnitList(@Condition(Operator.eq) Boolean isDelete) {
return this.queryForList("", false, isDelete);
}
/**
* 保存联动单位
*
* @param linkageUnitDto 对象
* @return List<LinkageUnitDto>
*/
@Transactional
public LinkageUnitDto saveModel(LinkageUnitDto linkageUnitDto) {
if (linkageUnitDto.getAddress() != null) {
String[] data = linkageUnitDto.getAddress().split("@address@");
linkageUnitDto.setAddress(data[0]); linkageUnitDto.setAddress(data[0]);
if(data[1]!=null&&!"".equals(data[1])){ if (data[1] != null && !"".equals(data[1])) {
JSONObject jSONObject = JSON.parseObject(data[1]); JSONObject jSONObject = JSON.parseObject(data[1]);
if(jSONObject.getString("longitude")!=null&&!"".equals(jSONObject.getString("longitude"))) { if (jSONObject.getString("longitude") != null && !"".equals(jSONObject.getString("longitude"))) {
linkageUnitDto.setLongitude(Double.valueOf(jSONObject.getString("longitude"))); linkageUnitDto.setLongitude(Double.valueOf(jSONObject.getString("longitude")));
} }
if(jSONObject.getString("longitude")!=null&&!"".equals(jSONObject.getString("longitude"))) { if (jSONObject.getString("longitude") != null && !"".equals(jSONObject.getString("longitude"))) {
linkageUnitDto.setLatitude(Double.valueOf(jSONObject.getString("latitude"))); linkageUnitDto.setLatitude(Double.valueOf(jSONObject.getString("latitude")));
} }
} }
} }
//1.保存行数据 // 1.保存行数据
String groupCode = this.getGroupCode(); String groupCode = this.getGroupCode();
Map<String, Object> map = Bean.BeantoMap(linkageUnitDto); Map<String, Object> map = Bean.BeantoMap(linkageUnitDto);
Long instanceId = dynamicFormInstanceService.commonSave(groupCode, map); Long instanceId = dynamicFormInstanceService.commonSave(groupCode, map);
linkageUnitDto.setInstanceId(instanceId); linkageUnitDto.setInstanceId(instanceId);
//2.保存基本信息 // 2.保存基本信息
linkageUnitDto.setUnitCode(getUnitCodeStr()); linkageUnitDto.setUnitCode(getUnitCodeStr());
LinkageUnitDto model = createWithModel(linkageUnitDto); LinkageUnitDto model = createWithModel(linkageUnitDto);
//3.保存照片信息 // 3.保存照片信息
sourceFileServiceImpl.saveSourceFile(model.getSequenceNbr(), model.getImage()); sourceFileServiceImpl.saveSourceFile(model.getSequenceNbr(), model.getImage());
//3.返回保存后的数据 // 3.返回保存后的数据
return model; return model;
} }
@Override @Override
public LinkageUnitDto queryOne(Long sequenceNbr) { public LinkageUnitDto queryOne(Long sequenceNbr) {
String groupCode = getGroupCode(); String groupCode = getGroupCode();
List<DynamicFormColumn> columns = List<DynamicFormColumn> columns = dynamicFormColumnService
dynamicFormColumnService.list(new LambdaQueryWrapper<DynamicFormColumn>().eq(DynamicFormColumn::getGroupCode, groupCode)); .list(new LambdaQueryWrapper<DynamicFormColumn>().eq(DynamicFormColumn::getGroupCode, groupCode));
Map<String, Object> fieldCodes = Bean.listToMap(columns, "fieldCode", "queryStrategy", DynamicFormColumn.class); Map<String, Object> fieldCodes = Bean.listToMap(columns, "fieldCode", "queryStrategy", DynamicFormColumn.class);
LinkageUnitDto linkageUnitDto = linkageUnitMapper.selectOne(false, fieldCodes, groupCode, sequenceNbr); LinkageUnitDto linkageUnitDto = linkageUnitMapper.selectOne(false, fieldCodes, groupCode, sequenceNbr);
List<SourceFile> sourceFiles = sourceFileServiceImpl.findBySourceId(linkageUnitDto.getSequenceNbr()); List<SourceFile> sourceFiles = sourceFileServiceImpl.findBySourceId(linkageUnitDto.getSequenceNbr());
linkageUnitDto.setImage(sourceFiles); linkageUnitDto.setImage(sourceFiles);
return linkageUnitDto; return linkageUnitDto;
} }
@Transactional @Transactional
public Boolean deleteById(Long sequenceNbr) { public Boolean deleteById(Long sequenceNbr) {
// 删除基本信息 // 删除基本信息
LinkageUnit linkageUnit = getById(sequenceNbr); LinkageUnit linkageUnit = getById(sequenceNbr);
linkageUnit.setIsDelete(true); linkageUnit.setIsDelete(true);
updateById(linkageUnit); updateById(linkageUnit);
// 删除行 // 删除行
Long instanceId = linkageUnit.getInstanceId(); Long instanceId = linkageUnit.getInstanceId();
List<DynamicFormInstance> dynamicFormInstanceList = List<DynamicFormInstance> dynamicFormInstanceList = dynamicFormInstanceService
dynamicFormInstanceService.list(new LambdaQueryWrapper<DynamicFormInstance>().eq(DynamicFormInstance::getInstanceId, instanceId)); .list(new LambdaQueryWrapper<DynamicFormInstance>().eq(DynamicFormInstance::getInstanceId, instanceId));
dynamicFormInstanceList.forEach(item -> item.setIsDelete(true)); dynamicFormInstanceList.forEach(item -> item.setIsDelete(true));
boolean update = dynamicFormInstanceService.updateBatchById(dynamicFormInstanceList); boolean update = dynamicFormInstanceService.updateBatchById(dynamicFormInstanceList);
// 删除照片 // 删除照片
sourceFileServiceImpl.saveSourceFile(sequenceNbr, new ArrayList<>()); sourceFileServiceImpl.saveSourceFile(sequenceNbr, new ArrayList<>());
return update; return update;
} }
@Transactional @Transactional
public LinkageUnitDto updateById(LinkageUnitDto linkageUnitDto) { public LinkageUnitDto updateById(LinkageUnitDto linkageUnitDto) {
if(linkageUnitDto.getAddress()!=null){ if (linkageUnitDto.getAddress() != null) {
String[] data= linkageUnitDto.getAddress().split("@address@"); String[] data = linkageUnitDto.getAddress().split("@address@");
linkageUnitDto.setAddress(data[0]); linkageUnitDto.setAddress(data[0]);
if(data[1]!=null&&!"".equals(data[1])){ if (data[1] != null && !"".equals(data[1])) {
JSONObject jSONObject = JSON.parseObject(data[1]); JSONObject jSONObject = JSON.parseObject(data[1]);
if(jSONObject.getString("longitude")!=null&&!"".equals(jSONObject.getString("longitude"))) { if (jSONObject.getString("longitude") != null && !"".equals(jSONObject.getString("longitude"))) {
linkageUnitDto.setLongitude(Double.valueOf(jSONObject.getString("longitude"))); linkageUnitDto.setLongitude(Double.valueOf(jSONObject.getString("longitude")));
} }
if(jSONObject.getString("longitude")!=null&&!"".equals(jSONObject.getString("longitude"))) { if (jSONObject.getString("longitude") != null && !"".equals(jSONObject.getString("longitude"))) {
linkageUnitDto.setLatitude(Double.valueOf(jSONObject.getString("latitude"))); linkageUnitDto.setLatitude(Double.valueOf(jSONObject.getString("latitude")));
} }
} }
} }
// 修改基本信息 // 修改基本信息
updateWithModel(linkageUnitDto); updateWithModel(linkageUnitDto);
// 修改行信息 // 修改行信息
Long instanceId = linkageUnitDto.getInstanceId(); Long instanceId = linkageUnitDto.getInstanceId();
List<DynamicFormInstance> dynamicFormInstanceList = List<DynamicFormInstance> dynamicFormInstanceList = dynamicFormInstanceService
dynamicFormInstanceService.list(new LambdaQueryWrapper<DynamicFormInstance>().eq(DynamicFormInstance::getInstanceId, instanceId)); .list(new LambdaQueryWrapper<DynamicFormInstance>().eq(DynamicFormInstance::getInstanceId, instanceId));
Map<String, Object> objectMap = Bean.BeantoMap(linkageUnitDto); Map<String, Object> objectMap = Bean.BeantoMap(linkageUnitDto);
dynamicFormInstanceList.forEach(item -> item.setFieldValue(objectMap.get(item.getFieldCode()) != null ? dynamicFormInstanceList.forEach(item -> item.setFieldValue(
objectMap.get(item.getFieldCode()).toString() : item.getFieldValue())); objectMap.get(item.getFieldCode()) != null ? objectMap.get(item.getFieldCode()).toString()
dynamicFormInstanceService.updateBatchById(dynamicFormInstanceList); : item.getFieldValue()));
// 修改照片信息 dynamicFormInstanceService.updateBatchById(dynamicFormInstanceList);
sourceFileServiceImpl.saveSourceFile(linkageUnitDto.getSequenceNbr(), linkageUnitDto.getImage()); // 修改照片信息
return linkageUnitDto; sourceFileServiceImpl.saveSourceFile(linkageUnitDto.getSequenceNbr(), linkageUnitDto.getImage());
} return linkageUnitDto;
}
public static String getUnitCodeStr() {
return TreeParser.genTreeCode(); public static String getUnitCodeStr() {
} return TreeParser.genTreeCode();
}
@Override
public List<LinkageUnitZhDto> listLinkageUnitZhDto(Integer pageNum, Integer pageSize, RequestData par) { @Override
if (null == pageNum || null == pageSize) { public List<LinkageUnitZhDto> listLinkageUnitZhDto(Integer pageNum, Integer pageSize, RequestData par) {
pageNum = 1; if (null == pageNum || null == pageSize) {
pageSize = Integer.MAX_VALUE; pageNum = 1;
} else { pageSize = Integer.MAX_VALUE;
pageNum = (pageNum - 1) * pageSize; } else {
} pageNum = (pageNum - 1) * pageSize;
return linkageUnitMapper.listLinkageUnitZhDto(pageNum, pageSize, par); }
} return linkageUnitMapper.listLinkageUnitZhDto(pageNum, pageSize, par);
}
@Override
public Integer listLinkageUnitZhDtoCount(RequestData par) { @Override
return linkageUnitMapper.listLinkageUnitZhDtoCount(par); public Integer listLinkageUnitZhDtoCount(RequestData par) {
} return linkageUnitMapper.listLinkageUnitZhDtoCount(par);
}
/**
* 批量删除 /**
* * 批量删除
* @param sequenceNbrList *
* @return * @param sequenceNbrList
*/ * @return
public Boolean batchDelete(List<Long> sequenceNbrList) { */
// 删除基本信息 public Boolean batchDelete(List<Long> sequenceNbrList) {
List<LinkageUnit> linkageUnitList = list(new LambdaQueryWrapper<LinkageUnit>().in(LinkageUnit::getSequenceNbr, // 删除基本信息
sequenceNbrList)); List<LinkageUnit> linkageUnitList = list(
List<Long> instanceIdList = Lists.newArrayList(); new LambdaQueryWrapper<LinkageUnit>().in(LinkageUnit::getSequenceNbr, sequenceNbrList));
linkageUnitList.forEach(item -> { List<Long> instanceIdList = Lists.newArrayList();
instanceIdList.add(item.getInstanceId()); linkageUnitList.forEach(item -> {
item.setIsDelete(true); instanceIdList.add(item.getInstanceId());
}); item.setIsDelete(true);
updateBatchById(linkageUnitList); });
// 删除行信息 updateBatchById(linkageUnitList);
List<DynamicFormInstance> dynamicFormInstanceList = // 删除行信息
dynamicFormInstanceService.list(new LambdaQueryWrapper<DynamicFormInstance>().in(DynamicFormInstance::getInstanceId, instanceIdList)); List<DynamicFormInstance> dynamicFormInstanceList = dynamicFormInstanceService.list(
dynamicFormInstanceList.forEach(item -> item.setIsDelete(true)); new LambdaQueryWrapper<DynamicFormInstance>().in(DynamicFormInstance::getInstanceId, instanceIdList));
boolean update = dynamicFormInstanceService.updateBatchById(dynamicFormInstanceList); dynamicFormInstanceList.forEach(item -> item.setIsDelete(true));
// 删除照片 boolean update = dynamicFormInstanceService.updateBatchById(dynamicFormInstanceList);
sourceFileServiceImpl.getBaseMapper().delete(new LambdaQueryWrapper<SourceFile>().in(SourceFile::getSourceId, // 删除照片
sequenceNbrList)); sourceFileServiceImpl.getBaseMapper()
return update; .delete(new LambdaQueryWrapper<SourceFile>().in(SourceFile::getSourceId, sequenceNbrList));
} return update;
}
public List<Menu> getEmergencyLinkageUnitCodeGroupBy(String type, String rootName) {
List<Map<String, Object>> map = linkageUnitMapper.getEmergencyLinkageUnitCodeGroupByAndCount();
LambdaQueryWrapper<DataDictionary> queryWrapper = new LambdaQueryWrapper<DataDictionary>();
queryWrapper.eq(DataDictionary::getType, type);
queryWrapper.eq(DataDictionary::getIsDelete, false);
queryWrapper.orderByAsc(DataDictionary::getSortNum);
List<DataDictionary> list = iDataDictionaryService.list(queryWrapper);
List<DataDictionary> resultList = new ArrayList<DataDictionary>();
list.stream().forEach(i -> {
map.stream().forEach(m -> {
if (m.containsKey("emergencyLinkageUnitCode") && m.get("emergencyLinkageUnitCode").toString().equals(i.getCode())) {
i.setName(i.getName() + " " + m.get("count"));
resultList.add(i);
}
});
});
List<Menu> menuList = new ArrayList<Menu>();
try {
List<Menu> menus = TreeParser.getTree(null, resultList, DataDictionary.class.getName(), "getCode", 0, "getName",
"getParent", null);
Menu menu = new Menu(-1L, rootName, -1L, menus, 0);
// 挂在主节点
menuList.add(menu);
} catch (Exception e) {
log.debug("拼装tree树失败");
}
return menuList;
}
} }
\ No newline at end of file
package com.yeejoin.amos.patrol.common.remote; package com.yeejoin.amos.patrol.common.remote;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.yeejoin.amos.patrol.business.constants.XJConstant; import com.yeejoin.amos.patrol.business.constants.XJConstant;
import com.yeejoin.amos.patrol.business.param.LatentDangerListParam;
import com.yeejoin.amos.patrol.business.util.HttpUtil; import com.yeejoin.amos.patrol.business.util.HttpUtil;
import com.yeejoin.amos.patrol.common.enums.WorkFlowUriEnum; import com.yeejoin.amos.patrol.common.enums.WorkFlowUriEnum;
import com.yeejoin.amos.patrol.common.enums.YesOrNoEnum; import com.yeejoin.amos.patrol.common.enums.YesOrNoEnum;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import java.util.Map;
@Service("remoteWorkFlowService") @Service("remoteWorkFlowService")
public class RemoteWorkFlowService { public class RemoteWorkFlowService {
......
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