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;
/** /**
* 联动单位 * 联动单位
* *
...@@ -99,4 +101,9 @@ public class LinkageUnitDto extends BaseDto { ...@@ -99,4 +101,9 @@ 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);
...@@ -34,10 +37,16 @@ public interface ILinkageUnitService { ...@@ -34,10 +37,16 @@ public interface ILinkageUnitService {
* @param emergencyLinkageUnitCode 紧急联动单位类型code * @param emergencyLinkageUnitCode 紧急联动单位类型code
* @return * @return
*/ */
Page<LinkageUnitDto> queryForLinkageUnitPage(Page<LinkageUnitDto> page, Page<LinkageUnitDto> queryForLinkageUnitPage(IPage<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 linkageUnitType, @Condition(Operator.eq) String linkageUnitTypeCode,
@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 id="selectOne"
resultType="com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto">
select select
d.*, d.*,
lu.* lu.*
...@@ -9,14 +11,18 @@ ...@@ -9,14 +11,18 @@
( (
select select
i.INSTANCE_ID instanceId, i.INSTANCE_ID instanceId,
i.GROUP_CODE groupCode, i.GROUP_CODE
<foreach collection="fieldCodes" item="value" index="key" separator=","> groupCode,
MAX(CASE WHEN i.FIELD_CODE = #{key} THEN i.FIELD_VALUE END) as ${key} <foreach collection="fieldCodes" item="value" index="key"
separator=",">
MAX(CASE WHEN i.FIELD_CODE = #{key} THEN i.FIELD_VALUE END)
as ${key}
</foreach> </foreach>
from from
cb_dynamic_form_instance i cb_dynamic_form_instance i
where i.GROUP_CODE = #{groupCode} where i.GROUP_CODE = #{groupCode}
and is_delete = #{isDelete} and
is_delete = #{isDelete}
GROUP by GROUP by
i.INSTANCE_ID ) d, i.INSTANCE_ID ) d,
cb_linkage_unit lu cb_linkage_unit lu
...@@ -29,7 +35,8 @@ ...@@ -29,7 +35,8 @@
<select id="listLinkageUnitZhDto" resultType="com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitZhDto"> <select id="listLinkageUnitZhDto"
resultType="com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitZhDto">
select select
a.sequence_nbr sequenceNbr, a.sequence_nbr sequenceNbr,
...@@ -37,11 +44,15 @@ ...@@ -37,11 +44,15 @@
a.address, a.address,
a.latitude, a.latitude,
a.longitude, a.longitude,
Round(st_distance(point(a.longitude,a.latitude),point(#{par.longitude},#{par.latitude}))*111195,1) AS distance Round(st_distance(point(a.longitude,a.latitude),point(#{par.longitude},#{par.latitude}))*111195,1)
AS distance
FROM cb_linkage_unit a FROM cb_linkage_unit a
where a.longitude is not null and a.latitude is not null where a.longitude is not null and
a.latitude is not null
<if test='par.distance!=null'> <if test='par.distance!=null'>
and Round(st_distance(point(a.longitude,a.latitude),point(#{par.longitude},#{par.latitude}))*111195,1) &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} ORDER BY distance limit #{pageNum},#{pageSize}
...@@ -51,10 +62,75 @@ ...@@ -51,10 +62,75 @@
select select
COUNT(a.sequence_nbr) num COUNT(a.sequence_nbr) num
FROM cb_linkage_unit a FROM cb_linkage_unit a
where a.longitude is not null and a.latitude is not null where a.longitude
is not null and a.latitude is not null
<if test='par.distance!=null'> <if test='par.distance!=null'>
and Round(st_distance(point(a.longitude,a.latitude),point(#{par.longitude},#{par.latitude}))*111195,1) &lt;= and
Round(st_distance(point(a.longitude,a.latitude),point(#{par.longitude},#{par.latitude}))*111195,1)
&lt;=
#{par.distance} #{par.distance}
</if> </if>
</select> </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;
/** /**
...@@ -38,6 +42,9 @@ public class LinkageUnitController extends BaseController { ...@@ -38,6 +42,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,7 +46,8 @@ import java.util.Random; ...@@ -40,7 +46,8 @@ 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 @Autowired
DynamicFormInstanceServiceImpl dynamicFormInstanceService; DynamicFormInstanceServiceImpl dynamicFormInstanceService;
...@@ -52,20 +59,54 @@ public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageU ...@@ -52,20 +59,54 @@ public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageU
@Autowired @Autowired
SourceFileServiceImpl sourceFileServiceImpl; SourceFileServiceImpl sourceFileServiceImpl;
@Autowired
DataDictionaryServiceImpl iDataDictionaryService;
public String getGroupCode() { public String getGroupCode() {
return "linkageUnit"; return "linkageUnit";
} }
/** /**
* 分页查询 * 分页查询
*
* @param inAgreement
*/ */
@Override @Override
public Page<LinkageUnitDto> queryForLinkageUnitPage(Page<LinkageUnitDto> page, public Page<LinkageUnitDto> queryForLinkageUnitPage(IPage<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 emergencyLinkageUnitCode,
@Condition(Operator.eq) String linkageUnitType, String inAgreement) {
@Condition(Operator.eq) String emergencyLinkageUnitCode) { Page<List<LinkageUnitDto>> linkageUnitList = linkageUnitMapper.getEmergencyLinkageUnitList(page,unitName, linkageUnitTypeCode, emergencyLinkageUnitCode);
return this.queryForPage(page, null, false, isDelete, unitName, linkageUnitType, emergencyLinkageUnitCode); List<Map> linkageUnitListMap =JSONArray.parseArray(JSONArray.toJSONString(linkageUnitList.getRecords()), Map.class);
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)) {
i.putAll(detail);
}
});
});
List<LinkageUnitDto> resultDtoList = JSONArray.parseArray(JSONArray.toJSONString(linkageUnitList.getRecords()),
LinkageUnitDto.class);
List<LinkageUnitDto> detaiList = resultDtoList.stream().map(item -> {
Date now = new Date();
boolean isInAgreement = DateUtils.belongCalendar(now, item.getAgreementStartDate(),
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;
} }
/** /**
...@@ -84,40 +125,38 @@ public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageU ...@@ -84,40 +125,38 @@ public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageU
@Transactional @Transactional
public LinkageUnitDto saveModel(LinkageUnitDto linkageUnitDto) { public LinkageUnitDto saveModel(LinkageUnitDto linkageUnitDto) {
if (linkageUnitDto.getAddress() != null) {
String[] data = linkageUnitDto.getAddress().split("@address@");
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());
...@@ -133,8 +172,8 @@ public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageU ...@@ -133,8 +172,8 @@ public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageU
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);
// 删除照片 // 删除照片
...@@ -145,15 +184,15 @@ public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageU ...@@ -145,15 +184,15 @@ public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageU
@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")));
} }
} }
...@@ -162,11 +201,12 @@ public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageU ...@@ -162,11 +201,12 @@ public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageU
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()
: item.getFieldValue()));
dynamicFormInstanceService.updateBatchById(dynamicFormInstanceList); dynamicFormInstanceService.updateBatchById(dynamicFormInstanceList);
// 修改照片信息 // 修改照片信息
sourceFileServiceImpl.saveSourceFile(linkageUnitDto.getSequenceNbr(), linkageUnitDto.getImage()); sourceFileServiceImpl.saveSourceFile(linkageUnitDto.getSequenceNbr(), linkageUnitDto.getImage());
...@@ -201,8 +241,8 @@ public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageU ...@@ -201,8 +241,8 @@ public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageU
*/ */
public Boolean batchDelete(List<Long> sequenceNbrList) { public Boolean batchDelete(List<Long> sequenceNbrList) {
// 删除基本信息 // 删除基本信息
List<LinkageUnit> linkageUnitList = list(new LambdaQueryWrapper<LinkageUnit>().in(LinkageUnit::getSequenceNbr, List<LinkageUnit> linkageUnitList = list(
sequenceNbrList)); new LambdaQueryWrapper<LinkageUnit>().in(LinkageUnit::getSequenceNbr, sequenceNbrList));
List<Long> instanceIdList = Lists.newArrayList(); List<Long> instanceIdList = Lists.newArrayList();
linkageUnitList.forEach(item -> { linkageUnitList.forEach(item -> {
instanceIdList.add(item.getInstanceId()); instanceIdList.add(item.getInstanceId());
...@@ -210,13 +250,44 @@ public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageU ...@@ -210,13 +250,44 @@ public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageU
}); });
updateBatchById(linkageUnitList); updateBatchById(linkageUnitList);
// 删除行信息 // 删除行信息
List<DynamicFormInstance> dynamicFormInstanceList = List<DynamicFormInstance> dynamicFormInstanceList = dynamicFormInstanceService.list(
dynamicFormInstanceService.list(new LambdaQueryWrapper<DynamicFormInstance>().in(DynamicFormInstance::getInstanceId, instanceIdList)); new LambdaQueryWrapper<DynamicFormInstance>().in(DynamicFormInstance::getInstanceId, instanceIdList));
dynamicFormInstanceList.forEach(item -> item.setIsDelete(true)); dynamicFormInstanceList.forEach(item -> item.setIsDelete(true));
boolean update = dynamicFormInstanceService.updateBatchById(dynamicFormInstanceList); boolean update = dynamicFormInstanceService.updateBatchById(dynamicFormInstanceList);
// 删除照片 // 删除照片
sourceFileServiceImpl.getBaseMapper().delete(new LambdaQueryWrapper<SourceFile>().in(SourceFile::getSourceId, sourceFileServiceImpl.getBaseMapper()
sequenceNbrList)); .delete(new LambdaQueryWrapper<SourceFile>().in(SourceFile::getSourceId, sequenceNbrList));
return update; 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