Commit 3f428011 authored by H2T's avatar H2T

监管维保接口修改

parent 2bab2a51
package com.yeejoin.amos.boot.module.jg.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jg.api.dto.JgMaintenanceContractDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContract;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* Mapper 接口
* Mapper 接口
*
* @author system_generator
* @date 2023-12-12
*/
public interface JgMaintenanceContractMapper extends BaseMapper<JgMaintenanceContract> {
Page<JgMaintenanceContractDto> getContractList(@Param("page")Page<JgMaintenanceContract> page,
@Param("contractDto") JgMaintenanceContractDto contractDto);
Page<JgMaintenanceContractDto> getContractList(@Param("page") Page<JgMaintenanceContract> page, @Param("contractDto") JgMaintenanceContractDto contractDto);
Boolean updateBySequenceNbr(@Param("dto") JgMaintenanceContractDto dto);
JgMaintenanceContractDto queryBySequenceNbr(@Param("sequenceNbr") Long sequenceNbr);
Boolean deleteForBatch(@Param("ids") List<Long> ids);
}
......@@ -82,6 +82,13 @@
</set>
WHERE tjmc.sequence_nbr = #{dto.sequenceNbr}
</update>
<delete id="deleteForBatch">
delete from amos_tzs_biz.tzs_jg_maintenance_contract tjmc
WHERE tjmc.sequence_nbr in
<foreach collection="ids" separator="," item="id" open="(" close=")">
#{id}
</foreach>
</delete>
<select id="getContractList" resultType="com.yeejoin.amos.boot.module.jg.api.dto.JgMaintenanceContractDto">
SELECT
......@@ -96,8 +103,8 @@
receive_org_name,
maintenance_unit_id,
maintenance_unit_name,
inform_start,
inform_end,
date_format(inform_start,'%Y-%m-%d') informStart,
date_format(inform_end,'%Y-%m-%d') informEnd,
maintenance_manager_id,
maintenance_manager_card_no,
emergency_call,
......@@ -136,6 +143,7 @@
resultType="com.yeejoin.amos.boot.module.jg.api.dto.JgMaintenanceContractDto">
select *
from amos_tzs_biz.tzs_jg_maintenance_contract
where is_delete = 0 and sequence_nbr = #{sequenceNbr}
where is_delete = 0
and sequence_nbr = #{sequenceNbr}
</select>
</mapper>
package com.yeejoin.amos.boot.module.jg.biz.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.jg.api.dto.JgMaintenanceContractDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContract;
......@@ -37,11 +37,11 @@ public class JgMaintenanceContractController extends BaseController {
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/batchSave")
@PostMapping(value = "/batchSaveOrUpdate")
@ApiOperation(httpMethod = "POST", value = "批量新增维保合同备案", notes = "批量新增维保合同备案")
public ResponseModel<Object> save(@RequestBody JgMaintenanceContractDto model,
List<Integer> equipmentLists) {
return ResponseHelper.buildResponse(jgMaintenanceContractServiceImpl.batchSave(model, equipmentLists));
public ResponseModel<Object> save(@RequestBody JgMaintenanceContractDto model, List<Integer> equipmentLists) {
ReginParams reginParams = getSelectedOrgInfo();
return ResponseHelper.buildResponse(jgMaintenanceContractServiceImpl.batchSaveOrUpdate(model, equipmentLists, reginParams));
}
/**
......@@ -50,11 +50,10 @@ public class JgMaintenanceContractController extends BaseController {
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新维保合同备案", notes = "根据sequenceNbr更新维保合同备案")
public ResponseModel<Object> updateBySequenceNbrJgMaintenanceContract(@RequestBody JgMaintenanceContractDto dto,
@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@PostMapping(value = "/update")
@ApiOperation(httpMethod = "POST", value = "根据sequenceNbr更新维保合同备案", notes = "根据sequenceNbr更新维保合同备案")
public ResponseModel<Object> updateBySequenceNbrJgMaintenanceContract(@RequestBody JgMaintenanceContractDto dto, @RequestParam("sequenceNbr") Long sequenceNbr) {
dto.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(jgMaintenanceContractServiceImpl.updateBySequenceNbr(dto));
}
......@@ -66,9 +65,9 @@ public class JgMaintenanceContractController extends BaseController {
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/{sequenceNbr}")
@DeleteMapping(value = "/delete")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除维保合同备案", notes = "根据sequenceNbr删除维保合同备案")
public ResponseModel<Boolean> deleteBySequenceNbr(@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
public ResponseModel<Boolean> deleteBySequenceNbr(@RequestParam("sequenceNbr") Long sequenceNbr) {
JgMaintenanceContractDto jgMaintenanceContractDto = new JgMaintenanceContractDto();
jgMaintenanceContractDto.setSequenceNbr(sequenceNbr);
jgMaintenanceContractDto.setIsDelete(true);
......@@ -76,6 +75,18 @@ public class JgMaintenanceContractController extends BaseController {
}
/**
* 根据sequenceNbr批量删除
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "根据sequenceNbr删除维保合同备案", notes = "根据sequenceNbr删除维保合同备案")
@RequestMapping(value = "/batchDelete", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
public ResponseModel<Boolean> deleteForBatch(Long[] ids) {
return ResponseHelper.buildResponse(jgMaintenanceContractServiceImpl.deleteForBatch(ids));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
......@@ -98,13 +109,12 @@ public class JgMaintenanceContractController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET", value = "维保合同备案分页查询", notes = "分页查询维保合同备案")
public ResponseModel<Page<JgMaintenanceContractDto>> queryForPage(@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size,
JgMaintenanceContractDto maintenanceContractDto) {
public ResponseModel<Page<JgMaintenanceContractDto>> queryForPage(@RequestParam(value = "current") int current, @RequestParam(value = "size") int size, @RequestParam(value = "phase") int phase, JgMaintenanceContractDto maintenanceContractDto) {
Page<JgMaintenanceContract> page = new Page<>();
page.setCurrent(current);
page.setSize(size);
Page<JgMaintenanceContractDto> contractDtoPage = jgMaintenanceContractServiceImpl.queryForPage(page, maintenanceContractDto);
ReginParams reginParams = getSelectedOrgInfo();
Page<JgMaintenanceContractDto> contractDtoPage = jgMaintenanceContractServiceImpl.queryForPage(page, phase, maintenanceContractDto, reginParams);
return ResponseHelper.buildResponse(contractDtoPage);
}
......@@ -119,4 +129,5 @@ public class JgMaintenanceContractController extends BaseController {
public ResponseModel<List<JgMaintenanceContractDto>> selectForList() {
return ResponseHelper.buildResponse(jgMaintenanceContractServiceImpl.queryForJgMaintenanceContractList());
}
}
package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.module.jg.api.dto.JgMaintenanceContractDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContract;
import com.yeejoin.amos.boot.module.jg.api.entity.JgRelationEquip;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.MaintenanceEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgMaintenanceContractMapper;
import com.yeejoin.amos.boot.module.jg.api.service.IJgMaintenanceContractService;
import com.yeejoin.amos.boot.module.jg.api.dto.JgMaintenanceContractDto;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.DictionarieValueModel;
import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.transaction.annotation.Transactional;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
......@@ -20,51 +36,104 @@ import java.util.stream.Collectors;
* @date 2023-12-12
*/
@Service
public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceContractDto,JgMaintenanceContract,JgMaintenanceContractMapper> implements IJgMaintenanceContractService {
public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceContractDto, JgMaintenanceContract, JgMaintenanceContractMapper> implements IJgMaintenanceContractService {
private static final String HANDLING_STATUS_DICTIONARY = "JGGZZZ";
@Autowired
RestHighLevelClient restHighLevelClient;
@Autowired
private JgMaintenanceContractMapper maintenanceContractMapper;
@Autowired
private JgRelationEquipServiceImpl jgRelationEquipServiceImpl;
@Autowired
private DataDictionaryServiceImpl iDataDictionaryService;
/**
* 监管-根据字典type,code获取字典值
*/
private DataDictionary getDict(String dictType,String dictCode) {
HashMap<String, String> dictMap = new HashMap<>();
LambdaQueryWrapper<DataDictionary> queryWrapper = new LambdaQueryWrapper<DataDictionary>()
.eq(DataDictionary::getType,dictType)
.eq(DataDictionary::getCode, dictCode);
return iDataDictionaryService.getOne(queryWrapper);
}
/**
* 分页查询
*/
public Page<JgMaintenanceContractDto> queryForPage(Page<JgMaintenanceContract> page,JgMaintenanceContractDto dto) {
return maintenanceContractMapper.getContractList(page, dto);
public Page<JgMaintenanceContractDto> queryForPage(Page<JgMaintenanceContract> page, int phase, JgMaintenanceContractDto dto, ReginParams reginParams) {
Page<JgMaintenanceContractDto> contractList = new Page<>();
if (MaintenanceEnum.SHIYONG.getCode().equals(phase)) {
//使用单位用"使用单位id"匹配数据
// TODO
contractList = maintenanceContractMapper.getContractList(page, dto);
} else if (MaintenanceEnum.WEIBAO.getCode().equals(phase)) {
//维保单位用"维保单位id"匹配数据
// TODO
contractList = maintenanceContractMapper.getContractList(page, dto);
} else if (MaintenanceEnum.JIANGUAN.getCode().equals(phase)) {
//监管单位用""
// TODO
contractList = maintenanceContractMapper.getContractList(page, dto);
}
return contractList;
}
/**
* 根据sequenceNbr查询数据
*/
public JgMaintenanceContractDto queryBySequenceNbr(Long sequenceNbr) {
return maintenanceContractMapper.queryBySequenceNbr(sequenceNbr);
public JgMaintenanceContractDto queryBySequenceNbr(Long sequenceNbr) {
JgMaintenanceContractDto contractDto = maintenanceContractMapper.queryBySequenceNbr(sequenceNbr);
String code = contractDto.getStatus().split("-")[1];
DataDictionary dict = getDict(HANDLING_STATUS_DICTIONARY, code);
contractDto.setStatus(dict.getName());
return contractDto;
}
/**
* 根据sequenceNbr更新数据
*
* @param dto
* @return
*/
public Boolean updateBySequenceNbr(JgMaintenanceContractDto dto){
public Boolean updateBySequenceNbr(JgMaintenanceContractDto dto) {
return maintenanceContractMapper.updateBySequenceNbr(dto);
}
/**
* 批量删除
*/
public Boolean deleteForBatch(Long[] ids) {
return maintenanceContractMapper.deleteForBatch(Arrays.asList(ids));
}
/**
* 根据设备批量插入
* @param dto
* @param lists
*/
public Boolean batchSave(JgMaintenanceContractDto dto,List<Integer> lists){
@Transactional
public Boolean batchSaveOrUpdate(JgMaintenanceContractDto dto, List<Integer> lists, ReginParams reginParams) {
List<Integer> collect = lists.stream().filter(Objects::nonNull).collect(Collectors.toList());
CompanyBo company = reginParams.getCompany();
JgMaintenanceContract contract = new JgMaintenanceContract();
BeanUtils.copyProperties(dto,contract);
//TODO 待补充详细信息
collect.forEach(x-> maintenanceContractMapper.insert(contract));
BeanUtils.copyProperties(dto, contract);
contract.setUseUnitId(company.getOrgCode());
contract.setUseUnitName(company.getCompanyName());
contract.setStatus(MaintenanceEnum.SHIYONG.getCode() + "-" + FlowStatusEnum.TO_BE_SUBMITTED.getCode());
collect.forEach(x -> {
JgRelationEquip equip = new JgRelationEquip();
equip.setEquipId(String.valueOf(x));
equip.setBusinessType(BusinessTypeEnum.MAINTENANCE_RECORD.getName());
jgRelationEquipServiceImpl.save(equip);
this.saveOrUpdate(contract);
});
return true;
}
/**
* 列表查询 示例
*/
public List<JgMaintenanceContractDto> queryForJgMaintenanceContractList() {
return this.queryForList("" , false);
public List<JgMaintenanceContractDto> queryForJgMaintenanceContractList() {
return this.queryForList("", false);
}
}
\ 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