Commit 3f428011 authored by H2T's avatar H2T

监管维保接口修改

parent 2bab2a51
package com.yeejoin.amos.boot.module.jg.api.mapper; 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.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jg.api.dto.JgMaintenanceContractDto; 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.JgMaintenanceContract;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* Mapper 接口 * Mapper 接口
* *
* @author system_generator * @author system_generator
* @date 2023-12-12 * @date 2023-12-12
*/ */
public interface JgMaintenanceContractMapper extends BaseMapper<JgMaintenanceContract> { public interface JgMaintenanceContractMapper extends BaseMapper<JgMaintenanceContract> {
Page<JgMaintenanceContractDto> getContractList(@Param("page")Page<JgMaintenanceContract> page, Page<JgMaintenanceContractDto> getContractList(@Param("page") Page<JgMaintenanceContract> page, @Param("contractDto") JgMaintenanceContractDto contractDto);
@Param("contractDto") JgMaintenanceContractDto contractDto);
Boolean updateBySequenceNbr(@Param("dto") JgMaintenanceContractDto dto); Boolean updateBySequenceNbr(@Param("dto") JgMaintenanceContractDto dto);
JgMaintenanceContractDto queryBySequenceNbr(@Param("sequenceNbr") Long sequenceNbr); JgMaintenanceContractDto queryBySequenceNbr(@Param("sequenceNbr") Long sequenceNbr);
Boolean deleteForBatch(@Param("ids") List<Long> ids);
} }
...@@ -82,6 +82,13 @@ ...@@ -82,6 +82,13 @@
</set> </set>
WHERE tjmc.sequence_nbr = #{dto.sequenceNbr} WHERE tjmc.sequence_nbr = #{dto.sequenceNbr}
</update> </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 id="getContractList" resultType="com.yeejoin.amos.boot.module.jg.api.dto.JgMaintenanceContractDto">
SELECT SELECT
...@@ -96,8 +103,8 @@ ...@@ -96,8 +103,8 @@
receive_org_name, receive_org_name,
maintenance_unit_id, maintenance_unit_id,
maintenance_unit_name, maintenance_unit_name,
inform_start, date_format(inform_start,'%Y-%m-%d') informStart,
inform_end, date_format(inform_end,'%Y-%m-%d') informEnd,
maintenance_manager_id, maintenance_manager_id,
maintenance_manager_card_no, maintenance_manager_card_no,
emergency_call, emergency_call,
...@@ -136,6 +143,7 @@ ...@@ -136,6 +143,7 @@
resultType="com.yeejoin.amos.boot.module.jg.api.dto.JgMaintenanceContractDto"> resultType="com.yeejoin.amos.boot.module.jg.api.dto.JgMaintenanceContractDto">
select * select *
from amos_tzs_biz.tzs_jg_maintenance_contract 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> </select>
</mapper> </mapper>
package com.yeejoin.amos.boot.module.jg.biz.controller; 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.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.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.jg.api.dto.JgMaintenanceContractDto; 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.JgMaintenanceContract;
...@@ -37,11 +37,11 @@ public class JgMaintenanceContractController extends BaseController { ...@@ -37,11 +37,11 @@ public class JgMaintenanceContractController extends BaseController {
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/batchSave") @PostMapping(value = "/batchSaveOrUpdate")
@ApiOperation(httpMethod = "POST", value = "批量新增维保合同备案", notes = "批量新增维保合同备案") @ApiOperation(httpMethod = "POST", value = "批量新增维保合同备案", notes = "批量新增维保合同备案")
public ResponseModel<Object> save(@RequestBody JgMaintenanceContractDto model, public ResponseModel<Object> save(@RequestBody JgMaintenanceContractDto model, List<Integer> equipmentLists) {
List<Integer> equipmentLists) { ReginParams reginParams = getSelectedOrgInfo();
return ResponseHelper.buildResponse(jgMaintenanceContractServiceImpl.batchSave(model, equipmentLists)); return ResponseHelper.buildResponse(jgMaintenanceContractServiceImpl.batchSaveOrUpdate(model, equipmentLists, reginParams));
} }
/** /**
...@@ -50,11 +50,10 @@ public class JgMaintenanceContractController extends BaseController { ...@@ -50,11 +50,10 @@ public class JgMaintenanceContractController extends BaseController {
* @param sequenceNbr 主键 * @param sequenceNbr 主键
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@PutMapping(value = "/{sequenceNbr}") @PostMapping(value = "/update")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新维保合同备案", notes = "根据sequenceNbr更新维保合同备案") @ApiOperation(httpMethod = "POST", value = "根据sequenceNbr更新维保合同备案", notes = "根据sequenceNbr更新维保合同备案")
public ResponseModel<Object> updateBySequenceNbrJgMaintenanceContract(@RequestBody JgMaintenanceContractDto dto, public ResponseModel<Object> updateBySequenceNbrJgMaintenanceContract(@RequestBody JgMaintenanceContractDto dto, @RequestParam("sequenceNbr") Long sequenceNbr) {
@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
dto.setSequenceNbr(sequenceNbr); dto.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(jgMaintenanceContractServiceImpl.updateBySequenceNbr(dto)); return ResponseHelper.buildResponse(jgMaintenanceContractServiceImpl.updateBySequenceNbr(dto));
} }
...@@ -66,9 +65,9 @@ public class JgMaintenanceContractController extends BaseController { ...@@ -66,9 +65,9 @@ public class JgMaintenanceContractController extends BaseController {
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/{sequenceNbr}") @DeleteMapping(value = "/delete")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除维保合同备案", notes = "根据sequenceNbr删除维保合同备案") @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 jgMaintenanceContractDto = new JgMaintenanceContractDto();
jgMaintenanceContractDto.setSequenceNbr(sequenceNbr); jgMaintenanceContractDto.setSequenceNbr(sequenceNbr);
jgMaintenanceContractDto.setIsDelete(true); jgMaintenanceContractDto.setIsDelete(true);
...@@ -76,6 +75,18 @@ public class JgMaintenanceContractController extends BaseController { ...@@ -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查询 * 根据sequenceNbr查询
* *
* @param sequenceNbr 主键 * @param sequenceNbr 主键
...@@ -98,13 +109,12 @@ public class JgMaintenanceContractController extends BaseController { ...@@ -98,13 +109,12 @@ public class JgMaintenanceContractController 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<JgMaintenanceContractDto>> queryForPage(@RequestParam(value = "current") int current, public ResponseModel<Page<JgMaintenanceContractDto>> queryForPage(@RequestParam(value = "current") int current, @RequestParam(value = "size") int size, @RequestParam(value = "phase") int phase, JgMaintenanceContractDto maintenanceContractDto) {
@RequestParam(value = "size") int size,
JgMaintenanceContractDto maintenanceContractDto) {
Page<JgMaintenanceContract> page = new Page<>(); Page<JgMaintenanceContract> page = new Page<>();
page.setCurrent(current); page.setCurrent(current);
page.setSize(size); 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); return ResponseHelper.buildResponse(contractDtoPage);
} }
...@@ -119,4 +129,5 @@ public class JgMaintenanceContractController extends BaseController { ...@@ -119,4 +129,5 @@ public class JgMaintenanceContractController extends BaseController {
public ResponseModel<List<JgMaintenanceContractDto>> selectForList() { public ResponseModel<List<JgMaintenanceContractDto>> selectForList() {
return ResponseHelper.buildResponse(jgMaintenanceContractServiceImpl.queryForJgMaintenanceContractList()); return ResponseHelper.buildResponse(jgMaintenanceContractServiceImpl.queryForJgMaintenanceContractList());
} }
} }
package com.yeejoin.amos.boot.module.jg.biz.service.impl; 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.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.mapper.JgMaintenanceContractMapper;
import com.yeejoin.amos.boot.module.jg.api.service.IJgMaintenanceContractService; 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.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
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 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.List;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -20,51 +36,104 @@ import java.util.stream.Collectors; ...@@ -20,51 +36,104 @@ import java.util.stream.Collectors;
* @date 2023-12-12 * @date 2023-12-12
*/ */
@Service @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 @Autowired
private JgMaintenanceContractMapper maintenanceContractMapper; 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) { public Page<JgMaintenanceContractDto> queryForPage(Page<JgMaintenanceContract> page, int phase, JgMaintenanceContractDto dto, ReginParams reginParams) {
return maintenanceContractMapper.getContractList(page, dto); 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查询数据 * 根据sequenceNbr查询数据
*/ */
public JgMaintenanceContractDto queryBySequenceNbr(Long sequenceNbr) { public JgMaintenanceContractDto queryBySequenceNbr(Long sequenceNbr) {
return maintenanceContractMapper.queryBySequenceNbr(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更新数据 * 根据sequenceNbr更新数据
*
* @param dto * @param dto
* @return * @return
*/ */
public Boolean updateBySequenceNbr(JgMaintenanceContractDto dto){ public Boolean updateBySequenceNbr(JgMaintenanceContractDto dto) {
return maintenanceContractMapper.updateBySequenceNbr(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()); List<Integer> collect = lists.stream().filter(Objects::nonNull).collect(Collectors.toList());
CompanyBo company = reginParams.getCompany();
JgMaintenanceContract contract = new JgMaintenanceContract(); JgMaintenanceContract contract = new JgMaintenanceContract();
BeanUtils.copyProperties(dto,contract); BeanUtils.copyProperties(dto, contract);
//TODO 待补充详细信息 contract.setUseUnitId(company.getOrgCode());
collect.forEach(x-> maintenanceContractMapper.insert(contract)); 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; return true;
} }
/** /**
* 列表查询 示例 * 列表查询 示例
*/ */
public List<JgMaintenanceContractDto> queryForJgMaintenanceContractList() { public List<JgMaintenanceContractDto> queryForJgMaintenanceContractList() {
return this.queryForList("" , false); 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